You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by gi...@apache.org on 2018/12/18 14:56:48 UTC
[01/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Repository: hbase-site
Updated Branches:
refs/heads/asf-site d0f540a20 -> 4f8b84247
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/src-html/org/apache/hadoop/hbase/master/ServerManager.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/ServerManager.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/ServerManager.html
index f1c0bc3..88147e4 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/ServerManager.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/ServerManager.html
@@ -610,585 +610,588 @@
<span class="sourceLineNo">602</span> return false;<a name="line.602"></a>
<span class="sourceLineNo">603</span> }<a name="line.603"></a>
<span class="sourceLineNo">604</span> LOG.info("Processing expiration of " + serverName + " on " + this.master.getServerName());<a name="line.604"></a>
-<span class="sourceLineNo">605</span> master.getAssignmentManager().submitServerCrash(serverName, true);<a name="line.605"></a>
-<span class="sourceLineNo">606</span><a name="line.606"></a>
-<span class="sourceLineNo">607</span> // Tell our listeners that a server was removed<a name="line.607"></a>
-<span class="sourceLineNo">608</span> if (!this.listeners.isEmpty()) {<a name="line.608"></a>
-<span class="sourceLineNo">609</span> for (ServerListener listener : this.listeners) {<a name="line.609"></a>
-<span class="sourceLineNo">610</span> listener.serverRemoved(serverName);<a name="line.610"></a>
-<span class="sourceLineNo">611</span> }<a name="line.611"></a>
-<span class="sourceLineNo">612</span> }<a name="line.612"></a>
-<span class="sourceLineNo">613</span> // trigger a persist of flushedSeqId<a name="line.613"></a>
-<span class="sourceLineNo">614</span> if (flushedSeqIdFlusher != null) {<a name="line.614"></a>
-<span class="sourceLineNo">615</span> flushedSeqIdFlusher.triggerNow();<a name="line.615"></a>
-<span class="sourceLineNo">616</span> }<a name="line.616"></a>
-<span class="sourceLineNo">617</span> return true;<a name="line.617"></a>
-<span class="sourceLineNo">618</span> }<a name="line.618"></a>
-<span class="sourceLineNo">619</span><a name="line.619"></a>
-<span class="sourceLineNo">620</span> @VisibleForTesting<a name="line.620"></a>
-<span class="sourceLineNo">621</span> public void moveFromOnlineToDeadServers(final ServerName sn) {<a name="line.621"></a>
-<span class="sourceLineNo">622</span> synchronized (onlineServers) {<a name="line.622"></a>
-<span class="sourceLineNo">623</span> if (!this.onlineServers.containsKey(sn)) {<a name="line.623"></a>
-<span class="sourceLineNo">624</span> LOG.trace("Expiration of {} but server not online", sn);<a name="line.624"></a>
-<span class="sourceLineNo">625</span> }<a name="line.625"></a>
-<span class="sourceLineNo">626</span> // Remove the server from the known servers lists and update load info BUT<a name="line.626"></a>
-<span class="sourceLineNo">627</span> // add to deadservers first; do this so it'll show in dead servers list if<a name="line.627"></a>
-<span class="sourceLineNo">628</span> // not in online servers list.<a name="line.628"></a>
-<span class="sourceLineNo">629</span> this.deadservers.add(sn);<a name="line.629"></a>
-<span class="sourceLineNo">630</span> this.onlineServers.remove(sn);<a name="line.630"></a>
-<span class="sourceLineNo">631</span> onlineServers.notifyAll();<a name="line.631"></a>
-<span class="sourceLineNo">632</span> }<a name="line.632"></a>
-<span class="sourceLineNo">633</span> this.rsAdmins.remove(sn);<a name="line.633"></a>
-<span class="sourceLineNo">634</span> }<a name="line.634"></a>
-<span class="sourceLineNo">635</span><a name="line.635"></a>
-<span class="sourceLineNo">636</span> /*<a name="line.636"></a>
-<span class="sourceLineNo">637</span> * Remove the server from the drain list.<a name="line.637"></a>
-<span class="sourceLineNo">638</span> */<a name="line.638"></a>
-<span class="sourceLineNo">639</span> public synchronized boolean removeServerFromDrainList(final ServerName sn) {<a name="line.639"></a>
-<span class="sourceLineNo">640</span> // Warn if the server (sn) is not online. ServerName is of the form:<a name="line.640"></a>
-<span class="sourceLineNo">641</span> // <hostname> , <port> , <startcode><a name="line.641"></a>
-<span class="sourceLineNo">642</span><a name="line.642"></a>
-<span class="sourceLineNo">643</span> if (!this.isServerOnline(sn)) {<a name="line.643"></a>
-<span class="sourceLineNo">644</span> LOG.warn("Server " + sn + " is not currently online. " +<a name="line.644"></a>
-<span class="sourceLineNo">645</span> "Removing from draining list anyway, as requested.");<a name="line.645"></a>
-<span class="sourceLineNo">646</span> }<a name="line.646"></a>
-<span class="sourceLineNo">647</span> // Remove the server from the draining servers lists.<a name="line.647"></a>
-<span class="sourceLineNo">648</span> return this.drainingServers.remove(sn);<a name="line.648"></a>
-<span class="sourceLineNo">649</span> }<a name="line.649"></a>
-<span class="sourceLineNo">650</span><a name="line.650"></a>
-<span class="sourceLineNo">651</span> /**<a name="line.651"></a>
-<span class="sourceLineNo">652</span> * Add the server to the drain list.<a name="line.652"></a>
-<span class="sourceLineNo">653</span> * @param sn<a name="line.653"></a>
-<span class="sourceLineNo">654</span> * @return True if the server is added or the server is already on the drain list.<a name="line.654"></a>
-<span class="sourceLineNo">655</span> */<a name="line.655"></a>
-<span class="sourceLineNo">656</span> public synchronized boolean addServerToDrainList(final ServerName sn) {<a name="line.656"></a>
-<span class="sourceLineNo">657</span> // Warn if the server (sn) is not online. ServerName is of the form:<a name="line.657"></a>
-<span class="sourceLineNo">658</span> // <hostname> , <port> , <startcode><a name="line.658"></a>
-<span class="sourceLineNo">659</span><a name="line.659"></a>
-<span class="sourceLineNo">660</span> if (!this.isServerOnline(sn)) {<a name="line.660"></a>
-<span class="sourceLineNo">661</span> LOG.warn("Server " + sn + " is not currently online. " +<a name="line.661"></a>
-<span class="sourceLineNo">662</span> "Ignoring request to add it to draining list.");<a name="line.662"></a>
-<span class="sourceLineNo">663</span> return false;<a name="line.663"></a>
-<span class="sourceLineNo">664</span> }<a name="line.664"></a>
-<span class="sourceLineNo">665</span> // Add the server to the draining servers lists, if it's not already in<a name="line.665"></a>
-<span class="sourceLineNo">666</span> // it.<a name="line.666"></a>
-<span class="sourceLineNo">667</span> if (this.drainingServers.contains(sn)) {<a name="line.667"></a>
-<span class="sourceLineNo">668</span> LOG.warn("Server " + sn + " is already in the draining server list." +<a name="line.668"></a>
-<span class="sourceLineNo">669</span> "Ignoring request to add it again.");<a name="line.669"></a>
-<span class="sourceLineNo">670</span> return true;<a name="line.670"></a>
-<span class="sourceLineNo">671</span> }<a name="line.671"></a>
-<span class="sourceLineNo">672</span> LOG.info("Server " + sn + " added to draining server list.");<a name="line.672"></a>
-<span class="sourceLineNo">673</span> return this.drainingServers.add(sn);<a name="line.673"></a>
-<span class="sourceLineNo">674</span> }<a name="line.674"></a>
-<span class="sourceLineNo">675</span><a name="line.675"></a>
-<span class="sourceLineNo">676</span> // RPC methods to region servers<a name="line.676"></a>
-<span class="sourceLineNo">677</span><a name="line.677"></a>
-<span class="sourceLineNo">678</span> private HBaseRpcController newRpcController() {<a name="line.678"></a>
-<span class="sourceLineNo">679</span> return rpcControllerFactory == null ? null : rpcControllerFactory.newController();<a name="line.679"></a>
-<span class="sourceLineNo">680</span> }<a name="line.680"></a>
-<span class="sourceLineNo">681</span><a name="line.681"></a>
-<span class="sourceLineNo">682</span> /**<a name="line.682"></a>
-<span class="sourceLineNo">683</span> * Sends a WARMUP RPC to the specified server to warmup the specified region.<a name="line.683"></a>
-<span class="sourceLineNo">684</span> * <p><a name="line.684"></a>
-<span class="sourceLineNo">685</span> * A region server could reject the close request because it either does not<a name="line.685"></a>
-<span class="sourceLineNo">686</span> * have the specified region or the region is being split.<a name="line.686"></a>
-<span class="sourceLineNo">687</span> * @param server server to warmup a region<a name="line.687"></a>
-<span class="sourceLineNo">688</span> * @param region region to warmup<a name="line.688"></a>
-<span class="sourceLineNo">689</span> */<a name="line.689"></a>
-<span class="sourceLineNo">690</span> public void sendRegionWarmup(ServerName server,<a name="line.690"></a>
-<span class="sourceLineNo">691</span> RegionInfo region) {<a name="line.691"></a>
-<span class="sourceLineNo">692</span> if (server == null) return;<a name="line.692"></a>
-<span class="sourceLineNo">693</span> try {<a name="line.693"></a>
-<span class="sourceLineNo">694</span> AdminService.BlockingInterface admin = getRsAdmin(server);<a name="line.694"></a>
-<span class="sourceLineNo">695</span> HBaseRpcController controller = newRpcController();<a name="line.695"></a>
-<span class="sourceLineNo">696</span> ProtobufUtil.warmupRegion(controller, admin, region);<a name="line.696"></a>
-<span class="sourceLineNo">697</span> } catch (IOException e) {<a name="line.697"></a>
-<span class="sourceLineNo">698</span> LOG.error("Received exception in RPC for warmup server:" +<a name="line.698"></a>
-<span class="sourceLineNo">699</span> server + "region: " + region +<a name="line.699"></a>
-<span class="sourceLineNo">700</span> "exception: " + e);<a name="line.700"></a>
-<span class="sourceLineNo">701</span> }<a name="line.701"></a>
-<span class="sourceLineNo">702</span> }<a name="line.702"></a>
-<span class="sourceLineNo">703</span><a name="line.703"></a>
-<span class="sourceLineNo">704</span> /**<a name="line.704"></a>
-<span class="sourceLineNo">705</span> * Contacts a region server and waits up to timeout ms<a name="line.705"></a>
-<span class="sourceLineNo">706</span> * to close the region. This bypasses the active hmaster.<a name="line.706"></a>
-<span class="sourceLineNo">707</span> */<a name="line.707"></a>
-<span class="sourceLineNo">708</span> public static void closeRegionSilentlyAndWait(ClusterConnection connection,<a name="line.708"></a>
-<span class="sourceLineNo">709</span> ServerName server, RegionInfo region, long timeout) throws IOException, InterruptedException {<a name="line.709"></a>
-<span class="sourceLineNo">710</span> AdminService.BlockingInterface rs = connection.getAdmin(server);<a name="line.710"></a>
-<span class="sourceLineNo">711</span> HBaseRpcController controller = connection.getRpcControllerFactory().newController();<a name="line.711"></a>
-<span class="sourceLineNo">712</span> try {<a name="line.712"></a>
-<span class="sourceLineNo">713</span> ProtobufUtil.closeRegion(controller, rs, server, region.getRegionName());<a name="line.713"></a>
-<span class="sourceLineNo">714</span> } catch (IOException e) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span> LOG.warn("Exception when closing region: " + region.getRegionNameAsString(), e);<a name="line.715"></a>
-<span class="sourceLineNo">716</span> }<a name="line.716"></a>
-<span class="sourceLineNo">717</span> long expiration = timeout + System.currentTimeMillis();<a name="line.717"></a>
-<span class="sourceLineNo">718</span> while (System.currentTimeMillis() < expiration) {<a name="line.718"></a>
-<span class="sourceLineNo">719</span> controller.reset();<a name="line.719"></a>
-<span class="sourceLineNo">720</span> try {<a name="line.720"></a>
-<span class="sourceLineNo">721</span> RegionInfo rsRegion =<a name="line.721"></a>
-<span class="sourceLineNo">722</span> ProtobufUtil.getRegionInfo(controller, rs, region.getRegionName());<a name="line.722"></a>
-<span class="sourceLineNo">723</span> if (rsRegion == null) return;<a name="line.723"></a>
-<span class="sourceLineNo">724</span> } catch (IOException ioe) {<a name="line.724"></a>
-<span class="sourceLineNo">725</span> if (ioe instanceof NotServingRegionException) // no need to retry again<a name="line.725"></a>
-<span class="sourceLineNo">726</span> return;<a name="line.726"></a>
-<span class="sourceLineNo">727</span> LOG.warn("Exception when retrieving regioninfo from: "<a name="line.727"></a>
-<span class="sourceLineNo">728</span> + region.getRegionNameAsString(), ioe);<a name="line.728"></a>
-<span class="sourceLineNo">729</span> }<a name="line.729"></a>
-<span class="sourceLineNo">730</span> Thread.sleep(1000);<a name="line.730"></a>
-<span class="sourceLineNo">731</span> }<a name="line.731"></a>
-<span class="sourceLineNo">732</span> throw new IOException("Region " + region + " failed to close within"<a name="line.732"></a>
-<span class="sourceLineNo">733</span> + " timeout " + timeout);<a name="line.733"></a>
-<span class="sourceLineNo">734</span> }<a name="line.734"></a>
-<span class="sourceLineNo">735</span><a name="line.735"></a>
-<span class="sourceLineNo">736</span> /**<a name="line.736"></a>
-<span class="sourceLineNo">737</span> * @param sn<a name="line.737"></a>
-<span class="sourceLineNo">738</span> * @return Admin interface for the remote regionserver named <code>sn</code><a name="line.738"></a>
-<span class="sourceLineNo">739</span> * @throws IOException<a name="line.739"></a>
-<span class="sourceLineNo">740</span> * @throws RetriesExhaustedException wrapping a ConnectException if failed<a name="line.740"></a>
-<span class="sourceLineNo">741</span> */<a name="line.741"></a>
-<span class="sourceLineNo">742</span> public AdminService.BlockingInterface getRsAdmin(final ServerName sn)<a name="line.742"></a>
-<span class="sourceLineNo">743</span> throws IOException {<a name="line.743"></a>
-<span class="sourceLineNo">744</span> AdminService.BlockingInterface admin = this.rsAdmins.get(sn);<a name="line.744"></a>
-<span class="sourceLineNo">745</span> if (admin == null) {<a name="line.745"></a>
-<span class="sourceLineNo">746</span> LOG.debug("New admin connection to " + sn.toString());<a name="line.746"></a>
-<span class="sourceLineNo">747</span> if (sn.equals(master.getServerName()) && master instanceof HRegionServer) {<a name="line.747"></a>
-<span class="sourceLineNo">748</span> // A master is also a region server now, see HBASE-10569 for details<a name="line.748"></a>
-<span class="sourceLineNo">749</span> admin = ((HRegionServer)master).getRSRpcServices();<a name="line.749"></a>
-<span class="sourceLineNo">750</span> } else {<a name="line.750"></a>
-<span class="sourceLineNo">751</span> admin = this.connection.getAdmin(sn);<a name="line.751"></a>
-<span class="sourceLineNo">752</span> }<a name="line.752"></a>
-<span class="sourceLineNo">753</span> this.rsAdmins.put(sn, admin);<a name="line.753"></a>
-<span class="sourceLineNo">754</span> }<a name="line.754"></a>
-<span class="sourceLineNo">755</span> return admin;<a name="line.755"></a>
-<span class="sourceLineNo">756</span> }<a name="line.756"></a>
-<span class="sourceLineNo">757</span><a name="line.757"></a>
-<span class="sourceLineNo">758</span> /**<a name="line.758"></a>
-<span class="sourceLineNo">759</span> * Calculate min necessary to start. This is not an absolute. It is just<a name="line.759"></a>
-<span class="sourceLineNo">760</span> * a friction that will cause us hang around a bit longer waiting on<a name="line.760"></a>
-<span class="sourceLineNo">761</span> * RegionServers to check-in.<a name="line.761"></a>
-<span class="sourceLineNo">762</span> */<a name="line.762"></a>
-<span class="sourceLineNo">763</span> private int getMinToStart() {<a name="line.763"></a>
-<span class="sourceLineNo">764</span> if (master.isInMaintenanceMode()) {<a name="line.764"></a>
-<span class="sourceLineNo">765</span> // If in maintenance mode, then master hosting meta will be the only server available<a name="line.765"></a>
-<span class="sourceLineNo">766</span> return 1;<a name="line.766"></a>
-<span class="sourceLineNo">767</span> }<a name="line.767"></a>
-<span class="sourceLineNo">768</span><a name="line.768"></a>
-<span class="sourceLineNo">769</span> int minimumRequired = 1;<a name="line.769"></a>
-<span class="sourceLineNo">770</span> if (LoadBalancer.isTablesOnMaster(master.getConfiguration()) &&<a name="line.770"></a>
-<span class="sourceLineNo">771</span> LoadBalancer.isSystemTablesOnlyOnMaster(master.getConfiguration())) {<a name="line.771"></a>
-<span class="sourceLineNo">772</span> // If Master is carrying regions it will show up as a 'server', but is not handling user-<a name="line.772"></a>
-<span class="sourceLineNo">773</span> // space regions, so we need a second server.<a name="line.773"></a>
-<span class="sourceLineNo">774</span> minimumRequired = 2;<a name="line.774"></a>
-<span class="sourceLineNo">775</span> }<a name="line.775"></a>
-<span class="sourceLineNo">776</span><a name="line.776"></a>
-<span class="sourceLineNo">777</span> int minToStart = this.master.getConfiguration().getInt(WAIT_ON_REGIONSERVERS_MINTOSTART, -1);<a name="line.777"></a>
-<span class="sourceLineNo">778</span> // Ensure we are never less than minimumRequired else stuff won't work.<a name="line.778"></a>
-<span class="sourceLineNo">779</span> return Math.max(minToStart, minimumRequired);<a name="line.779"></a>
-<span class="sourceLineNo">780</span> }<a name="line.780"></a>
-<span class="sourceLineNo">781</span><a name="line.781"></a>
-<span class="sourceLineNo">782</span> /**<a name="line.782"></a>
-<span class="sourceLineNo">783</span> * Wait for the region servers to report in.<a name="line.783"></a>
-<span class="sourceLineNo">784</span> * We will wait until one of this condition is met:<a name="line.784"></a>
-<span class="sourceLineNo">785</span> * - the master is stopped<a name="line.785"></a>
-<span class="sourceLineNo">786</span> * - the 'hbase.master.wait.on.regionservers.maxtostart' number of<a name="line.786"></a>
-<span class="sourceLineNo">787</span> * region servers is reached<a name="line.787"></a>
-<span class="sourceLineNo">788</span> * - the 'hbase.master.wait.on.regionservers.mintostart' is reached AND<a name="line.788"></a>
-<span class="sourceLineNo">789</span> * there have been no new region server in for<a name="line.789"></a>
-<span class="sourceLineNo">790</span> * 'hbase.master.wait.on.regionservers.interval' time AND<a name="line.790"></a>
-<span class="sourceLineNo">791</span> * the 'hbase.master.wait.on.regionservers.timeout' is reached<a name="line.791"></a>
-<span class="sourceLineNo">792</span> *<a name="line.792"></a>
-<span class="sourceLineNo">793</span> * @throws InterruptedException<a name="line.793"></a>
-<span class="sourceLineNo">794</span> */<a name="line.794"></a>
-<span class="sourceLineNo">795</span> public void waitForRegionServers(MonitoredTask status) throws InterruptedException {<a name="line.795"></a>
-<span class="sourceLineNo">796</span> final long interval = this.master.getConfiguration().<a name="line.796"></a>
-<span class="sourceLineNo">797</span> getLong(WAIT_ON_REGIONSERVERS_INTERVAL, 1500);<a name="line.797"></a>
-<span class="sourceLineNo">798</span> final long timeout = this.master.getConfiguration().<a name="line.798"></a>
-<span class="sourceLineNo">799</span> getLong(WAIT_ON_REGIONSERVERS_TIMEOUT, 4500);<a name="line.799"></a>
-<span class="sourceLineNo">800</span> // Min is not an absolute; just a friction making us wait longer on server checkin.<a name="line.800"></a>
-<span class="sourceLineNo">801</span> int minToStart = getMinToStart();<a name="line.801"></a>
-<span class="sourceLineNo">802</span> int maxToStart = this.master.getConfiguration().<a name="line.802"></a>
-<span class="sourceLineNo">803</span> getInt(WAIT_ON_REGIONSERVERS_MAXTOSTART, Integer.MAX_VALUE);<a name="line.803"></a>
-<span class="sourceLineNo">804</span> if (maxToStart < minToStart) {<a name="line.804"></a>
-<span class="sourceLineNo">805</span> LOG.warn(String.format("The value of '%s' (%d) is set less than '%s' (%d), ignoring.",<a name="line.805"></a>
-<span class="sourceLineNo">806</span> WAIT_ON_REGIONSERVERS_MAXTOSTART, maxToStart,<a name="line.806"></a>
-<span class="sourceLineNo">807</span> WAIT_ON_REGIONSERVERS_MINTOSTART, minToStart));<a name="line.807"></a>
-<span class="sourceLineNo">808</span> maxToStart = Integer.MAX_VALUE;<a name="line.808"></a>
-<span class="sourceLineNo">809</span> }<a name="line.809"></a>
-<span class="sourceLineNo">810</span><a name="line.810"></a>
-<span class="sourceLineNo">811</span> long now = System.currentTimeMillis();<a name="line.811"></a>
-<span class="sourceLineNo">812</span> final long startTime = now;<a name="line.812"></a>
-<span class="sourceLineNo">813</span> long slept = 0;<a name="line.813"></a>
-<span class="sourceLineNo">814</span> long lastLogTime = 0;<a name="line.814"></a>
-<span class="sourceLineNo">815</span> long lastCountChange = startTime;<a name="line.815"></a>
-<span class="sourceLineNo">816</span> int count = countOfRegionServers();<a name="line.816"></a>
-<span class="sourceLineNo">817</span> int oldCount = 0;<a name="line.817"></a>
-<span class="sourceLineNo">818</span> // This while test is a little hard to read. We try to comment it in below but in essence:<a name="line.818"></a>
-<span class="sourceLineNo">819</span> // Wait if Master is not stopped and the number of regionservers that have checked-in is<a name="line.819"></a>
-<span class="sourceLineNo">820</span> // less than the maxToStart. Both of these conditions will be true near universally.<a name="line.820"></a>
-<span class="sourceLineNo">821</span> // Next, we will keep cycling if ANY of the following three conditions are true:<a name="line.821"></a>
-<span class="sourceLineNo">822</span> // 1. The time since a regionserver registered is < interval (means servers are actively checking in).<a name="line.822"></a>
-<span class="sourceLineNo">823</span> // 2. We are under the total timeout.<a name="line.823"></a>
-<span class="sourceLineNo">824</span> // 3. The count of servers is < minimum.<a name="line.824"></a>
-<span class="sourceLineNo">825</span> for (ServerListener listener: this.listeners) {<a name="line.825"></a>
-<span class="sourceLineNo">826</span> listener.waiting();<a name="line.826"></a>
-<span class="sourceLineNo">827</span> }<a name="line.827"></a>
-<span class="sourceLineNo">828</span> while (!this.master.isStopped() && !isClusterShutdown() && count < maxToStart &&<a name="line.828"></a>
-<span class="sourceLineNo">829</span> ((lastCountChange + interval) > now || timeout > slept || count < minToStart)) {<a name="line.829"></a>
-<span class="sourceLineNo">830</span> // Log some info at every interval time or if there is a change<a name="line.830"></a>
-<span class="sourceLineNo">831</span> if (oldCount != count || lastLogTime + interval < now) {<a name="line.831"></a>
-<span class="sourceLineNo">832</span> lastLogTime = now;<a name="line.832"></a>
-<span class="sourceLineNo">833</span> String msg =<a name="line.833"></a>
-<span class="sourceLineNo">834</span> "Waiting on regionserver count=" + count + "; waited="+<a name="line.834"></a>
-<span class="sourceLineNo">835</span> slept + "ms, expecting min=" + minToStart + " server(s), max="+ getStrForMax(maxToStart) +<a name="line.835"></a>
-<span class="sourceLineNo">836</span> " server(s), " + "timeout=" + timeout + "ms, lastChange=" + (lastCountChange - now) + "ms";<a name="line.836"></a>
-<span class="sourceLineNo">837</span> LOG.info(msg);<a name="line.837"></a>
-<span class="sourceLineNo">838</span> status.setStatus(msg);<a name="line.838"></a>
-<span class="sourceLineNo">839</span> }<a name="line.839"></a>
-<span class="sourceLineNo">840</span><a name="line.840"></a>
-<span class="sourceLineNo">841</span> // We sleep for some time<a name="line.841"></a>
-<span class="sourceLineNo">842</span> final long sleepTime = 50;<a name="line.842"></a>
-<span class="sourceLineNo">843</span> Thread.sleep(sleepTime);<a name="line.843"></a>
-<span class="sourceLineNo">844</span> now = System.currentTimeMillis();<a name="line.844"></a>
-<span class="sourceLineNo">845</span> slept = now - startTime;<a name="line.845"></a>
-<span class="sourceLineNo">846</span><a name="line.846"></a>
-<span class="sourceLineNo">847</span> oldCount = count;<a name="line.847"></a>
-<span class="sourceLineNo">848</span> count = countOfRegionServers();<a name="line.848"></a>
-<span class="sourceLineNo">849</span> if (count != oldCount) {<a name="line.849"></a>
-<span class="sourceLineNo">850</span> lastCountChange = now;<a name="line.850"></a>
-<span class="sourceLineNo">851</span> }<a name="line.851"></a>
-<span class="sourceLineNo">852</span> }<a name="line.852"></a>
-<span class="sourceLineNo">853</span> // Did we exit the loop because cluster is going down?<a name="line.853"></a>
-<span class="sourceLineNo">854</span> if (isClusterShutdown()) {<a name="line.854"></a>
-<span class="sourceLineNo">855</span> this.master.stop("Cluster shutdown");<a name="line.855"></a>
-<span class="sourceLineNo">856</span> }<a name="line.856"></a>
-<span class="sourceLineNo">857</span> LOG.info("Finished waiting on RegionServer count=" + count + "; waited=" + slept + "ms," +<a name="line.857"></a>
-<span class="sourceLineNo">858</span> " expected min=" + minToStart + " server(s), max=" + getStrForMax(maxToStart) + " server(s),"+<a name="line.858"></a>
-<span class="sourceLineNo">859</span> " master is "+ (this.master.isStopped() ? "stopped.": "running"));<a name="line.859"></a>
-<span class="sourceLineNo">860</span> }<a name="line.860"></a>
-<span class="sourceLineNo">861</span><a name="line.861"></a>
-<span class="sourceLineNo">862</span> private String getStrForMax(final int max) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span> return max == Integer.MAX_VALUE? "NO_LIMIT": Integer.toString(max);<a name="line.863"></a>
-<span class="sourceLineNo">864</span> }<a name="line.864"></a>
-<span class="sourceLineNo">865</span><a name="line.865"></a>
-<span class="sourceLineNo">866</span> /**<a name="line.866"></a>
-<span class="sourceLineNo">867</span> * @return A copy of the internal list of online servers.<a name="line.867"></a>
-<span class="sourceLineNo">868</span> */<a name="line.868"></a>
-<span class="sourceLineNo">869</span> public List<ServerName> getOnlineServersList() {<a name="line.869"></a>
-<span class="sourceLineNo">870</span> // TODO: optimize the load balancer call so we don't need to make a new list<a name="line.870"></a>
-<span class="sourceLineNo">871</span> // TODO: FIX. THIS IS POPULAR CALL.<a name="line.871"></a>
-<span class="sourceLineNo">872</span> return new ArrayList<>(this.onlineServers.keySet());<a name="line.872"></a>
-<span class="sourceLineNo">873</span> }<a name="line.873"></a>
-<span class="sourceLineNo">874</span><a name="line.874"></a>
-<span class="sourceLineNo">875</span> /**<a name="line.875"></a>
-<span class="sourceLineNo">876</span> * @param keys The target server name<a name="line.876"></a>
-<span class="sourceLineNo">877</span> * @param idleServerPredicator Evaluates the server on the given load<a name="line.877"></a>
-<span class="sourceLineNo">878</span> * @return A copy of the internal list of online servers matched by the predicator<a name="line.878"></a>
-<span class="sourceLineNo">879</span> */<a name="line.879"></a>
-<span class="sourceLineNo">880</span> public List<ServerName> getOnlineServersListWithPredicator(List<ServerName> keys,<a name="line.880"></a>
-<span class="sourceLineNo">881</span> Predicate<ServerMetrics> idleServerPredicator) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span> List<ServerName> names = new ArrayList<>();<a name="line.882"></a>
-<span class="sourceLineNo">883</span> if (keys != null && idleServerPredicator != null) {<a name="line.883"></a>
-<span class="sourceLineNo">884</span> keys.forEach(name -> {<a name="line.884"></a>
-<span class="sourceLineNo">885</span> ServerMetrics load = onlineServers.get(name);<a name="line.885"></a>
-<span class="sourceLineNo">886</span> if (load != null) {<a name="line.886"></a>
-<span class="sourceLineNo">887</span> if (idleServerPredicator.test(load)) {<a name="line.887"></a>
-<span class="sourceLineNo">888</span> names.add(name);<a name="line.888"></a>
-<span class="sourceLineNo">889</span> }<a name="line.889"></a>
-<span class="sourceLineNo">890</span> }<a name="line.890"></a>
-<span class="sourceLineNo">891</span> });<a name="line.891"></a>
-<span class="sourceLineNo">892</span> }<a name="line.892"></a>
-<span class="sourceLineNo">893</span> return names;<a name="line.893"></a>
-<span class="sourceLineNo">894</span> }<a name="line.894"></a>
-<span class="sourceLineNo">895</span><a name="line.895"></a>
-<span class="sourceLineNo">896</span> /**<a name="line.896"></a>
-<span class="sourceLineNo">897</span> * @return A copy of the internal list of draining servers.<a name="line.897"></a>
-<span class="sourceLineNo">898</span> */<a name="line.898"></a>
-<span class="sourceLineNo">899</span> public List<ServerName> getDrainingServersList() {<a name="line.899"></a>
-<span class="sourceLineNo">900</span> return new ArrayList<>(this.drainingServers);<a name="line.900"></a>
-<span class="sourceLineNo">901</span> }<a name="line.901"></a>
-<span class="sourceLineNo">902</span><a name="line.902"></a>
-<span class="sourceLineNo">903</span> public boolean isServerOnline(ServerName serverName) {<a name="line.903"></a>
-<span class="sourceLineNo">904</span> return serverName != null && onlineServers.containsKey(serverName);<a name="line.904"></a>
-<span class="sourceLineNo">905</span> }<a name="line.905"></a>
-<span class="sourceLineNo">906</span><a name="line.906"></a>
-<span class="sourceLineNo">907</span> /**<a name="line.907"></a>
-<span class="sourceLineNo">908</span> * Check if a server is known to be dead. A server can be online,<a name="line.908"></a>
-<span class="sourceLineNo">909</span> * or known to be dead, or unknown to this manager (i.e, not online,<a name="line.909"></a>
-<span class="sourceLineNo">910</span> * not known to be dead either. it is simply not tracked by the<a name="line.910"></a>
-<span class="sourceLineNo">911</span> * master any more, for example, a very old previous instance).<a name="line.911"></a>
-<span class="sourceLineNo">912</span> */<a name="line.912"></a>
-<span class="sourceLineNo">913</span> public synchronized boolean isServerDead(ServerName serverName) {<a name="line.913"></a>
-<span class="sourceLineNo">914</span> return serverName == null || deadservers.isDeadServer(serverName);<a name="line.914"></a>
-<span class="sourceLineNo">915</span> }<a name="line.915"></a>
-<span class="sourceLineNo">916</span><a name="line.916"></a>
-<span class="sourceLineNo">917</span> public void shutdownCluster() {<a name="line.917"></a>
-<span class="sourceLineNo">918</span> String statusStr = "Cluster shutdown requested of master=" + this.master.getServerName();<a name="line.918"></a>
-<span class="sourceLineNo">919</span> LOG.info(statusStr);<a name="line.919"></a>
-<span class="sourceLineNo">920</span> this.clusterShutdown.set(true);<a name="line.920"></a>
-<span class="sourceLineNo">921</span> if (onlineServers.isEmpty()) {<a name="line.921"></a>
-<span class="sourceLineNo">922</span> // we do not synchronize here so this may cause a double stop, but not a big deal<a name="line.922"></a>
-<span class="sourceLineNo">923</span> master.stop("OnlineServer=0 right after cluster shutdown set");<a name="line.923"></a>
-<span class="sourceLineNo">924</span> }<a name="line.924"></a>
-<span class="sourceLineNo">925</span> }<a name="line.925"></a>
-<span class="sourceLineNo">926</span><a name="line.926"></a>
-<span class="sourceLineNo">927</span> public boolean isClusterShutdown() {<a name="line.927"></a>
-<span class="sourceLineNo">928</span> return this.clusterShutdown.get();<a name="line.928"></a>
-<span class="sourceLineNo">929</span> }<a name="line.929"></a>
-<span class="sourceLineNo">930</span><a name="line.930"></a>
-<span class="sourceLineNo">931</span> /**<a name="line.931"></a>
-<span class="sourceLineNo">932</span> * start chore in ServerManager<a name="line.932"></a>
-<span class="sourceLineNo">933</span> */<a name="line.933"></a>
-<span class="sourceLineNo">934</span> public void startChore() {<a name="line.934"></a>
-<span class="sourceLineNo">935</span> Configuration c = master.getConfiguration();<a name="line.935"></a>
-<span class="sourceLineNo">936</span> if (persistFlushedSequenceId) {<a name="line.936"></a>
-<span class="sourceLineNo">937</span> // when reach here, RegionStates should loaded, firstly, we call remove deleted regions<a name="line.937"></a>
-<span class="sourceLineNo">938</span> removeDeletedRegionFromLoadedFlushedSequenceIds();<a name="line.938"></a>
-<span class="sourceLineNo">939</span> int flushPeriod = c.getInt(FLUSHEDSEQUENCEID_FLUSHER_INTERVAL,<a name="line.939"></a>
-<span class="sourceLineNo">940</span> FLUSHEDSEQUENCEID_FLUSHER_INTERVAL_DEFAULT);<a name="line.940"></a>
-<span class="sourceLineNo">941</span> flushedSeqIdFlusher = new FlushedSequenceIdFlusher(<a name="line.941"></a>
-<span class="sourceLineNo">942</span> "FlushedSequenceIdFlusher", flushPeriod);<a name="line.942"></a>
-<span class="sourceLineNo">943</span> master.getChoreService().scheduleChore(flushedSeqIdFlusher);<a name="line.943"></a>
-<span class="sourceLineNo">944</span> }<a name="line.944"></a>
-<span class="sourceLineNo">945</span> }<a name="line.945"></a>
-<span class="sourceLineNo">946</span><a name="line.946"></a>
-<span class="sourceLineNo">947</span> /**<a name="line.947"></a>
-<span class="sourceLineNo">948</span> * Stop the ServerManager.<a name="line.948"></a>
-<span class="sourceLineNo">949</span> */<a name="line.949"></a>
-<span class="sourceLineNo">950</span> public void stop() {<a name="line.950"></a>
-<span class="sourceLineNo">951</span> if (flushedSeqIdFlusher != null) {<a name="line.951"></a>
-<span class="sourceLineNo">952</span> flushedSeqIdFlusher.cancel();<a name="line.952"></a>
-<span class="sourceLineNo">953</span> }<a name="line.953"></a>
-<span class="sourceLineNo">954</span> if (persistFlushedSequenceId) {<a name="line.954"></a>
-<span class="sourceLineNo">955</span> try {<a name="line.955"></a>
-<span class="sourceLineNo">956</span> persistRegionLastFlushedSequenceIds();<a name="line.956"></a>
-<span class="sourceLineNo">957</span> } catch (IOException e) {<a name="line.957"></a>
-<span class="sourceLineNo">958</span> LOG.warn("Failed to persist last flushed sequence id of regions"<a name="line.958"></a>
-<span class="sourceLineNo">959</span> + " to file system", e);<a name="line.959"></a>
-<span class="sourceLineNo">960</span> }<a name="line.960"></a>
-<span class="sourceLineNo">961</span> }<a name="line.961"></a>
-<span class="sourceLineNo">962</span> }<a name="line.962"></a>
-<span class="sourceLineNo">963</span><a name="line.963"></a>
-<span class="sourceLineNo">964</span> /**<a name="line.964"></a>
-<span class="sourceLineNo">965</span> * Creates a list of possible destinations for a region. It contains the online servers, but not<a name="line.965"></a>
-<span class="sourceLineNo">966</span> * the draining or dying servers.<a name="line.966"></a>
-<span class="sourceLineNo">967</span> * @param serversToExclude can be null if there is no server to exclude<a name="line.967"></a>
-<span class="sourceLineNo">968</span> */<a name="line.968"></a>
-<span class="sourceLineNo">969</span> public List<ServerName> createDestinationServersList(final List<ServerName> serversToExclude){<a name="line.969"></a>
-<span class="sourceLineNo">970</span> final List<ServerName> destServers = getOnlineServersList();<a name="line.970"></a>
-<span class="sourceLineNo">971</span><a name="line.971"></a>
-<span class="sourceLineNo">972</span> if (serversToExclude != null) {<a name="line.972"></a>
-<span class="sourceLineNo">973</span> destServers.removeAll(serversToExclude);<a name="line.973"></a>
-<span class="sourceLineNo">974</span> }<a name="line.974"></a>
-<span class="sourceLineNo">975</span><a name="line.975"></a>
-<span class="sourceLineNo">976</span> // Loop through the draining server list and remove them from the server list<a name="line.976"></a>
-<span class="sourceLineNo">977</span> final List<ServerName> drainingServersCopy = getDrainingServersList();<a name="line.977"></a>
-<span class="sourceLineNo">978</span> destServers.removeAll(drainingServersCopy);<a name="line.978"></a>
-<span class="sourceLineNo">979</span><a name="line.979"></a>
-<span class="sourceLineNo">980</span> return destServers;<a name="line.980"></a>
-<span class="sourceLineNo">981</span> }<a name="line.981"></a>
+<span class="sourceLineNo">605</span> long pid = master.getAssignmentManager().submitServerCrash(serverName, true);<a name="line.605"></a>
+<span class="sourceLineNo">606</span> if(pid <= 0) {<a name="line.606"></a>
+<span class="sourceLineNo">607</span> return false;<a name="line.607"></a>
+<span class="sourceLineNo">608</span> } else {<a name="line.608"></a>
+<span class="sourceLineNo">609</span> // Tell our listeners that a server was removed<a name="line.609"></a>
+<span class="sourceLineNo">610</span> if (!this.listeners.isEmpty()) {<a name="line.610"></a>
+<span class="sourceLineNo">611</span> for (ServerListener listener : this.listeners) {<a name="line.611"></a>
+<span class="sourceLineNo">612</span> listener.serverRemoved(serverName);<a name="line.612"></a>
+<span class="sourceLineNo">613</span> }<a name="line.613"></a>
+<span class="sourceLineNo">614</span> }<a name="line.614"></a>
+<span class="sourceLineNo">615</span> // trigger a persist of flushedSeqId<a name="line.615"></a>
+<span class="sourceLineNo">616</span> if (flushedSeqIdFlusher != null) {<a name="line.616"></a>
+<span class="sourceLineNo">617</span> flushedSeqIdFlusher.triggerNow();<a name="line.617"></a>
+<span class="sourceLineNo">618</span> }<a name="line.618"></a>
+<span class="sourceLineNo">619</span> return true;<a name="line.619"></a>
+<span class="sourceLineNo">620</span> }<a name="line.620"></a>
+<span class="sourceLineNo">621</span> }<a name="line.621"></a>
+<span class="sourceLineNo">622</span><a name="line.622"></a>
+<span class="sourceLineNo">623</span> @VisibleForTesting<a name="line.623"></a>
+<span class="sourceLineNo">624</span> public void moveFromOnlineToDeadServers(final ServerName sn) {<a name="line.624"></a>
+<span class="sourceLineNo">625</span> synchronized (onlineServers) {<a name="line.625"></a>
+<span class="sourceLineNo">626</span> if (!this.onlineServers.containsKey(sn)) {<a name="line.626"></a>
+<span class="sourceLineNo">627</span> LOG.trace("Expiration of {} but server not online", sn);<a name="line.627"></a>
+<span class="sourceLineNo">628</span> }<a name="line.628"></a>
+<span class="sourceLineNo">629</span> // Remove the server from the known servers lists and update load info BUT<a name="line.629"></a>
+<span class="sourceLineNo">630</span> // add to deadservers first; do this so it'll show in dead servers list if<a name="line.630"></a>
+<span class="sourceLineNo">631</span> // not in online servers list.<a name="line.631"></a>
+<span class="sourceLineNo">632</span> this.deadservers.add(sn);<a name="line.632"></a>
+<span class="sourceLineNo">633</span> this.onlineServers.remove(sn);<a name="line.633"></a>
+<span class="sourceLineNo">634</span> onlineServers.notifyAll();<a name="line.634"></a>
+<span class="sourceLineNo">635</span> }<a name="line.635"></a>
+<span class="sourceLineNo">636</span> this.rsAdmins.remove(sn);<a name="line.636"></a>
+<span class="sourceLineNo">637</span> }<a name="line.637"></a>
+<span class="sourceLineNo">638</span><a name="line.638"></a>
+<span class="sourceLineNo">639</span> /*<a name="line.639"></a>
+<span class="sourceLineNo">640</span> * Remove the server from the drain list.<a name="line.640"></a>
+<span class="sourceLineNo">641</span> */<a name="line.641"></a>
+<span class="sourceLineNo">642</span> public synchronized boolean removeServerFromDrainList(final ServerName sn) {<a name="line.642"></a>
+<span class="sourceLineNo">643</span> // Warn if the server (sn) is not online. ServerName is of the form:<a name="line.643"></a>
+<span class="sourceLineNo">644</span> // <hostname> , <port> , <startcode><a name="line.644"></a>
+<span class="sourceLineNo">645</span><a name="line.645"></a>
+<span class="sourceLineNo">646</span> if (!this.isServerOnline(sn)) {<a name="line.646"></a>
+<span class="sourceLineNo">647</span> LOG.warn("Server " + sn + " is not currently online. " +<a name="line.647"></a>
+<span class="sourceLineNo">648</span> "Removing from draining list anyway, as requested.");<a name="line.648"></a>
+<span class="sourceLineNo">649</span> }<a name="line.649"></a>
+<span class="sourceLineNo">650</span> // Remove the server from the draining servers lists.<a name="line.650"></a>
+<span class="sourceLineNo">651</span> return this.drainingServers.remove(sn);<a name="line.651"></a>
+<span class="sourceLineNo">652</span> }<a name="line.652"></a>
+<span class="sourceLineNo">653</span><a name="line.653"></a>
+<span class="sourceLineNo">654</span> /**<a name="line.654"></a>
+<span class="sourceLineNo">655</span> * Add the server to the drain list.<a name="line.655"></a>
+<span class="sourceLineNo">656</span> * @param sn<a name="line.656"></a>
+<span class="sourceLineNo">657</span> * @return True if the server is added or the server is already on the drain list.<a name="line.657"></a>
+<span class="sourceLineNo">658</span> */<a name="line.658"></a>
+<span class="sourceLineNo">659</span> public synchronized boolean addServerToDrainList(final ServerName sn) {<a name="line.659"></a>
+<span class="sourceLineNo">660</span> // Warn if the server (sn) is not online. ServerName is of the form:<a name="line.660"></a>
+<span class="sourceLineNo">661</span> // <hostname> , <port> , <startcode><a name="line.661"></a>
+<span class="sourceLineNo">662</span><a name="line.662"></a>
+<span class="sourceLineNo">663</span> if (!this.isServerOnline(sn)) {<a name="line.663"></a>
+<span class="sourceLineNo">664</span> LOG.warn("Server " + sn + " is not currently online. " +<a name="line.664"></a>
+<span class="sourceLineNo">665</span> "Ignoring request to add it to draining list.");<a name="line.665"></a>
+<span class="sourceLineNo">666</span> return false;<a name="line.666"></a>
+<span class="sourceLineNo">667</span> }<a name="line.667"></a>
+<span class="sourceLineNo">668</span> // Add the server to the draining servers lists, if it's not already in<a name="line.668"></a>
+<span class="sourceLineNo">669</span> // it.<a name="line.669"></a>
+<span class="sourceLineNo">670</span> if (this.drainingServers.contains(sn)) {<a name="line.670"></a>
+<span class="sourceLineNo">671</span> LOG.warn("Server " + sn + " is already in the draining server list." +<a name="line.671"></a>
+<span class="sourceLineNo">672</span> "Ignoring request to add it again.");<a name="line.672"></a>
+<span class="sourceLineNo">673</span> return true;<a name="line.673"></a>
+<span class="sourceLineNo">674</span> }<a name="line.674"></a>
+<span class="sourceLineNo">675</span> LOG.info("Server " + sn + " added to draining server list.");<a name="line.675"></a>
+<span class="sourceLineNo">676</span> return this.drainingServers.add(sn);<a name="line.676"></a>
+<span class="sourceLineNo">677</span> }<a name="line.677"></a>
+<span class="sourceLineNo">678</span><a name="line.678"></a>
+<span class="sourceLineNo">679</span> // RPC methods to region servers<a name="line.679"></a>
+<span class="sourceLineNo">680</span><a name="line.680"></a>
+<span class="sourceLineNo">681</span> private HBaseRpcController newRpcController() {<a name="line.681"></a>
+<span class="sourceLineNo">682</span> return rpcControllerFactory == null ? null : rpcControllerFactory.newController();<a name="line.682"></a>
+<span class="sourceLineNo">683</span> }<a name="line.683"></a>
+<span class="sourceLineNo">684</span><a name="line.684"></a>
+<span class="sourceLineNo">685</span> /**<a name="line.685"></a>
+<span class="sourceLineNo">686</span> * Sends a WARMUP RPC to the specified server to warmup the specified region.<a name="line.686"></a>
+<span class="sourceLineNo">687</span> * <p><a name="line.687"></a>
+<span class="sourceLineNo">688</span> * A region server could reject the close request because it either does not<a name="line.688"></a>
+<span class="sourceLineNo">689</span> * have the specified region or the region is being split.<a name="line.689"></a>
+<span class="sourceLineNo">690</span> * @param server server to warmup a region<a name="line.690"></a>
+<span class="sourceLineNo">691</span> * @param region region to warmup<a name="line.691"></a>
+<span class="sourceLineNo">692</span> */<a name="line.692"></a>
+<span class="sourceLineNo">693</span> public void sendRegionWarmup(ServerName server,<a name="line.693"></a>
+<span class="sourceLineNo">694</span> RegionInfo region) {<a name="line.694"></a>
+<span class="sourceLineNo">695</span> if (server == null) return;<a name="line.695"></a>
+<span class="sourceLineNo">696</span> try {<a name="line.696"></a>
+<span class="sourceLineNo">697</span> AdminService.BlockingInterface admin = getRsAdmin(server);<a name="line.697"></a>
+<span class="sourceLineNo">698</span> HBaseRpcController controller = newRpcController();<a name="line.698"></a>
+<span class="sourceLineNo">699</span> ProtobufUtil.warmupRegion(controller, admin, region);<a name="line.699"></a>
+<span class="sourceLineNo">700</span> } catch (IOException e) {<a name="line.700"></a>
+<span class="sourceLineNo">701</span> LOG.error("Received exception in RPC for warmup server:" +<a name="line.701"></a>
+<span class="sourceLineNo">702</span> server + "region: " + region +<a name="line.702"></a>
+<span class="sourceLineNo">703</span> "exception: " + e);<a name="line.703"></a>
+<span class="sourceLineNo">704</span> }<a name="line.704"></a>
+<span class="sourceLineNo">705</span> }<a name="line.705"></a>
+<span class="sourceLineNo">706</span><a name="line.706"></a>
+<span class="sourceLineNo">707</span> /**<a name="line.707"></a>
+<span class="sourceLineNo">708</span> * Contacts a region server and waits up to timeout ms<a name="line.708"></a>
+<span class="sourceLineNo">709</span> * to close the region. This bypasses the active hmaster.<a name="line.709"></a>
+<span class="sourceLineNo">710</span> */<a name="line.710"></a>
+<span class="sourceLineNo">711</span> public static void closeRegionSilentlyAndWait(ClusterConnection connection,<a name="line.711"></a>
+<span class="sourceLineNo">712</span> ServerName server, RegionInfo region, long timeout) throws IOException, InterruptedException {<a name="line.712"></a>
+<span class="sourceLineNo">713</span> AdminService.BlockingInterface rs = connection.getAdmin(server);<a name="line.713"></a>
+<span class="sourceLineNo">714</span> HBaseRpcController controller = connection.getRpcControllerFactory().newController();<a name="line.714"></a>
+<span class="sourceLineNo">715</span> try {<a name="line.715"></a>
+<span class="sourceLineNo">716</span> ProtobufUtil.closeRegion(controller, rs, server, region.getRegionName());<a name="line.716"></a>
+<span class="sourceLineNo">717</span> } catch (IOException e) {<a name="line.717"></a>
+<span class="sourceLineNo">718</span> LOG.warn("Exception when closing region: " + region.getRegionNameAsString(), e);<a name="line.718"></a>
+<span class="sourceLineNo">719</span> }<a name="line.719"></a>
+<span class="sourceLineNo">720</span> long expiration = timeout + System.currentTimeMillis();<a name="line.720"></a>
+<span class="sourceLineNo">721</span> while (System.currentTimeMillis() < expiration) {<a name="line.721"></a>
+<span class="sourceLineNo">722</span> controller.reset();<a name="line.722"></a>
+<span class="sourceLineNo">723</span> try {<a name="line.723"></a>
+<span class="sourceLineNo">724</span> RegionInfo rsRegion =<a name="line.724"></a>
+<span class="sourceLineNo">725</span> ProtobufUtil.getRegionInfo(controller, rs, region.getRegionName());<a name="line.725"></a>
+<span class="sourceLineNo">726</span> if (rsRegion == null) return;<a name="line.726"></a>
+<span class="sourceLineNo">727</span> } catch (IOException ioe) {<a name="line.727"></a>
+<span class="sourceLineNo">728</span> if (ioe instanceof NotServingRegionException) // no need to retry again<a name="line.728"></a>
+<span class="sourceLineNo">729</span> return;<a name="line.729"></a>
+<span class="sourceLineNo">730</span> LOG.warn("Exception when retrieving regioninfo from: "<a name="line.730"></a>
+<span class="sourceLineNo">731</span> + region.getRegionNameAsString(), ioe);<a name="line.731"></a>
+<span class="sourceLineNo">732</span> }<a name="line.732"></a>
+<span class="sourceLineNo">733</span> Thread.sleep(1000);<a name="line.733"></a>
+<span class="sourceLineNo">734</span> }<a name="line.734"></a>
+<span class="sourceLineNo">735</span> throw new IOException("Region " + region + " failed to close within"<a name="line.735"></a>
+<span class="sourceLineNo">736</span> + " timeout " + timeout);<a name="line.736"></a>
+<span class="sourceLineNo">737</span> }<a name="line.737"></a>
+<span class="sourceLineNo">738</span><a name="line.738"></a>
+<span class="sourceLineNo">739</span> /**<a name="line.739"></a>
+<span class="sourceLineNo">740</span> * @param sn<a name="line.740"></a>
+<span class="sourceLineNo">741</span> * @return Admin interface for the remote regionserver named <code>sn</code><a name="line.741"></a>
+<span class="sourceLineNo">742</span> * @throws IOException<a name="line.742"></a>
+<span class="sourceLineNo">743</span> * @throws RetriesExhaustedException wrapping a ConnectException if failed<a name="line.743"></a>
+<span class="sourceLineNo">744</span> */<a name="line.744"></a>
+<span class="sourceLineNo">745</span> public AdminService.BlockingInterface getRsAdmin(final ServerName sn)<a name="line.745"></a>
+<span class="sourceLineNo">746</span> throws IOException {<a name="line.746"></a>
+<span class="sourceLineNo">747</span> AdminService.BlockingInterface admin = this.rsAdmins.get(sn);<a name="line.747"></a>
+<span class="sourceLineNo">748</span> if (admin == null) {<a name="line.748"></a>
+<span class="sourceLineNo">749</span> LOG.debug("New admin connection to " + sn.toString());<a name="line.749"></a>
+<span class="sourceLineNo">750</span> if (sn.equals(master.getServerName()) && master instanceof HRegionServer) {<a name="line.750"></a>
+<span class="sourceLineNo">751</span> // A master is also a region server now, see HBASE-10569 for details<a name="line.751"></a>
+<span class="sourceLineNo">752</span> admin = ((HRegionServer)master).getRSRpcServices();<a name="line.752"></a>
+<span class="sourceLineNo">753</span> } else {<a name="line.753"></a>
+<span class="sourceLineNo">754</span> admin = this.connection.getAdmin(sn);<a name="line.754"></a>
+<span class="sourceLineNo">755</span> }<a name="line.755"></a>
+<span class="sourceLineNo">756</span> this.rsAdmins.put(sn, admin);<a name="line.756"></a>
+<span class="sourceLineNo">757</span> }<a name="line.757"></a>
+<span class="sourceLineNo">758</span> return admin;<a name="line.758"></a>
+<span class="sourceLineNo">759</span> }<a name="line.759"></a>
+<span class="sourceLineNo">760</span><a name="line.760"></a>
+<span class="sourceLineNo">761</span> /**<a name="line.761"></a>
+<span class="sourceLineNo">762</span> * Calculate min necessary to start. This is not an absolute. It is just<a name="line.762"></a>
+<span class="sourceLineNo">763</span> * a friction that will cause us hang around a bit longer waiting on<a name="line.763"></a>
+<span class="sourceLineNo">764</span> * RegionServers to check-in.<a name="line.764"></a>
+<span class="sourceLineNo">765</span> */<a name="line.765"></a>
+<span class="sourceLineNo">766</span> private int getMinToStart() {<a name="line.766"></a>
+<span class="sourceLineNo">767</span> if (master.isInMaintenanceMode()) {<a name="line.767"></a>
+<span class="sourceLineNo">768</span> // If in maintenance mode, then master hosting meta will be the only server available<a name="line.768"></a>
+<span class="sourceLineNo">769</span> return 1;<a name="line.769"></a>
+<span class="sourceLineNo">770</span> }<a name="line.770"></a>
+<span class="sourceLineNo">771</span><a name="line.771"></a>
+<span class="sourceLineNo">772</span> int minimumRequired = 1;<a name="line.772"></a>
+<span class="sourceLineNo">773</span> if (LoadBalancer.isTablesOnMaster(master.getConfiguration()) &&<a name="line.773"></a>
+<span class="sourceLineNo">774</span> LoadBalancer.isSystemTablesOnlyOnMaster(master.getConfiguration())) {<a name="line.774"></a>
+<span class="sourceLineNo">775</span> // If Master is carrying regions it will show up as a 'server', but is not handling user-<a name="line.775"></a>
+<span class="sourceLineNo">776</span> // space regions, so we need a second server.<a name="line.776"></a>
+<span class="sourceLineNo">777</span> minimumRequired = 2;<a name="line.777"></a>
+<span class="sourceLineNo">778</span> }<a name="line.778"></a>
+<span class="sourceLineNo">779</span><a name="line.779"></a>
+<span class="sourceLineNo">780</span> int minToStart = this.master.getConfiguration().getInt(WAIT_ON_REGIONSERVERS_MINTOSTART, -1);<a name="line.780"></a>
+<span class="sourceLineNo">781</span> // Ensure we are never less than minimumRequired else stuff won't work.<a name="line.781"></a>
+<span class="sourceLineNo">782</span> return Math.max(minToStart, minimumRequired);<a name="line.782"></a>
+<span class="sourceLineNo">783</span> }<a name="line.783"></a>
+<span class="sourceLineNo">784</span><a name="line.784"></a>
+<span class="sourceLineNo">785</span> /**<a name="line.785"></a>
+<span class="sourceLineNo">786</span> * Wait for the region servers to report in.<a name="line.786"></a>
+<span class="sourceLineNo">787</span> * We will wait until one of this condition is met:<a name="line.787"></a>
+<span class="sourceLineNo">788</span> * - the master is stopped<a name="line.788"></a>
+<span class="sourceLineNo">789</span> * - the 'hbase.master.wait.on.regionservers.maxtostart' number of<a name="line.789"></a>
+<span class="sourceLineNo">790</span> * region servers is reached<a name="line.790"></a>
+<span class="sourceLineNo">791</span> * - the 'hbase.master.wait.on.regionservers.mintostart' is reached AND<a name="line.791"></a>
+<span class="sourceLineNo">792</span> * there have been no new region server in for<a name="line.792"></a>
+<span class="sourceLineNo">793</span> * 'hbase.master.wait.on.regionservers.interval' time AND<a name="line.793"></a>
+<span class="sourceLineNo">794</span> * the 'hbase.master.wait.on.regionservers.timeout' is reached<a name="line.794"></a>
+<span class="sourceLineNo">795</span> *<a name="line.795"></a>
+<span class="sourceLineNo">796</span> * @throws InterruptedException<a name="line.796"></a>
+<span class="sourceLineNo">797</span> */<a name="line.797"></a>
+<span class="sourceLineNo">798</span> public void waitForRegionServers(MonitoredTask status) throws InterruptedException {<a name="line.798"></a>
+<span class="sourceLineNo">799</span> final long interval = this.master.getConfiguration().<a name="line.799"></a>
+<span class="sourceLineNo">800</span> getLong(WAIT_ON_REGIONSERVERS_INTERVAL, 1500);<a name="line.800"></a>
+<span class="sourceLineNo">801</span> final long timeout = this.master.getConfiguration().<a name="line.801"></a>
+<span class="sourceLineNo">802</span> getLong(WAIT_ON_REGIONSERVERS_TIMEOUT, 4500);<a name="line.802"></a>
+<span class="sourceLineNo">803</span> // Min is not an absolute; just a friction making us wait longer on server checkin.<a name="line.803"></a>
+<span class="sourceLineNo">804</span> int minToStart = getMinToStart();<a name="line.804"></a>
+<span class="sourceLineNo">805</span> int maxToStart = this.master.getConfiguration().<a name="line.805"></a>
+<span class="sourceLineNo">806</span> getInt(WAIT_ON_REGIONSERVERS_MAXTOSTART, Integer.MAX_VALUE);<a name="line.806"></a>
+<span class="sourceLineNo">807</span> if (maxToStart < minToStart) {<a name="line.807"></a>
+<span class="sourceLineNo">808</span> LOG.warn(String.format("The value of '%s' (%d) is set less than '%s' (%d), ignoring.",<a name="line.808"></a>
+<span class="sourceLineNo">809</span> WAIT_ON_REGIONSERVERS_MAXTOSTART, maxToStart,<a name="line.809"></a>
+<span class="sourceLineNo">810</span> WAIT_ON_REGIONSERVERS_MINTOSTART, minToStart));<a name="line.810"></a>
+<span class="sourceLineNo">811</span> maxToStart = Integer.MAX_VALUE;<a name="line.811"></a>
+<span class="sourceLineNo">812</span> }<a name="line.812"></a>
+<span class="sourceLineNo">813</span><a name="line.813"></a>
+<span class="sourceLineNo">814</span> long now = System.currentTimeMillis();<a name="line.814"></a>
+<span class="sourceLineNo">815</span> final long startTime = now;<a name="line.815"></a>
+<span class="sourceLineNo">816</span> long slept = 0;<a name="line.816"></a>
+<span class="sourceLineNo">817</span> long lastLogTime = 0;<a name="line.817"></a>
+<span class="sourceLineNo">818</span> long lastCountChange = startTime;<a name="line.818"></a>
+<span class="sourceLineNo">819</span> int count = countOfRegionServers();<a name="line.819"></a>
+<span class="sourceLineNo">820</span> int oldCount = 0;<a name="line.820"></a>
+<span class="sourceLineNo">821</span> // This while test is a little hard to read. We try to comment it in below but in essence:<a name="line.821"></a>
+<span class="sourceLineNo">822</span> // Wait if Master is not stopped and the number of regionservers that have checked-in is<a name="line.822"></a>
+<span class="sourceLineNo">823</span> // less than the maxToStart. Both of these conditions will be true near universally.<a name="line.823"></a>
+<span class="sourceLineNo">824</span> // Next, we will keep cycling if ANY of the following three conditions are true:<a name="line.824"></a>
+<span class="sourceLineNo">825</span> // 1. The time since a regionserver registered is < interval (means servers are actively checking in).<a name="line.825"></a>
+<span class="sourceLineNo">826</span> // 2. We are under the total timeout.<a name="line.826"></a>
+<span class="sourceLineNo">827</span> // 3. The count of servers is < minimum.<a name="line.827"></a>
+<span class="sourceLineNo">828</span> for (ServerListener listener: this.listeners) {<a name="line.828"></a>
+<span class="sourceLineNo">829</span> listener.waiting();<a name="line.829"></a>
+<span class="sourceLineNo">830</span> }<a name="line.830"></a>
+<span class="sourceLineNo">831</span> while (!this.master.isStopped() && !isClusterShutdown() && count < maxToStart &&<a name="line.831"></a>
+<span class="sourceLineNo">832</span> ((lastCountChange + interval) > now || timeout > slept || count < minToStart)) {<a name="line.832"></a>
+<span class="sourceLineNo">833</span> // Log some info at every interval time or if there is a change<a name="line.833"></a>
+<span class="sourceLineNo">834</span> if (oldCount != count || lastLogTime + interval < now) {<a name="line.834"></a>
+<span class="sourceLineNo">835</span> lastLogTime = now;<a name="line.835"></a>
+<span class="sourceLineNo">836</span> String msg =<a name="line.836"></a>
+<span class="sourceLineNo">837</span> "Waiting on regionserver count=" + count + "; waited="+<a name="line.837"></a>
+<span class="sourceLineNo">838</span> slept + "ms, expecting min=" + minToStart + " server(s), max="+ getStrForMax(maxToStart) +<a name="line.838"></a>
+<span class="sourceLineNo">839</span> " server(s), " + "timeout=" + timeout + "ms, lastChange=" + (lastCountChange - now) + "ms";<a name="line.839"></a>
+<span class="sourceLineNo">840</span> LOG.info(msg);<a name="line.840"></a>
+<span class="sourceLineNo">841</span> status.setStatus(msg);<a name="line.841"></a>
+<span class="sourceLineNo">842</span> }<a name="line.842"></a>
+<span class="sourceLineNo">843</span><a name="line.843"></a>
+<span class="sourceLineNo">844</span> // We sleep for some time<a name="line.844"></a>
+<span class="sourceLineNo">845</span> final long sleepTime = 50;<a name="line.845"></a>
+<span class="sourceLineNo">846</span> Thread.sleep(sleepTime);<a name="line.846"></a>
+<span class="sourceLineNo">847</span> now = System.currentTimeMillis();<a name="line.847"></a>
+<span class="sourceLineNo">848</span> slept = now - startTime;<a name="line.848"></a>
+<span class="sourceLineNo">849</span><a name="line.849"></a>
+<span class="sourceLineNo">850</span> oldCount = count;<a name="line.850"></a>
+<span class="sourceLineNo">851</span> count = countOfRegionServers();<a name="line.851"></a>
+<span class="sourceLineNo">852</span> if (count != oldCount) {<a name="line.852"></a>
+<span class="sourceLineNo">853</span> lastCountChange = now;<a name="line.853"></a>
+<span class="sourceLineNo">854</span> }<a name="line.854"></a>
+<span class="sourceLineNo">855</span> }<a name="line.855"></a>
+<span class="sourceLineNo">856</span> // Did we exit the loop because cluster is going down?<a name="line.856"></a>
+<span class="sourceLineNo">857</span> if (isClusterShutdown()) {<a name="line.857"></a>
+<span class="sourceLineNo">858</span> this.master.stop("Cluster shutdown");<a name="line.858"></a>
+<span class="sourceLineNo">859</span> }<a name="line.859"></a>
+<span class="sourceLineNo">860</span> LOG.info("Finished waiting on RegionServer count=" + count + "; waited=" + slept + "ms," +<a name="line.860"></a>
+<span class="sourceLineNo">861</span> " expected min=" + minToStart + " server(s), max=" + getStrForMax(maxToStart) + " server(s),"+<a name="line.861"></a>
+<span class="sourceLineNo">862</span> " master is "+ (this.master.isStopped() ? "stopped.": "running"));<a name="line.862"></a>
+<span class="sourceLineNo">863</span> }<a name="line.863"></a>
+<span class="sourceLineNo">864</span><a name="line.864"></a>
+<span class="sourceLineNo">865</span> private String getStrForMax(final int max) {<a name="line.865"></a>
+<span class="sourceLineNo">866</span> return max == Integer.MAX_VALUE? "NO_LIMIT": Integer.toString(max);<a name="line.866"></a>
+<span class="sourceLineNo">867</span> }<a name="line.867"></a>
+<span class="sourceLineNo">868</span><a name="line.868"></a>
+<span class="sourceLineNo">869</span> /**<a name="line.869"></a>
+<span class="sourceLineNo">870</span> * @return A copy of the internal list of online servers.<a name="line.870"></a>
+<span class="sourceLineNo">871</span> */<a name="line.871"></a>
+<span class="sourceLineNo">872</span> public List<ServerName> getOnlineServersList() {<a name="line.872"></a>
+<span class="sourceLineNo">873</span> // TODO: optimize the load balancer call so we don't need to make a new list<a name="line.873"></a>
+<span class="sourceLineNo">874</span> // TODO: FIX. THIS IS POPULAR CALL.<a name="line.874"></a>
+<span class="sourceLineNo">875</span> return new ArrayList<>(this.onlineServers.keySet());<a name="line.875"></a>
+<span class="sourceLineNo">876</span> }<a name="line.876"></a>
+<span class="sourceLineNo">877</span><a name="line.877"></a>
+<span class="sourceLineNo">878</span> /**<a name="line.878"></a>
+<span class="sourceLineNo">879</span> * @param keys The target server name<a name="line.879"></a>
+<span class="sourceLineNo">880</span> * @param idleServerPredicator Evaluates the server on the given load<a name="line.880"></a>
+<span class="sourceLineNo">881</span> * @return A copy of the internal list of online servers matched by the predicator<a name="line.881"></a>
+<span class="sourceLineNo">882</span> */<a name="line.882"></a>
+<span class="sourceLineNo">883</span> public List<ServerName> getOnlineServersListWithPredicator(List<ServerName> keys,<a name="line.883"></a>
+<span class="sourceLineNo">884</span> Predicate<ServerMetrics> idleServerPredicator) {<a name="line.884"></a>
+<span class="sourceLineNo">885</span> List<ServerName> names = new ArrayList<>();<a name="line.885"></a>
+<span class="sourceLineNo">886</span> if (keys != null && idleServerPredicator != null) {<a name="line.886"></a>
+<span class="sourceLineNo">887</span> keys.forEach(name -> {<a name="line.887"></a>
+<span class="sourceLineNo">888</span> ServerMetrics load = onlineServers.get(name);<a name="line.888"></a>
+<span class="sourceLineNo">889</span> if (load != null) {<a name="line.889"></a>
+<span class="sourceLineNo">890</span> if (idleServerPredicator.test(load)) {<a name="line.890"></a>
+<span class="sourceLineNo">891</span> names.add(name);<a name="line.891"></a>
+<span class="sourceLineNo">892</span> }<a name="line.892"></a>
+<span class="sourceLineNo">893</span> }<a name="line.893"></a>
+<span class="sourceLineNo">894</span> });<a name="line.894"></a>
+<span class="sourceLineNo">895</span> }<a name="line.895"></a>
+<span class="sourceLineNo">896</span> return names;<a name="line.896"></a>
+<span class="sourceLineNo">897</span> }<a name="line.897"></a>
+<span class="sourceLineNo">898</span><a name="line.898"></a>
+<span class="sourceLineNo">899</span> /**<a name="line.899"></a>
+<span class="sourceLineNo">900</span> * @return A copy of the internal list of draining servers.<a name="line.900"></a>
+<span class="sourceLineNo">901</span> */<a name="line.901"></a>
+<span class="sourceLineNo">902</span> public List<ServerName> getDrainingServersList() {<a name="line.902"></a>
+<span class="sourceLineNo">903</span> return new ArrayList<>(this.drainingServers);<a name="line.903"></a>
+<span class="sourceLineNo">904</span> }<a name="line.904"></a>
+<span class="sourceLineNo">905</span><a name="line.905"></a>
+<span class="sourceLineNo">906</span> public boolean isServerOnline(ServerName serverName) {<a name="line.906"></a>
+<span class="sourceLineNo">907</span> return serverName != null && onlineServers.containsKey(serverName);<a name="line.907"></a>
+<span class="sourceLineNo">908</span> }<a name="line.908"></a>
+<span class="sourceLineNo">909</span><a name="line.909"></a>
+<span class="sourceLineNo">910</span> /**<a name="line.910"></a>
+<span class="sourceLineNo">911</span> * Check if a server is known to be dead. A server can be online,<a name="line.911"></a>
+<span class="sourceLineNo">912</span> * or known to be dead, or unknown to this manager (i.e, not online,<a name="line.912"></a>
+<span class="sourceLineNo">913</span> * not known to be dead either. it is simply not tracked by the<a name="line.913"></a>
+<span class="sourceLineNo">914</span> * master any more, for example, a very old previous instance).<a name="line.914"></a>
+<span class="sourceLineNo">915</span> */<a name="line.915"></a>
+<span class="sourceLineNo">916</span> public synchronized boolean isServerDead(ServerName serverName) {<a name="line.916"></a>
+<span class="sourceLineNo">917</span> return serverName == null || deadservers.isDeadServer(serverName);<a name="line.917"></a>
+<span class="sourceLineNo">918</span> }<a name="line.918"></a>
+<span class="sourceLineNo">919</span><a name="line.919"></a>
+<span class="sourceLineNo">920</span> public void shutdownCluster() {<a name="line.920"></a>
+<span class="sourceLineNo">921</span> String statusStr = "Cluster shutdown requested of master=" + this.master.getServerName();<a name="line.921"></a>
+<span class="sourceLineNo">922</span> LOG.info(statusStr);<a name="line.922"></a>
+<span class="sourceLineNo">923</span> this.clusterShutdown.set(true);<a name="line.923"></a>
+<span class="sourceLineNo">924</span> if (onlineServers.isEmpty()) {<a name="line.924"></a>
+<span class="sourceLineNo">925</span> // we do not synchronize here so this may cause a double stop, but not a big deal<a name="line.925"></a>
+<span class="sourceLineNo">926</span> master.stop("OnlineServer=0 right after cluster shutdown set");<a name="line.926"></a>
+<span class="sourceLineNo">927</span> }<a name="line.927"></a>
+<span class="sourceLineNo">928</span> }<a name="line.928"></a>
+<span class="sourceLineNo">929</span><a name="line.929"></a>
+<span class="sourceLineNo">930</span> public boolean isClusterShutdown() {<a name="line.930"></a>
+<span class="sourceLineNo">931</span> return this.clusterShutdown.get();<a name="line.931"></a>
+<span class="sourceLineNo">932</span> }<a name="line.932"></a>
+<span class="sourceLineNo">933</span><a name="line.933"></a>
+<span class="sourceLineNo">934</span> /**<a name="line.934"></a>
+<span class="sourceLineNo">935</span> * start chore in ServerManager<a name="line.935"></a>
+<span class="sourceLineNo">936</span> */<a name="line.936"></a>
+<span class="sourceLineNo">937</span> public void startChore() {<a name="line.937"></a>
+<span class="sourceLineNo">938</span> Configuration c = master.getConfiguration();<a name="line.938"></a>
+<span class="sourceLineNo">939</span> if (persistFlushedSequenceId) {<a name="line.939"></a>
+<span class="sourceLineNo">940</span> // when reach here, RegionStates should loaded, firstly, we call remove deleted regions<a name="line.940"></a>
+<span class="sourceLineNo">941</span> removeDeletedRegionFromLoadedFlushedSequenceIds();<a name="line.941"></a>
+<span class="sourceLineNo">942</span> int flushPeriod = c.getInt(FLUSHEDSEQUENCEID_FLUSHER_INTERVAL,<a name="line.942"></a>
+<span class="sourceLineNo">943</span> FLUSHEDSEQUENCEID_FLUSHER_INTERVAL_DEFAULT);<a name="line.943"></a>
+<span class="sourceLineNo">944</span> flushedSeqIdFlusher = new FlushedSequenceIdFlusher(<a name="line.944"></a>
+<span class="sourceLineNo">945</span> "FlushedSequenceIdFlusher", flushPeriod);<a name="line.945"></a>
+<span class="sourceLineNo">946</span> master.getChoreService().scheduleChore(flushedSeqIdFlusher);<a name="line.946"></a>
+<span class="sourceLineNo">947</span> }<a name="line.947"></a>
+<span class="sourceLineNo">948</span> }<a name="line.948"></a>
+<span class="sourceLineNo">949</span><a name="line.949"></a>
+<span class="sourceLineNo">950</span> /**<a name="line.950"></a>
+<span class="sourceLineNo">951</span> * Stop the ServerManager.<a name="line.951"></a>
+<span class="sourceLineNo">952</span> */<a name="line.952"></a>
+<span class="sourceLineNo">953</span> public void stop() {<a name="line.953"></a>
+<span class="sourceLineNo">954</span> if (flushedSeqIdFlusher != null) {<a name="line.954"></a>
+<span class="sourceLineNo">955</span> flushedSeqIdFlusher.cancel();<a name="line.955"></a>
+<span class="sourceLineNo">956</span> }<a name="line.956"></a>
+<span class="sourceLineNo">957</span> if (persistFlushedSequenceId) {<a name="line.957"></a>
+<span class="sourceLineNo">958</span> try {<a name="line.958"></a>
+<span class="sourceLineNo">959</span> persistRegionLastFlushedSequenceIds();<a name="line.959"></a>
+<span class="sourceLineNo">960</span> } catch (IOException e) {<a name="line.960"></a>
+<span class="sourceLineNo">961</span> LOG.warn("Failed to persist last flushed sequence id of regions"<a name="line.961"></a>
+<span class="sourceLineNo">962</span> + " to file system", e);<a name="line.962"></a>
+<span class="sourceLineNo">963</span> }<a name="line.963"></a>
+<span class="sourceLineNo">964</span> }<a name="line.964"></a>
+<span class="sourceLineNo">965</span> }<a name="line.965"></a>
+<span class="sourceLineNo">966</span><a name="line.966"></a>
+<span class="sourceLineNo">967</span> /**<a name="line.967"></a>
+<span class="sourceLineNo">968</span> * Creates a list of possible destinations for a region. It contains the online servers, but not<a name="line.968"></a>
+<span class="sourceLineNo">969</span> * the draining or dying servers.<a name="line.969"></a>
+<span class="sourceLineNo">970</span> * @param serversToExclude can be null if there is no server to exclude<a name="line.970"></a>
+<span class="sourceLineNo">971</span> */<a name="line.971"></a>
+<span class="sourceLineNo">972</span> public List<ServerName> createDestinationServersList(final List<ServerName> serversToExclude){<a name="line.972"></a>
+<span class="sourceLineNo">973</span> final List<ServerName> destServers = getOnlineServersList();<a name="line.973"></a>
+<span class="sourceLineNo">974</span><a name="line.974"></a>
+<span class="sourceLineNo">975</span> if (serversToExclude != null) {<a name="line.975"></a>
+<span class="sourceLineNo">976</span> destServers.removeAll(serversToExclude);<a name="line.976"></a>
+<span class="sourceLineNo">977</span> }<a name="line.977"></a>
+<span class="sourceLineNo">978</span><a name="line.978"></a>
+<span class="sourceLineNo">979</span> // Loop through the draining server list and remove them from the server list<a name="line.979"></a>
+<span class="sourceLineNo">980</span> final List<ServerName> drainingServersCopy = getDrainingServersList();<a name="line.980"></a>
+<span class="sourceLineNo">981</span> destServers.removeAll(drainingServersCopy);<a name="line.981"></a>
<span class="sourceLineNo">982</span><a name="line.982"></a>
-<span class="sourceLineNo">983</span> /**<a name="line.983"></a>
-<span class="sourceLineNo">984</span> * Calls {@link #createDestinationServersList} without server to exclude.<a name="line.984"></a>
-<span class="sourceLineNo">985</span> */<a name="line.985"></a>
-<span class="sourceLineNo">986</span> public List<ServerName> createDestinationServersList(){<a name="line.986"></a>
-<span class="sourceLineNo">987</span> return createDestinationServersList(null);<a name="line.987"></a>
-<span class="sourceLineNo">988</span> }<a name="line.988"></a>
-<span class="sourceLineNo">989</span><a name="line.989"></a>
-<span class="sourceLineNo">990</span> /**<a name="line.990"></a>
-<span class="sourceLineNo">991</span> * To clear any dead server with same host name and port of any online server<a name="line.991"></a>
-<span class="sourceLineNo">992</span> */<a name="line.992"></a>
-<span class="sourceLineNo">993</span> void clearDeadServersWithSameHostNameAndPortOfOnlineServer() {<a name="line.993"></a>
-<span class="sourceLineNo">994</span> for (ServerName serverName : getOnlineServersList()) {<a name="line.994"></a>
-<span class="sourceLineNo">995</span> deadservers.cleanAllPreviousInstances(serverName);<a name="line.995"></a>
-<span class="sourceLineNo">996</span> }<a name="line.996"></a>
-<span class="sourceLineNo">997</span> }<a name="line.997"></a>
-<span class="sourceLineNo">998</span><a name="line.998"></a>
-<span class="sourceLineNo">999</span> /**<a name="line.999"></a>
-<span class="sourceLineNo">1000</span> * Called by delete table and similar to notify the ServerManager that a region was removed.<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span> */<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span> public void removeRegion(final RegionInfo regionInfo) {<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span> final byte[] encodedName = regionInfo.getEncodedNameAsBytes();<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span> storeFlushedSequenceIdsByRegion.remove(encodedName);<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span> flushedSequenceIdByRegion.remove(encodedName);<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span> }<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span><a name="line.1007"></a>
-<span class="sourceLineNo">1008</span> @VisibleForTesting<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span> public boolean isRegionInServerManagerStates(final RegionInfo hri) {<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span> final byte[] encodedName = hri.getEncodedNameAsBytes();<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span> return (storeFlushedSequenceIdsByRegion.containsKey(encodedName)<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span> || flushedSequenceIdByRegion.containsKey(encodedName));<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span> }<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span><a name="line.1014"></a>
-<span class="sourceLineNo">1015</span> /**<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span> * Called by delete table and similar to notify the ServerManager that a region was removed.<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span> */<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span> public void removeRegions(final List<RegionInfo> regions) {<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span> for (RegionInfo hri: regions) {<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span> removeRegion(hri);<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span> }<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span> }<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span><a name="line.1023"></a>
-<span class="sourceLineNo">1024</span> /**<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span> * May return 0 when server is not online.<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span> */<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span> public int getVersionNumber(ServerName serverName) {<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span> ServerMetrics serverMetrics = onlineServers.get(serverName);<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span> return serverMetrics != null ? serverMetrics.getVersionNumber() : 0;<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span> }<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span><a name="line.1031"></a>
-<span class="sourceLineNo">1032</span> /**<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span> * May return "0.0.0" when server is not online<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span> */<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span> public String getVersion(ServerName serverName) {<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span> ServerMetrics serverMetrics = onlineServers.get(serverName);<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span> return serverMetrics != null ? serverMetrics.getVersion() : "0.0.0";<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span> }<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span><a name="line.1039"></a>
-<span class="sourceLineNo">1040</span> public int getInfoPort(ServerName serverName) {<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span> ServerMetrics serverMetrics = onlineServers.get(serverName);<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span> return serverMetrics != null ? serverMetrics.getInfoServerPort() : 0;<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span> }<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span><a name="line.1044"></a>
-<span class="sourceLineNo">1045</span> /**<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span> * Persist last flushed sequence id of each region to HDFS<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span> * @throws IOException if persit to HDFS fails<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span> */<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span> private void persistRegionLastFlushedSequenceIds() throws IOException {<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span> if (isFlushSeqIdPersistInProgress) {<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span> return;<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span> }<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span> isFlushSeqIdPersistInProgress = true;<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span> try {<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span> Configuration conf = master.getConfiguration();<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span> Path rootDir = FSUtils.getRootDir(conf);<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span> Path lastFlushedSeqIdPath = new Path(rootDir, LAST_FLUSHED_SEQ_ID_FILE);<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span> FileSystem fs = FileSystem.get(conf);<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span> if (fs.exists(lastFlushedSeqIdPath)) {<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span> LOG.info("Rewriting .lastflushedseqids file at: "<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span> + lastFlushedSeqIdPath);<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span> if (!fs.delete(lastFlushedSeqIdPath, false)) {<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span> throw new IOException("Unable to remove existing "<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span> + lastFlushedSeqIdPath);<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span> }<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span> } else {<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span> LOG.info("Writing .lastflushedseqids file at: " + lastFlushedSeqIdPath);<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span> }<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span> FSDataOutputStream out = fs.create(lastFlushedSeqIdPath);<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span> FlushedSequenceId.Builder flushedSequenceIdBuilder =<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span> FlushedSequenceId.newBuilder();<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span> try {<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span> for (Entry<byte[], Long> entry : flushedSequenceIdByRegion.entrySet()) {<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span> FlushedRegionSequenceId.Builder flushedRegionSequenceIdBuilder =<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span> FlushedRegionSequenceId.newBuilder();<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span> flushedRegionSequenceIdBuilder.setRegionEncodedName(<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span> ByteString.copyFrom(entry.getKey()));<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span> flushedRegionSequenceIdBuilder.setSeqId(entry.getValue());<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span> ConcurrentNavigableMap<byte[], Long> storeSeqIds =<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span> storeFlushedSequenceIdsByRegion.get(entry.getKey());<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span> if (storeSeqIds != null) {<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span> for (Entry<byte[], Long> store : storeSeqIds.entrySet()) {<a name="line.1082"></a>
-<span class="sourceLineNo">1083</span> FlushedStoreSequenceId.Builder flushedStoreSequenceIdBuilder =<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span> FlushedStoreSequenceId.newBuilder();<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span> flushedStoreSequenceIdBuilder.setFamily(ByteString.copyFrom(store.getKey()));<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span> flushedStoreSequenceIdBuilder.setSeqId(store.getValue());<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span> flushedRegionSequenceIdBuilder.addStores(flushedStoreSequenceIdBuilder);<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span> }<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span> }<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span> flushedSequenceIdBuilder.addRegionSequenceId(flushedRegionSequenceIdBuilder);<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span> }<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span> flushedSequenceIdBuilder.build().writeDelimitedTo(out);<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span> } finally {<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span> if (out != null) {<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span> out.close();<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span> }<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span> }<a name="line.1097"></a>
-<span class="sourceLineNo">1098</span> } finally {<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span> isFlushSeqIdPersistInProgress = false;<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span> }<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span> }<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span><a name="line.1102"></a>
-<span class="sourceLineNo">1103</span> /**<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span> * Load last flushed sequence id of each region from HDFS, if persisted<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span> */<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span> public void loadLastFlushedSequenceIds() throws IOException {<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span> if (!persistFlushedSequenceId) {<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span> return;<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span> }<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span> Configuration conf = master.getConfiguration();<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span> Path rootDir = FSUtils.getRootDir(conf);<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span> Path lastFlushedSeqIdPath = new Path(rootDir, LAST_FLUSHED_SEQ_ID_FILE);<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span> FileSystem fs = FileSystem.get(conf);<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span> if (!fs.exists(lastFlushedSeqIdPath)) {<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>
<TRUNCATED>
[34/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
index f25572f..fdb1c64 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
@@ -216,11 +216,11 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.LockState.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Procedure.LockState</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">RootProcedureState.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockedResourceType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockedResourceType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">StateMachineProcedure.Flow</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.LockState.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Procedure.LockState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockedResourceType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockedResourceType</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
index 015ba48..80bf29f 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
@@ -229,13 +229,13 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.OperationType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">OperationQuota.OperationType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottleType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaScope.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaScope</span></a></li>
<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/RpcThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">RpcThrottlingException.Type</span></a></li>
<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">SpaceViolationPolicy</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottleType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottlingException.Type</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/RpcThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">RpcThrottlingException.Type</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.OperationType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">OperationQuota.OperationType</span></a></li>
</ul>
</li>
</ul>
[49/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/checkstyle.rss
----------------------------------------------------------------------
diff --git a/checkstyle.rss b/checkstyle.rss
index d641e5e..af66de1 100644
--- a/checkstyle.rss
+++ b/checkstyle.rss
@@ -26,7 +26,7 @@ under the License.
<copyright>©2007 - 2018 The Apache Software Foundation</copyright>
<item>
<title>File: 3823,
- Errors: 14724,
+ Errors: 14663,
Warnings: 0,
Infos: 0
</title>
@@ -2435,7 +2435,7 @@ under the License.
0
</td>
<td>
- 3
+ 2
</td>
</tr>
<tr>
@@ -2673,7 +2673,7 @@ under the License.
0
</td>
<td>
- 13
+ 11
</td>
</tr>
<tr>
@@ -2771,7 +2771,7 @@ under the License.
0
</td>
<td>
- 2
+ 1
</td>
</tr>
<tr>
@@ -3121,7 +3121,7 @@ under the License.
0
</td>
<td>
- 6
+ 1
</td>
</tr>
<tr>
@@ -5977,7 +5977,7 @@ under the License.
0
</td>
<td>
- 11
+ 10
</td>
</tr>
<tr>
@@ -6719,7 +6719,7 @@ under the License.
0
</td>
<td>
- 27
+ 21
</td>
</tr>
<tr>
@@ -8595,7 +8595,7 @@ under the License.
0
</td>
<td>
- 12
+ 11
</td>
</tr>
<tr>
@@ -16057,7 +16057,7 @@ under the License.
0
</td>
<td>
- 5
+ 4
</td>
</tr>
<tr>
@@ -17868,20 +17868,6 @@ under the License.
</tr>
<tr>
<td>
- <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.mob.MobCacheConfig.java">org/apache/hadoop/hbase/mob/MobCacheConfig.java</a>
- </td>
- <td>
- 0
- </td>
- <td>
- 0
- </td>
- <td>
- 2
- </td>
- </tr>
- <tr>
- <td>
<a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.http.HttpServer.java">org/apache/hadoop/hbase/http/HttpServer.java</a>
</td>
<td>
@@ -25269,7 +25255,7 @@ under the License.
0
</td>
<td>
- 3
+ 2
</td>
</tr>
<tr>
@@ -32815,7 +32801,7 @@ under the License.
0
</td>
<td>
- 8
+ 0
</td>
</tr>
<tr>
@@ -33347,7 +33333,7 @@ under the License.
0
</td>
<td>
- 52
+ 26
</td>
</tr>
<tr>
@@ -34173,7 +34159,7 @@ under the License.
0
</td>
<td>
- 3
+ 2
</td>
</tr>
<tr>
@@ -42055,7 +42041,7 @@ under the License.
0
</td>
<td>
- 2
+ 1
</td>
</tr>
<tr>
@@ -43847,7 +43833,7 @@ under the License.
0
</td>
<td>
- 16
+ 15
</td>
</tr>
<tr>
@@ -43973,7 +43959,7 @@ under the License.
0
</td>
<td>
- 2
+ 0
</td>
</tr>
<tr>
@@ -44664,6 +44650,20 @@ under the License.
</tr>
<tr>
<td>
+ <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.io.hfile.BlockCacheFactory.java">org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.java</a>
+ </td>
+ <td>
+ 0
+ </td>
+ <td>
+ 0
+ </td>
+ <td>
+ 0
+ </td>
+ </tr>
+ <tr>
+ <td>
<a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.regionserver.HeapMemoryTuner.java">org/apache/hadoop/hbase/regionserver/HeapMemoryTuner.java</a>
</td>
<td>
@@ -50511,7 +50511,7 @@ under the License.
0
</td>
<td>
- 209
+ 208
</td>
</tr>
<tr>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/coc.html
----------------------------------------------------------------------
diff --git a/coc.html b/coc.html
index 184cc20..6981c82 100644
--- a/coc.html
+++ b/coc.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181215" />
+ <meta name="Date-Revision-yyyymmdd" content="20181218" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase –
Code of Conduct Policy
@@ -385,7 +385,7 @@ email to <a class="externalLink" href="mailto:private@hbase.apache.org">the priv
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-12-15</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-12-18</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/dependencies.html
----------------------------------------------------------------------
diff --git a/dependencies.html b/dependencies.html
index f276a00..24daa3a 100644
--- a/dependencies.html
+++ b/dependencies.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181215" />
+ <meta name="Date-Revision-yyyymmdd" content="20181218" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Project Dependencies</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -450,7 +450,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-12-15</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-12-18</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/dependency-convergence.html b/dependency-convergence.html
index 6d9696f..b6c0676 100644
--- a/dependency-convergence.html
+++ b/dependency-convergence.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181215" />
+ <meta name="Date-Revision-yyyymmdd" content="20181218" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Reactor Dependency Convergence</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -680,7 +680,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-12-15</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-12-18</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/dependency-info.html
----------------------------------------------------------------------
diff --git a/dependency-info.html b/dependency-info.html
index 6d90173..2fe8d35 100644
--- a/dependency-info.html
+++ b/dependency-info.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181215" />
+ <meta name="Date-Revision-yyyymmdd" content="20181218" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Dependency Information</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -323,7 +323,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-12-15</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-12-18</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/dependency-management.html
----------------------------------------------------------------------
diff --git a/dependency-management.html b/dependency-management.html
index 9b9ea01..4587929 100644
--- a/dependency-management.html
+++ b/dependency-management.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181215" />
+ <meta name="Date-Revision-yyyymmdd" content="20181218" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Project Dependency Management</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -1009,7 +1009,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-12-15</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-12-18</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/allclasses-frame.html
----------------------------------------------------------------------
diff --git a/devapidocs/allclasses-frame.html b/devapidocs/allclasses-frame.html
index b77126f..a0a3df0 100644
--- a/devapidocs/allclasses-frame.html
+++ b/devapidocs/allclasses-frame.html
@@ -273,6 +273,8 @@
<li><a href="org/apache/hadoop/hbase/filter/BitComparator.BitwiseOp.html" title="enum in org.apache.hadoop.hbase.filter" target="classFrame">BitComparator.BitwiseOp</a></li>
<li><a href="org/apache/hadoop/hbase/procedure2/store/BitSetNode.html" title="class in org.apache.hadoop.hbase.procedure2.store" target="classFrame">BitSetNode</a></li>
<li><a href="org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile" target="classFrame"><span class="interfaceName">BlockCache</span></a></li>
+<li><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile" target="classFrame">BlockCacheFactory</a></li>
+<li><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile" target="classFrame">BlockCacheFactory.ExternalBlockCaches</a></li>
<li><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile" target="classFrame">BlockCacheKey</a></li>
<li><a href="org/apache/hadoop/hbase/io/hfile/BlockCachesIterator.html" title="class in org.apache.hadoop.hbase.io.hfile" target="classFrame">BlockCachesIterator</a></li>
<li><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver" target="classFrame">BlockCacheTmpl</a></li>
@@ -388,7 +390,6 @@
<li><a href="org/apache/hadoop/hbase/io/hfile/CacheableDeserializer.html" title="interface in org.apache.hadoop.hbase.io.hfile" target="classFrame"><span class="interfaceName">CacheableDeserializer</span></a></li>
<li><a href="org/apache/hadoop/hbase/io/hfile/CacheableDeserializerIdManager.html" title="class in org.apache.hadoop.hbase.io.hfile" target="classFrame">CacheableDeserializerIdManager</a></li>
<li><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile" target="classFrame">CacheConfig</a></li>
-<li><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile" target="classFrame">CacheConfig.ExternalBlockCaches</a></li>
<li><a href="org/apache/hadoop/hbase/io/hfile/CachedBlock.html" title="interface in org.apache.hadoop.hbase.io.hfile" target="classFrame"><span class="interfaceName">CachedBlock</span></a></li>
<li><a href="org/apache/hadoop/hbase/io/hfile/bucket/CachedEntryQueue.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket" target="classFrame">CachedEntryQueue</a></li>
<li><a href="org/apache/hadoop/hbase/mob/CachedMobFile.html" title="class in org.apache.hadoop.hbase.mob" target="classFrame">CachedMobFile</a></li>
@@ -1648,7 +1649,6 @@
<li><a href="org/apache/hadoop/hbase/regionserver/querymatcher/MinorCompactionScanQueryMatcher.html" title="class in org.apache.hadoop.hbase.regionserver.querymatcher" target="classFrame">MinorCompactionScanQueryMatcher</a></li>
<li><a href="org/apache/hadoop/hbase/master/MirroringTableStateManager.html" title="class in org.apache.hadoop.hbase.master" target="classFrame">MirroringTableStateManager</a></li>
<li><a href="org/apache/hadoop/hbase/quotas/policies/MissingSnapshotViolationPolicyEnforcement.html" title="class in org.apache.hadoop.hbase.quotas.policies" target="classFrame">MissingSnapshotViolationPolicyEnforcement</a></li>
-<li><a href="org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob" target="classFrame">MobCacheConfig</a></li>
<li><a href="org/apache/hadoop/hbase/master/MobCompactionChore.html" title="class in org.apache.hadoop.hbase.master" target="classFrame">MobCompactionChore</a></li>
<li><a href="org/apache/hadoop/hbase/mob/compactions/MobCompactionRequest.html" title="class in org.apache.hadoop.hbase.mob.compactions" target="classFrame">MobCompactionRequest</a></li>
<li><a href="org/apache/hadoop/hbase/mob/compactions/MobCompactionRequest.CompactionType.html" title="enum in org.apache.hadoop.hbase.mob.compactions" target="classFrame">MobCompactionRequest.CompactionType</a></li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/allclasses-noframe.html
----------------------------------------------------------------------
diff --git a/devapidocs/allclasses-noframe.html b/devapidocs/allclasses-noframe.html
index ec4e67f..2dba490 100644
--- a/devapidocs/allclasses-noframe.html
+++ b/devapidocs/allclasses-noframe.html
@@ -273,6 +273,8 @@
<li><a href="org/apache/hadoop/hbase/filter/BitComparator.BitwiseOp.html" title="enum in org.apache.hadoop.hbase.filter">BitComparator.BitwiseOp</a></li>
<li><a href="org/apache/hadoop/hbase/procedure2/store/BitSetNode.html" title="class in org.apache.hadoop.hbase.procedure2.store">BitSetNode</a></li>
<li><a href="org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile"><span class="interfaceName">BlockCache</span></a></li>
+<li><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory</a></li>
+<li><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory.ExternalBlockCaches</a></li>
<li><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a></li>
<li><a href="org/apache/hadoop/hbase/io/hfile/BlockCachesIterator.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCachesIterator</a></li>
<li><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheTmpl</a></li>
@@ -388,7 +390,6 @@
<li><a href="org/apache/hadoop/hbase/io/hfile/CacheableDeserializer.html" title="interface in org.apache.hadoop.hbase.io.hfile"><span class="interfaceName">CacheableDeserializer</span></a></li>
<li><a href="org/apache/hadoop/hbase/io/hfile/CacheableDeserializerIdManager.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheableDeserializerIdManager</a></li>
<li><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></li>
-<li><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">CacheConfig.ExternalBlockCaches</a></li>
<li><a href="org/apache/hadoop/hbase/io/hfile/CachedBlock.html" title="interface in org.apache.hadoop.hbase.io.hfile"><span class="interfaceName">CachedBlock</span></a></li>
<li><a href="org/apache/hadoop/hbase/io/hfile/bucket/CachedEntryQueue.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">CachedEntryQueue</a></li>
<li><a href="org/apache/hadoop/hbase/mob/CachedMobFile.html" title="class in org.apache.hadoop.hbase.mob">CachedMobFile</a></li>
@@ -1648,7 +1649,6 @@
<li><a href="org/apache/hadoop/hbase/regionserver/querymatcher/MinorCompactionScanQueryMatcher.html" title="class in org.apache.hadoop.hbase.regionserver.querymatcher">MinorCompactionScanQueryMatcher</a></li>
<li><a href="org/apache/hadoop/hbase/master/MirroringTableStateManager.html" title="class in org.apache.hadoop.hbase.master">MirroringTableStateManager</a></li>
<li><a href="org/apache/hadoop/hbase/quotas/policies/MissingSnapshotViolationPolicyEnforcement.html" title="class in org.apache.hadoop.hbase.quotas.policies">MissingSnapshotViolationPolicyEnforcement</a></li>
-<li><a href="org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob">MobCacheConfig</a></li>
<li><a href="org/apache/hadoop/hbase/master/MobCompactionChore.html" title="class in org.apache.hadoop.hbase.master">MobCompactionChore</a></li>
<li><a href="org/apache/hadoop/hbase/mob/compactions/MobCompactionRequest.html" title="class in org.apache.hadoop.hbase.mob.compactions">MobCompactionRequest</a></li>
<li><a href="org/apache/hadoop/hbase/mob/compactions/MobCompactionRequest.CompactionType.html" title="enum in org.apache.hadoop.hbase.mob.compactions">MobCompactionRequest.CompactionType</a></li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index b674d6c..67061e6 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -3831,7 +3831,7 @@
<!-- -->
</a><code>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td><code><a href="org/apache/hadoop/hbase/Version.html#date">date</a></code></td>
-<td class="colLast"><code>"Sat Dec 15 14:43:55 UTC 2018"</code></td>
+<td class="colLast"><code>"Tue Dec 18 14:46:13 UTC 2018"</code></td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.Version.revision">
@@ -3845,7 +3845,7 @@
<!-- -->
</a><code>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td><code><a href="org/apache/hadoop/hbase/Version.html#srcChecksum">srcChecksum</a></code></td>
-<td class="colLast"><code>"25dbb3fd216cbc954b8b2ebf17377a47"</code></td>
+<td class="colLast"><code>"0ff9598693406383f0355b09c8c7ea64"</code></td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.Version.url">
@@ -9223,6 +9223,88 @@
<ul class="blockList">
<li class="blockList">
<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.BlockCacheFactory.BLOCKCACHE_BLOCKSIZE_KEY">
+<!-- -->
+</a><code>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#BLOCKCACHE_BLOCKSIZE_KEY">BLOCKCACHE_BLOCKSIZE_KEY</a></code></td>
+<td class="colLast"><code>"hbase.offheapcache.minblocksize"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.BlockCacheFactory.BUCKET_CACHE_BUCKETS_KEY">
+<!-- -->
+</a><code>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#BUCKET_CACHE_BUCKETS_KEY">BUCKET_CACHE_BUCKETS_KEY</a></code></td>
+<td class="colLast"><code>"hbase.bucketcache.bucket.sizes"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.BlockCacheFactory.BUCKET_CACHE_PERSISTENT_PATH_KEY">
+<!-- -->
+</a><code>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#BUCKET_CACHE_PERSISTENT_PATH_KEY">BUCKET_CACHE_PERSISTENT_PATH_KEY</a></code></td>
+<td class="colLast"><code>"hbase.bucketcache.persistent.path"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.BlockCacheFactory.BUCKET_CACHE_WRITER_QUEUE_KEY">
+<!-- -->
+</a><code>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#BUCKET_CACHE_WRITER_QUEUE_KEY">BUCKET_CACHE_WRITER_QUEUE_KEY</a></code></td>
+<td class="colLast"><code>"hbase.bucketcache.writer.queuelength"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.BlockCacheFactory.BUCKET_CACHE_WRITER_THREADS_KEY">
+<!-- -->
+</a><code>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#BUCKET_CACHE_WRITER_THREADS_KEY">BUCKET_CACHE_WRITER_THREADS_KEY</a></code></td>
+<td class="colLast"><code>"hbase.bucketcache.writer.threads"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.BlockCacheFactory.DEFAULT_BUCKET_CACHE_WRITER_QUEUE">
+<!-- -->
+</a><code>public static final int</code></td>
+<td><code><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#DEFAULT_BUCKET_CACHE_WRITER_QUEUE">DEFAULT_BUCKET_CACHE_WRITER_QUEUE</a></code></td>
+<td class="colLast"><code>64</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.BlockCacheFactory.DEFAULT_BUCKET_CACHE_WRITER_THREADS">
+<!-- -->
+</a><code>public static final int</code></td>
+<td><code><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#DEFAULT_BUCKET_CACHE_WRITER_THREADS">DEFAULT_BUCKET_CACHE_WRITER_THREADS</a></code></td>
+<td class="colLast"><code>3</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.BlockCacheFactory.EXTERNAL_BLOCKCACHE_CLASS_KEY">
+<!-- -->
+</a><code>private static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#EXTERNAL_BLOCKCACHE_CLASS_KEY">EXTERNAL_BLOCKCACHE_CLASS_KEY</a></code></td>
+<td class="colLast"><code>"hbase.blockcache.external.class"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.BlockCacheFactory.EXTERNAL_BLOCKCACHE_DEFAULT">
+<!-- -->
+</a><code>private static final boolean</code></td>
+<td><code><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#EXTERNAL_BLOCKCACHE_DEFAULT">EXTERNAL_BLOCKCACHE_DEFAULT</a></code></td>
+<td class="colLast"><code>false</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.BlockCacheFactory.EXTERNAL_BLOCKCACHE_KEY">
+<!-- -->
+</a><code>private static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#EXTERNAL_BLOCKCACHE_KEY">EXTERNAL_BLOCKCACHE_KEY</a></code></td>
+<td class="colLast"><code>"hbase.blockcache.use.external"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
<caption><span>org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a></span><span class="tabEnd"> </span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
@@ -9307,187 +9389,117 @@
</tr>
<tbody>
<tr class="altColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.CacheConfig.BLOCKCACHE_BLOCKSIZE_KEY">
-<!-- -->
-</a><code>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#BLOCKCACHE_BLOCKSIZE_KEY">BLOCKCACHE_BLOCKSIZE_KEY</a></code></td>
-<td class="colLast"><code>"hbase.offheapcache.minblocksize"</code></td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.CacheConfig.BUCKET_CACHE_BUCKETS_KEY">
-<!-- -->
-</a><code>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#BUCKET_CACHE_BUCKETS_KEY">BUCKET_CACHE_BUCKETS_KEY</a></code></td>
-<td class="colLast"><code>"hbase.bucketcache.bucket.sizes"</code></td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.CacheConfig.BUCKET_CACHE_PERSISTENT_PATH_KEY">
-<!-- -->
-</a><code>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#BUCKET_CACHE_PERSISTENT_PATH_KEY">BUCKET_CACHE_PERSISTENT_PATH_KEY</a></code></td>
-<td class="colLast"><code>"hbase.bucketcache.persistent.path"</code></td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.CacheConfig.BUCKET_CACHE_WRITER_QUEUE_KEY">
-<!-- -->
-</a><code>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#BUCKET_CACHE_WRITER_QUEUE_KEY">BUCKET_CACHE_WRITER_QUEUE_KEY</a></code></td>
-<td class="colLast"><code>"hbase.bucketcache.writer.queuelength"</code></td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.CacheConfig.BUCKET_CACHE_WRITER_THREADS_KEY">
-<!-- -->
-</a><code>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#BUCKET_CACHE_WRITER_THREADS_KEY">BUCKET_CACHE_WRITER_THREADS_KEY</a></code></td>
-<td class="colLast"><code>"hbase.bucketcache.writer.threads"</code></td>
-</tr>
-<tr class="rowColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.CacheConfig.CACHE_BLOCKS_ON_WRITE_KEY">
<!-- -->
</a><code>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td><code><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CACHE_BLOCKS_ON_WRITE_KEY">CACHE_BLOCKS_ON_WRITE_KEY</a></code></td>
<td class="colLast"><code>"hbase.rs.cacheblocksonwrite"</code></td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.CacheConfig.CACHE_BLOOM_BLOCKS_ON_WRITE_KEY">
<!-- -->
</a><code>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td><code><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CACHE_BLOOM_BLOCKS_ON_WRITE_KEY">CACHE_BLOOM_BLOCKS_ON_WRITE_KEY</a></code></td>
<td class="colLast"><code>"hfile.block.bloom.cacheonwrite"</code></td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.CacheConfig.CACHE_DATA_BLOCKS_COMPRESSED_KEY">
<!-- -->
</a><code>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td><code><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CACHE_DATA_BLOCKS_COMPRESSED_KEY">CACHE_DATA_BLOCKS_COMPRESSED_KEY</a></code></td>
<td class="colLast"><code>"hbase.block.data.cachecompressed"</code></td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.CacheConfig.CACHE_DATA_ON_READ_KEY">
<!-- -->
</a><code>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td><code><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CACHE_DATA_ON_READ_KEY">CACHE_DATA_ON_READ_KEY</a></code></td>
<td class="colLast"><code>"hbase.block.data.cacheonread"</code></td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.CacheConfig.CACHE_INDEX_BLOCKS_ON_WRITE_KEY">
<!-- -->
</a><code>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td><code><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CACHE_INDEX_BLOCKS_ON_WRITE_KEY">CACHE_INDEX_BLOCKS_ON_WRITE_KEY</a></code></td>
<td class="colLast"><code>"hfile.block.index.cacheonwrite"</code></td>
</tr>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.CacheConfig.DEFAULT_BUCKET_CACHE_WRITER_QUEUE">
-<!-- -->
-</a><code>public static final int</code></td>
-<td><code><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DEFAULT_BUCKET_CACHE_WRITER_QUEUE">DEFAULT_BUCKET_CACHE_WRITER_QUEUE</a></code></td>
-<td class="colLast"><code>64</code></td>
-</tr>
<tr class="rowColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.CacheConfig.DEFAULT_BUCKET_CACHE_WRITER_THREADS">
-<!-- -->
-</a><code>public static final int</code></td>
-<td><code><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DEFAULT_BUCKET_CACHE_WRITER_THREADS">DEFAULT_BUCKET_CACHE_WRITER_THREADS</a></code></td>
-<td class="colLast"><code>3</code></td>
-</tr>
-<tr class="altColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.CacheConfig.DEFAULT_CACHE_BLOOMS_ON_WRITE">
<!-- -->
</a><code>public static final boolean</code></td>
<td><code><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DEFAULT_CACHE_BLOOMS_ON_WRITE">DEFAULT_CACHE_BLOOMS_ON_WRITE</a></code></td>
<td class="colLast"><code>false</code></td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.CacheConfig.DEFAULT_CACHE_DATA_COMPRESSED">
<!-- -->
</a><code>public static final boolean</code></td>
<td><code><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DEFAULT_CACHE_DATA_COMPRESSED">DEFAULT_CACHE_DATA_COMPRESSED</a></code></td>
<td class="colLast"><code>false</code></td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.CacheConfig.DEFAULT_CACHE_DATA_ON_READ">
<!-- -->
</a><code>public static final boolean</code></td>
<td><code><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DEFAULT_CACHE_DATA_ON_READ">DEFAULT_CACHE_DATA_ON_READ</a></code></td>
<td class="colLast"><code>true</code></td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.CacheConfig.DEFAULT_CACHE_DATA_ON_WRITE">
<!-- -->
</a><code>public static final boolean</code></td>
<td><code><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DEFAULT_CACHE_DATA_ON_WRITE">DEFAULT_CACHE_DATA_ON_WRITE</a></code></td>
<td class="colLast"><code>false</code></td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.CacheConfig.DEFAULT_CACHE_INDEXES_ON_WRITE">
<!-- -->
</a><code>public static final boolean</code></td>
<td><code><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DEFAULT_CACHE_INDEXES_ON_WRITE">DEFAULT_CACHE_INDEXES_ON_WRITE</a></code></td>
<td class="colLast"><code>false</code></td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.CacheConfig.DEFAULT_EVICT_ON_CLOSE">
<!-- -->
</a><code>public static final boolean</code></td>
<td><code><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DEFAULT_EVICT_ON_CLOSE">DEFAULT_EVICT_ON_CLOSE</a></code></td>
<td class="colLast"><code>false</code></td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.CacheConfig.DEFAULT_IN_MEMORY">
<!-- -->
</a><code>public static final boolean</code></td>
<td><code><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DEFAULT_IN_MEMORY">DEFAULT_IN_MEMORY</a></code></td>
<td class="colLast"><code>false</code></td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.CacheConfig.DEFAULT_PREFETCH_ON_OPEN">
<!-- -->
</a><code>public static final boolean</code></td>
<td><code><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DEFAULT_PREFETCH_ON_OPEN">DEFAULT_PREFETCH_ON_OPEN</a></code></td>
<td class="colLast"><code>false</code></td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.CacheConfig.DROP_BEHIND_CACHE_COMPACTION_DEFAULT">
<!-- -->
-</a><code>private static final boolean</code></td>
+</a><code>public static final boolean</code></td>
<td><code><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DROP_BEHIND_CACHE_COMPACTION_DEFAULT">DROP_BEHIND_CACHE_COMPACTION_DEFAULT</a></code></td>
<td class="colLast"><code>true</code></td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.CacheConfig.DROP_BEHIND_CACHE_COMPACTION_KEY">
<!-- -->
-</a><code>private static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+</a><code>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td><code><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DROP_BEHIND_CACHE_COMPACTION_KEY">DROP_BEHIND_CACHE_COMPACTION_KEY</a></code></td>
<td class="colLast"><code>"hbase.hfile.drop.behind.compaction"</code></td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.CacheConfig.EVICT_BLOCKS_ON_CLOSE_KEY">
<!-- -->
</a><code>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td><code><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#EVICT_BLOCKS_ON_CLOSE_KEY">EVICT_BLOCKS_ON_CLOSE_KEY</a></code></td>
<td class="colLast"><code>"hbase.rs.evictblocksonclose"</code></td>
</tr>
-<tr class="rowColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.CacheConfig.EXTERNAL_BLOCKCACHE_CLASS_KEY">
-<!-- -->
-</a><code>private static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#EXTERNAL_BLOCKCACHE_CLASS_KEY">EXTERNAL_BLOCKCACHE_CLASS_KEY</a></code></td>
-<td class="colLast"><code>"hbase.blockcache.external.class"</code></td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.CacheConfig.EXTERNAL_BLOCKCACHE_DEFAULT">
-<!-- -->
-</a><code>private static final boolean</code></td>
-<td><code><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#EXTERNAL_BLOCKCACHE_DEFAULT">EXTERNAL_BLOCKCACHE_DEFAULT</a></code></td>
-<td class="colLast"><code>false</code></td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.CacheConfig.EXTERNAL_BLOCKCACHE_KEY">
-<!-- -->
-</a><code>private static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#EXTERNAL_BLOCKCACHE_KEY">EXTERNAL_BLOCKCACHE_KEY</a></code></td>
-<td class="colLast"><code>"hbase.blockcache.use.external"</code></td>
-</tr>
<tr class="altColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.io.hfile.CacheConfig.PREFETCH_BLOCKS_ON_OPEN_KEY">
<!-- -->
[11/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.ByteArrayKeyBlockIndexReader.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.ByteArrayKeyBlockIndexReader.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.ByteArrayKeyBlockIndexReader.html
index 1124f8b..0c29054 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.ByteArrayKeyBlockIndexReader.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.ByteArrayKeyBlockIndexReader.html
@@ -1111,587 +1111,592 @@
<span class="sourceLineNo">1103</span> blockStream.write(midKeyMetadata);<a name="line.1103"></a>
<span class="sourceLineNo">1104</span> blockWriter.writeHeaderAndData(out);<a name="line.1104"></a>
<span class="sourceLineNo">1105</span> if (cacheConf != null) {<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span> HFileBlock blockForCaching = blockWriter.getBlockForCaching(cacheConf);<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span> cacheConf.getBlockCache().cacheBlock(new BlockCacheKey(nameForCaching,<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span> rootLevelIndexPos, true, blockForCaching.getBlockType()), blockForCaching);<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span> }<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span> }<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span><a name="line.1111"></a>
-<span class="sourceLineNo">1112</span> // Add root index block size<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span> totalBlockOnDiskSize += blockWriter.getOnDiskSizeWithoutHeader();<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span> totalBlockUncompressedSize +=<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span> blockWriter.getUncompressedSizeWithoutHeader();<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span><a name="line.1116"></a>
-<span class="sourceLineNo">1117</span> if (LOG.isTraceEnabled()) {<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span> LOG.trace("Wrote a " + numLevels + "-level index with root level at pos "<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span> + rootLevelIndexPos + ", " + rootChunk.getNumEntries()<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span> + " root-level entries, " + totalNumEntries + " total entries, "<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span> + StringUtils.humanReadableInt(this.totalBlockOnDiskSize) +<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span> " on-disk size, "<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span> + StringUtils.humanReadableInt(totalBlockUncompressedSize) +<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span> " total uncompressed size.");<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span> }<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span> return rootLevelIndexPos;<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span> }<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span><a name="line.1128"></a>
-<span class="sourceLineNo">1129</span> /**<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span> * Writes the block index data as a single level only. Does not do any<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span> * block framing.<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span> *<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span> * @param out the buffered output stream to write the index to. Typically a<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span> * stream writing into an {@link HFile} block.<a name="line.1134"></a>
-<span class="sourceLineNo">1135</span> * @param description a short description of the index being written. Used<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span> * in a log message.<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span> * @throws IOException<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span> */<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span> public void writeSingleLevelIndex(DataOutput out, String description)<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span> throws IOException {<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span> expectNumLevels(1);<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span><a name="line.1142"></a>
-<span class="sourceLineNo">1143</span> if (!singleLevelOnly)<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span> throw new IOException("Single-level mode is turned off");<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span><a name="line.1145"></a>
-<span class="sourceLineNo">1146</span> if (rootChunk.getNumEntries() > 0)<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span> throw new IOException("Root-level entries already added in " +<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span> "single-level mode");<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span><a name="line.1149"></a>
-<span class="sourceLineNo">1150</span> rootChunk = curInlineChunk;<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span> curInlineChunk = new BlockIndexChunk();<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span><a name="line.1152"></a>
-<span class="sourceLineNo">1153</span> if (LOG.isTraceEnabled()) {<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span> LOG.trace("Wrote a single-level " + description + " index with "<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span> + rootChunk.getNumEntries() + " entries, " + rootChunk.getRootSize()<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span> + " bytes");<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span> }<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span> rootChunk.writeRoot(out);<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span> }<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span><a name="line.1160"></a>
-<span class="sourceLineNo">1161</span> /**<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span> * Split the current level of the block index into intermediate index<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span> * blocks of permitted size and write those blocks to disk. Return the next<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span> * level of the block index referencing those intermediate-level blocks.<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span> *<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span> * @param out<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span> * @param currentLevel the current level of the block index, such as the a<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span> * chunk referencing all leaf-level index blocks<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span> * @return the parent level block index, which becomes the root index after<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span> * a few (usually zero) iterations<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span> * @throws IOException<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span> */<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span> private BlockIndexChunk writeIntermediateLevel(FSDataOutputStream out,<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span> BlockIndexChunk currentLevel) throws IOException {<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span> // Entries referencing intermediate-level blocks we are about to create.<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span> BlockIndexChunk parent = new BlockIndexChunk();<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span><a name="line.1177"></a>
-<span class="sourceLineNo">1178</span> // The current intermediate-level block index chunk.<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span> BlockIndexChunk curChunk = new BlockIndexChunk();<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span><a name="line.1180"></a>
-<span class="sourceLineNo">1181</span> for (int i = 0; i < currentLevel.getNumEntries(); ++i) {<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span> curChunk.add(currentLevel.getBlockKey(i),<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span> currentLevel.getBlockOffset(i), currentLevel.getOnDiskDataSize(i));<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span><a name="line.1184"></a>
-<span class="sourceLineNo">1185</span> // HBASE-16288: We have to have at least minIndexNumEntries(16) items in the index so that<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span> // we won't end up with too-many levels for a index with very large rowKeys. Also, if the<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span> // first key is larger than maxChunkSize this will cause infinite recursion.<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span> if (i >= minIndexNumEntries && curChunk.getRootSize() >= maxChunkSize) {<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span> writeIntermediateBlock(out, parent, curChunk);<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span> }<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span> }<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span><a name="line.1192"></a>
-<span class="sourceLineNo">1193</span> if (curChunk.getNumEntries() > 0) {<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span> writeIntermediateBlock(out, parent, curChunk);<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span> }<a name="line.1195"></a>
-<span class="sourceLineNo">1196</span><a name="line.1196"></a>
-<span class="sourceLineNo">1197</span> return parent;<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span> }<a name="line.1198"></a>
-<span class="sourceLineNo">1199</span><a name="line.1199"></a>
-<span class="sourceLineNo">1200</span> private void writeIntermediateBlock(FSDataOutputStream out,<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span> BlockIndexChunk parent, BlockIndexChunk curChunk) throws IOException {<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span> long beginOffset = out.getPos();<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span> DataOutputStream dos = blockWriter.startWriting(<a name="line.1203"></a>
-<span class="sourceLineNo">1204</span> BlockType.INTERMEDIATE_INDEX);<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span> curChunk.writeNonRoot(dos);<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span> byte[] curFirstKey = curChunk.getBlockKey(0);<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span> blockWriter.writeHeaderAndData(out);<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span><a name="line.1208"></a>
-<span class="sourceLineNo">1209</span> if (getCacheOnWrite()) {<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span> HFileBlock blockForCaching = blockWriter.getBlockForCaching(cacheConf);<a name="line.1210"></a>
-<span class="sourceLineNo">1211</span> cacheConf.getBlockCache().cacheBlock(new BlockCacheKey(nameForCaching,<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span> beginOffset, true, blockForCaching.getBlockType()), blockForCaching);<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span> }<a name="line.1213"></a>
-<span class="sourceLineNo">1214</span><a name="line.1214"></a>
-<span class="sourceLineNo">1215</span> // Add intermediate index block size<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span> totalBlockOnDiskSize += blockWriter.getOnDiskSizeWithoutHeader();<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span> totalBlockUncompressedSize +=<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span> blockWriter.getUncompressedSizeWithoutHeader();<a name="line.1218"></a>
+<span class="sourceLineNo">1106</span> cacheConf.getBlockCache().ifPresent(cache -> {<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span> HFileBlock blockForCaching = blockWriter.getBlockForCaching(cacheConf);<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span> cache.cacheBlock(new BlockCacheKey(nameForCaching, rootLevelIndexPos, true,<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span> blockForCaching.getBlockType()), blockForCaching);<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span> });<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span> }<a name="line.1111"></a>
+<span class="sourceLineNo">1112</span> }<a name="line.1112"></a>
+<span class="sourceLineNo">1113</span><a name="line.1113"></a>
+<span class="sourceLineNo">1114</span> // Add root index block size<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span> totalBlockOnDiskSize += blockWriter.getOnDiskSizeWithoutHeader();<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span> totalBlockUncompressedSize +=<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span> blockWriter.getUncompressedSizeWithoutHeader();<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span><a name="line.1118"></a>
+<span class="sourceLineNo">1119</span> if (LOG.isTraceEnabled()) {<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span> LOG.trace("Wrote a " + numLevels + "-level index with root level at pos "<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span> + rootLevelIndexPos + ", " + rootChunk.getNumEntries()<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span> + " root-level entries, " + totalNumEntries + " total entries, "<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span> + StringUtils.humanReadableInt(this.totalBlockOnDiskSize) +<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span> " on-disk size, "<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span> + StringUtils.humanReadableInt(totalBlockUncompressedSize) +<a name="line.1125"></a>
+<span class="sourceLineNo">1126</span> " total uncompressed size.");<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span> }<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span> return rootLevelIndexPos;<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span> }<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span><a name="line.1130"></a>
+<span class="sourceLineNo">1131</span> /**<a name="line.1131"></a>
+<span class="sourceLineNo">1132</span> * Writes the block index data as a single level only. Does not do any<a name="line.1132"></a>
+<span class="sourceLineNo">1133</span> * block framing.<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span> *<a name="line.1134"></a>
+<span class="sourceLineNo">1135</span> * @param out the buffered output stream to write the index to. Typically a<a name="line.1135"></a>
+<span class="sourceLineNo">1136</span> * stream writing into an {@link HFile} block.<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span> * @param description a short description of the index being written. Used<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span> * in a log message.<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span> * @throws IOException<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span> */<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span> public void writeSingleLevelIndex(DataOutput out, String description)<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span> throws IOException {<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span> expectNumLevels(1);<a name="line.1143"></a>
+<span class="sourceLineNo">1144</span><a name="line.1144"></a>
+<span class="sourceLineNo">1145</span> if (!singleLevelOnly)<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span> throw new IOException("Single-level mode is turned off");<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span><a name="line.1147"></a>
+<span class="sourceLineNo">1148</span> if (rootChunk.getNumEntries() > 0)<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span> throw new IOException("Root-level entries already added in " +<a name="line.1149"></a>
+<span class="sourceLineNo">1150</span> "single-level mode");<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span><a name="line.1151"></a>
+<span class="sourceLineNo">1152</span> rootChunk = curInlineChunk;<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span> curInlineChunk = new BlockIndexChunk();<a name="line.1153"></a>
+<span class="sourceLineNo">1154</span><a name="line.1154"></a>
+<span class="sourceLineNo">1155</span> if (LOG.isTraceEnabled()) {<a name="line.1155"></a>
+<span class="sourceLineNo">1156</span> LOG.trace("Wrote a single-level " + description + " index with "<a name="line.1156"></a>
+<span class="sourceLineNo">1157</span> + rootChunk.getNumEntries() + " entries, " + rootChunk.getRootSize()<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span> + " bytes");<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span> }<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span> rootChunk.writeRoot(out);<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span> }<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span><a name="line.1162"></a>
+<span class="sourceLineNo">1163</span> /**<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span> * Split the current level of the block index into intermediate index<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span> * blocks of permitted size and write those blocks to disk. Return the next<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span> * level of the block index referencing those intermediate-level blocks.<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span> *<a name="line.1167"></a>
+<span class="sourceLineNo">1168</span> * @param out<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span> * @param currentLevel the current level of the block index, such as the a<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span> * chunk referencing all leaf-level index blocks<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span> * @return the parent level block index, which becomes the root index after<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span> * a few (usually zero) iterations<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span> * @throws IOException<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span> */<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span> private BlockIndexChunk writeIntermediateLevel(FSDataOutputStream out,<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span> BlockIndexChunk currentLevel) throws IOException {<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span> // Entries referencing intermediate-level blocks we are about to create.<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span> BlockIndexChunk parent = new BlockIndexChunk();<a name="line.1178"></a>
+<span class="sourceLineNo">1179</span><a name="line.1179"></a>
+<span class="sourceLineNo">1180</span> // The current intermediate-level block index chunk.<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span> BlockIndexChunk curChunk = new BlockIndexChunk();<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span><a name="line.1182"></a>
+<span class="sourceLineNo">1183</span> for (int i = 0; i < currentLevel.getNumEntries(); ++i) {<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span> curChunk.add(currentLevel.getBlockKey(i),<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span> currentLevel.getBlockOffset(i), currentLevel.getOnDiskDataSize(i));<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span><a name="line.1186"></a>
+<span class="sourceLineNo">1187</span> // HBASE-16288: We have to have at least minIndexNumEntries(16) items in the index so that<a name="line.1187"></a>
+<span class="sourceLineNo">1188</span> // we won't end up with too-many levels for a index with very large rowKeys. Also, if the<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span> // first key is larger than maxChunkSize this will cause infinite recursion.<a name="line.1189"></a>
+<span class="sourceLineNo">1190</span> if (i >= minIndexNumEntries && curChunk.getRootSize() >= maxChunkSize) {<a name="line.1190"></a>
+<span class="sourceLineNo">1191</span> writeIntermediateBlock(out, parent, curChunk);<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span> }<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span> }<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span><a name="line.1194"></a>
+<span class="sourceLineNo">1195</span> if (curChunk.getNumEntries() > 0) {<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span> writeIntermediateBlock(out, parent, curChunk);<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span> }<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span><a name="line.1198"></a>
+<span class="sourceLineNo">1199</span> return parent;<a name="line.1199"></a>
+<span class="sourceLineNo">1200</span> }<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span><a name="line.1201"></a>
+<span class="sourceLineNo">1202</span> private void writeIntermediateBlock(FSDataOutputStream out,<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span> BlockIndexChunk parent, BlockIndexChunk curChunk) throws IOException {<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span> long beginOffset = out.getPos();<a name="line.1204"></a>
+<span class="sourceLineNo">1205</span> DataOutputStream dos = blockWriter.startWriting(<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span> BlockType.INTERMEDIATE_INDEX);<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span> curChunk.writeNonRoot(dos);<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span> byte[] curFirstKey = curChunk.getBlockKey(0);<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span> blockWriter.writeHeaderAndData(out);<a name="line.1209"></a>
+<span class="sourceLineNo">1210</span><a name="line.1210"></a>
+<span class="sourceLineNo">1211</span> if (getCacheOnWrite()) {<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span> cacheConf.getBlockCache().ifPresent(cache -> {<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span> HFileBlock blockForCaching = blockWriter.getBlockForCaching(cacheConf);<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span> cache.cacheBlock(<a name="line.1214"></a>
+<span class="sourceLineNo">1215</span> new BlockCacheKey(nameForCaching, beginOffset, true, blockForCaching.getBlockType()),<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span> blockForCaching);<a name="line.1216"></a>
+<span class="sourceLineNo">1217</span> });<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span> }<a name="line.1218"></a>
<span class="sourceLineNo">1219</span><a name="line.1219"></a>
-<span class="sourceLineNo">1220</span> // OFFSET is the beginning offset the chunk of block index entries.<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span> // SIZE is the total byte size of the chunk of block index entries<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span> // + the secondary index size<a name="line.1222"></a>
-<span class="sourceLineNo">1223</span> // FIRST_KEY is the first key in the chunk of block index<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span> // entries.<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span> parent.add(curFirstKey, beginOffset,<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span> blockWriter.getOnDiskSizeWithHeader());<a name="line.1226"></a>
-<span class="sourceLineNo">1227</span><a name="line.1227"></a>
-<span class="sourceLineNo">1228</span> // clear current block index chunk<a name="line.1228"></a>
-<span class="sourceLineNo">1229</span> curChunk.clear();<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span> curFirstKey = null;<a name="line.1230"></a>
-<span class="sourceLineNo">1231</span> }<a name="line.1231"></a>
+<span class="sourceLineNo">1220</span> // Add intermediate index block size<a name="line.1220"></a>
+<span class="sourceLineNo">1221</span> totalBlockOnDiskSize += blockWriter.getOnDiskSizeWithoutHeader();<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span> totalBlockUncompressedSize +=<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span> blockWriter.getUncompressedSizeWithoutHeader();<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span><a name="line.1224"></a>
+<span class="sourceLineNo">1225</span> // OFFSET is the beginning offset the chunk of block index entries.<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span> // SIZE is the total byte size of the chunk of block index entries<a name="line.1226"></a>
+<span class="sourceLineNo">1227</span> // + the secondary index size<a name="line.1227"></a>
+<span class="sourceLineNo">1228</span> // FIRST_KEY is the first key in the chunk of block index<a name="line.1228"></a>
+<span class="sourceLineNo">1229</span> // entries.<a name="line.1229"></a>
+<span class="sourceLineNo">1230</span> parent.add(curFirstKey, beginOffset,<a name="line.1230"></a>
+<span class="sourceLineNo">1231</span> blockWriter.getOnDiskSizeWithHeader());<a name="line.1231"></a>
<span class="sourceLineNo">1232</span><a name="line.1232"></a>
-<span class="sourceLineNo">1233</span> /**<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span> * @return how many block index entries there are in the root level<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span> */<a name="line.1235"></a>
-<span class="sourceLineNo">1236</span> public final int getNumRootEntries() {<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span> return rootChunk.getNumEntries();<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span> }<a name="line.1238"></a>
-<span class="sourceLineNo">1239</span><a name="line.1239"></a>
-<span class="sourceLineNo">1240</span> /**<a name="line.1240"></a>
-<span class="sourceLineNo">1241</span> * @return the number of levels in this block index.<a name="line.1241"></a>
-<span class="sourceLineNo">1242</span> */<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span> public int getNumLevels() {<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span> return numLevels;<a name="line.1244"></a>
-<span class="sourceLineNo">1245</span> }<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span><a name="line.1246"></a>
-<span class="sourceLineNo">1247</span> private void expectNumLevels(int expectedNumLevels) {<a name="line.1247"></a>
-<span class="sourceLineNo">1248</span> if (numLevels != expectedNumLevels) {<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span> throw new IllegalStateException("Number of block index levels is "<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span> + numLevels + "but is expected to be " + expectedNumLevels);<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span> }<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span> }<a name="line.1252"></a>
-<span class="sourceLineNo">1253</span><a name="line.1253"></a>
-<span class="sourceLineNo">1254</span> /**<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span> * Whether there is an inline block ready to be written. In general, we<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span> * write an leaf-level index block as an inline block as soon as its size<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span> * as serialized in the non-root format reaches a certain threshold.<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span> */<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span> @Override<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span> public boolean shouldWriteBlock(boolean closing) {<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span> if (singleLevelOnly) {<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1262"></a>
-<span class="sourceLineNo">1263</span> }<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span><a name="line.1264"></a>
-<span class="sourceLineNo">1265</span> if (curInlineChunk == null) {<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span> throw new IllegalStateException("curInlineChunk is null; has shouldWriteBlock been " +<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span> "called with closing=true and then called again?");<a name="line.1267"></a>
+<span class="sourceLineNo">1233</span> // clear current block index chunk<a name="line.1233"></a>
+<span class="sourceLineNo">1234</span> curChunk.clear();<a name="line.1234"></a>
+<span class="sourceLineNo">1235</span> curFirstKey = null;<a name="line.1235"></a>
+<span class="sourceLineNo">1236</span> }<a name="line.1236"></a>
+<span class="sourceLineNo">1237</span><a name="line.1237"></a>
+<span class="sourceLineNo">1238</span> /**<a name="line.1238"></a>
+<span class="sourceLineNo">1239</span> * @return how many block index entries there are in the root level<a name="line.1239"></a>
+<span class="sourceLineNo">1240</span> */<a name="line.1240"></a>
+<span class="sourceLineNo">1241</span> public final int getNumRootEntries() {<a name="line.1241"></a>
+<span class="sourceLineNo">1242</span> return rootChunk.getNumEntries();<a name="line.1242"></a>
+<span class="sourceLineNo">1243</span> }<a name="line.1243"></a>
+<span class="sourceLineNo">1244</span><a name="line.1244"></a>
+<span class="sourceLineNo">1245</span> /**<a name="line.1245"></a>
+<span class="sourceLineNo">1246</span> * @return the number of levels in this block index.<a name="line.1246"></a>
+<span class="sourceLineNo">1247</span> */<a name="line.1247"></a>
+<span class="sourceLineNo">1248</span> public int getNumLevels() {<a name="line.1248"></a>
+<span class="sourceLineNo">1249</span> return numLevels;<a name="line.1249"></a>
+<span class="sourceLineNo">1250</span> }<a name="line.1250"></a>
+<span class="sourceLineNo">1251</span><a name="line.1251"></a>
+<span class="sourceLineNo">1252</span> private void expectNumLevels(int expectedNumLevels) {<a name="line.1252"></a>
+<span class="sourceLineNo">1253</span> if (numLevels != expectedNumLevels) {<a name="line.1253"></a>
+<span class="sourceLineNo">1254</span> throw new IllegalStateException("Number of block index levels is "<a name="line.1254"></a>
+<span class="sourceLineNo">1255</span> + numLevels + "but is expected to be " + expectedNumLevels);<a name="line.1255"></a>
+<span class="sourceLineNo">1256</span> }<a name="line.1256"></a>
+<span class="sourceLineNo">1257</span> }<a name="line.1257"></a>
+<span class="sourceLineNo">1258</span><a name="line.1258"></a>
+<span class="sourceLineNo">1259</span> /**<a name="line.1259"></a>
+<span class="sourceLineNo">1260</span> * Whether there is an inline block ready to be written. In general, we<a name="line.1260"></a>
+<span class="sourceLineNo">1261</span> * write an leaf-level index block as an inline block as soon as its size<a name="line.1261"></a>
+<span class="sourceLineNo">1262</span> * as serialized in the non-root format reaches a certain threshold.<a name="line.1262"></a>
+<span class="sourceLineNo">1263</span> */<a name="line.1263"></a>
+<span class="sourceLineNo">1264</span> @Override<a name="line.1264"></a>
+<span class="sourceLineNo">1265</span> public boolean shouldWriteBlock(boolean closing) {<a name="line.1265"></a>
+<span class="sourceLineNo">1266</span> if (singleLevelOnly) {<a name="line.1266"></a>
+<span class="sourceLineNo">1267</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1267"></a>
<span class="sourceLineNo">1268</span> }<a name="line.1268"></a>
<span class="sourceLineNo">1269</span><a name="line.1269"></a>
-<span class="sourceLineNo">1270</span> if (curInlineChunk.getNumEntries() == 0) {<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span> return false;<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span> }<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span><a name="line.1273"></a>
-<span class="sourceLineNo">1274</span> // We do have some entries in the current inline chunk.<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span> if (closing) {<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span> if (rootChunk.getNumEntries() == 0) {<a name="line.1276"></a>
-<span class="sourceLineNo">1277</span> // We did not add any leaf-level blocks yet. Instead of creating a<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span> // leaf level with one block, move these entries to the root level.<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span><a name="line.1279"></a>
-<span class="sourceLineNo">1280</span> expectNumLevels(1);<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span> rootChunk = curInlineChunk;<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span> curInlineChunk = null; // Disallow adding any more index entries.<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span> return false;<a name="line.1283"></a>
-<span class="sourceLineNo">1284</span> }<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span><a name="line.1285"></a>
-<span class="sourceLineNo">1286</span> return true;<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span> } else {<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span> return curInlineChunk.getNonRootSize() >= maxChunkSize;<a name="line.1288"></a>
-<span class="sourceLineNo">1289</span> }<a name="line.1289"></a>
-<span class="sourceLineNo">1290</span> }<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span><a name="line.1291"></a>
-<span class="sourceLineNo">1292</span> /**<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span> * Write out the current inline index block. Inline blocks are non-root<a name="line.1293"></a>
-<span class="sourceLineNo">1294</span> * blocks, so the non-root index format is used.<a name="line.1294"></a>
-<span class="sourceLineNo">1295</span> *<a name="line.1295"></a>
-<span class="sourceLineNo">1296</span> * @param out<a name="line.1296"></a>
-<span class="sourceLineNo">1297</span> */<a name="line.1297"></a>
-<span class="sourceLineNo">1298</span> @Override<a name="line.1298"></a>
-<span class="sourceLineNo">1299</span> public void writeInlineBlock(DataOutput out) throws IOException {<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span> if (singleLevelOnly)<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1301"></a>
-<span class="sourceLineNo">1302</span><a name="line.1302"></a>
-<span class="sourceLineNo">1303</span> // Write the inline block index to the output stream in the non-root<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span> // index block format.<a name="line.1304"></a>
-<span class="sourceLineNo">1305</span> curInlineChunk.writeNonRoot(out);<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span><a name="line.1306"></a>
-<span class="sourceLineNo">1307</span> // Save the first key of the inline block so that we can add it to the<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span> // parent-level index.<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span> firstKey = curInlineChunk.getBlockKey(0);<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span><a name="line.1310"></a>
-<span class="sourceLineNo">1311</span> // Start a new inline index block<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span> curInlineChunk.clear();<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span> }<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span><a name="line.1314"></a>
-<span class="sourceLineNo">1315</span> /**<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span> * Called after an inline block has been written so that we can add an<a name="line.1316"></a>
-<span class="sourceLineNo">1317</span> * entry referring to that block to the parent-level index.<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span> */<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span> @Override<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span> public void blockWritten(long offset, int onDiskSize, int uncompressedSize) {<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span> // Add leaf index block size<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span> totalBlockOnDiskSize += onDiskSize;<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span> totalBlockUncompressedSize += uncompressedSize;<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span><a name="line.1324"></a>
-<span class="sourceLineNo">1325</span> if (singleLevelOnly)<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span><a name="line.1327"></a>
-<span class="sourceLineNo">1328</span> if (firstKey == null) {<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span> throw new IllegalStateException("Trying to add second-level index " +<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span> "entry with offset=" + offset + " and onDiskSize=" + onDiskSize +<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span> "but the first key was not set in writeInlineBlock");<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span> }<a name="line.1332"></a>
-<span class="sourceLineNo">1333</span><a name="line.1333"></a>
-<span class="sourceLineNo">1334</span> if (rootChunk.getNumEntries() == 0) {<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span> // We are writing the first leaf block, so increase index level.<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span> expectNumLevels(1);<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span> numLevels = 2;<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span> }<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span><a name="line.1339"></a>
-<span class="sourceLineNo">1340</span> // Add another entry to the second-level index. Include the number of<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span> // entries in all previous leaf-level chunks for mid-key calculation.<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span> rootChunk.add(firstKey, offset, onDiskSize, totalNumEntries);<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span> firstKey = null;<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span> }<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span><a name="line.1345"></a>
-<span class="sourceLineNo">1346</span> @Override<a name="line.1346"></a>
-<span class="sourceLineNo">1347</span> public BlockType getInlineBlockType() {<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span> return BlockType.LEAF_INDEX;<a name="line.1348"></a>
+<span class="sourceLineNo">1270</span> if (curInlineChunk == null) {<a name="line.1270"></a>
+<span class="sourceLineNo">1271</span> throw new IllegalStateException("curInlineChunk is null; has shouldWriteBlock been " +<a name="line.1271"></a>
+<span class="sourceLineNo">1272</span> "called with closing=true and then called again?");<a name="line.1272"></a>
+<span class="sourceLineNo">1273</span> }<a name="line.1273"></a>
+<span class="sourceLineNo">1274</span><a name="line.1274"></a>
+<span class="sourceLineNo">1275</span> if (curInlineChunk.getNumEntries() == 0) {<a name="line.1275"></a>
+<span class="sourceLineNo">1276</span> return false;<a name="line.1276"></a>
+<span class="sourceLineNo">1277</span> }<a name="line.1277"></a>
+<span class="sourceLineNo">1278</span><a name="line.1278"></a>
+<span class="sourceLineNo">1279</span> // We do have some entries in the current inline chunk.<a name="line.1279"></a>
+<span class="sourceLineNo">1280</span> if (closing) {<a name="line.1280"></a>
+<span class="sourceLineNo">1281</span> if (rootChunk.getNumEntries() == 0) {<a name="line.1281"></a>
+<span class="sourceLineNo">1282</span> // We did not add any leaf-level blocks yet. Instead of creating a<a name="line.1282"></a>
+<span class="sourceLineNo">1283</span> // leaf level with one block, move these entries to the root level.<a name="line.1283"></a>
+<span class="sourceLineNo">1284</span><a name="line.1284"></a>
+<span class="sourceLineNo">1285</span> expectNumLevels(1);<a name="line.1285"></a>
+<span class="sourceLineNo">1286</span> rootChunk = curInlineChunk;<a name="line.1286"></a>
+<span class="sourceLineNo">1287</span> curInlineChunk = null; // Disallow adding any more index entries.<a name="line.1287"></a>
+<span class="sourceLineNo">1288</span> return false;<a name="line.1288"></a>
+<span class="sourceLineNo">1289</span> }<a name="line.1289"></a>
+<span class="sourceLineNo">1290</span><a name="line.1290"></a>
+<span class="sourceLineNo">1291</span> return true;<a name="line.1291"></a>
+<span class="sourceLineNo">1292</span> } else {<a name="line.1292"></a>
+<span class="sourceLineNo">1293</span> return curInlineChunk.getNonRootSize() >= maxChunkSize;<a name="line.1293"></a>
+<span class="sourceLineNo">1294</span> }<a name="line.1294"></a>
+<span class="sourceLineNo">1295</span> }<a name="line.1295"></a>
+<span class="sourceLineNo">1296</span><a name="line.1296"></a>
+<span class="sourceLineNo">1297</span> /**<a name="line.1297"></a>
+<span class="sourceLineNo">1298</span> * Write out the current inline index block. Inline blocks are non-root<a name="line.1298"></a>
+<span class="sourceLineNo">1299</span> * blocks, so the non-root index format is used.<a name="line.1299"></a>
+<span class="sourceLineNo">1300</span> *<a name="line.1300"></a>
+<span class="sourceLineNo">1301</span> * @param out<a name="line.1301"></a>
+<span class="sourceLineNo">1302</span> */<a name="line.1302"></a>
+<span class="sourceLineNo">1303</span> @Override<a name="line.1303"></a>
+<span class="sourceLineNo">1304</span> public void writeInlineBlock(DataOutput out) throws IOException {<a name="line.1304"></a>
+<span class="sourceLineNo">1305</span> if (singleLevelOnly)<a name="line.1305"></a>
+<span class="sourceLineNo">1306</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1306"></a>
+<span class="sourceLineNo">1307</span><a name="line.1307"></a>
+<span class="sourceLineNo">1308</span> // Write the inline block index to the output stream in the non-root<a name="line.1308"></a>
+<span class="sourceLineNo">1309</span> // index block format.<a name="line.1309"></a>
+<span class="sourceLineNo">1310</span> curInlineChunk.writeNonRoot(out);<a name="line.1310"></a>
+<span class="sourceLineNo">1311</span><a name="line.1311"></a>
+<span class="sourceLineNo">1312</span> // Save the first key of the inline block so that we can add it to the<a name="line.1312"></a>
+<span class="sourceLineNo">1313</span> // parent-level index.<a name="line.1313"></a>
+<span class="sourceLineNo">1314</span> firstKey = curInlineChunk.getBlockKey(0);<a name="line.1314"></a>
+<span class="sourceLineNo">1315</span><a name="line.1315"></a>
+<span class="sourceLineNo">1316</span> // Start a new inline index block<a name="line.1316"></a>
+<span class="sourceLineNo">1317</span> curInlineChunk.clear();<a name="line.1317"></a>
+<span class="sourceLineNo">1318</span> }<a name="line.1318"></a>
+<span class="sourceLineNo">1319</span><a name="line.1319"></a>
+<span class="sourceLineNo">1320</span> /**<a name="line.1320"></a>
+<span class="sourceLineNo">1321</span> * Called after an inline block has been written so that we can add an<a name="line.1321"></a>
+<span class="sourceLineNo">1322</span> * entry referring to that block to the parent-level index.<a name="line.1322"></a>
+<span class="sourceLineNo">1323</span> */<a name="line.1323"></a>
+<span class="sourceLineNo">1324</span> @Override<a name="line.1324"></a>
+<span class="sourceLineNo">1325</span> public void blockWritten(long offset, int onDiskSize, int uncompressedSize) {<a name="line.1325"></a>
+<span class="sourceLineNo">1326</span> // Add leaf index block size<a name="line.1326"></a>
+<span class="sourceLineNo">1327</span> totalBlockOnDiskSize += onDiskSize;<a name="line.1327"></a>
+<span class="sourceLineNo">1328</span> totalBlockUncompressedSize += uncompressedSize;<a name="line.1328"></a>
+<span class="sourceLineNo">1329</span><a name="line.1329"></a>
+<span class="sourceLineNo">1330</span> if (singleLevelOnly)<a name="line.1330"></a>
+<span class="sourceLineNo">1331</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1331"></a>
+<span class="sourceLineNo">1332</span><a name="line.1332"></a>
+<span class="sourceLineNo">1333</span> if (firstKey == null) {<a name="line.1333"></a>
+<span class="sourceLineNo">1334</span> throw new IllegalStateException("Trying to add second-level index " +<a name="line.1334"></a>
+<span class="sourceLineNo">1335</span> "entry with offset=" + offset + " and onDiskSize=" + onDiskSize +<a name="line.1335"></a>
+<span class="sourceLineNo">1336</span> "but the first key was not set in writeInlineBlock");<a name="line.1336"></a>
+<span class="sourceLineNo">1337</span> }<a name="line.1337"></a>
+<span class="sourceLineNo">1338</span><a name="line.1338"></a>
+<span class="sourceLineNo">1339</span> if (rootChunk.getNumEntries() == 0) {<a name="line.1339"></a>
+<span class="sourceLineNo">1340</span> // We are writing the first leaf block, so increase index level.<a name="line.1340"></a>
+<span class="sourceLineNo">1341</span> expectNumLevels(1);<a name="line.1341"></a>
+<span class="sourceLineNo">1342</span> numLevels = 2;<a name="line.1342"></a>
+<span class="sourceLineNo">1343</span> }<a name="line.1343"></a>
+<span class="sourceLineNo">1344</span><a name="line.1344"></a>
+<span class="sourceLineNo">1345</span> // Add another entry to the second-level index. Include the number of<a name="line.1345"></a>
+<span class="sourceLineNo">1346</span> // entries in all previous leaf-level chunks for mid-key calculation.<a name="line.1346"></a>
+<span class="sourceLineNo">1347</span> rootChunk.add(firstKey, offset, onDiskSize, totalNumEntries);<a name="line.1347"></a>
+<span class="sourceLineNo">1348</span> firstKey = null;<a name="line.1348"></a>
<span class="sourceLineNo">1349</span> }<a name="line.1349"></a>
<span class="sourceLineNo">1350</span><a name="line.1350"></a>
-<span class="sourceLineNo">1351</span> /**<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span> * Add one index entry to the current leaf-level block. When the leaf-level<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span> * block gets large enough, it will be flushed to disk as an inline block.<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span> *<a name="line.1354"></a>
-<span class="sourceLineNo">1355</span> * @param firstKey the first key of the data block<a name="line.1355"></a>
-<span class="sourceLineNo">1356</span> * @param blockOffset the offset of the data block<a name="line.1356"></a>
-<span class="sourceLineNo">1357</span> * @param blockDataSize the on-disk size of the data block ({@link HFile}<a name="line.1357"></a>
-<span class="sourceLineNo">1358</span> * format version 2), or the uncompressed size of the data block (<a name="line.1358"></a>
-<span class="sourceLineNo">1359</span> * {@link HFile} format version 1).<a name="line.1359"></a>
-<span class="sourceLineNo">1360</span> */<a name="line.1360"></a>
-<span class="sourceLineNo">1361</span> public void addEntry(byte[] firstKey, long blockOffset, int blockDataSize) {<a name="line.1361"></a>
-<span class="sourceLineNo">1362</span> curInlineChunk.add(firstKey, blockOffset, blockDataSize);<a name="line.1362"></a>
-<span class="sourceLineNo">1363</span> ++totalNumEntries;<a name="line.1363"></a>
-<span class="sourceLineNo">1364</span> }<a name="line.1364"></a>
-<span class="sourceLineNo">1365</span><a name="line.1365"></a>
-<span class="sourceLineNo">1366</span> /**<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span> * @throws IOException if we happened to write a multi-level index.<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span> */<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span> public void ensureSingleLevel() throws IOException {<a name="line.1369"></a>
-<span class="sourceLineNo">1370</span> if (numLevels > 1) {<a name="line.1370"></a>
-<span class="sourceLineNo">1371</span> throw new IOException ("Wrote a " + numLevels + "-level index with " +<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span> rootChunk.getNumEntries() + " root-level entries, but " +<a name="line.1372"></a>
-<span class="sourceLineNo">1373</span> "this is expected to be a single-level block index.");<a name="line.1373"></a>
-<span class="sourceLineNo">1374</span> }<a name="line.1374"></a>
-<span class="sourceLineNo">1375</span> }<a name="line.1375"></a>
-<span class="sourceLineNo">1376</span><a name="line.1376"></a>
-<span class="sourceLineNo">1377</span> /**<a name="line.1377"></a>
-<span class="sourceLineNo">1378</span> * @return true if we are using cache-on-write. This is configured by the<a name="line.1378"></a>
-<span class="sourceLineNo">1379</span> * caller of the constructor by either passing a valid block cache<a name="line.1379"></a>
-<span class="sourceLineNo">1380</span> * or null.<a name="line.1380"></a>
-<span class="sourceLineNo">1381</span> */<a name="line.1381"></a>
-<span class="sourceLineNo">1382</span> @Override<a name="line.1382"></a>
-<span class="sourceLineNo">1383</span> public boolean getCacheOnWrite() {<a name="line.1383"></a>
-<span class="sourceLineNo">1384</span> return cacheConf != null && cacheConf.shouldCacheIndexesOnWrite();<a name="line.1384"></a>
-<span class="sourceLineNo">1385</span> }<a name="line.1385"></a>
-<span class="sourceLineNo">1386</span><a name="line.1386"></a>
-<span class="sourceLineNo">1387</span> /**<a name="line.1387"></a>
-<span class="sourceLineNo">1388</span> * The total uncompressed size of the root index block, intermediate-level<a name="line.1388"></a>
-<span class="sourceLineNo">1389</span> * index blocks, and leaf-level index blocks.<a name="line.1389"></a>
-<span class="sourceLineNo">1390</span> *<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span> * @return the total uncompressed size of all index blocks<a name="line.1391"></a>
-<span class="sourceLineNo">1392</span> */<a name="line.1392"></a>
-<span class="sourceLineNo">1393</span> public long getTotalUncompressedSize() {<a name="line.1393"></a>
-<span class="sourceLineNo">1394</span> return totalBlockUncompressedSize;<a name="line.1394"></a>
-<span class="sourceLineNo">1395</span> }<a name="line.1395"></a>
-<span class="sourceLineNo">1396</span><a name="line.1396"></a>
-<span class="sourceLineNo">1397</span> }<a name="line.1397"></a>
-<span class="sourceLineNo">1398</span><a name="line.1398"></a>
-<span class="sourceLineNo">1399</span> /**<a name="line.1399"></a>
-<span class="sourceLineNo">1400</span> * A single chunk of the block index in the process of writing. The data in<a name="line.1400"></a>
-<span class="sourceLineNo">1401</span> * this chunk can become a leaf-level, intermediate-level, or root index<a name="line.1401"></a>
-<span class="sourceLineNo">1402</span> * block.<a name="line.1402"></a>
-<span class="sourceLineNo">1403</span> */<a name="line.1403"></a>
-<span class="sourceLineNo">1404</span> static class BlockIndexChunk {<a name="line.1404"></a>
-<span class="sourceLineNo">1405</span><a name="line.1405"></a>
-<span class="sourceLineNo">1406</span> /** First keys of the key range corresponding to each index entry. */<a name="line.1406"></a>
-<span class="sourceLineNo">1407</span> private final List<byte[]> blockKeys = new ArrayList<>();<a name="line.1407"></a>
-<span class="sourceLineNo">1408</span><a name="line.1408"></a>
-<span class="sourceLineNo">1409</span> /** Block offset in backing stream. */<a name="line.1409"></a>
-<span class="sourceLineNo">1410</span> private final List<Long> blockOffsets = new ArrayList<>();<a name="line.1410"></a>
-<span class="sourceLineNo">1411</span><a name="line.1411"></a>
-<span class="sourceLineNo">1412</span> /** On-disk data sizes of lower-level data or index blocks. */<a name="line.1412"></a>
-<span class="sourceLineNo">1413</span> private final List<Integer> onDiskDataSizes = new ArrayList<>();<a name="line.1413"></a>
-<span class="sourceLineNo">1414</span><a name="line.1414"></a>
-<span class="sourceLineNo">1415</span> /**<a name="line.1415"></a>
-<span class="sourceLineNo">1416</span> * The cumulative number of sub-entries, i.e. entries on deeper-level block<a name="line.1416"></a>
-<span class="sourceLineNo">1417</span> * index entries. numSubEntriesAt[i] is the number of sub-entries in the<a name="line.1417"></a>
-<span class="sourceLineNo">1418</span> * blocks corresponding to this chunk's entries #0 through #i inclusively.<a name="line.1418"></a>
-<span class="sourceLineNo">1419</span> */<a name="line.1419"></a>
-<span class="sourceLineNo">1420</span> private final List<Long> numSubEntriesAt = new ArrayList<>();<a name="line.1420"></a>
-<span class="sourceLineNo">1421</span><a name="line.1421"></a>
-<span class="sourceLineNo">1422</span> /**<a name="line.1422"></a>
-<span class="sourceLineNo">1423</span> * The offset of the next entry to be added, relative to the end of the<a name="line.1423"></a>
-<span class="sourceLineNo">1424</span> * "secondary index" in the "non-root" format representation of this index<a name="line.1424"></a>
-<span class="sourceLineNo">1425</span> * chunk. This is the next value to be added to the secondary index.<a name="line.1425"></a>
-<span class="sourceLineNo">1426</span> */<a name="line.1426"></a>
-<span class="sourceLineNo">1427</span> private int curTotalNonRootEntrySize = 0;<a name="line.1427"></a>
-<span class="sourceLineNo">1428</span><a name="line.1428"></a>
-<span class="sourceLineNo">1429</span> /**<a name="line.1429"></a>
-<span class="sourceLineNo">1430</span> * The accumulated size of this chunk if stored in the root index format.<a name="line.1430"></a>
+<span class="sourceLineNo">1351</span> @Override<a name="line.1351"></a>
+<span class="sourceLineNo">1352</span> public BlockType getInlineBlockType() {<a name="line.1352"></a>
+<span class="sourceLineNo">1353</span> return BlockType.LEAF_INDEX;<a name="line.1353"></a>
+<span class="sourceLineNo">1354</span> }<a name="line.1354"></a>
+<span class="sourceLineNo">1355</span><a name="line.1355"></a>
+<span class="sourceLineNo">1356</span> /**<a name="line.1356"></a>
+<span class="sourceLineNo">1357</span> * Add one index entry to the current leaf-level block. When the leaf-level<a name="line.1357"></a>
+<span class="sourceLineNo">1358</span> * block gets large enough, it will be flushed to disk as an inline block.<a name="line.1358"></a>
+<span class="sourceLineNo">1359</span> *<a name="line.1359"></a>
+<span class="sourceLineNo">1360</span> * @param firstKey the first key of the data block<a name="line.1360"></a>
+<span class="sourceLineNo">1361</span> * @param blockOffset the offset of the data block<a name="line.1361"></a>
+<span class="sourceLineNo">1362</span> * @param blockDataSize the on-disk size of the data block ({@link HFile}<a name="line.1362"></a>
+<span class="sourceLineNo">1363</span> * format version 2), or the uncompressed size of the data block (<a name="line.1363"></a>
+<span class="sourceLineNo">1364</span> * {@link HFile} format version 1).<a name="line.1364"></a>
+<span class="sourceLineNo">1365</span> */<a name="line.1365"></a>
+<span class="sourceLineNo">1366</span> public void addEntry(byte[] firstKey, long blockOffset, int blockDataSize) {<a name="line.1366"></a>
+<span class="sourceLineNo">1367</span> curInlineChunk.add(firstKey, blockOffset, blockDataSize);<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span> ++totalNumEntries;<a name="line.1368"></a>
+<span class="sourceLineNo">1369</span> }<a name="line.1369"></a>
+<span class="sourceLineNo">1370</span><a name="line.1370"></a>
+<span class="sourceLineNo">1371</span> /**<a name="line.1371"></a>
+<span class="sourceLineNo">1372</span> * @throws IOException if we happened to write a multi-level index.<a name="line.1372"></a>
+<span class="sourceLineNo">1373</span> */<a name="line.1373"></a>
+<span class="sourceLineNo">1374</span> public void ensureSingleLevel() throws IOException {<a name="line.1374"></a>
+<span class="sourceLineNo">1375</span> if (numLevels > 1) {<a name="line.1375"></a>
+<span class="sourceLineNo">1376</span> throw new IOException ("Wrote a " + numLevels + "-level index with " +<a name="line.1376"></a>
+<span class="sourceLineNo">1377</span> rootChunk.getNumEntries() + " root-level entries, but " +<a name="line.1377"></a>
+<span class="sourceLineNo">1378</span> "this is expected to be a single-level block index.");<a name="line.1378"></a>
+<span class="sourceLineNo">1379</span> }<a name="line.1379"></a>
+<span class="sourceLineNo">1380</span> }<a name="line.1380"></a>
+<span class="sourceLineNo">1381</span><a name="line.1381"></a>
+<span class="sourceLineNo">1382</span> /**<a name="line.1382"></a>
+<span class="sourceLineNo">1383</span> * @return true if we are using cache-on-write. This is configured by the<a name="line.1383"></a>
+<span class="sourceLineNo">1384</span> * caller of the constructor by either passing a valid block cache<a name="line.1384"></a>
+<span class="sourceLineNo">1385</span> * or null.<a name="line.1385"></a>
+<span class="sourceLineNo">1386</span> */<a name="line.1386"></a>
+<span class="sourceLineNo">1387</span> @Override<a name="line.1387"></a>
+<span class="sourceLineNo">1388</span> public boolean getCacheOnWrite() {<a name="line.1388"></a>
+<span class="sourceLineNo">1389</span> return cacheConf != null && cacheConf.shouldCacheIndexesOnWrite();<a name="line.1389"></a>
+<span class="sourceLineNo">1390</span> }<a name="line.1390"></a>
+<span class="sourceLineNo">1391</span><a name="line.1391"></a>
+<span class="sourceLineNo">1392</span> /**<a name="line.1392"></a>
+<span class="sourceLineNo">1393</span> * The total uncompressed size of the root index block, intermediate-level<a name="line.1393"></a>
+<span class="sourceLineNo">1394</span> * index blocks, and leaf-level index blocks.<a name="line.1394"></a>
+<span class="sourceLineNo">1395</span> *<a name="line.1395"></a>
+<span class="sourceLineNo">1396</span> * @return the total uncompressed size of all index blocks<a name="line.1396"></a>
+<span class="sourceLineNo">1397</span> */<a name="line.1397"></a>
+<span class="sourceLineNo">1398</span> public long getTotalUncompressedSize() {<a name="line.1398"></a>
+<span class="sourceLineNo">1399</span> return totalBlockUncompressedSize;<a name="line.1399"></a>
+<span class="sourceLineNo">1400</span> }<a name="line.1400"></a>
+<span class="sourceLineNo">1401</span><a name="line.1401"></a>
+<span class="sourceLineNo">1402</span> }<a name="line.1402"></a>
+<span class="sourceLineNo">1403</span><a name="line.1403"></a>
+<span class="sourceLineNo">1404</span> /**<a name="line.1404"></a>
+<span class="sourceLineNo">1405</span> * A single chunk of the block index in the process of writing. The data in<a name="line.1405"></a>
+<span class="sourceLineNo">1406</span> * this chunk can become a leaf-level, intermediate-level, or root index<a name="line.1406"></a>
+<span class="sourceLineNo">1407</span> * block.<a name="line.1407"></a>
+<span class="sourceLineNo">1408</span> */<a name="line.1408"></a>
+<span class="sourceLineNo">1409</span> static class BlockIndexChunk {<a name="line.1409"></a>
+<span class="sourceLineNo">1410</span><a name="line.1410"></a>
+<span class="sourceLineNo">1411</span> /** First keys of the key range corresponding to each index entry. */<a name="line.1411"></a>
+<span class="sourceLineNo">1412</span> private final List<byte[]> blockKeys = new ArrayList<>();<a name="line.1412"></a>
+<span class="sourceLineNo">1413</span><a name="line.1413"></a>
+<span class="sourceLineNo">1414</span> /** Block offset in backing stream. */<a name="line.1414"></a>
+<span class="sourceLineNo">1415</span> private final List<Long> blockOffsets = new ArrayList<>();<a name="line.1415"></a>
+<span class="sourceLineNo">1416</span><a name="line.1416"></a>
+<span class="sourceLineNo">1417</span> /** On-disk data sizes of lower-level data or index blocks. */<a name="line.1417"></a>
+<span class="sourceLineNo">1418</span> private final List<Integer> onDiskDataSizes = new ArrayList<>();<a name="line.1418"></a>
+<span class="sourceLineNo">1419</span><a name="line.1419"></a>
+<span class="sourceLineNo">1420</span> /**<a name="line.1420"></a>
+<span class="sourceLineNo">1421</span> * The cumulative number of sub-entries, i.e. entries on deeper-level block<a name="line.1421"></a>
+<span class="sourceLineNo">1422</span> * index entries. numSubEntriesAt[i] is the number of sub-entries in the<a name="line.1422"></a>
+<span class="sourceLineNo">1423</span> * blocks corresponding to this chunk's entries #0 through #i inclusively.<a name="line.1423"></a>
+<span class="sourceLineNo">1424</span> */<a name="line.1424"></a>
+<span class="sourceLineNo">1425</span> private final List<Long> numSubEntriesAt = new ArrayList<>();<a name="line.1425"></a>
+<span class="sourceLineNo">1426</span><a name="line.1426"></a>
+<span class="sourceLineNo">1427</span> /**<a name="line.1427"></a>
+<span class="sourceLineNo">1428</span> * The offset of the next entry to be added, relative to the end of the<a name="line.1428"></a>
+<span class="sourceLineNo">1429</span> * "secondary index" in the "non-root" format representation of this index<a name="line.1429"></a>
+<span class="sourceLineNo">1430</span> * chunk. This is the next value to be added to the secondary index.<a name="line.1430"></a>
<span class="sourceLineNo">1431</span> */<a name="line.1431"></a>
-<span class="sourceLineNo">1432</span> private int curTotalRootSize = 0;<a name="line.1432"></a>
+<span class="sourceLineNo">1432</span> private int curTotalNonRootEntrySize = 0;<a name="line.1432"></a>
<span class="sourceLineNo">1433</span><a name="line.1433"></a>
<span class="sourceLineNo">1434</span> /**<a name="line.1434"></a>
-<span class="sourceLineNo">1435</span> * The "secondary index" used for binary search over variable-length<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span> * records in a "non-root" format block. These offsets are relative to the<a name="line.1436"></a>
-<span class="sourceLineNo">1437</span> * end of this secondary index.<a name="line.1437"></a>
-<span class="sourceLineNo">1438</span> */<a name="line.1438"></a>
-<span class="sourceLineNo">1439</span> private final List<Integer> secondaryIndexOffsetMarks = new ArrayList<>();<a name="line.1439"></a>
-<span class="sourceLineNo">1440</span><a name="line.1440"></a>
-<span class="sourceLineNo">1441</span> /**<a name="line.1441"></a>
-<span class="sourceLineNo">1442</span> * Adds a new entry to this block index chunk.<a name="line.1442"></a>
-<span class="sourceLineNo">1443</span> *<a name="line.1443"></a>
-<span class="sourceLineNo">1444</span> * @param firstKey the first key in the block pointed to by this entry<a name="line.1444"></a>
-<span class="sourceLineNo">1445</span> * @param blockOffset the offset of the next-level block pointed to by this<a name="line.1445"></a>
-<span class="sourceLineNo">1446</span> * entry<a name="line.1446"></a>
-<span class="sourceLineNo">1447</span> * @param onDiskDataSize the on-disk data of the block pointed to by this<a name="line.1447"></a>
-<span class="sourceLineNo">1448</span> * entry, including header size<a name="line.1448"></a>
-<span class="sourceLineNo">1449</span> * @param curTotalNumSubEntries if this chunk is the root index chunk under<a name="line.1449"></a>
-<span class="sourceLineNo">1450</span> * construction, this specifies the current total number of<a name="line.1450"></a>
-<span class="sourceLineNo">1451</span> * sub-entries in all leaf-level chunks, including the one<a name="line.1451"></a>
-<span class="sourceLineNo">1452</span> * corresponding to the second-level entry being added.<a name="line.1452"></a>
-<span class="sourceLineNo">1453</span> */<a name="line.1453"></a>
-<span class="sourceLineNo">1454</span> void add(byte[] firstKey, long blockOffset, int onDiskDataSize,<a name="line.1454"></a>
-<span class="sourceLineNo">1455</span> long curTotalNumSubEntries) {<a name="line.1455"></a>
-<span class="sourceLineNo">1456</span> // Record the offset for the secondary index<a name="line.1456"></a>
-<span class="sourceLineNo">1457</span> secondaryIndexOffsetMarks.add(curTotalNonRootEntrySize);<a name="line.1457"></a>
-<span class="sourceLineNo">1458</span> curTotalNonRootEntrySize += SECONDARY_INDEX_ENTRY_OVERHEAD<a name="line.1458"></a>
-<span class="sourceLineNo">1459</span> + firstKey.length;<a name="line.1459"></a>
-<span class="sourceLineNo">1460</span><a name="line.1460"></a>
-<span class="sourceLineNo">1461</span> curTotalRootSize += Bytes.SIZEOF_LONG + Bytes.SIZEOF_INT<a name="line.1461"></a>
-<span class="sourceLineNo">1462</span> + WritableUtils.getVIntSize(firstKey.length) + firstKey.length;<a name="line.1462"></a>
-<span class="sourceLineNo">1463</span><a name="line.1463"></a>
-<span class="sourceLineNo">1464</span> blockKeys.add(firstKey);<a name="line.1464"></a>
-<span class="sourceLineNo">1465</span> blockOffsets.add(blockOffset);<a name="line.1465"></a>
-<span class="sourceLineNo">1466</span> onDiskDataSizes.add(onDiskDataSize);<a name="line.1466"></a>
-<span class="sourceLineNo">1467</span><a name="line.1467"></a>
-<span class="sourceLineNo">1468</span> if (curTotalNumSubEntries != -1) {<a name="line.1468"></a>
-<span class="sourceLineNo">1469</span> numSubEntriesAt.add(curTotalNumSubEntries);<a name="line.1469"></a>
-<span class="sourceLineNo">1470</span><a name="line.1470"></a>
-<span class="sourceLineNo">1471</span> // Make sure the parallel arrays are in sync.<a name="line.1471"></a>
-<span class="sourceLineNo">1472</span> if (numSubEntriesAt.size() != blockKeys.size()) {<a name="line.1472"></a>
-<span class="sourceLineNo">1473</span> throw new IllegalStateException("Only have key/value count " +<a name="line.1473"></a>
-<span class="sourceLineNo">1474</span> "stats for " + numSubEntriesAt.size() + " block index " +<a name="line.1474"></a>
-<span class="sourceLineNo">1475</span> "entries out of " + blockKeys.size());<a name="line.1475"></a>
-<span class="sourceLineNo">1476</span> }<a name="line.1476"></a>
-<span class="sourceLineNo">1477</span> }<a name="line.1477"></a>
-<span class="sourceLineNo">1478</span> }<a name="line.1478"></a>
-<span class="sourceLineNo">1479</span><a name="line.1479"></a>
-<span class="sourceLineNo">1480</span> /**<a name="line.1480"></a>
-<span class="sourceLineNo">1481</span> * The same as {@link #add(byte[], long, int, long)} but does not take the<a name="line.1481"></a>
-<span class="sourceLineNo">1482</span> * key/value into account. Used for single-level indexes.<a name="line.1482"></a>
-<span class="sourceLineNo">1483</span> *<a name="line.1483"></a>
-<span class="sourceLineNo">1484</span> * @see #add(byte[], long, int, long)<a name="line.1484"></a>
-<span class="sourceLineNo">1485</span> */<a name="line.1485"></a>
-<span class="sourceLineNo">1486</span> public void add(byte[] firstKey, long blockOffset, int onDiskDataSize) {<a name="line.1486"></a>
-<span class="sourceLineNo">1487</span> add(firstKey, blockOffset, onDiskDataSize, -1);<a name="line.1487"></a>
-<span class="sourceLineNo">1488</span> }<a name="line.1488"></a>
-<span class="sourceLineNo">1489</span><a name="line.1489"></a>
-<span class="sourceLineNo">1490</span> public void clear() {<a name="line.1490"></a>
-<span class="sourceLineNo">1491</span> blockKeys.clear();<a name="line.1491"></a>
-<span class="sourceLineNo">1492</span> blockOffsets.clear();<a name="line.1492"></a>
-<span class="sourceLineNo">1493</span> onDiskDataSizes.clear();<a name="line.1493"></a>
-<span class="sourceLineNo">1494</span> secondaryIndexOffsetMarks.clear();<a name="line.1494"></a>
-<span class="sourceLineNo">1495</span> numSubEntriesAt.clear();<a name="line.1495"></a>
-<span class="sourceLineNo">1496</span> curTotalNonRootEntrySize = 0;<a name="line.1496"></a>
-<span class="sourceLineNo">1497</span> curTotalRootSize = 0;<a name="line.1497"></a>
-<span class="sourceLineNo">1498</span> }<a name="line.1498"></a>
-<span class="sourceLineNo">1499</span><a name="line.1499"></a>
-<span class="sourceLineNo">1500</span> /**<a name="line.1500"></a>
-<span class="sourceLineNo">1501</span> * Finds the entry corresponding to the deeper-level index block containing<a name="line.1501"></a>
-<span class="sourceLineNo">1502</span> * the given deeper-level entry (a "sub-entry"), assuming a global 0-based<a name="line.1502"></a>
-<span class="sourceLineNo">1503</span> * ordering of sub-entries.<a name="line.1503"></a>
-<span class="sourceLineNo">1504</span> *<a name="line.1504"></a>
-<span class="sourceLineNo">1505</span> * <p><a name="line.1505"></a>
-<span class="sourceLineNo">1506</span> * <i> Implementation note. </i> We are looking for i such that<a name="line.1506"></a>
-<span class="sourceLineNo">1507</span> * numSubEntriesAt[i - 1] <= k < numSubEntriesAt[i], because a deeper-level<a name="line.1507"></a>
-<span class="sourceLineNo">1508</span> * block #i (0-based) contains sub-entries # numSubEntriesAt[i - 1]'th<a name="line.1508"></a>
-<span class="sourceLineNo">1509</span> * through numSubEntriesAt[i] - 1, assuming a global 0-based ordering of<a name="line.1509"></a>
-<span class="sourceLineNo">1510</span> * sub-entries. i is by definition the insertion point of k in<a name="line.1510"></a>
-<span class="sourceLineNo">1511</span> * numSubEntriesAt.<a name="line.1511"></a>
-<span class="sourceLineNo">1512</span> *<a name="line.1512"></a>
-<span class="sourceLineNo">1513</span> * @param k sub-entry index, from 0 to the total number sub-entries - 1<a name="line.1513"></a>
-<span class="sourceLineNo">1514</span> * @return the 0-based index of the entry corresponding to the given<a name="line.1514"></a>
-<span class="sourceLineNo">1515</span> * sub-entry<a name="line.1515"></a>
-<span class="sourceLineNo">1516</span> */<a name="line.1516"></a>
-<span class="sourceLineNo">1517</span> public int getEntryBySubEntry(long k) {<a name="line.1517"></a>
-<span class="sourceLineNo">1518</span> // We define mid-key as the key corresponding to k'th sub-entry<a name="line.1518"></a>
-<span class="sourceLineNo">1519</span> // (0-based).<a name="line.1519"></a>
-<span class="sourceLineNo">1520</span><a name="line.1520"></a>
-<span class="sourceLineNo">1521</span> int i = Collections.binarySearch(numSubEntriesAt, k);<a name="line.1521"></a>
-<span class="sourceLineNo">1522</span><a name="line.1522"></a>
-<span class="sourceLineNo">1523</span> // Exact match: cumulativeWeight[i] = k. This means chunks #0 through<a name="line.1523"></a>
-<span class="sourceLineNo">1524</span> // #i contain exactly k sub-entries, and the sub-entry #k (0-based)<a name="line.1524"></a>
-<span class="sourceLineNo">1525</span> // is in the (i + 1)'th chunk.<a name="line.1525"></a>
-<span class="sourceLineNo">1526</span> if (i >= 0)<a name="line.1526"></a>
-<span class="sourceLineNo">1527</span> return i + 1;<a name="line.1527"></a>
-<span class="sourceLineNo">1528</span><a name="line.1528"></a>
-<span class="sourceLineNo">1529</span> // Inexact match. Return the insertion point.<a name="line.1529"></a>
-<span class="sourceLineNo">1530</span> return -i - 1;<a name="line.1530"></a>
-<span class="sourceLineNo">1531</span> }<a name="line.1531"></a>
-<span class="sourceLineNo">1532</span><a name="line.1532"></a>
-<span class="sourceLineNo">1533</span> /**<a name="line.1533"></a>
-<span class="sourceLineNo">1534</span> * Used when writing the root block index of a multi-level block index.<a name="line.1534"></a>
-<span class="sourceLineNo">1535</span> * Serializes additional information allowing to efficiently identify the<a name="line.1535"></a>
-<span class="sourceLineNo">1536</span> * mid-key.<a name="line.1536"></a>
-<span class="sourceLineNo">1537</span> *<a name="line.1537"></a>
-<span class="sourceLineNo">1538</span> * @return a few serialized fields for finding the mid-key<a name="line.1538"></a>
-<span class="sourceLineNo">1539</span> * @throws IOException if could not create metadata for computing mid-key<a name="line.1539"></a>
-<span class="sourceLineNo">1540</span> */<a name="line.1540"></a>
-<span class="sourceLineNo">1541</span> public byte[] getMidKeyMetadata() throws IOException {<a name="line.1541"></a>
-<span class="sourceLineNo">1542</span> ByteArrayOutputStream baos = new ByteArrayOutputStream(<a name="line.1542"></a>
-<span class="sourceLineNo">1543</span> MID_KEY_METADATA_SIZE);<a name="line.1543"></a>
-<span class="sourceLineNo">1544</span> DataOutputStream baosDos = new DataOutputStream(baos);<a name="line.1544"></a>
-<span class="sourceLineNo">1545</span> long totalNumSubEntries = numSubEntriesAt.get(blockKeys.size() - 1);<a name="line.1545"></a>
-<span class="sourceLineNo">1546</span> if (totalNumSubEntries == 0) {<a name="line.1546"></a>
-<span class="sourceLineNo">1547</span> throw new IOException("No leaf-level entries, mid-key unavailable");<a name="line.1547"></a>
-<span class="sourceLineNo">1548</span> }<a name="line.1548"></a>
-<span class="sourceLineNo">1549</span> long midKeySubEntry = (totalNumSubEntries - 1) / 2;<a name="line.1549"></a>
-<span class="sourceLineNo">1550</span> int midKeyEntry = getEntryBySubEntry(midKeySubEntry);<a name="line.1550"></a>
-<span class="sourceLineNo">1551</span><a name="line.1551"></a>
-<span class="sourceLineNo">1552</span> baosDos.writeLong(blockOffsets.get(midKeyEntry));<a name="line.1552"></a>
-<span class="sourceLineNo">1553</span> baosDos.writeInt(onDiskDataSizes.get(midKeyEntry));<a name="line.1553"></a>
-<span class="sourceLineNo">1554</span><a name="line.1554"></a>
-<span class="sourceLineNo">1555</span> long numSubEntriesBefore = midKeyEntry > 0<a name="line.1555"></a>
-<span class="sourceLineNo">1556</span> ? numSubEntriesAt.get(midKeyEntry - 1) : 0;<a name="line.1556"></a>
-<span class="sourceLineNo">1557</span> long subEntryWithinEntry = midKeySubEntry - numSubEntriesBefore;<a name="line.1557"></a>
-<span class="sourceLineNo">1558</span> if (subEntryWithinEntry < 0 || subEntryWithinEntry > Integer.MAX_VALUE)<a name="line.1558"></a>
-<span class="sourceLineNo">1559</span> {<a name="line.1559"></a>
-<span class="sourceLineNo">1560</span> throw new IOException("Could not identify mid-key index within the "<a name="line.1560"></a>
-<span class="sourceLineNo">1561</span> + "leaf-level block containing mid-key: out of range ("<a name="line.1561"></a>
-<span class="sourceLineNo">1562</span> + subEntryWithinEntry + ", numSubEntriesBefore="<a name="line.1562"></a>
-<span class="sourceLineNo">1563</span> + numSubEntriesBefore + ", midKeySubEntry=" + midKeySubEntry<a name="line.1563"></a>
-<span class="sourceLineNo">1564</span> + ")");<a name="line.1564"></a>
-<span class="sourceLineNo">1565</span> }<a name="line.1565"></a>
-<span class="sourceLineNo">1566</span><a name="line.1566"></a>
-<span class="sourceLineNo">1567</span> baosDos.writeInt((int) subEntryWithinEntry);<a name="line.1567"></a>
-<span class="sourceLineNo">1568</span><a name="line.1568"></a>
-<span class="sourceLineNo">1569</span> if (baosDos.size() != MID_KEY_METADATA_SIZE) {<a name="line.1569"></a>
-<span class="sourceLineNo">1570</span> throw new IOException("Could not write mid-key metadata: size=" +<a name="line.1570"></a>
-<span class="sourceLineNo">1571</span> baosDos.size() + ", correct size: " + MID_KEY_METADATA_SIZE);<a name="line.1571"></a>
-<span class="sourceLineNo">1572</span> }<a name="line.1572"></a>
+<span class="sourceLineNo">1435</span> * The accumulated size of this chunk if stored in the root index format.<a name="line.1435"></a>
+<span class="sourceLineNo">1436</span> */<a name="line.1436"></a>
+<span class="sourceLineNo">1437</span> private int curTotalRootSize = 0;<a name="line.1437"></a>
+<span class="sourceLineNo">1438</span><a name="line.1438"></a>
+<span class="sourceLineNo">1439</span> /**<a name="line.1439"></a>
+<span class="sourceLineNo">1440</span> * The "secondary index" used for binary search over variable-length<a name="line.1440"></a>
+<span class="sourceLineNo">1441</span> * records in a "non-root" format block. These offsets are relative to the<a name="line.1441"></a>
+<span class="sourceLineNo">1442</span> * end of this secondary index.<a name="line.1442"></a>
+<span class="sourceLineNo">1443</span> */<a name="line.1443"></a>
+<span class="sourceLineNo">1444</span> private final List<Integer> secondaryIndexOffsetMarks = new ArrayList<>();<a name="line.1444"></a>
+<span class="sourceLineNo">1445</span><a name="line.1445"></a>
+<span class="sourceLineNo">1446</span> /**<a name="line.1446"></a>
+<span class="sourceLineNo">1447</span> * Adds a new entry to this block index chunk.<a name="line.1447"></a>
+<span class="sourceLineNo">1448</span> *<a name="line.1448"></a>
+<span class="sourceLineNo">1449</span> * @param firstKey the first key in the block pointed to by this entry<a name="line.1449"></a>
+<span class="sourceLineNo">1450</span> * @param blockOffset the offset of the next-level block pointed to by this<a name="line.1450"></a>
+<span class="sourceLineNo">1451</span> * entry<a name="line.1451"></a>
+<span class="sourceLineNo">1452</span> * @param onDiskDataSize the on-disk data of the block pointed to by this<a name="line.1452"></a>
+<span class="sourceLineNo">1453</span> * entry, including header size<a name="line.1453"></a>
+<span class="sourceLineNo">1454</span> * @param curTotalNumSubEntries if this chunk is the root index chunk under<a name="line.1454"></a>
+<span class="sourceLineNo">1455</span> * construction, this specifies the current total number of<a name="line.1455"></a>
+<span class="sourceLineNo">1456</span> * sub-entries in all leaf-level chunks, including the one<a name="line.1456"></a>
+<span class="sourceLineNo">1457</span> * corresponding to the second-level entry being added.<a name="line.1457"></a>
+<span class="sourceLineNo">1458</span> */<a name="line.1458"></a>
+<span class="sourceLineNo">1459</span> void add(byte[] firstKey, long blockOffset, int onDiskDataSize,<a name="line.1459"></a>
+<span class="sourceLineNo">1460</span> long curTotalNumSubEntries) {<a name="line.1460"></a>
+<span class="sourceLineNo">1461</span> // Record the offset for the secondary index<a name="line.1461"></a>
+<span class="sourceLineNo">1462</span> secondaryIndexOffsetMarks.add(curTotalNonRootEntrySize);<a name="line.1462"></a>
+<span class="sourceLineNo">1463</span> curTotalNonRootEntrySize += SECONDARY_INDEX_ENTRY_OVERHEAD<a name="line.1463"></a>
+<span class="sourceLineNo">1464</span> + firstKey.length;<a name="line.1464"></a>
+<span class="sourceLineNo">1465</span><a name="line.1465"></a>
+<span class="sourceLineNo">1466</span> curTotalRootSize += Bytes.SIZEOF_LONG + Bytes.SIZEOF_INT<a name="line.1466"></a>
+<span class="sourceLineNo">1467</span> + WritableUtils.getVIntSize(firstKey.length) + firstKey.length;<a name="line.1467"></a>
+<span class="sourceLineNo">1468</span><a name="line.1468"></a>
+<span class="sourceLineNo">1469</span> blockKeys.add(firstKey);<a name="line.1469"></a>
+<span class="sourceLineNo">1470</span> blockOffsets.add(blockOffset);<a name="line.1470"></a>
+<span class="sourceLineNo">1471</span> onDiskDataSizes.add(onDiskDataSize);<a name="line.1471"></a>
+<span class="sourceLineNo">1472</span><a name="line.1472"></a>
+<span class="sourceLineNo">1473</span> if (curTotalNumSubEntries != -1) {<a name="line.1473"></a>
+<span class="sourceLineNo">1474</span> numSubEntriesAt.add(curTotalNumSubEntries);<a name="line.1474"></a>
+<span class="sourceLineNo">1475</span><a name="line.1475"></a>
+<span class="sourceLineNo">1476</span> // Make sure the parallel arrays are in sync.<a name="line.1476"></a>
+<span class="sourceLineNo">1477</span> if (numSubEntriesAt.size() != blockKeys.size()) {<a name="line.1477"></a>
+<span class="sourceLineNo">1478</span> throw new IllegalStateException("Only have key/value count " +<a name="line.1478"></a>
+<span class="sourceLineNo">1479</span> "stats for " + numSubEntriesAt.size() + " block index " +<a name="line.1479"></a>
+<span class="sourceLineNo">1480</span> "entries out of " + blockKeys.size());<a name="line.1480"></a>
+<span class="sourceLineNo">1481</span> }<a name="line.1481"></a>
+<span class="sourceLineNo">1482</span> }<a name="line.1482"></a>
+<span class="sourceLineNo">1483</span> }<a name="line.1483"></a>
+<span class="sourceLineNo">1484</span><a name="line.1484"></a>
+<span class="sourceLineNo">1485</span> /**<a name="line.1485"></a>
+<span class="sourceLineNo">1486</span> * The same as {@link #add(byte[], long, int, long)} but does not take the<a name="line.1486"></a>
+<span class="sourceLineNo">1487</span> * key/value into account. Used for single-level indexes.<a name="line.1487"></a>
+<span class="sourceLineNo">1488</span> *<a name="line.1488"></a>
+<span class="sourceLineNo">1489</span> * @see #add(byte[], long, int, long)<a name="line.1489"></a>
+<span class="sourceLineNo">1490</span> */<a name="line.1490"></a>
+<span class="sourceLineNo">1491</span> public void add(byte[] firstKey, long blockOffset, int onDiskDataSize) {<a name="line.1491"></a>
+<span class="sourceLineNo">1492</span> add(firstKey, blockOffset, onDiskDataSize, -1);<a name="line.1492"></a>
+<span class="sourceLineNo">1493</span> }<a name="line.1493"></a>
+<span class="sourceLineNo">1494</span><a name="line.1494"></a>
+<span class="sourceLineNo">1495</span> public void clear() {<a name="line.1495"></a>
+<span class="sourceLineNo">1496</span> blockKeys.clear();<a name="line.1496"></a>
+<span class="sourceLineNo">1497</span> blockOffsets.clear();<a name="line.1497"></a>
+<span class="sourceLineNo">1498</span> onDiskDataSizes.clear();<a name="line.1498"></a>
+<span class="sourceLineNo">1499</span> secondaryIndexOffsetMarks.clear();<a name="line.1499"></a>
+<span class="sourceLineNo">1500</span> numSubEntriesAt.clear();<a name="line.1500"></a>
+<span class="sourceLineNo">1501</span> curTotalNonRootEntrySize = 0;<a name="line.1501"></a>
+<span class="sourceLineNo">1502</span> curTotalRootSize = 0;<a name="line.1502"></a>
+<span class="sourceLineNo">1503</span> }<a name="line.1503"></a>
+<span class="sourceLineNo">1504</span><a name="line.1504"></a>
+<span class="sourceLineNo">1505</span> /**<a name="line.1505"></a>
+<span class="sourceLineNo">1506</span> * Finds the entry corresponding to the deeper-level index block containing<a name="line.1506"></a>
+<span class="sourceLineNo">1507</span> * the given deeper-level entry (a "sub-entry"), assuming a global 0-based<a name="line.1507"></a>
+<span class="sourceLineNo">1508</span> * ordering of sub-entries.<a name="line.1508"></a>
+<span class="sourceLineNo">1509</span> *<a name="line.1509"></a>
+<span class="sourceLineNo">1510</span> * <p><a name="line.1510"></a>
+<span class="sourceLineNo">1511</span> * <i> Implementation note. </i> We are looking for i such that<a name="line.1511"></a>
+<span class="sourceLineNo">1512</span> * numSubEntriesAt[i - 1] <= k < numSubEntriesAt[i], because a deeper-level<a name="line.1512"></a>
+<span class="sourceLineNo">1513</span> * block #i (0-based) contains sub-entries # numSubEntriesAt[i - 1]'th<a name="line.1513"></a>
+<span class="sourceLineNo">1514</span> * through numSubEntriesAt[i] - 1, assuming a global 0-based ordering of<a name="line.1514"></a>
+<span class="sourceLineNo">1515</span> * sub-entries. i is by definition the insertion point of k in<a name="line.1515"></a>
+<span class="sourceLineNo">1516</span> * numSubEntriesAt.<a name="line.1516"></a>
+<span class="sourceLineNo">1517</span> *<a name="line.1517"></a>
+<span class="sourceLineNo">1518</span> * @param k sub-entry index, from 0 to the total number sub-entries - 1<a name="line.1518"></a>
+<span class="sourceLineNo">1519</span> * @return the 0-based index of the entry corresponding to the given<a name="line.1
<TRUNCATED>
[48/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index 2a04e97..5e273aa 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -5871,6 +5871,8 @@
</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/BBKVComparator.html#BBKVComparator-java.util.Comparator-">BBKVComparator(Comparator)</a></span> - Constructor for class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/BBKVComparator.html" title="class in org.apache.hadoop.hbase">BBKVComparator</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#bc">bc</a></span> - Variable in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheTmplImpl</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmplImpl.html#bcn">bcn</a></span> - Variable in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmplImpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheViewTmplImpl</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#bcn">bcn</a></span> - Variable in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a></dt>
@@ -6293,16 +6295,20 @@
<div class="block">Block cache interface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#blockCache">blockCache</a></span> - Variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
-<dd>
-<div class="block">Local reference to the block cache, null if completely disabled</div>
-</dd>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#blockCache">blockCache</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html" title="class in org.apache.hadoop.hbase.regionserver">HeapMemoryManager</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#blockCache">blockCache</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegionServer.html#blockCache">blockCache</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#blockCache">blockCache</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapperImpl</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/model/ColumnSchemaModel.html#BLOCKCACHE">BLOCKCACHE</a></span> - Static variable in class org.apache.hadoop.hbase.rest.model.<a href="org/apache/hadoop/hbase/rest/model/ColumnSchemaModel.html" title="class in org.apache.hadoop.hbase.rest.model">ColumnSchemaModel</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#BLOCKCACHE_BLOCKSIZE_KEY">BLOCKCACHE_BLOCKSIZE_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmplImpl.html#blockCache">blockCache</a></span> - Variable in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmplImpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheViewTmplImpl</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#BLOCKCACHE_BLOCKSIZE_KEY">BLOCKCACHE_BLOCKSIZE_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory</a></dt>
<dd>
<div class="block">The target block size used by blockcache instances.</div>
</dd>
@@ -6312,9 +6318,13 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsHeapMemoryManagerSource.html#BLOCKCACHE_SIZE_GAUGE_NAME">BLOCKCACHE_SIZE_GAUGE_NAME</a></span> - Static variable in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsHeapMemoryManagerSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsHeapMemoryManagerSource</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#blockCacheDisabled">blockCacheDisabled</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
+<dt><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockCacheFactory</span></a> - Class in <a href="org/apache/hadoop/hbase/io/hfile/package-summary.html">org.apache.hadoop.hbase.io.hfile</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#BlockCacheFactory--">BlockCacheFactory()</a></span> - Constructor for class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory</a></dt>
+<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockCacheFactory.ExternalBlockCaches</span></a> - Enum in <a href="org/apache/hadoop/hbase/io/hfile/package-summary.html">org.apache.hadoop.hbase.io.hfile</a></dt>
<dd>
-<div class="block">Boolean whether we have disabled the block cache entirely.</div>
+<div class="block">Enum of all built in external block caches.</div>
</dd>
<dt><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockCacheKey</span></a> - Class in <a href="org/apache/hadoop/hbase/io/hfile/package-summary.html">org.apache.hadoop.hbase.io.hfile</a></dt>
<dd>
@@ -6842,7 +6852,7 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.Bucket.html#Bucket-long-">Bucket(long)</a></span> - Constructor for class org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.Bucket.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketAllocator.Bucket</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#BUCKET_CACHE_BUCKETS_KEY">BUCKET_CACHE_BUCKETS_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#BUCKET_CACHE_BUCKETS_KEY">BUCKET_CACHE_BUCKETS_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory</a></dt>
<dd>
<div class="block">A comma-delimited array of values for use as bucket sizes.</div>
</dd>
@@ -6851,7 +6861,7 @@
<div class="block">Current ioengine options in include: heap, offheap and file:PATH (where PATH is the path
to the file that will host the file-based cache.</div>
</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#BUCKET_CACHE_PERSISTENT_PATH_KEY">BUCKET_CACHE_PERSISTENT_PATH_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#BUCKET_CACHE_PERSISTENT_PATH_KEY">BUCKET_CACHE_PERSISTENT_PATH_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory</a></dt>
<dd>
<div class="block">If the chosen ioengine can persist its state across restarts, the path to the file to persist
to.</div>
@@ -6862,9 +6872,9 @@
memory size to give to the cache (if < 1.0) OR, it is the capacity in
megabytes of the cache.</div>
</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#BUCKET_CACHE_WRITER_QUEUE_KEY">BUCKET_CACHE_WRITER_QUEUE_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#BUCKET_CACHE_WRITER_QUEUE_KEY">BUCKET_CACHE_WRITER_QUEUE_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#BUCKET_CACHE_WRITER_THREADS_KEY">BUCKET_CACHE_WRITER_THREADS_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#BUCKET_CACHE_WRITER_THREADS_KEY">BUCKET_CACHE_WRITER_THREADS_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket"><span class="typeNameLink">BucketAllocator</span></a> - Class in <a href="org/apache/hadoop/hbase/io/hfile/bucket/package-summary.html">org.apache.hadoop.hbase.io.hfile.bucket</a></dt>
<dd>
@@ -8226,19 +8236,17 @@
<dd>
<div class="block">Stores all of the cache objects and configuration for a single HFile.</div>
</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">CacheConfig(Configuration, ColumnFamilyDescriptor)</a></span> - Constructor for class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
-<dd>
-<div class="block">Create a cache configuration using the specified configuration object and
- family descriptor.</div>
-</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CacheConfig-org.apache.hadoop.conf.Configuration-">CacheConfig(Configuration)</a></span> - Constructor for class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
<dd>
<div class="block">Create a cache configuration using the specified configuration object and
defaults for family level settings.</div>
</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CacheConfig-org.apache.hadoop.hbase.io.hfile.BlockCache-boolean-boolean-boolean-boolean-boolean-boolean-boolean-boolean-boolean-">CacheConfig(BlockCache, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)</a></span> - Constructor for class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.io.hfile.BlockCache-">CacheConfig(Configuration, BlockCache)</a></span> - Constructor for class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-org.apache.hadoop.hbase.io.hfile.BlockCache-">CacheConfig(Configuration, ColumnFamilyDescriptor, BlockCache)</a></span> - Constructor for class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
<dd>
-<div class="block">Create a block cache configuration with the specified cache and configuration parameters.</div>
+<div class="block">Create a cache configuration using the specified configuration object and
+ family descriptor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CacheConfig-org.apache.hadoop.hbase.io.hfile.CacheConfig-">CacheConfig(CacheConfig)</a></span> - Constructor for class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
<dd>
@@ -8246,16 +8254,10 @@
</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CacheConfig--">CacheConfig()</a></span> - Constructor for class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegionServer.html#cacheConfig">cacheConfig</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></dt>
-<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#cacheConfig">cacheConfig</a></span> - Variable in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheTmplImpl</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmplImpl.html#cacheConfig">cacheConfig</a></span> - Variable in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmplImpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheViewTmplImpl</a></dt>
<dd> </dd>
-<dt><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">CacheConfig.ExternalBlockCaches</span></a> - Enum in <a href="org/apache/hadoop/hbase/io/hfile/package-summary.html">org.apache.hadoop.hbase.io.hfile</a></dt>
-<dd>
-<div class="block">Enum of all built in external block caches.</div>
-</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/ExistsResource.html#cacheControl">cacheControl</a></span> - Static variable in class org.apache.hadoop.hbase.rest.<a href="org/apache/hadoop/hbase/rest/ExistsResource.html" title="class in org.apache.hadoop.hbase.rest">ExistsResource</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/RegionsResource.html#cacheControl">cacheControl</a></span> - Static variable in class org.apache.hadoop.hbase.rest.<a href="org/apache/hadoop/hbase/rest/RegionsResource.html" title="class in org.apache.hadoop.hbase.rest">RegionsResource</a></dt>
@@ -11672,7 +11674,7 @@
</dd>
<dt><a href="org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.HeaderSize.html" title="class in org.apache.hadoop.hbase.util"><span class="typeNameLink">ClassSize.UnsafeLayout.HeaderSize</span></a> - Class in <a href="org/apache/hadoop/hbase/util/package-summary.html">org.apache.hadoop.hbase.util</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html#clazz">clazz</a></span> - Variable in enum org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">CacheConfig.ExternalBlockCaches</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html#clazz">clazz</a></span> - Variable in enum org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory.ExternalBlockCaches</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/ClusterStatusPublisher.MulticastPublisher.HBaseDatagramChannelFactory.html#clazz">clazz</a></span> - Variable in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/ClusterStatusPublisher.MulticastPublisher.HBaseDatagramChannelFactory.html" title="class in org.apache.hadoop.hbase.master">ClusterStatusPublisher.MulticastPublisher.HBaseDatagramChannelFactory</a></dt>
<dd> </dd>
@@ -12298,8 +12300,6 @@
</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.html#clearFiles--">clearFiles()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.html" title="class in org.apache.hadoop.hbase.regionserver">StripeStoreFileManager</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#clearGlobalInstances--">clearGlobalInstances()</a></span> - Static method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
-<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/AbstractByteRange.html#clearHashCache--">clearHashCache()</a></span> - Method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/AbstractByteRange.html" title="class in org.apache.hadoop.hbase.util">AbstractByteRange</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/metrics2/impl/JmxCacheBuster.html#clearJmxCache--">clearJmxCache()</a></span> - Static method in class org.apache.hadoop.metrics2.impl.<a href="org/apache/hadoop/metrics2/impl/JmxCacheBuster.html" title="class in org.apache.hadoop.metrics2.impl">JmxCacheBuster</a></dt>
@@ -19167,8 +19167,6 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/handler/UnassignRegionHandler.html#create-org.apache.hadoop.hbase.regionserver.RegionServerServices-java.lang.String-boolean-org.apache.hadoop.hbase.ServerName-">create(RegionServerServices, String, boolean, ServerName)</a></span> - Static method in class org.apache.hadoop.hbase.regionserver.handler.<a href="org/apache/hadoop/hbase/regionserver/handler/UnassignRegionHandler.html" title="class in org.apache.hadoop.hbase.regionserver.handler">UnassignRegionHandler</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#create-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.FlushRequester-org.apache.hadoop.hbase.Server-org.apache.hadoop.hbase.regionserver.RegionServerAccounting-">create(Configuration, FlushRequester, Server, RegionServerAccounting)</a></span> - Static method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html" title="class in org.apache.hadoop.hbase.regionserver">HeapMemoryManager</a></dt>
-<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#create-org.apache.hadoop.hbase.regionserver.HRegionServer-">create(HRegionServer)</a></span> - Static method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer.MovedRegionsCleaner</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MasterFifoRpcSchedulerFactory.html#create-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.ipc.PriorityFunction-org.apache.hadoop.hbase.Abortable-">create(Configuration, PriorityFunction, Abortable)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MasterFifoRpcSchedulerFactory.html" title="class in org.apache.hadoop.hbase.regionserver">MasterFifoRpcSchedulerFactory</a></dt>
@@ -19378,6 +19376,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.html#createBlockAdder--">createBlockAdder()</a></span> - Static method in class org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.html" title="class in org.apache.hadoop.hbase.io.asyncfs">FanOutOneBlockAsyncDFSOutputHelper</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#createBlockCache-org.apache.hadoop.conf.Configuration-">createBlockCache(Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/procedure/ProcedurePrepareLatch.html#createBlockingLatch--">createBlockingLatch()</a></span> - Static method in class org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/ProcedurePrepareLatch.html" title="class in org.apache.hadoop.hbase.master.procedure">ProcedurePrepareLatch</a></dt>
<dd>
<div class="block">Creates a latch which blocks.</div>
@@ -19390,6 +19390,8 @@
</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/Reference.html#createBottomReference-byte:A-">createBottomReference(byte[])</a></span> - Static method in class org.apache.hadoop.hbase.io.<a href="org/apache/hadoop/hbase/io/Reference.html" title="class in org.apache.hadoop.hbase.io">Reference</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#createBucketCache-org.apache.hadoop.conf.Configuration-">createBucketCache(Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/ByteBufferArray.html#createBuffers-org.apache.hadoop.hbase.util.ByteBufferAllocator-">createBuffers(ByteBufferAllocator)</a></span> - Method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/ByteBufferArray.html" title="class in org.apache.hadoop.hbase.util">ByteBufferArray</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/WALEdit.html#createBulkLoadEvent-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.BulkLoadDescriptor-">createBulkLoadEvent(RegionInfo, WALProtos.BulkLoadDescriptor)</a></span> - Static method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a></dt>
@@ -19410,10 +19412,6 @@
<dd>
<div class="block">Create a cache for region to list of servers</div>
</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HMobStore.html#createCacheConf-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">createCacheConf(ColumnFamilyDescriptor)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HMobStore.html" title="class in org.apache.hadoop.hbase.regionserver">HMobStore</a></dt>
-<dd>
-<div class="block">Creates the mob cache config.</div>
-</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HStore.html#createCacheConf-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">createCacheConf(ColumnFamilyDescriptor)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a></dt>
<dd>
<div class="block">Creates the cache config.</div>
@@ -19970,6 +19968,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tool/LoadIncrementalHFiles.html#createExecutorService--">createExecutorService()</a></span> - Method in class org.apache.hadoop.hbase.tool.<a href="org/apache/hadoop/hbase/tool/LoadIncrementalHFiles.html" title="class in org.apache.hadoop.hbase.tool">LoadIncrementalHFiles</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#createExternalBlockcache-org.apache.hadoop.conf.Configuration-">createExternalBlockcache(Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#createFamilyBlockSizeMap-org.apache.hadoop.conf.Configuration-">createFamilyBlockSizeMap(Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html" title="class in org.apache.hadoop.hbase.mapreduce">HFileOutputFormat2</a></dt>
<dd>
<div class="block">Runs inside the task to deserialize column family to block size
@@ -20579,6 +20579,8 @@
<dd>
<div class="block">Create one TransitRegionStateProcedure to unassign a region.</div>
</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#createOnHeapCache-org.apache.hadoop.conf.Configuration-">createOnHeapCache(Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/thrift/ThriftServerRunner.ImplType.html#createOptionGroup--">createOptionGroup()</a></span> - Static method in enum org.apache.hadoop.hbase.thrift.<a href="org/apache/hadoop/hbase/thrift/ThriftServerRunner.ImplType.html" title="enum in org.apache.hadoop.hbase.thrift">ThriftServerRunner.ImplType</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/NamespacesInstanceResource.html#createOrUpdate-org.apache.hadoop.hbase.rest.model.NamespacesInstanceModel-javax.ws.rs.core.UriInfo-org.apache.hadoop.hbase.client.Admin-boolean-">createOrUpdate(NamespacesInstanceModel, UriInfo, Admin, boolean)</a></span> - Method in class org.apache.hadoop.hbase.rest.<a href="org/apache/hadoop/hbase/rest/NamespacesInstanceResource.html" title="class in org.apache.hadoop.hbase.rest">NamespacesInstanceResource</a></dt>
@@ -23098,9 +23100,9 @@
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DEFAULT_BUCKET_CACHE_WRITER_QUEUE">DEFAULT_BUCKET_CACHE_WRITER_QUEUE</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#DEFAULT_BUCKET_CACHE_WRITER_QUEUE">DEFAULT_BUCKET_CACHE_WRITER_QUEUE</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DEFAULT_BUCKET_CACHE_WRITER_THREADS">DEFAULT_BUCKET_CACHE_WRITER_THREADS</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#DEFAULT_BUCKET_CACHE_WRITER_THREADS">DEFAULT_BUCKET_CACHE_WRITER_THREADS</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory</a></dt>
<dd>
<div class="block">Defaults for Bucket cache</div>
</dd>
@@ -30355,15 +30357,15 @@
</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/ByteBufferUtils.html#extendLimit-java.nio.ByteBuffer-int-">extendLimit(ByteBuffer, int)</a></span> - Static method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/ByteBufferUtils.html" title="class in org.apache.hadoop.hbase.util">ByteBufferUtils</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#EXTERNAL_BLOCKCACHE_CLASS_KEY">EXTERNAL_BLOCKCACHE_CLASS_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#EXTERNAL_BLOCKCACHE_CLASS_KEY">EXTERNAL_BLOCKCACHE_CLASS_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#EXTERNAL_BLOCKCACHE_DEFAULT">EXTERNAL_BLOCKCACHE_DEFAULT</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#EXTERNAL_BLOCKCACHE_DEFAULT">EXTERNAL_BLOCKCACHE_DEFAULT</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#EXTERNAL_BLOCKCACHE_KEY">EXTERNAL_BLOCKCACHE_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#EXTERNAL_BLOCKCACHE_KEY">EXTERNAL_BLOCKCACHE_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html#ExternalBlockCaches-java.lang.String-">ExternalBlockCaches(String)</a></span> - Constructor for enum org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">CacheConfig.ExternalBlockCaches</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html#ExternalBlockCaches-java.lang.String-">ExternalBlockCaches(String)</a></span> - Constructor for enum org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory.ExternalBlockCaches</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html#ExternalBlockCaches-java.lang.Class-">ExternalBlockCaches(Class<? extends BlockCache>)</a></span> - Constructor for enum org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">CacheConfig.ExternalBlockCaches</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html#ExternalBlockCaches-java.lang.Class-">ExternalBlockCaches(Class<? extends BlockCache>)</a></span> - Constructor for enum org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory.ExternalBlockCaches</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#EXTRA_FREE_FACTOR_CONFIG_NAME">EXTRA_FREE_FACTOR_CONFIG_NAME</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache</a></dt>
<dd> </dd>
@@ -35799,6 +35801,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/HashTable.ResultHasher.html#getBatchStartKey--">getBatchStartKey()</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/HashTable.ResultHasher.html" title="class in org.apache.hadoop.hbase.mapreduce">HashTable.ResultHasher</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#getBc--">getBc()</a></span> - Method in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheTmpl.ImplData</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#getBcn--">getBcn()</a></span> - Method in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheViewTmpl.ImplData</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#getBcn--">getBcn()</a></span> - Method in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl.ImplData</a></dt>
@@ -35867,6 +35871,16 @@
<dd>
<div class="block">Returns the block cache.</div>
</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#getBlockCache--">getBlockCache()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegionServer.html#getBlockCache--">getBlockCache()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></dt>
+<dd>
+<div class="block">May be null if this is a master which not carry table.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getBlockCache--">getBlockCache()</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#getBlockCache--">getBlockCache()</a></span> - Method in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheViewTmpl.ImplData</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getBlockCacheCount--">getBlockCacheCount()</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a></dt>
<dd>
<div class="block">Get the number of items in the block cache.</div>
@@ -36106,10 +36120,10 @@
<div class="block">Create a new CachedThreadPool with a bounded number as the maximum
thread size in the pool.</div>
</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#getBucketCache-org.apache.hadoop.conf.Configuration-">getBucketCache(Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
-<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/util/MemorySizeUtil.html#getBucketCacheSize-org.apache.hadoop.conf.Configuration-">getBucketCacheSize(Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.io.util.<a href="org/apache/hadoop/hbase/io/util/MemorySizeUtil.html" title="class in org.apache.hadoop.hbase.io.util">MemorySizeUtil</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getBucketCacheStats--">getBucketCacheStats()</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CombinedBlockCache.CombinedCacheStats</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.html#getBucketIndex-long-">getBucketIndex(long)</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketAllocator</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getBucketIndex-java.lang.Object:A-int-">getBucketIndex(Object[], int)</a></span> - Static method in class org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></dt>
@@ -36309,8 +36323,6 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HStoreFile.html#getCacheConf--">getCacheConf()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegionServer.html#getCacheConfig--">getCacheConfig()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></dt>
-<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HStore.html#getCacheConfig--">getCacheConfig()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a></dt>
<dd>
<div class="block">Used for tests.</div>
@@ -39438,8 +39450,6 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/visibility/CellVisibility.html#getExpression--">getExpression()</a></span> - Method in class org.apache.hadoop.hbase.security.visibility.<a href="org/apache/hadoop/hbase/security/visibility/CellVisibility.html" title="class in org.apache.hadoop.hbase.security.visibility">CellVisibility</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#getExternalBlockcache-org.apache.hadoop.conf.Configuration-">getExternalBlockcache(Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
-<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#getExternalClassLoaders--">getExternalClassLoaders()</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="class in org.apache.hadoop.hbase.coprocessor">CoprocessorHost</a></dt>
<dd>
<div class="block">Retrieves the set of classloaders used to instantiate Coprocessor classes defined in external
@@ -41588,8 +41598,6 @@
</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getL2CacheMissRatio--">getL2CacheMissRatio()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapperImpl</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#getL2CacheStats--">getL2CacheStats()</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
-<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/visibility/VisibilityLabelOrdinalProvider.html#getLabel-int-">getLabel(int)</a></span> - Method in interface org.apache.hadoop.hbase.security.visibility.<a href="org/apache/hadoop/hbase/security/visibility/VisibilityLabelOrdinalProvider.html" title="interface in org.apache.hadoop.hbase.security.visibility">VisibilityLabelOrdinalProvider</a></dt>
<dd>
<div class="block">Returns the string associated with the ordinal.</div>
@@ -42398,6 +42406,8 @@
<dd>
<div class="block">Gets lowest timestamp from candidate StoreFiles</div>
</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getLruCacheStats--">getLruCacheStats()</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CombinedBlockCache.CombinedCacheStats</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HStore.html#getMajorCompactedCellsCount--">getMajorCompactedCellsCount()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMajorCompactedCellsCount--">getMajorCompactedCellsCount()</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a></dt>
@@ -43786,10 +43796,14 @@
<dd>
<div class="block">Gets the family dir of the mob files.</div>
</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mob/MobCacheConfig.html#getMobFileCache--">getMobFileCache()</a></span> - Method in class org.apache.hadoop.hbase.mob.<a href="org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob">MobCacheConfig</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#getMobFileCache--">getMobFileCache()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegionServer.html#getMobFileCache--">getMobFileCache()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></dt>
<dd>
-<div class="block">Gets the MobFileCache.</div>
+<div class="block">May be null if this is a master which not carry table.</div>
</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getMobFileCache--">getMobFileCache()</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMobFileCacheAccessCount--">getMobFileCacheAccessCount()</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a></dt>
<dd>
<div class="block">Gets the count of accesses to the mob file cache.</div>
@@ -45192,14 +45206,10 @@
<dd>
<div class="block">Check if any ongoing backup.</div>
</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#getOnHeapCache-org.apache.hadoop.conf.Configuration-">getOnHeapCache(Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
-<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#getOnHeapCacheInternal-org.apache.hadoop.conf.Configuration-">getOnHeapCacheInternal(Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#getOnHeapCache--">getOnHeapCache()</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile">CombinedBlockCache</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/util/MemorySizeUtil.html#getOnHeapCacheSize-org.apache.hadoop.conf.Configuration-">getOnHeapCacheSize(Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.io.util.<a href="org/apache/hadoop/hbase/io/util/MemorySizeUtil.html" title="class in org.apache.hadoop.hbase.io.util">MemorySizeUtil</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#getOnHeapCacheStats--">getOnHeapCacheStats()</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
-<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/util/MemorySizeUtil.html#getOnheapGlobalMemStoreSize-org.apache.hadoop.conf.Configuration-">getOnheapGlobalMemStoreSize(Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.io.util.<a href="org/apache/hadoop/hbase/io/util/MemorySizeUtil.html" title="class in org.apache.hadoop.hbase.io.util">MemorySizeUtil</a></dt>
<dd>
<div class="block">Returns the onheap global memstore limit based on the config
@@ -55126,11 +55136,6 @@
</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/metrics/MetricRegistries.LazyHolder.html#GLOBAL">GLOBAL</a></span> - Static variable in class org.apache.hadoop.hbase.metrics.<a href="org/apache/hadoop/hbase/metrics/MetricRegistries.LazyHolder.html" title="class in org.apache.hadoop.hbase.metrics">MetricRegistries.LazyHolder</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#GLOBAL_BLOCK_CACHE_INSTANCE">GLOBAL_BLOCK_CACHE_INSTANCE</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
-<dd>
-<div class="block">Static reference to the block cache, or null if no caching should be used
- at all.</div>
-</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/AuthManager.html#globalCache">globalCache</a></span> - Variable in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/AuthManager.html" title="class in org.apache.hadoop.hbase.security.access">AuthManager</a></dt>
<dd>
<div class="block">Cache for global permission.</div>
@@ -57778,7 +57783,7 @@
<dd>
<div class="block">Manages tuning of Heap memory using <code>HeapMemoryTuner</code>.</div>
</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#HeapMemoryManager-org.apache.hadoop.hbase.io.hfile.ResizableBlockCache-org.apache.hadoop.hbase.regionserver.FlushRequester-org.apache.hadoop.hbase.Server-org.apache.hadoop.hbase.regionserver.RegionServerAccounting-">HeapMemoryManager(ResizableBlockCache, FlushRequester, Server, RegionServerAccounting)</a></span> - Constructor for class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html" title="class in org.apache.hadoop.hbase.regionserver">HeapMemoryManager</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#HeapMemoryManager-org.apache.hadoop.hbase.io.hfile.BlockCache-org.apache.hadoop.hbase.regionserver.FlushRequester-org.apache.hadoop.hbase.Server-org.apache.hadoop.hbase.regionserver.RegionServerAccounting-">HeapMemoryManager(BlockCache, FlushRequester, Server, RegionServerAccounting)</a></span> - Constructor for class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html" title="class in org.apache.hadoop.hbase.regionserver">HeapMemoryManager</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/regionserver/HeapMemoryManager.HeapMemoryTuneObserver.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">HeapMemoryManager.HeapMemoryTuneObserver</span></a> - Interface in <a href="org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a></dt>
<dd>
@@ -58698,6 +58703,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#holdLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">holdLock(MasterProcedureEnv)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">DisableTableProcedure</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#holdLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">holdLock(MasterProcedureEnv)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">ServerCrashProcedure</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/procedure/TruncateTableProcedure.html#holdLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">holdLock(MasterProcedureEnv)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/TruncateTableProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">TruncateTableProcedure</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#holdLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">holdLock(MasterProcedureEnv)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></dt>
@@ -61416,10 +61423,7 @@
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#initAndStartReplicationEndpoint-org.apache.hadoop.hbase.replication.ReplicationEndpoint-">initAndStartReplicationEndpoint(ReplicationEndpoint)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSource</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#initBlockCache--">initBlockCache()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapperImpl</a></dt>
-<dd>
-<div class="block">It's possible that due to threading the block cache could not be initialized
- yet (testing multiple region servers in one jvm).</div>
-</dd>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/SimpleServerRpcConnection.html#initByteBuffToReadInto-int-">initByteBuffToReadInto(int)</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/SimpleServerRpcConnection.html" title="class in org.apache.hadoop.hbase.ipc">SimpleServerRpcConnection</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ClientAsyncPrefetchScanner.html#initCache--">initCache()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ClientAsyncPrefetchScanner.html" title="class in org.apache.hadoop.hbase.client">ClientAsyncPrefetchScanner</a></dt>
@@ -62285,10 +62289,6 @@
</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/ReflectionUtils.html#instantiate-java.lang.String-java.lang.reflect.Constructor-java.lang.Object:A-">instantiate(String, Constructor<T>, Object[])</a></span> - Static method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/ReflectionUtils.html" title="class in org.apache.hadoop.hbase.util">ReflectionUtils</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#instantiateBlockCache-org.apache.hadoop.conf.Configuration-">instantiateBlockCache(Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
-<dd>
-<div class="block">Returns the block cache or <code>null</code> in case none should be used.</div>
-</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.BucketSizeInfo.html#instantiateBucket-org.apache.hadoop.hbase.io.hfile.bucket.BucketAllocator.Bucket-">instantiateBucket(BucketAllocator.Bucket)</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.BucketSizeInfo.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketAllocator.BucketSizeInfo</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ScannerCallable.html#instantiated">instantiated</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ScannerCallable.html" title="class in org.apache.hadoop.hbase.client">ScannerCallable</a></dt>
@@ -62302,10 +62302,6 @@
</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#instantiateHStore-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">instantiateHStore(ColumnFamilyDescriptor)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mob/MobCacheConfig.html#instantiateMobFileCache-org.apache.hadoop.conf.Configuration-">instantiateMobFileCache(Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.mob.<a href="org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob">MobCacheConfig</a></dt>
-<dd>
-<div class="block">Instantiates the MobFileCache.</div>
-</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#instantiateRegionScanner-org.apache.hadoop.hbase.client.Scan-java.util.List-">instantiateRegionScanner(Scan, List<KeyValueScanner>)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#instantiateRegionScanner-org.apache.hadoop.hbase.client.Scan-java.util.List-long-long-">instantiateRegionScanner(Scan, List<KeyValueScanner>, long, long)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dt>
@@ -62993,10 +62989,6 @@
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#isBlockCacheEnabled--">isBlockCacheEnabled()</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
-<dd>
-<div class="block">Checks whether the block cache is enabled.</div>
-</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/thrift/DemoClient.html#isBoolean-java.lang.String-">isBoolean(String)</a></span> - Static method in class org.apache.hadoop.hbase.thrift.<a href="org/apache/hadoop/hbase/thrift/DemoClient.html" title="class in org.apache.hadoop.hbase.thrift">DemoClient</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/AsyncFSOutput.html#isBroken--">isBroken()</a></span> - Method in interface org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/AsyncFSOutput.html" title="interface in org.apache.hadoop.hbase.io.asyncfs">AsyncFSOutput</a></dt>
@@ -65860,12 +65852,6 @@
</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#isYieldAfterExecutionStep-TEnvironment-">isYieldAfterExecutionStep(TEnvironment)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">StateMachineProcedure</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#isYieldBeforeExecuteFromState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ServerCrashState-">isYieldBeforeExecuteFromState(MasterProcedureEnv, MasterProcedureProtos.ServerCrashState)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">ServerCrashProcedure</a></dt>
-<dd>
-<div class="block">For this procedure, yield at end of each successful flow step so that all crashed servers
- can make progress rather than do the default which has each procedure running to completion
- before we move to the next.</div>
-</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#isYieldBeforeExecuteFromState-TEnvironment-TState-">isYieldBeforeExecuteFromState(TEnvironment, TState)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">StateMachineProcedure</a></dt>
<dd>
<div class="block">By default, the executor will try ro run all the steps of the procedure start to finish.</div>
@@ -66913,8 +66899,6 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#L2_CACHE_HIT_RATIO_DESC">L2_CACHE_HIT_RATIO_DESC</a></span> - Static variable in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerSource</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#L2_CACHE_INSTANCE">L2_CACHE_INSTANCE</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
-<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#L2_CACHE_MISS_COUNT">L2_CACHE_MISS_COUNT</a></span> - Static variable in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerSource</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#L2_CACHE_MISS_COUNT_DESC">L2_CACHE_MISS_COUNT_DESC</a></span> - Static variable in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerSource</a></dt>
@@ -69339,6 +69323,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/HalfStoreFileReader.html#LOG">LOG</a></span> - Static variable in class org.apache.hadoop.hbase.io.<a href="org/apache/hadoop/hbase/io/HalfStoreFileReader.html" title="class in org.apache.hadoop.hbase.io">HalfStoreFileReader</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#LOG">LOG</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheUtil.html#LOG">LOG</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCacheUtil.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheUtil</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.html#LOG">LOG</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketAllocator</a></dt>
@@ -71075,6 +71061,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#m_assignmentManager__IsNotDefault">m_assignmentManager__IsNotDefault</a></span> - Variable in class org.apache.hadoop.hbase.tmpl.master.<a href="org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl.ImplData</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#m_bc">m_bc</a></span> - Variable in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheTmpl.ImplData</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#m_bcn">m_bcn</a></span> - Variable in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheViewTmpl.ImplData</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#m_bcn">m_bcn</a></span> - Variable in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl.ImplData</a></dt>
@@ -71087,6 +71075,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#m_bcv__IsNotDefault">m_bcv__IsNotDefault</a></span> - Variable in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl.ImplData</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#m_blockCache">m_blockCache</a></span> - Variable in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheViewTmpl.ImplData</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#m_cacheConfig">m_cacheConfig</a></span> - Variable in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheTmpl.ImplData</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#m_cacheConfig">m_cacheConfig</a></span> - Variable in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheViewTmpl.ImplData</a></dt>
@@ -71731,9 +71721,9 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/master/RSGroupListTmpl.html#makeRenderer-org.apache.hadoop.hbase.master.HMaster-org.apache.hadoop.hbase.master.ServerManager-">makeRenderer(HMaster, ServerManager)</a></span> - Method in class org.apache.hadoop.hbase.tmpl.master.<a href="org/apache/hadoop/hbase/tmpl/master/RSGroupListTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">RSGroupListTmpl</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#makeRenderer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-">makeRenderer(CacheConfig, Configuration)</a></span> - Method in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheTmpl</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#makeRenderer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.io.hfile.BlockCache-">makeRenderer(CacheConfig, Configuration, BlockCache)</a></span> - Method in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheTmpl</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#makeRenderer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-">makeRenderer(CacheConfig, Configuration, String, String)</a></span> - Method in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheViewTmpl</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#makeRenderer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-org.apache.hadoop.hbase.io.hfile.BlockCache-">makeRenderer(CacheConfig, Configuration, String, String, BlockCache)</a></span> - Method in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheViewTmpl</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmpl.html#makeRenderer-org.apache.hadoop.hbase.regionserver.HRegionServer-java.util.List-">makeRenderer(HRegionServer, List<RegionInfo>)</a></span> - Method in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RegionListTmpl</a></dt>
<dd> </dd>
@@ -75981,18 +75971,6 @@
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</dd>
-<dt><a href="org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob"><span class="typeNameLink">MobCacheConfig</span></a> - Class in <a href="org/apache/hadoop/hbase/mob/package-summary.html">org.apache.hadoop.hbase.mob</a></dt>
-<dd>
-<div class="block">The cache configuration for the mob.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mob/MobCacheConfig.html#MobCacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">MobCacheConfig(Configuration, ColumnFamilyDescriptor)</a></span> - Constructor for class org.apache.hadoop.hbase.mob.<a href="org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob">MobCacheConfig</a></dt>
-<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mob/MobCacheConfig.html#MobCacheConfig-org.apache.hadoop.conf.Configuration-">MobCacheConfig(Configuration)</a></span> - Constructor for class org.apache.hadoop.hbase.mob.<a href="org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob">MobCacheConfig</a></dt>
-<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HMobStore.html#mobCacheConfig">mobCacheConfig</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HMobStore.html" title="class in org.apache.hadoop.hbase.regionserver">HMobStore</a></dt>
-<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegionServer.html#mobCacheConfig">mobCacheConfig</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></dt>
-<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mob/DefaultMobStoreFlusher.html#mobCellValueSizeThreshold">mobCellValueSizeThreshold</a></span> - Variable in class org.apache.hadoop.hbase.mob.<a href="org/apache/hadoop/hbase/mob/DefaultMobStoreFlusher.html" title="class in org.apache.hadoop.hbase.mob">DefaultMobStoreFlusher</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/HMaster.html#mobCompactChore">mobCompactChore</a></span> - Variable in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a></dt>
@@ -76049,14 +76027,18 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mob/MobFile.html#MobFile-org.apache.hadoop.hbase.regionserver.HStoreFile-">MobFile(HStoreFile)</a></span> - Constructor for class org.apache.hadoop.hbase.mob.<a href="org/apache/hadoop/hbase/mob/MobFile.html" title="class in org.apache.hadoop.hbase.mob">MobFile</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mob/MobCacheConfig.html#mobFileCache">mobFileCache</a></span> - Static variable in class org.apache.hadoop.hbase.mob.<a href="org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob">MobCacheConfig</a></dt>
-<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob"><span class="typeNameLink">MobFileCache</span></a> - Class in <a href="org/apache/hadoop/hbase/mob/package-summary.html">org.apache.hadoop.hbase.mob</a></dt>
<dd>
<div class="block">The cache for mob files.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mob/MobFileCache.html#MobFileCache-org.apache.hadoop.conf.Configuration-">MobFileCache(Configuration)</a></span> - Constructor for class org.apache.hadoop.hbase.mob.<a href="org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HMobStore.html#mobFileCache">mobFileCache</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HMobStore.html" title="class in org.apache.hadoop.hbase.regionserver">HMobStore</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#mobFileCache">mobFileCache</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegionServer.html#mobFileCache">mobFileCache</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#mobFileCache">mobFileCache</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapperImpl</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/mob/MobFileCache.EvictionThread.html" title="class in org.apache.hadoop.hbase.mob"><span class="typeNameLink">MobFileCache.EvictionThread</span></a> - Class in <a href="org/apache/hadoop/hbase/mob/package-summary.html">org.apache.hadoop.hbase.mob</a></dt>
@@ -80293,8 +80275,6 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html#onFinished--">onFinished()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.TableProcedureBiConsumer</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html#ONHEAP_CACHE_INSTANCE">ONHEAP_CACHE_INSTANCE</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
-<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#onHeapCache">onHeapCache</a></span> - Variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile">CombinedBlockCache</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/regionserver/OnheapChunk.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">OnheapChunk</span></a> - Class in <a href="org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a></dt>
@@ -80514,7 +80494,7 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/SyncTable.SyncMapper.html#openConnection-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-">openConnection(Configuration, String, String)</a></span> - Static method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/SyncTable.SyncMapper.html" title="class in org.apache.hadoop.hbase.mapreduce">SyncTable.SyncMapper</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mob/MobFileCache.html#openFile-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.mob.MobCacheConfig-">openFile(FileSystem, Path, MobCacheConfig)</a></span> - Method in class org.apache.hadoop.hbase.mob.<a href="org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mob/MobFileCache.html#openFile-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.io.hfile.CacheConfig-">openFile(FileSystem, Path, CacheConfig)</a></span> - Method in class org.apache.hadoop.hbase.mob.<a href="org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a></dt>
<dd>
<div class="block">Opens a mob file.</div>
</dd>
@@ -93690,9 +93670,9 @@ service.</div>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/master/RSGroupListTmpl.html#render-java.io.Writer-org.apache.hadoop.hbase.master.HMaster-org.apache.hadoop.hbase.master.ServerManager-">render(Writer, HMaster, ServerManager)</a></span> - Method in class org.apache.hadoop.hbase.tmpl.master.<a href="org/apache/hadoop/hbase/tmpl/master/RSGroupListTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">RSGroupListTmpl</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#render-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-">render(Writer, CacheConfig, Configuration)</a></span> - Method in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheTmpl</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#render-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.io.hfile.BlockCache-">render(Writer, CacheConfig, Configuration, BlockCache)</a></span> - Method in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheTmpl</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#render-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-">render(Writer, CacheConfig, Configuration, String, String)</a></span> - Method in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheViewTmpl</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#render-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-org.apache.hadoop.hbase.io.hfile.BlockCache-">render(Writer, CacheConfig, Configuration, String, String, BlockCache)</a></span> - Method in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheViewTmpl</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmpl.html#render-java.io.Writer-org.apache.hadoop.hbase.regionserver.HRegionServer-java.util.List-">render(Writer, HRegionServer, List<RegionInfo>)</a></span> - Method in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RegionListTmpl</a></dt>
<dd> </dd>
@@ -93734,13 +93714,13 @@ service.</div>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.Intf.html#renderNoFlush-java.io.Writer-">renderNoFlush(Writer)</a></span> - Method in interface org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.Intf.html" title="interface in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheTmpl.Intf</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#renderNoFlush-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-">renderNoFlush(Writer, CacheConfig, Configuration)</a></span> - Method in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheTmpl</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#renderNoFlush-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.io.hfile.BlockCache-">renderNoFlush(Writer, CacheConfig, Configuration, BlockCache)</a></span> - Method in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheTmpl</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#renderNoFlush-java.io.Writer-">renderNoFlush(Writer)</a></span> - Method in class org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheTmplImpl</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.Intf.html#renderNoFlush-java.io.Writer-">renderNoFlush(Writer)</a></span> - Method in interface org.apache.hadoop.hbase.tmpl.regionserver.<a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.Intf.html" title="interface in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheViewTmpl.Intf</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#renderNoFlush-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-java.lang.Strin
<TRUNCATED>
[35/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/mob/MobCacheConfig.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mob/MobCacheConfig.html b/devapidocs/org/apache/hadoop/hbase/mob/MobCacheConfig.html
deleted file mode 100644
index 7fec611..0000000
--- a/devapidocs/org/apache/hadoop/hbase/mob/MobCacheConfig.html
+++ /dev/null
@@ -1,372 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>MobCacheConfig (Apache HBase 3.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="MobCacheConfig (Apache HBase 3.0.0-SNAPSHOT API)";
- }
- }
- catch(err) {
- }
-//-->
-var methods = {"i0":10,"i1":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/MobCacheConfig.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/mob/ExpiredMobFileCleaner.html" title="class in org.apache.hadoop.hbase.mob"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/mob/MobConstants.html" title="class in org.apache.hadoop.hbase.mob"><span class="typeNameLink">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/hadoop/hbase/mob/MobCacheConfig.html" target="_top">Frames</a></li>
-<li><a href="MobCacheConfig.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li>Nested | </li>
-<li><a href="#field.summary">Field</a> | </li>
-<li><a href="#constructor.summary">Constr</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li><a href="#field.detail">Field</a> | </li>
-<li><a href="#constructor.detail">Constr</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.hadoop.hbase.mob</div>
-<h2 title="Class MobCacheConfig" class="title">Class MobCacheConfig</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">org.apache.hadoop.hbase.io.hfile.CacheConfig</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.hadoop.hbase.mob.MobCacheConfig</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>@InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobCacheConfig.html#line.31">MobCacheConfig</a>
-extends <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></pre>
-<div class="block">The cache configuration for the mob.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!-- -->
-</a>
-<h3>Field Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
-<caption><span>Fields</span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html#mobFileCache">mobFileCache</a></span></code> </td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.io.hfile.CacheConfig">
-<!-- -->
-</a>
-<h3>Fields inherited from class org.apache.hadoop.hbase.io.hfile.<a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#BLOCKCACHE_BLOCKSIZE_KEY">BLOCKCACHE_BLOCKSIZE_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#BUCKET_CACHE_BUCKETS_KEY">BUCKET_CACHE_BUCKETS_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#BUCKET_CACHE_PERSISTENT_PATH_KEY">BUCKET_CACHE_PERSISTENT_PATH_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#BUCKET_CACHE_WRITER_QUEUE_KEY">BUCKET_CACHE_WRITER_QUEUE_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#BUCKET_CACHE_WRITER_THREADS_KEY">BUCKET_CACHE_WRITER_THREADS_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CACHE_BLOCKS_ON_WRITE_KEY">CACHE_BLOCKS_ON_WRITE_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CACHE_BLOOM_BLOCKS_ON_WRITE_KEY">CACHE_BLOOM_BLOCKS_ON_WRITE_KEY</a>, <a href="../../../../../o
rg/apache/hadoop/hbase/io/hfile/CacheConfig.html#CACHE_DATA_BLOCKS_COMPRESSED_KEY">CACHE_DATA_BLOCKS_COMPRESSED_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CACHE_DATA_ON_READ_KEY">CACHE_DATA_ON_READ_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CACHE_INDEX_BLOCKS_ON_WRITE_KEY">CACHE_INDEX_BLOCKS_ON_WRITE_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DEFAULT_BUCKET_CACHE_WRITER_QUEUE">DEFAULT_BUCKET_CACHE_WRITER_QUEUE</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DEFAULT_BUCKET_CACHE_WRITER_THREADS">DEFAULT_BUCKET_CACHE_WRITER_THREADS</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DEFAULT_CACHE_BLOOMS_ON_WRITE">DEFAULT_CACHE_BLOOMS_ON_WRITE</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DEFAULT_CACHE_DATA_COMPRESSED">DEFAULT_CACHE_DATA_COMPRESSED</a>, <a href="../../../../../or
g/apache/hadoop/hbase/io/hfile/CacheConfig.html#DEFAULT_CACHE_DATA_ON_READ">DEFAULT_CACHE_DATA_ON_READ</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DEFAULT_CACHE_DATA_ON_WRITE">DEFAULT_CACHE_DATA_ON_WRITE</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DEFAULT_CACHE_INDEXES_ON_WRITE">DEFAULT_CACHE_INDEXES_ON_WRITE</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DEFAULT_EVICT_ON_CLOSE">DEFAULT_EVICT_ON_CLOSE</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DEFAULT_IN_MEMORY">DEFAULT_IN_MEMORY</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DEFAULT_PREFETCH_ON_OPEN">DEFAULT_PREFETCH_ON_OPEN</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DISABLED">DISABLED</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#EVICT_BLOCKS_ON_CLOSE_KEY">EVICT_BLOCKS_ON_CLOSE_KEY</a>, <a href="
../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#PREFETCH_BLOCKS_ON_OPEN_KEY">PREFETCH_BLOCKS_ON_OPEN_KEY</a></code></li>
-</ul>
-</li>
-</ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!-- -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html#MobCacheConfig-org.apache.hadoop.conf.Configuration-">MobCacheConfig</a></span>(org.apache.hadoop.conf.Configuration conf)</code> </td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html#MobCacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">MobCacheConfig</a></span>(org.apache.hadoop.conf.Configuration conf,
- <a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a> family)</code> </td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!-- -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html#getMobFileCache--">getMobFileCache</a></span>()</code>
-<div class="block">Gets the MobFileCache.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html#instantiateMobFileCache-org.apache.hadoop.conf.Configuration-">instantiateMobFileCache</a></span>(org.apache.hadoop.conf.Configuration conf)</code>
-<div class="block">Instantiates the MobFileCache.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.io.hfile.CacheConfig">
-<!-- -->
-</a>
-<h3>Methods inherited from class org.apache.hadoop.hbase.io.hfile.<a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#getBlockCache--">getBlockCache</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#getL2CacheStats--">getL2CacheStats</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#getOnHeapCache-org.apache.hadoop.conf.Configuration-">getOnHeapCache</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#getOnHeapCacheStats--">getOnHeapCacheStats</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#instantiateBlockCache-org.apache.hadoop.conf.Configuration-">instantiateBlockCache</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#isBlockCacheEnabled--">isBlockCacheEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#isInMemory--">isInMemory</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#setCacheDataOnWrite-boolean-">setCa
cheDataOnWrite</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#setEvictOnClose-boolean-">setEvictOnClose</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#shouldCacheBlockOnRead-org.apache.hadoop.hbase.io.hfile.BlockType.BlockCategory-">shouldCacheBlockOnRead</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#shouldCacheBloomsOnWrite--">shouldCacheBloomsOnWrite</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#shouldCacheCompressed-org.apache.hadoop.hbase.io.hfile.BlockType.BlockCategory-">shouldCacheCompressed</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#shouldCacheDataCompressed--">shouldCacheDataCompressed</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#shouldCacheDataOnRead--">shouldCacheDataOnRead</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#shouldCacheDataOnWrite--
">shouldCacheDataOnWrite</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#shouldCacheIndexesOnWrite--">shouldCacheIndexesOnWrite</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#shouldDropBehindCompaction--">shouldDropBehindCompaction</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#shouldEvictOnClose--">shouldEvictOnClose</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#shouldLockOnCacheMiss-org.apache.hadoop.hbase.io.hfile.BlockType-">shouldLockOnCacheMiss</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#shouldPrefetchOnOpen--">shouldPrefetchOnOpen</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#shouldReadBlockFromCache-org.apache.hadoop.hbase.io.hfile.BlockType-">shouldReadBlockFromCache</a>, <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#toString--">toString</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/ja
va/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ FIELD DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.detail">
-<!-- -->
-</a>
-<h3>Field Detail</h3>
-<a name="mobFileCache">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>mobFileCache</h4>
-<pre>private static <a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobCacheConfig.html#line.33">mobFileCache</a></pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!-- -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="MobCacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>MobCacheConfig</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobCacheConfig.html#line.35">MobCacheConfig</a>(org.apache.hadoop.conf.Configuration conf,
- <a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a> family)</pre>
-</li>
-</ul>
-<a name="MobCacheConfig-org.apache.hadoop.conf.Configuration-">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>MobCacheConfig</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobCacheConfig.html#line.40">MobCacheConfig</a>(org.apache.hadoop.conf.Configuration conf)</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!-- -->
-</a>
-<h3>Method Detail</h3>
-<a name="instantiateMobFileCache-org.apache.hadoop.conf.Configuration-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>instantiateMobFileCache</h4>
-<pre>public static <a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobCacheConfig.html#line.50">instantiateMobFileCache</a>(org.apache.hadoop.conf.Configuration conf)</pre>
-<div class="block">Instantiates the MobFileCache.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>conf</code> - The current configuration.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>The current instance of MobFileCache.</dd>
-</dl>
-</li>
-</ul>
-<a name="getMobFileCache--">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>getMobFileCache</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobCacheConfig.html#line.61">getMobFileCache</a>()</pre>
-<div class="block">Gets the MobFileCache.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>The MobFileCache.</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/MobCacheConfig.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/mob/ExpiredMobFileCleaner.html" title="class in org.apache.hadoop.hbase.mob"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/mob/MobConstants.html" title="class in org.apache.hadoop.hbase.mob"><span class="typeNameLink">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/hadoop/hbase/mob/MobCacheConfig.html" target="_top">Frames</a></li>
-<li><a href="MobCacheConfig.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li>Nested | </li>
-<li><a href="#field.summary">Field</a> | </li>
-<li><a href="#constructor.summary">Constr</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li><a href="#field.detail">Field</a> | </li>
-<li><a href="#constructor.detail">Constr</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright © 2007–2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/mob/MobConstants.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mob/MobConstants.html b/devapidocs/org/apache/hadoop/hbase/mob/MobConstants.html
index e9f3e90..a30b2ae 100644
--- a/devapidocs/org/apache/hadoop/hbase/mob/MobConstants.html
+++ b/devapidocs/org/apache/hadoop/hbase/mob/MobConstants.html
@@ -43,7 +43,7 @@
</div>
<div class="subNav">
<ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob"><span class="typeNameLink">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/mob/ExpiredMobFileCleaner.html" title="class in org.apache.hadoop.hbase.mob"><span class="typeNameLink">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/mob/MobFile.html" title="class in org.apache.hadoop.hbase.mob"><span class="typeNameLink">Next Class</span></a></li>
</ul>
<ul class="navList">
@@ -758,7 +758,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
</div>
<div class="subNav">
<ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob"><span class="typeNameLink">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/mob/ExpiredMobFileCleaner.html" title="class in org.apache.hadoop.hbase.mob"><span class="typeNameLink">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/mob/MobFile.html" title="class in org.apache.hadoop.hbase.mob"><span class="typeNameLink">Next Class</span></a></li>
</ul>
<ul class="navList">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/mob/MobFileCache.EvictionThread.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mob/MobFileCache.EvictionThread.html b/devapidocs/org/apache/hadoop/hbase/mob/MobFileCache.EvictionThread.html
index cf23a01..447b33d 100644
--- a/devapidocs/org/apache/hadoop/hbase/mob/MobFileCache.EvictionThread.html
+++ b/devapidocs/org/apache/hadoop/hbase/mob/MobFileCache.EvictionThread.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.60">MobFileCache.EvictionThread</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.61">MobFileCache.EvictionThread</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></pre>
</li>
</ul>
@@ -239,7 +239,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
<ul class="blockListLast">
<li class="blockList">
<h4>lru</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.EvictionThread.html#line.61">lru</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.EvictionThread.html#line.62">lru</a></pre>
</li>
</ul>
</li>
@@ -256,7 +256,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
<ul class="blockListLast">
<li class="blockList">
<h4>EvictionThread</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.EvictionThread.html#line.63">EvictionThread</a>(<a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a> lru)</pre>
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.EvictionThread.html#line.64">EvictionThread</a>(<a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a> lru)</pre>
</li>
</ul>
</li>
@@ -273,7 +273,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
<ul class="blockListLast">
<li class="blockList">
<h4>run</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.EvictionThread.html#line.70">run</a>()</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.EvictionThread.html#line.71">run</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code> in interface <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/mob/MobFileCache.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mob/MobFileCache.html b/devapidocs/org/apache/hadoop/hbase/mob/MobFileCache.html
index b8566af..e30fc0c 100644
--- a/devapidocs/org/apache/hadoop/hbase/mob/MobFileCache.html
+++ b/devapidocs/org/apache/hadoop/hbase/mob/MobFileCache.html
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
<hr>
<br>
<pre>@InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.51">MobFileCache</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.52">MobFileCache</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">The cache for mob files.
This cache doesn't cache the mob file blocks. It only caches the references of mob files.
@@ -296,9 +296,9 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/mob/MobFile.html" title="class in org.apache.hadoop.hbase.mob">MobFile</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html#openFile-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.mob.MobCacheConfig-">openFile</a></span>(org.apache.hadoop.fs.FileSystem fs,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html#openFile-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.io.hfile.CacheConfig-">openFile</a></span>(org.apache.hadoop.fs.FileSystem fs,
org.apache.hadoop.fs.Path path,
- <a href="../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob">MobCacheConfig</a> cacheConf)</code>
+ <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConf)</code>
<div class="block">Opens a mob file.</div>
</td>
</tr>
@@ -340,7 +340,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>LOG</h4>
-<pre>private static final org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.53">LOG</a></pre>
+<pre>private static final org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.54">LOG</a></pre>
</li>
</ul>
<a name="map">
@@ -349,7 +349,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>map</h4>
-<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/mob/CachedMobFile.html" title="class in org.apache.hadoop.hbase.mob">CachedMobFile</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.76">map</a></pre>
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/mob/CachedMobFile.html" title="class in org.apache.hadoop.hbase.mob">CachedMobFile</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.77">map</a></pre>
</li>
</ul>
<a name="count">
@@ -358,7 +358,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>count</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.78">count</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.79">count</a></pre>
</li>
</ul>
<a name="lastAccess">
@@ -367,7 +367,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>lastAccess</h4>
-<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.79">lastAccess</a></pre>
+<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.80">lastAccess</a></pre>
</li>
</ul>
<a name="miss">
@@ -376,7 +376,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>miss</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.80">miss</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.81">miss</a></pre>
</li>
</ul>
<a name="lastMiss">
@@ -385,7 +385,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>lastMiss</h4>
-<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.81">lastMiss</a></pre>
+<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.82">lastMiss</a></pre>
</li>
</ul>
<a name="evictedFileCount">
@@ -394,7 +394,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>evictedFileCount</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.82">evictedFileCount</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.83">evictedFileCount</a></pre>
</li>
</ul>
<a name="lastEvictedFileCount">
@@ -403,7 +403,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>lastEvictedFileCount</h4>
-<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.83">lastEvictedFileCount</a></pre>
+<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.84">lastEvictedFileCount</a></pre>
</li>
</ul>
<a name="evictionLock">
@@ -412,7 +412,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>evictionLock</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.87">evictionLock</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.88">evictionLock</a></pre>
</li>
</ul>
<a name="keyLock">
@@ -421,7 +421,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>keyLock</h4>
-<pre>private final <a href="../../../../../org/apache/hadoop/hbase/util/IdLock.html" title="class in org.apache.hadoop.hbase.util">IdLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.90">keyLock</a></pre>
+<pre>private final <a href="../../../../../org/apache/hadoop/hbase/util/IdLock.html" title="class in org.apache.hadoop.hbase.util">IdLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.91">keyLock</a></pre>
</li>
</ul>
<a name="scheduleThreadPool">
@@ -430,7 +430,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>scheduleThreadPool</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.92">scheduleThreadPool</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.93">scheduleThreadPool</a></pre>
</li>
</ul>
<a name="conf">
@@ -439,7 +439,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>conf</h4>
-<pre>private final org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.94">conf</a></pre>
+<pre>private final org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.95">conf</a></pre>
</li>
</ul>
<a name="mobFileMaxCacheSize">
@@ -448,7 +448,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>mobFileMaxCacheSize</h4>
-<pre>private final int <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.97">mobFileMaxCacheSize</a></pre>
+<pre>private final int <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.98">mobFileMaxCacheSize</a></pre>
</li>
</ul>
<a name="isCacheEnabled">
@@ -457,7 +457,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>isCacheEnabled</h4>
-<pre>private final boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.98">isCacheEnabled</a></pre>
+<pre>private final boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.99">isCacheEnabled</a></pre>
</li>
</ul>
<a name="evictRemainRatio">
@@ -466,7 +466,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>evictRemainRatio</h4>
-<pre>private float <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.99">evictRemainRatio</a></pre>
+<pre>private float <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.100">evictRemainRatio</a></pre>
</li>
</ul>
</li>
@@ -483,7 +483,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>MobFileCache</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.101">MobFileCache</a>(org.apache.hadoop.conf.Configuration conf)</pre>
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.102">MobFileCache</a>(org.apache.hadoop.conf.Configuration conf)</pre>
</li>
</ul>
</li>
@@ -500,7 +500,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>evict</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.135">evict</a>()</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.136">evict</a>()</pre>
<div class="block">Evicts the lru cached mob files when the count of the cached files is larger
than the threshold.</div>
</li>
@@ -511,7 +511,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>evictFile</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.175">evictFile</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> fileName)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.176">evictFile</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> fileName)</pre>
<div class="block">Evicts the cached file by the name.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -519,15 +519,15 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
</dl>
</li>
</ul>
-<a name="openFile-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.mob.MobCacheConfig-">
+<a name="openFile-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.io.hfile.CacheConfig-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>openFile</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/mob/MobFile.html" title="class in org.apache.hadoop.hbase.mob">MobFile</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.204">openFile</a>(org.apache.hadoop.fs.FileSystem fs,
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/mob/MobFile.html" title="class in org.apache.hadoop.hbase.mob">MobFile</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.205">openFile</a>(org.apache.hadoop.fs.FileSystem fs,
org.apache.hadoop.fs.Path path,
- <a href="../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob">MobCacheConfig</a> cacheConf)
+ <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConf)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Opens a mob file.</div>
<dl>
@@ -548,7 +548,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>closeFile</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.239">closeFile</a>(<a href="../../../../../org/apache/hadoop/hbase/mob/MobFile.html" title="class in org.apache.hadoop.hbase.mob">MobFile</a> file)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.240">closeFile</a>(<a href="../../../../../org/apache/hadoop/hbase/mob/MobFile.html" title="class in org.apache.hadoop.hbase.mob">MobFile</a> file)</pre>
<div class="block">Closes a mob file.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -562,7 +562,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>shutdown</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.257">shutdown</a>()</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.258">shutdown</a>()</pre>
</li>
</ul>
<a name="getCacheSize--">
@@ -571,7 +571,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getCacheSize</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.281">getCacheSize</a>()</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.282">getCacheSize</a>()</pre>
<div class="block">Gets the count of cached mob files.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
@@ -585,7 +585,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getAccessCount</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.289">getAccessCount</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.290">getAccessCount</a>()</pre>
<div class="block">Gets the count of accesses to the mob file cache.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
@@ -599,7 +599,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getMissCount</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.297">getMissCount</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.298">getMissCount</a>()</pre>
<div class="block">Gets the count of misses to the mob file cache.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
@@ -613,7 +613,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getEvictedFileCount</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.305">getEvictedFileCount</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.306">getEvictedFileCount</a>()</pre>
<div class="block">Gets the number of items evicted from the mob file cache.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
@@ -627,7 +627,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getHitRatio</h4>
-<pre>public double <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.313">getHitRatio</a>()</pre>
+<pre>public double <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.314">getHitRatio</a>()</pre>
<div class="block">Gets the hit ratio to the mob file cache.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
@@ -641,7 +641,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>printStatistics</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.320">printStatistics</a>()</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/mob/MobFileCache.html#line.321">printStatistics</a>()</pre>
<div class="block">Prints the statistics.</div>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/mob/class-use/MobCacheConfig.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mob/class-use/MobCacheConfig.html b/devapidocs/org/apache/hadoop/hbase/mob/class-use/MobCacheConfig.html
deleted file mode 100644
index 94fd586..0000000
--- a/devapidocs/org/apache/hadoop/hbase/mob/class-use/MobCacheConfig.html
+++ /dev/null
@@ -1,195 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.hadoop.hbase.mob.MobCacheConfig (Apache HBase 3.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.apache.hadoop.hbase.mob.MobCacheConfig (Apache HBase 3.0.0-SNAPSHOT API)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/mob/class-use/MobCacheConfig.html" target="_top">Frames</a></li>
-<li><a href="MobCacheConfig.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.hadoop.hbase.mob.MobCacheConfig" class="title">Uses of Class<br>org.apache.hadoop.hbase.mob.MobCacheConfig</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob">MobCacheConfig</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.mob">org.apache.hadoop.hbase.mob</a></td>
-<td class="colLast"> </td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.regionserver">org.apache.hadoop.hbase.regionserver</a></td>
-<td class="colLast"> </td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.hadoop.hbase.mob">
-<!-- -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob">MobCacheConfig</a> in <a href="../../../../../../org/apache/hadoop/hbase/mob/package-summary.html">org.apache.hadoop.hbase.mob</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/mob/package-summary.html">org.apache.hadoop.hbase.mob</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob">MobCacheConfig</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/mob/MobFile.html" title="class in org.apache.hadoop.hbase.mob">MobFile</a></code></td>
-<td class="colLast"><span class="typeNameLabel">MobFileCache.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html#openFile-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.mob.MobCacheConfig-">openFile</a></span>(org.apache.hadoop.fs.FileSystem fs,
- org.apache.hadoop.fs.Path path,
- <a href="../../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob">MobCacheConfig</a> cacheConf)</code>
-<div class="block">Opens a mob file.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.hadoop.hbase.regionserver">
-<!-- -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob">MobCacheConfig</a> in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
-<caption><span>Fields in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> declared as <a href="../../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob">MobCacheConfig</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob">MobCacheConfig</a></code></td>
-<td class="colLast"><span class="typeNameLabel">HRegionServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#mobCacheConfig">mobCacheConfig</a></span></code> </td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob">MobCacheConfig</a></code></td>
-<td class="colLast"><span class="typeNameLabel">HMobStore.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#mobCacheConfig">mobCacheConfig</a></span></code> </td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/mob/class-use/MobCacheConfig.html" target="_top">Frames</a></li>
-<li><a href="MobCacheConfig.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright © 2007–2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/mob/class-use/MobFile.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mob/class-use/MobFile.html b/devapidocs/org/apache/hadoop/hbase/mob/class-use/MobFile.html
index b5f8a88..35b9c4f 100644
--- a/devapidocs/org/apache/hadoop/hbase/mob/class-use/MobFile.html
+++ b/devapidocs/org/apache/hadoop/hbase/mob/class-use/MobFile.html
@@ -128,9 +128,9 @@
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/mob/MobFile.html" title="class in org.apache.hadoop.hbase.mob">MobFile</a></code></td>
-<td class="colLast"><span class="typeNameLabel">MobFileCache.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html#openFile-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.mob.MobCacheConfig-">openFile</a></span>(org.apache.hadoop.fs.FileSystem fs,
+<td class="colLast"><span class="typeNameLabel">MobFileCache.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html#openFile-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.io.hfile.CacheConfig-">openFile</a></span>(org.apache.hadoop.fs.FileSystem fs,
org.apache.hadoop.fs.Path path,
- <a href="../../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob">MobCacheConfig</a> cacheConf)</code>
+ <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConf)</code>
<div class="block">Opens a mob file.</div>
</td>
</tr>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/mob/class-use/MobFileCache.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mob/class-use/MobFileCache.html b/devapidocs/org/apache/hadoop/hbase/mob/class-use/MobFileCache.html
index 0f0dad2..bb1d53a 100644
--- a/devapidocs/org/apache/hadoop/hbase/mob/class-use/MobFileCache.html
+++ b/devapidocs/org/apache/hadoop/hbase/mob/class-use/MobFileCache.html
@@ -110,31 +110,6 @@
<td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a></code></td>
<td class="colLast"><span class="typeNameLabel">MobFileCache.EvictionThread.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mob/MobFileCache.EvictionThread.html#lru">lru</a></span></code> </td>
</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private static <a href="../../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a></code></td>
-<td class="colLast"><span class="typeNameLabel">MobCacheConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html#mobFileCache">mobFileCache</a></span></code> </td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/mob/package-summary.html">org.apache.hadoop.hbase.mob</a> that return <a href="../../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a></code></td>
-<td class="colLast"><span class="typeNameLabel">MobCacheConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html#getMobFileCache--">getMobFileCache</a></span>()</code>
-<div class="block">Gets the MobFileCache.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a></code></td>
-<td class="colLast"><span class="typeNameLabel">MobCacheConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html#instantiateMobFileCache-org.apache.hadoop.conf.Configuration-">instantiateMobFileCache</a></span>(org.apache.hadoop.conf.Configuration conf)</code>
-<div class="block">Instantiates the MobFileCache.</div>
-</td>
-</tr>
</tbody>
</table>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
@@ -162,10 +137,78 @@
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a></code></td>
+<td class="colLast"><span class="typeNameLabel">HRegionServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#mobFileCache">mobFileCache</a></span></code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a></code></td>
+<td class="colLast"><span class="typeNameLabel">HRegion.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#mobFileCache">mobFileCache</a></span></code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a></code></td>
+<td class="colLast"><span class="typeNameLabel">HMobStore.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#mobFileCache">mobFileCache</a></span></code> </td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> with type parameters of type <a href="../../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a>></code></td>
<td class="colLast"><span class="typeNameLabel">MetricsRegionServerWrapperImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#mobFileCache">mobFileCache</a></span></code> </td>
</tr>
</tbody>
</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> that return <a href="../../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a></code></td>
+<td class="colLast"><span class="typeNameLabel">HRegion.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getMobFileCache--">getMobFileCache</a></span>()</code> </td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> that return types with arguments of type <a href="../../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a>></code></td>
+<td class="colLast"><span class="typeNameLabel">RegionServerServices.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getMobFileCache--">getMobFileCache</a></span>()</code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a>></code></td>
+<td class="colLast"><span class="typeNameLabel">HRegionServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getMobFileCache--">getMobFileCache</a></span>()</code>
+<div class="block">May be null if this is a master which not carry table.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">HRegion.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#setMobFileCache-org.apache.hadoop.hbase.mob.MobFileCache-">setMobFileCache</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a> mobFileCache)</code>
+<div class="block">Only used for unit test which doesn't start region server.</div>
+</td>
+</tr>
+</tbody>
+</table>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/mob/package-frame.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mob/package-frame.html b/devapidocs/org/apache/hadoop/hbase/mob/package-frame.html
index 4c26e70..25aaa6e 100644
--- a/devapidocs/org/apache/hadoop/hbase/mob/package-frame.html
+++ b/devapidocs/org/apache/hadoop/hbase/mob/package-frame.html
@@ -17,7 +17,6 @@
<li><a href="DefaultMobStoreCompactor.html" title="class in org.apache.hadoop.hbase.mob" target="classFrame">DefaultMobStoreCompactor</a></li>
<li><a href="DefaultMobStoreFlusher.html" title="class in org.apache.hadoop.hbase.mob" target="classFrame">DefaultMobStoreFlusher</a></li>
<li><a href="ExpiredMobFileCleaner.html" title="class in org.apache.hadoop.hbase.mob" target="classFrame">ExpiredMobFileCleaner</a></li>
-<li><a href="MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob" target="classFrame">MobCacheConfig</a></li>
<li><a href="MobConstants.html" title="class in org.apache.hadoop.hbase.mob" target="classFrame">MobConstants</a></li>
<li><a href="MobFile.html" title="class in org.apache.hadoop.hbase.mob" target="classFrame">MobFile</a></li>
<li><a href="MobFileCache.html" title="class in org.apache.hadoop.hbase.mob" target="classFrame">MobFileCache</a></li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/mob/package-summary.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mob/package-summary.html b/devapidocs/org/apache/hadoop/hbase/mob/package-summary.html
index e98a43e..102c50a 100644
--- a/devapidocs/org/apache/hadoop/hbase/mob/package-summary.html
+++ b/devapidocs/org/apache/hadoop/hbase/mob/package-summary.html
@@ -107,46 +107,40 @@
</td>
</tr>
<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob">MobCacheConfig</a></td>
-<td class="colLast">
-<div class="block">The cache configuration for the mob.</div>
-</td>
-</tr>
-<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/mob/MobConstants.html" title="class in org.apache.hadoop.hbase.mob">MobConstants</a></td>
<td class="colLast">
<div class="block">The constants used in mob.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/mob/MobFile.html" title="class in org.apache.hadoop.hbase.mob">MobFile</a></td>
<td class="colLast">
<div class="block">The mob file.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a></td>
<td class="colLast">
<div class="block">The cache for mob files.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.EvictionThread.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache.EvictionThread</a></td>
<td class="colLast"> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/mob/MobFileName.html" title="class in org.apache.hadoop.hbase.mob">MobFileName</a></td>
<td class="colLast">
<div class="block">The mob file name.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/mob/MobStoreEngine.html" title="class in org.apache.hadoop.hbase.mob">MobStoreEngine</a></td>
<td class="colLast">
<div class="block">MobStoreEngine creates the mob specific compactor, and store flusher.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/mob/MobUtils.html" title="class in org.apache.hadoop.hbase.mob">MobUtils</a></td>
<td class="colLast">
<div class="block">The mob utilities</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/mob/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mob/package-tree.html b/devapidocs/org/apache/hadoop/hbase/mob/package-tree.html
index a1e5a66..ec871e9 100644
--- a/devapidocs/org/apache/hadoop/hbase/mob/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/mob/package-tree.html
@@ -81,11 +81,6 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
<ul>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">CacheConfig</span></a>
-<ul>
-<li type="circle">org.apache.hadoop.hbase.mob.<a href="../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob"><span class="typeNameLink">MobCacheConfig</span></a></li>
-</ul>
-</li>
<li type="circle">org.apache.hadoop.hbase.regionserver.compactions.<a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/Compactor.html" title="class in org.apache.hadoop.hbase.regionserver.compactions"><span class="typeNameLink">Compactor</span></a><T>
<ul>
<li type="circle">org.apache.hadoop.hbase.regionserver.compactions.<a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/DefaultCompactor.html" title="class in org.apache.hadoop.hbase.regionserver.compactions"><span class="typeNameLink">DefaultCompactor</span></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/mob/package-use.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mob/package-use.html b/devapidocs/org/apache/hadoop/hbase/mob/package-use.html
index 2854caa..b6ebf47 100644
--- a/devapidocs/org/apache/hadoop/hbase/mob/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/mob/package-use.html
@@ -129,21 +129,16 @@
</td>
</tr>
<tr class="rowColor">
-<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/mob/class-use/MobCacheConfig.html#org.apache.hadoop.hbase.mob">MobCacheConfig</a>
-<div class="block">The cache configuration for the mob.</div>
-</td>
-</tr>
-<tr class="altColor">
<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/mob/class-use/MobFile.html#org.apache.hadoop.hbase.mob">MobFile</a>
<div class="block">The mob file.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/mob/class-use/MobFileCache.html#org.apache.hadoop.hbase.mob">MobFileCache</a>
<div class="block">The cache for mob files.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/mob/class-use/MobFileName.html#org.apache.hadoop.hbase.mob">MobFileName</a>
<div class="block">The mob file name.</div>
</td>
@@ -161,16 +156,11 @@
</tr>
<tbody>
<tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/mob/class-use/MobCacheConfig.html#org.apache.hadoop.hbase.regionserver">MobCacheConfig</a>
-<div class="block">The cache configuration for the mob.</div>
-</td>
-</tr>
-<tr class="rowColor">
<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/mob/class-use/MobFileCache.html#org.apache.hadoop.hbase.regionserver">MobFileCache</a>
<div class="block">The cache for mob files.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/mob/class-use/MobFileName.html#org.apache.hadoop.hbase.regionserver">MobFileName</a>
<div class="block">The mob file name.</div>
</td>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/monitoring/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/monitoring/package-tree.html b/devapidocs/org/apache/hadoop/hbase/monitoring/package-tree.html
index 4b549da..7b435d2 100644
--- a/devapidocs/org/apache/hadoop/hbase/monitoring/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/monitoring/package-tree.html
@@ -127,8 +127,8 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.monitoring.<a href="../../../../../org/apache/hadoop/hbase/monitoring/TaskMonitor.TaskFilter.TaskType.html" title="enum in org.apache.hadoop.hbase.monitoring"><span class="typeNameLink">TaskMonitor.TaskFilter.TaskType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.monitoring.<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.State.html" title="enum in org.apache.hadoop.hbase.monitoring"><span class="typeNameLink">MonitoredTask.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.monitoring.<a href="../../../../../org/apache/hadoop/hbase/monitoring/TaskMonitor.TaskFilter.TaskType.html" title="enum in org.apache.hadoop.hbase.monitoring"><span class="typeNameLink">TaskMonitor.TaskFilter.TaskType</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/package-tree.html b/devapidocs/org/apache/hadoop/hbase/package-tree.html
index 87856d5..7385077 100644
--- a/devapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -432,19 +432,19 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompareOperator</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HealthChecker.HealthCheckerExitStatus.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HealthChecker.HealthCheckerExitStatus</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeyValue.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeyValue.Type</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ClusterMetrics.Option.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ClusterMetrics.Option</span></a></li>
<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HConstants.OperationStatusCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.QueryType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HealthChecker.HealthCheckerExitStatus.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HealthChecker.HealthCheckerExitStatus</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Cell.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Cell.Type</span></a></li>
<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompatibilitySingletonFactory.SingletonStorage.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompatibilitySingletonFactory.SingletonStorage</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CellBuilderType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CellBuilderType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Size.Unit.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Size.Unit</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Cell.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Cell.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ClusterMetrics.Option.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ClusterMetrics.Option</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MemoryCompactionPolicy.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MemoryCompactionPolicy</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CellBuilderType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CellBuilderType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompareOperator</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.QueryType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeyValue.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeyValue.Type</span></a></li>
<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeepDeletedCells</span></a></li>
<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Coprocessor.State.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Coprocessor.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MemoryCompactionPolicy.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MemoryCompactionPolicy</span></a></li>
</ul>
</li>
</ul>
[45/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/CacheConfig.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/CacheConfig.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/CacheConfig.html
index e249ca2..95ef789 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/CacheConfig.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/CacheConfig.html
@@ -18,8 +18,8 @@
catch(err) {
}
//-->
-var methods = {"i0":9,"i1":10,"i2":9,"i3":9,"i4":10,"i5":9,"i6":9,"i7":10,"i8":9,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
@@ -50,7 +50,7 @@ var activeTableTab = "activeTableTab";
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheableDeserializerIdManager.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Next Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CachedBlock.html" title="interface in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/io/hfile/CacheConfig.html" target="_top">Frames</a></li>
@@ -74,7 +74,7 @@ var activeTableTab = "activeTableTab";
<div>
<ul class="subNavList">
<li>Summary: </li>
-<li><a href="#nested.class.summary">Nested</a> | </li>
+<li>Nested | </li>
<li><a href="#field.summary">Field</a> | </li>
<li><a href="#constructor.summary">Constr</a> | </li>
<li><a href="#method.summary">Method</a></li>
@@ -107,14 +107,10 @@ var activeTableTab = "activeTableTab";
<div class="description">
<ul class="blockList">
<li class="blockList">
-<dl>
-<dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob">MobCacheConfig</a></dd>
-</dl>
<hr>
<br>
<pre>@InterfaceAudience.Private
-public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.44">CacheConfig</a>
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.35">CacheConfig</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Stores all of the cache objects and configuration for a single HFile.</div>
</li>
@@ -123,27 +119,6 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<div class="summary">
<ul class="blockList">
<li class="blockList">
-<!-- ======== NESTED CLASS SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="nested.class.summary">
-<!-- -->
-</a>
-<h3>Nested Class Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
-<caption><span>Nested Classes</span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private static class </code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">CacheConfig.ExternalBlockCaches</a></span></code>
-<div class="block">Enum of all built in external block caches.</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
@@ -158,42 +133,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#blockCache">blockCache</a></span></code>
-<div class="block">Local reference to the block cache, null if completely disabled</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#BLOCKCACHE_BLOCKSIZE_KEY">BLOCKCACHE_BLOCKSIZE_KEY</a></span></code>
-<div class="block">The target block size used by blockcache instances.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>(package private) static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#blockCacheDisabled">blockCacheDisabled</a></span></code>
-<div class="block">Boolean whether we have disabled the block cache entirely.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#BUCKET_CACHE_BUCKETS_KEY">BUCKET_CACHE_BUCKETS_KEY</a></span></code>
-<div class="block">A comma-delimited array of values for use as bucket sizes.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#BUCKET_CACHE_PERSISTENT_PATH_KEY">BUCKET_CACHE_PERSISTENT_PATH_KEY</a></span></code>
-<div class="block">If the chosen ioengine can persist its state across restarts, the path to the file to persist
- to.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#BUCKET_CACHE_WRITER_QUEUE_KEY">BUCKET_CACHE_WRITER_QUEUE_KEY</a></span></code> </td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#BUCKET_CACHE_WRITER_THREADS_KEY">BUCKET_CACHE_WRITER_THREADS_KEY</a></span></code> </td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#blockCache">blockCache</a></span></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
@@ -258,16 +198,6 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
</td>
</tr>
<tr class="rowColor">
-<td class="colFirst"><code>static int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DEFAULT_BUCKET_CACHE_WRITER_QUEUE">DEFAULT_BUCKET_CACHE_WRITER_QUEUE</a></span></code> </td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DEFAULT_BUCKET_CACHE_WRITER_THREADS">DEFAULT_BUCKET_CACHE_WRITER_THREADS</a></span></code>
-<div class="block">Defaults for Bucket cache</div>
-</td>
-</tr>
-<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DEFAULT_CACHE_BLOOMS_ON_WRITE">DEFAULT_CACHE_BLOOMS_ON_WRITE</a></span></code> </td>
</tr>
@@ -306,11 +236,11 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
</td>
</tr>
<tr class="altColor">
-<td class="colFirst"><code>private static boolean</code></td>
+<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DROP_BEHIND_CACHE_COMPACTION_DEFAULT">DROP_BEHIND_CACHE_COMPACTION_DEFAULT</a></span></code> </td>
</tr>
<tr class="rowColor">
-<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#DROP_BEHIND_CACHE_COMPACTION_KEY">DROP_BEHIND_CACHE_COMPACTION_KEY</a></span></code> </td>
</tr>
<tr class="altColor">
@@ -331,42 +261,15 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
</td>
</tr>
<tr class="rowColor">
-<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#EXTERNAL_BLOCKCACHE_CLASS_KEY">EXTERNAL_BLOCKCACHE_CLASS_KEY</a></span></code> </td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#EXTERNAL_BLOCKCACHE_DEFAULT">EXTERNAL_BLOCKCACHE_DEFAULT</a></span></code> </td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#EXTERNAL_BLOCKCACHE_KEY">EXTERNAL_BLOCKCACHE_KEY</a></span></code> </td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>(package private) static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#GLOBAL_BLOCK_CACHE_INSTANCE">GLOBAL_BLOCK_CACHE_INSTANCE</a></span></code>
-<div class="block">Static reference to the block cache, or null if no caching should be used
- at all.</div>
-</td>
-</tr>
-<tr class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#inMemory">inMemory</a></span></code>
<div class="block">Whether blocks should be flagged as in-memory when being cached</div>
</td>
</tr>
<tr class="altColor">
-<td class="colFirst"><code>private static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#L2_CACHE_INSTANCE">L2_CACHE_INSTANCE</a></span></code> </td>
-</tr>
-<tr class="rowColor">
<td class="colFirst"><code>private static org.slf4j.Logger</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#LOG">LOG</a></span></code> </td>
</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/LruBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile">LruBlockCache</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#ONHEAP_CACHE_INSTANCE">ONHEAP_CACHE_INSTANCE</a></span></code> </td>
-</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#PREFETCH_BLOCKS_ON_OPEN_KEY">PREFETCH_BLOCKS_ON_OPEN_KEY</a></span></code>
@@ -400,37 +303,28 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CacheConfig--">CacheConfig</a></span>()</code> </td>
</tr>
<tr class="rowColor">
-<td class="colFirst"><code>(package private)</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CacheConfig-org.apache.hadoop.hbase.io.hfile.BlockCache-boolean-boolean-boolean-boolean-boolean-boolean-boolean-boolean-boolean-">CacheConfig</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache,
- boolean cacheDataOnRead,
- boolean inMemory,
- boolean cacheDataOnWrite,
- boolean cacheIndexesOnWrite,
- boolean cacheBloomsOnWrite,
- boolean evictOnClose,
- boolean cacheDataCompressed,
- boolean prefetchOnOpen,
- boolean dropBehindCompaction)</code>
-<div class="block">Create a block cache configuration with the specified cache and configuration parameters.</div>
-</td>
-</tr>
-<tr class="altColor">
<td class="colFirst"><code> </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CacheConfig-org.apache.hadoop.hbase.io.hfile.CacheConfig-">CacheConfig</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConf)</code>
<div class="block">Constructs a cache configuration copied from the specified configuration.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code> </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CacheConfig-org.apache.hadoop.conf.Configuration-">CacheConfig</a></span>(org.apache.hadoop.conf.Configuration conf)</code>
<div class="block">Create a cache configuration using the specified configuration object and
defaults for family level settings.</div>
</td>
</tr>
+<tr class="rowColor">
+<td class="colFirst"><code> </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.io.hfile.BlockCache-">CacheConfig</a></span>(org.apache.hadoop.conf.Configuration conf,
+ <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache)</code> </td>
+</tr>
<tr class="altColor">
<td class="colFirst"><code> </code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">CacheConfig</a></span>(org.apache.hadoop.conf.Configuration conf,
- <a href="../../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a> family)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-org.apache.hadoop.hbase.io.hfile.BlockCache-">CacheConfig</a></span>(org.apache.hadoop.conf.Configuration conf,
+ <a href="../../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a> family,
+ <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache)</code>
<div class="block">Create a cache configuration using the specified configuration object and
family descriptor.</div>
</td>
@@ -445,74 +339,32 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
-<td class="colFirst"><code>(package private) static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#clearGlobalInstances--">clearGlobalInstances</a></span>()</code> </td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#getBlockCache--">getBlockCache</a></span>()</code>
<div class="block">Returns the block cache.</div>
</td>
</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>(package private) static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#getBucketCache-org.apache.hadoop.conf.Configuration-">getBucketCache</a></span>(org.apache.hadoop.conf.Configuration c)</code> </td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>private static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#getExternalBlockcache-org.apache.hadoop.conf.Configuration-">getExternalBlockcache</a></span>(org.apache.hadoop.conf.Configuration c)</code> </td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#getL2CacheStats--">getL2CacheStats</a></span>()</code> </td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/LruBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile">LruBlockCache</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#getOnHeapCache-org.apache.hadoop.conf.Configuration-">getOnHeapCache</a></span>(org.apache.hadoop.conf.Configuration c)</code> </td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code>private static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/LruBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile">LruBlockCache</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#getOnHeapCacheInternal-org.apache.hadoop.conf.Configuration-">getOnHeapCacheInternal</a></span>(org.apache.hadoop.conf.Configuration c)</code> </td>
-</tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#getOnHeapCacheStats--">getOnHeapCacheStats</a></span>()</code> </td>
-</tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#instantiateBlockCache-org.apache.hadoop.conf.Configuration-">instantiateBlockCache</a></span>(org.apache.hadoop.conf.Configuration conf)</code>
-<div class="block">Returns the block cache or <code>null</code> in case none should be used.</div>
-</td>
-</tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#isBlockCacheEnabled--">isBlockCacheEnabled</a></span>()</code>
-<div class="block">Checks whether the block cache is enabled.</div>
-</td>
-</tr>
-<tr id="i10" class="altColor">
+<tr id="i1" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#isInMemory--">isInMemory</a></span>()</code> </td>
</tr>
-<tr id="i11" class="rowColor">
+<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#setCacheDataOnWrite-boolean-">setCacheDataOnWrite</a></span>(boolean cacheDataOnWrite)</code>
-<div class="block">Only used for testing.</div>
-</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#setCacheDataOnWrite-boolean-">setCacheDataOnWrite</a></span>(boolean cacheDataOnWrite)</code> </td>
</tr>
-<tr id="i12" class="altColor">
+<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#setEvictOnClose-boolean-">setEvictOnClose</a></span>(boolean evictOnClose)</code>
<div class="block">Only used for testing.</div>
</td>
</tr>
-<tr id="i13" class="rowColor">
+<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#shouldCacheBlockOnRead-org.apache.hadoop.hbase.io.hfile.BlockType.BlockCategory-">shouldCacheBlockOnRead</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockType.BlockCategory</a> category)</code>
<div class="block">Should we cache a block of a particular category? We always cache
@@ -520,59 +372,59 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
available.</div>
</td>
</tr>
-<tr id="i14" class="altColor">
+<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#shouldCacheBloomsOnWrite--">shouldCacheBloomsOnWrite</a></span>()</code> </td>
</tr>
-<tr id="i15" class="rowColor">
+<tr id="i6" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#shouldCacheCompressed-org.apache.hadoop.hbase.io.hfile.BlockType.BlockCategory-">shouldCacheCompressed</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockType.BlockCategory</a> category)</code> </td>
</tr>
-<tr id="i16" class="altColor">
+<tr id="i7" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#shouldCacheDataCompressed--">shouldCacheDataCompressed</a></span>()</code> </td>
</tr>
-<tr id="i17" class="rowColor">
+<tr id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#shouldCacheDataOnRead--">shouldCacheDataOnRead</a></span>()</code>
<div class="block">Returns whether the DATA blocks of this HFile should be cached on read or not (we always
cache the meta blocks, the INDEX and BLOOM blocks).</div>
</td>
</tr>
-<tr id="i18" class="altColor">
+<tr id="i9" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#shouldCacheDataOnWrite--">shouldCacheDataOnWrite</a></span>()</code> </td>
</tr>
-<tr id="i19" class="rowColor">
+<tr id="i10" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#shouldCacheIndexesOnWrite--">shouldCacheIndexesOnWrite</a></span>()</code> </td>
</tr>
-<tr id="i20" class="altColor">
+<tr id="i11" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#shouldDropBehindCompaction--">shouldDropBehindCompaction</a></span>()</code> </td>
</tr>
-<tr id="i21" class="rowColor">
+<tr id="i12" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#shouldEvictOnClose--">shouldEvictOnClose</a></span>()</code> </td>
</tr>
-<tr id="i22" class="altColor">
+<tr id="i13" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#shouldLockOnCacheMiss-org.apache.hadoop.hbase.io.hfile.BlockType-">shouldLockOnCacheMiss</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockType</a> blockType)</code>
<div class="block">If we make sure the block could not be cached, we will not acquire the lock
otherwise we will acquire lock</div>
</td>
</tr>
-<tr id="i23" class="rowColor">
+<tr id="i14" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#shouldPrefetchOnOpen--">shouldPrefetchOnOpen</a></span>()</code> </td>
</tr>
-<tr id="i24" class="altColor">
+<tr id="i15" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#shouldReadBlockFromCache-org.apache.hadoop.hbase.io.hfile.BlockType-">shouldReadBlockFromCache</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockType</a> blockType)</code>
<div class="block">Return true if we may find this type of block in block cache.</div>
</td>
</tr>
-<tr id="i25" class="rowColor">
+<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#toString--">toString</a></span>()</code> </td>
</tr>
@@ -604,7 +456,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>LOG</h4>
-<pre>private static final org.slf4j.Logger <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.45">LOG</a></pre>
+<pre>private static final org.slf4j.Logger <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.36">LOG</a></pre>
</li>
</ul>
<a name="DISABLED">
@@ -613,7 +465,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>DISABLED</h4>
-<pre>public static final <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.51">DISABLED</a></pre>
+<pre>public static final <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.41">DISABLED</a></pre>
<div class="block">Disabled cache configuration</div>
</li>
</ul>
@@ -623,7 +475,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>CACHE_DATA_ON_READ_KEY</h4>
-<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.57">CACHE_DATA_ON_READ_KEY</a></pre>
+<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.47">CACHE_DATA_ON_READ_KEY</a></pre>
<div class="block">Configuration key to cache data blocks on read. Bloom blocks and index blocks are always be
cached if the block cache is enabled.</div>
<dl>
@@ -638,7 +490,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>CACHE_BLOCKS_ON_WRITE_KEY</h4>
-<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.63">CACHE_BLOCKS_ON_WRITE_KEY</a></pre>
+<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.53">CACHE_BLOCKS_ON_WRITE_KEY</a></pre>
<div class="block">Configuration key to cache data blocks on write. There are separate
switches for bloom blocks and non-root index blocks.</div>
<dl>
@@ -653,7 +505,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>CACHE_INDEX_BLOCKS_ON_WRITE_KEY</h4>
-<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.70">CACHE_INDEX_BLOCKS_ON_WRITE_KEY</a></pre>
+<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.59">CACHE_INDEX_BLOCKS_ON_WRITE_KEY</a></pre>
<div class="block">Configuration key to cache leaf and intermediate-level index blocks on
write.</div>
<dl>
@@ -668,7 +520,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>CACHE_BLOOM_BLOCKS_ON_WRITE_KEY</h4>
-<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.76">CACHE_BLOOM_BLOCKS_ON_WRITE_KEY</a></pre>
+<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.64">CACHE_BLOOM_BLOCKS_ON_WRITE_KEY</a></pre>
<div class="block">Configuration key to cache compound bloom filter blocks on write.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
@@ -682,7 +534,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>CACHE_DATA_BLOCKS_COMPRESSED_KEY</h4>
-<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.82">CACHE_DATA_BLOCKS_COMPRESSED_KEY</a></pre>
+<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.69">CACHE_DATA_BLOCKS_COMPRESSED_KEY</a></pre>
<div class="block">Configuration key to cache data blocks in compressed and/or encrypted format.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
@@ -696,7 +548,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>EVICT_BLOCKS_ON_CLOSE_KEY</h4>
-<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.89">EVICT_BLOCKS_ON_CLOSE_KEY</a></pre>
+<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.75">EVICT_BLOCKS_ON_CLOSE_KEY</a></pre>
<div class="block">Configuration key to evict all blocks of a given file from the block cache
when the file is closed.</div>
<dl>
@@ -705,101 +557,13 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
</dl>
</li>
</ul>
-<a name="BUCKET_CACHE_PERSISTENT_PATH_KEY">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>BUCKET_CACHE_PERSISTENT_PATH_KEY</h4>
-<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.106">BUCKET_CACHE_PERSISTENT_PATH_KEY</a></pre>
-<div class="block">If the chosen ioengine can persist its state across restarts, the path to the file to persist
- to. This file is NOT the data file. It is a file into which we will serialize the map of
- what is in the data file. For example, if you pass the following argument as
- BUCKET_CACHE_IOENGINE_KEY ("hbase.bucketcache.ioengine"),
- <code>file:/tmp/bucketcache.data </code>, then we will write the bucketcache data to the file
- <code>/tmp/bucketcache.data</code> but the metadata on where the data is in the supplied file
- is an in-memory map that needs to be persisted across restarts. Where to store this
- in-memory state is what you supply here: e.g. <code>/tmp/bucketcache.map</code>.</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.CacheConfig.BUCKET_CACHE_PERSISTENT_PATH_KEY">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="BUCKET_CACHE_WRITER_THREADS_KEY">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>BUCKET_CACHE_WRITER_THREADS_KEY</h4>
-<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.109">BUCKET_CACHE_WRITER_THREADS_KEY</a></pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.CacheConfig.BUCKET_CACHE_WRITER_THREADS_KEY">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="BUCKET_CACHE_WRITER_QUEUE_KEY">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>BUCKET_CACHE_WRITER_QUEUE_KEY</h4>
-<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.110">BUCKET_CACHE_WRITER_QUEUE_KEY</a></pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.CacheConfig.BUCKET_CACHE_WRITER_QUEUE_KEY">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="BUCKET_CACHE_BUCKETS_KEY">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>BUCKET_CACHE_BUCKETS_KEY</h4>
-<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.116">BUCKET_CACHE_BUCKETS_KEY</a></pre>
-<div class="block">A comma-delimited array of values for use as bucket sizes.</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.CacheConfig.BUCKET_CACHE_BUCKETS_KEY">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="DEFAULT_BUCKET_CACHE_WRITER_THREADS">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>DEFAULT_BUCKET_CACHE_WRITER_THREADS</h4>
-<pre>public static final int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.121">DEFAULT_BUCKET_CACHE_WRITER_THREADS</a></pre>
-<div class="block">Defaults for Bucket cache</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.CacheConfig.DEFAULT_BUCKET_CACHE_WRITER_THREADS">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="DEFAULT_BUCKET_CACHE_WRITER_QUEUE">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>DEFAULT_BUCKET_CACHE_WRITER_QUEUE</h4>
-<pre>public static final int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.122">DEFAULT_BUCKET_CACHE_WRITER_QUEUE</a></pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.CacheConfig.DEFAULT_BUCKET_CACHE_WRITER_QUEUE">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
<a name="PREFETCH_BLOCKS_ON_OPEN_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PREFETCH_BLOCKS_ON_OPEN_KEY</h4>
-<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.128">PREFETCH_BLOCKS_ON_OPEN_KEY</a></pre>
+<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.81">PREFETCH_BLOCKS_ON_OPEN_KEY</a></pre>
<div class="block">Configuration key to prefetch all blocks of a given file into the block cache
when the file is opened.</div>
<dl>
@@ -808,95 +572,26 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
</dl>
</li>
</ul>
-<a name="BLOCKCACHE_BLOCKSIZE_KEY">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>BLOCKCACHE_BLOCKSIZE_KEY</h4>
-<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.137">BLOCKCACHE_BLOCKSIZE_KEY</a></pre>
-<div class="block">The target block size used by blockcache instances. Defaults to
- <a href="../../../../../../org/apache/hadoop/hbase/HConstants.html#DEFAULT_BLOCKSIZE"><code>HConstants.DEFAULT_BLOCKSIZE</code></a>.
- TODO: this config point is completely wrong, as it's used to determine the
- target block size of BlockCache instances. Rename.</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.CacheConfig.BLOCKCACHE_BLOCKSIZE_KEY">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="EXTERNAL_BLOCKCACHE_KEY">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>EXTERNAL_BLOCKCACHE_KEY</h4>
-<pre>private static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.139">EXTERNAL_BLOCKCACHE_KEY</a></pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.CacheConfig.EXTERNAL_BLOCKCACHE_KEY">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="EXTERNAL_BLOCKCACHE_DEFAULT">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>EXTERNAL_BLOCKCACHE_DEFAULT</h4>
-<pre>private static final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.140">EXTERNAL_BLOCKCACHE_DEFAULT</a></pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.CacheConfig.EXTERNAL_BLOCKCACHE_DEFAULT">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="EXTERNAL_BLOCKCACHE_CLASS_KEY">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>EXTERNAL_BLOCKCACHE_CLASS_KEY</h4>
-<pre>private static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.142">EXTERNAL_BLOCKCACHE_CLASS_KEY</a></pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.CacheConfig.EXTERNAL_BLOCKCACHE_CLASS_KEY">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
<a name="DROP_BEHIND_CACHE_COMPACTION_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DROP_BEHIND_CACHE_COMPACTION_KEY</h4>
-<pre>private static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.143">DROP_BEHIND_CACHE_COMPACTION_KEY</a></pre>
+<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.83">DROP_BEHIND_CACHE_COMPACTION_KEY</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.CacheConfig.DROP_BEHIND_CACHE_COMPACTION_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
-<a name="DROP_BEHIND_CACHE_COMPACTION_DEFAULT">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>DROP_BEHIND_CACHE_COMPACTION_DEFAULT</h4>
-<pre>private static final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.145">DROP_BEHIND_CACHE_COMPACTION_DEFAULT</a></pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.CacheConfig.DROP_BEHIND_CACHE_COMPACTION_DEFAULT">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
<a name="DEFAULT_CACHE_DATA_ON_READ">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_CACHE_DATA_ON_READ</h4>
-<pre>public static final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.168">DEFAULT_CACHE_DATA_ON_READ</a></pre>
+<pre>public static final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.87">DEFAULT_CACHE_DATA_ON_READ</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.CacheConfig.DEFAULT_CACHE_DATA_ON_READ">Constant Field Values</a></dd>
@@ -909,7 +604,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_CACHE_DATA_ON_WRITE</h4>
-<pre>public static final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.169">DEFAULT_CACHE_DATA_ON_WRITE</a></pre>
+<pre>public static final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.88">DEFAULT_CACHE_DATA_ON_WRITE</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.CacheConfig.DEFAULT_CACHE_DATA_ON_WRITE">Constant Field Values</a></dd>
@@ -922,7 +617,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_IN_MEMORY</h4>
-<pre>public static final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.170">DEFAULT_IN_MEMORY</a></pre>
+<pre>public static final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.89">DEFAULT_IN_MEMORY</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.CacheConfig.DEFAULT_IN_MEMORY">Constant Field Values</a></dd>
@@ -935,7 +630,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_CACHE_INDEXES_ON_WRITE</h4>
-<pre>public static final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.171">DEFAULT_CACHE_INDEXES_ON_WRITE</a></pre>
+<pre>public static final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.90">DEFAULT_CACHE_INDEXES_ON_WRITE</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.CacheConfig.DEFAULT_CACHE_INDEXES_ON_WRITE">Constant Field Values</a></dd>
@@ -948,7 +643,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_CACHE_BLOOMS_ON_WRITE</h4>
-<pre>public static final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.172">DEFAULT_CACHE_BLOOMS_ON_WRITE</a></pre>
+<pre>public static final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.91">DEFAULT_CACHE_BLOOMS_ON_WRITE</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.CacheConfig.DEFAULT_CACHE_BLOOMS_ON_WRITE">Constant Field Values</a></dd>
@@ -961,7 +656,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_EVICT_ON_CLOSE</h4>
-<pre>public static final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.173">DEFAULT_EVICT_ON_CLOSE</a></pre>
+<pre>public static final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.92">DEFAULT_EVICT_ON_CLOSE</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.CacheConfig.DEFAULT_EVICT_ON_CLOSE">Constant Field Values</a></dd>
@@ -974,7 +669,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_CACHE_DATA_COMPRESSED</h4>
-<pre>public static final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.174">DEFAULT_CACHE_DATA_COMPRESSED</a></pre>
+<pre>public static final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.93">DEFAULT_CACHE_DATA_COMPRESSED</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.CacheConfig.DEFAULT_CACHE_DATA_COMPRESSED">Constant Field Values</a></dd>
@@ -987,21 +682,24 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_PREFETCH_ON_OPEN</h4>
-<pre>public static final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.175">DEFAULT_PREFETCH_ON_OPEN</a></pre>
+<pre>public static final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.94">DEFAULT_PREFETCH_ON_OPEN</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.CacheConfig.DEFAULT_PREFETCH_ON_OPEN">Constant Field Values</a></dd>
</dl>
</li>
</ul>
-<a name="blockCache">
+<a name="DROP_BEHIND_CACHE_COMPACTION_DEFAULT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>blockCache</h4>
-<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.178">blockCache</a></pre>
-<div class="block">Local reference to the block cache, null if completely disabled</div>
+<h4>DROP_BEHIND_CACHE_COMPACTION_DEFAULT</h4>
+<pre>public static final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.95">DROP_BEHIND_CACHE_COMPACTION_DEFAULT</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.CacheConfig.DROP_BEHIND_CACHE_COMPACTION_DEFAULT">Constant Field Values</a></dd>
+</dl>
</li>
</ul>
<a name="cacheDataOnRead">
@@ -1010,7 +708,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>cacheDataOnRead</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.186">cacheDataOnRead</a></pre>
+<pre>private final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.103">cacheDataOnRead</a></pre>
<div class="block">Whether blocks should be cached on read (default is on if there is a
cache but this can be turned off on a per-family or per-request basis).
If off we will STILL cache meta blocks; i.e. INDEX and BLOOM types.
@@ -1023,7 +721,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>inMemory</h4>
-<pre>private final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.189">inMemory</a></pre>
+<pre>private final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.106">inMemory</a></pre>
<div class="block">Whether blocks should be flagged as in-memory when being cached</div>
</li>
</ul>
@@ -1033,7 +731,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>cacheDataOnWrite</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.192">cacheDataOnWrite</a></pre>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.109">cacheDataOnWrite</a></pre>
<div class="block">Whether data blocks should be cached when new files are written</div>
</li>
</ul>
@@ -1043,7 +741,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>cacheIndexesOnWrite</h4>
-<pre>private final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.195">cacheIndexesOnWrite</a></pre>
+<pre>private final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.112">cacheIndexesOnWrite</a></pre>
<div class="block">Whether index blocks should be cached when new files are written</div>
</li>
</ul>
@@ -1053,7 +751,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>cacheBloomsOnWrite</h4>
-<pre>private final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.198">cacheBloomsOnWrite</a></pre>
+<pre>private final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.115">cacheBloomsOnWrite</a></pre>
<div class="block">Whether compound bloom filter blocks should be cached on write</div>
</li>
</ul>
@@ -1063,7 +761,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>evictOnClose</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.201">evictOnClose</a></pre>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.118">evictOnClose</a></pre>
<div class="block">Whether blocks of a file should be evicted when the file is closed</div>
</li>
</ul>
@@ -1073,7 +771,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>cacheDataCompressed</h4>
-<pre>private final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.204">cacheDataCompressed</a></pre>
+<pre>private final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.121">cacheDataCompressed</a></pre>
<div class="block">Whether data blocks should be stored in compressed and/or encrypted form in the cache</div>
</li>
</ul>
@@ -1083,7 +781,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>prefetchOnOpen</h4>
-<pre>private final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.207">prefetchOnOpen</a></pre>
+<pre>private final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.124">prefetchOnOpen</a></pre>
<div class="block">Whether data blocks should be prefetched into the cache</div>
</li>
</ul>
@@ -1093,46 +791,16 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>dropBehindCompaction</h4>
-<pre>private final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.209">dropBehindCompaction</a></pre>
-</li>
-</ul>
-<a name="GLOBAL_BLOCK_CACHE_INSTANCE">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>GLOBAL_BLOCK_CACHE_INSTANCE</h4>
-<pre>static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.505">GLOBAL_BLOCK_CACHE_INSTANCE</a></pre>
-<div class="block">Static reference to the block cache, or null if no caching should be used
- at all.</div>
-</li>
-</ul>
-<a name="ONHEAP_CACHE_INSTANCE">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>ONHEAP_CACHE_INSTANCE</h4>
-<pre>private static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/LruBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile">LruBlockCache</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.506">ONHEAP_CACHE_INSTANCE</a></pre>
-</li>
-</ul>
-<a name="L2_CACHE_INSTANCE">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>L2_CACHE_INSTANCE</h4>
-<pre>private static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.507">L2_CACHE_INSTANCE</a></pre>
+<pre>private final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.126">dropBehindCompaction</a></pre>
</li>
</ul>
-<a name="blockCacheDisabled">
+<a name="blockCache">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
-<h4>blockCacheDisabled</h4>
-<pre>static boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.511">blockCacheDisabled</a></pre>
-<div class="block">Boolean whether we have disabled the block cache entirely.</div>
+<h4>blockCache</h4>
+<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.129">blockCache</a></pre>
</li>
</ul>
</li>
@@ -1143,72 +811,46 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<!-- -->
</a>
<h3>Constructor Detail</h3>
-<a name="CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">
+<a name="CacheConfig-org.apache.hadoop.conf.Configuration-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CacheConfig</h4>
-<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.217">CacheConfig</a>(org.apache.hadoop.conf.Configuration conf,
- <a href="../../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a> family)</pre>
+<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.136">CacheConfig</a>(org.apache.hadoop.conf.Configuration conf)</pre>
<div class="block">Create a cache configuration using the specified configuration object and
- family descriptor.</div>
+ defaults for family level settings. Only use if no column family context.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>conf</code> - hbase configuration</dd>
-<dd><code>family</code> - column family configuration</dd>
</dl>
</li>
</ul>
-<a name="CacheConfig-org.apache.hadoop.conf.Configuration-">
+<a name="CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.io.hfile.BlockCache-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CacheConfig</h4>
-<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.247">CacheConfig</a>(org.apache.hadoop.conf.Configuration conf)</pre>
-<div class="block">Create a cache configuration using the specified configuration object and
- defaults for family level settings. Only use if no column family context. Prefer
- <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-"><code>CacheConfig(Configuration, ColumnFamilyDescriptor)</code></a></div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>conf</code> - hbase configuration</dd>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-"><code>CacheConfig(Configuration, ColumnFamilyDescriptor)</code></a></dd>
-</dl>
+<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.140">CacheConfig</a>(org.apache.hadoop.conf.Configuration conf,
+ <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache)</pre>
</li>
</ul>
-<a name="CacheConfig-org.apache.hadoop.hbase.io.hfile.BlockCache-boolean-boolean-boolean-boolean-boolean-boolean-boolean-boolean-boolean-">
+<a name="CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-org.apache.hadoop.hbase.io.hfile.BlockCache-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CacheConfig</h4>
-<pre><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.278">CacheConfig</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache,
- boolean cacheDataOnRead,
- boolean inMemory,
- boolean cacheDataOnWrite,
- boolean cacheIndexesOnWrite,
- boolean cacheBloomsOnWrite,
- boolean evictOnClose,
- boolean cacheDataCompressed,
- boolean prefetchOnOpen,
- boolean dropBehindCompaction)</pre>
-<div class="block">Create a block cache configuration with the specified cache and configuration parameters.</div>
+<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.150">CacheConfig</a>(org.apache.hadoop.conf.Configuration conf,
+ <a href="../../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a> family,
+ <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache)</pre>
+<div class="block">Create a cache configuration using the specified configuration object and
+ family descriptor.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>blockCache</code> - reference to block cache, null if completely disabled</dd>
-<dd><code>cacheDataOnRead</code> - whether DATA blocks should be cached on read (we always cache INDEX
- blocks and BLOOM blocks; this cannot be disabled).</dd>
-<dd><code>inMemory</code> - whether blocks should be flagged as in-memory</dd>
-<dd><code>cacheDataOnWrite</code> - whether data blocks should be cached on write</dd>
-<dd><code>cacheIndexesOnWrite</code> - whether index blocks should be cached on write</dd>
-<dd><code>cacheBloomsOnWrite</code> - whether blooms should be cached on write</dd>
-<dd><code>evictOnClose</code> - whether blocks should be evicted when HFile is closed</dd>
-<dd><code>cacheDataCompressed</code> - whether to store blocks as compressed in the cache</dd>
-<dd><code>prefetchOnOpen</code> - whether to prefetch blocks upon open</dd>
-<dd><code>dropBehindCompaction</code> - indicate that we should set drop behind to true when open a store
- file reader for compaction</dd>
+<dd><code>conf</code> - hbase configuration</dd>
+<dd><code>family</code> - column family configuration</dd>
</dl>
</li>
</ul>
@@ -1218,7 +860,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>CacheConfig</h4>
-<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.300">CacheConfig</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConf)</pre>
+<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.182">CacheConfig</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConf)</pre>
<div class="block">Constructs a cache configuration copied from the specified configuration.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -1232,7 +874,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>CacheConfig</h4>
-<pre>private <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.308">CacheConfig</a>()</pre>
+<pre>private <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.195">CacheConfig</a>()</pre>
</li>
</ul>
</li>
@@ -1243,37 +885,13 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<!-- -->
</a>
<h3>Method Detail</h3>
-<a name="isBlockCacheEnabled--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isBlockCacheEnabled</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.315">isBlockCacheEnabled</a>()</pre>
-<div class="block">Checks whether the block cache is enabled.</div>
-</li>
-</ul>
-<a name="getBlockCache--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getBlockCache</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.323">getBlockCache</a>()</pre>
-<div class="block">Returns the block cache.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the block cache, or null if caching is completely disabled</dd>
-</dl>
-</li>
-</ul>
<a name="shouldCacheDataOnRead--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldCacheDataOnRead</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.332">shouldCacheDataOnRead</a>()</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.213">shouldCacheDataOnRead</a>()</pre>
<div class="block">Returns whether the DATA blocks of this HFile should be cached on read or not (we always
cache the meta blocks, the INDEX and BLOOM blocks).</div>
<dl>
@@ -1288,7 +906,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>shouldDropBehindCompaction</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.336">shouldDropBehindCompaction</a>()</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.217">shouldDropBehindCompaction</a>()</pre>
</li>
</ul>
<a name="shouldCacheBlockOnRead-org.apache.hadoop.hbase.io.hfile.BlockType.BlockCategory-">
@@ -1297,7 +915,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>shouldCacheBlockOnRead</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.345">shouldCacheBlockOnRead</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockType.BlockCategory</a> category)</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.226">shouldCacheBlockOnRead</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockType.BlockCategory</a> category)</pre>
<div class="block">Should we cache a block of a particular category? We always cache
important blocks such as index blocks, as long as the block cache is
available.</div>
@@ -1309,7 +927,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>isInMemory</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.358">isInMemory</a>()</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.234">isInMemory</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if blocks in this file should be flagged as in-memory</dd>
@@ -1322,7 +940,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>shouldCacheDataOnWrite</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.366">shouldCacheDataOnWrite</a>()</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.242">shouldCacheDataOnWrite</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if data blocks should be written to the cache when an HFile is
@@ -1336,8 +954,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>setCacheDataOnWrite</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.376">setCacheDataOnWrite</a>(boolean cacheDataOnWrite)</pre>
-<div class="block">Only used for testing.</div>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.251">setCacheDataOnWrite</a>(boolean cacheDataOnWrite)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>cacheDataOnWrite</code> - whether data blocks should be written to the cache
@@ -1351,7 +968,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>shouldCacheIndexesOnWrite</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.384">shouldCacheIndexesOnWrite</a>()</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.259">shouldCacheIndexesOnWrite</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if index blocks should be written to the cache when an HFile
@@ -1365,7 +982,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>shouldCacheBloomsOnWrite</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.392">shouldCacheBloomsOnWrite</a>()</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.267">shouldCacheBloomsOnWrite</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if bloom blocks should be written to the cache when an HFile
@@ -1379,7 +996,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>shouldEvictOnClose</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.400">shouldEvictOnClose</a>()</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.275">shouldEvictOnClose</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if blocks should be evicted from the cache when an HFile
@@ -1393,7 +1010,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>setEvictOnClose</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.409">setEvictOnClose</a>(boolean evictOnClose)</pre>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.285">setEvictOnClose</a>(boolean evictOnClose)</pre>
<div class="block">Only used for testing.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -1408,7 +1025,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>shouldCacheDataCompressed</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.416">shouldCacheDataCompressed</a>()</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.292">shouldCacheDataCompressed</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if data blocks should be compressed in the cache, false if not</dd>
@@ -1421,7 +1038,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>shouldCacheCompressed</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.423">shouldCacheCompressed</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockType.BlockCategory</a> category)</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.299">shouldCacheCompressed</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockType.BlockCategory</a> category)</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html" title="enum in org.apache.hadoop.hbase.io.hfile"><code>BlockType.BlockCategory</code></a> should be compressed in blockcache, false otherwise</dd>
@@ -1434,7 +1051,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>shouldPrefetchOnOpen</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.436">shouldPrefetchOnOpen</a>()</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.311">shouldPrefetchOnOpen</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if blocks should be prefetched into the cache on open, false if not</dd>
@@ -1447,7 +1064,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>shouldReadBlockFromCache</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.448">shouldReadBlockFromCache</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockType</a> blockType)</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.323">shouldReadBlockFromCache</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockType</a> blockType)</pre>
<div class="block">Return true if we may find this type of block in block cache.
<p>
TODO: today <code>family.isBlockCacheEnabled()</code> only means <code>cacheDataOnRead</code>, so here we
@@ -1462,116 +1079,38 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>shouldLockOnCacheMiss</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.475">shouldLockOnCacheMiss</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockType</a> blockType)</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.347">shouldLockOnCacheMiss</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockType</a> blockType)</pre>
<div class="block">If we make sure the block could not be cached, we will not acquire the lock
otherwise we will acquire lock</div>
</li>
</ul>
-<a name="toString--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>toString</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.483">toString</a>()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code> in class <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="getOnHeapCache-org.apache.hadoop.conf.Configuration-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getOnHeapCache</h4>
-<pre>public static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/LruBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile">LruBlockCache</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.517">getOnHeapCache</a>(org.apache.hadoop.conf.Configuration c)</pre>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>c</code> - Configuration to use.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>An L1 instance. Currently an instance of LruBlockCache.</dd>
-</dl>
-</li>
-</ul>
-<a name="getOnHeapCacheStats--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getOnHeapCacheStats</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.521">getOnHeapCacheStats</a>()</pre>
-</li>
-</ul>
-<a name="getL2CacheStats--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getL2CacheStats</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.528">getL2CacheStats</a>()</pre>
-</li>
-</ul>
-<a name="getOnHeapCacheInternal-org.apache.hadoop.conf.Configuration-">
+<a name="getBlockCache--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getOnHeapCacheInternal</h4>
-<pre>private static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/LruBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile">LruBlockCache</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.539">getOnHeapCacheInternal</a>(org.apache.hadoop.conf.Configuration c)</pre>
+<h4>getBlockCache</h4>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.359">getBlockCache</a>()</pre>
+<div class="block">Returns the block cache.</div>
<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>c</code> - Configuration to use.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
-<dd>An L1 instance. Currently an instance of LruBlockCache.</dd>
+<dd>the block cache, or null if caching is completely disabled</dd>
</dl>
</li>
</ul>
-<a name="getExternalBlockcache-org.apache.hadoop.conf.Configuration-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getExternalBlockcache</h4>
-<pre>private static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.555">getExternalBlockcache</a>(org.apache.hadoop.conf.Configuration c)</pre>
-</li>
-</ul>
-<a name="getBucketCache-org.apache.hadoop.conf.Configuration-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getBucketCache</h4>
-<pre>static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.585">getBucketCache</a>(org.apache.hadoop.conf.Configuration c)</pre>
-</li>
-</ul>
-<a name="instantiateBlockCache-org.apache.hadoop.conf.Configuration-">
+<a na
<TRUNCATED>
[37/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/master/ServerManager.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/ServerManager.html b/devapidocs/org/apache/hadoop/hbase/master/ServerManager.html
index 7236e62..481c48b 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/ServerManager.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/ServerManager.html
@@ -1289,7 +1289,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>moveFromOnlineToDeadServers</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.621">moveFromOnlineToDeadServers</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.624">moveFromOnlineToDeadServers</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</pre>
</li>
</ul>
<a name="removeServerFromDrainList-org.apache.hadoop.hbase.ServerName-">
@@ -1298,7 +1298,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>removeServerFromDrainList</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.639">removeServerFromDrainList</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.642">removeServerFromDrainList</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</pre>
</li>
</ul>
<a name="addServerToDrainList-org.apache.hadoop.hbase.ServerName-">
@@ -1307,7 +1307,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>addServerToDrainList</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.656">addServerToDrainList</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.659">addServerToDrainList</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</pre>
<div class="block">Add the server to the drain list.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -1323,7 +1323,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>newRpcController</h4>
-<pre>private <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRpcController.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRpcController</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.678">newRpcController</a>()</pre>
+<pre>private <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRpcController.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRpcController</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.681">newRpcController</a>()</pre>
</li>
</ul>
<a name="sendRegionWarmup-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.client.RegionInfo-">
@@ -1332,7 +1332,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>sendRegionWarmup</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.690">sendRegionWarmup</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> server,
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.693">sendRegionWarmup</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> server,
<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> region)</pre>
<div class="block">Sends a WARMUP RPC to the specified server to warmup the specified region.
<p>
@@ -1351,7 +1351,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>closeRegionSilentlyAndWait</h4>
-<pre>public static void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.708">closeRegionSilentlyAndWait</a>(<a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a> connection,
+<pre>public static void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.711">closeRegionSilentlyAndWait</a>(<a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a> connection,
<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> server,
<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> region,
long timeout)
@@ -1372,7 +1372,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getRsAdmin</h4>
-<pre>public org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService.BlockingInterface <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.742">getRsAdmin</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)
+<pre>public org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService.BlockingInterface <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.745">getRsAdmin</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -1391,7 +1391,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getMinToStart</h4>
-<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.763">getMinToStart</a>()</pre>
+<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.766">getMinToStart</a>()</pre>
<div class="block">Calculate min necessary to start. This is not an absolute. It is just
a friction that will cause us hang around a bit longer waiting on
RegionServers to check-in.</div>
@@ -1403,7 +1403,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>waitForRegionServers</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.795">waitForRegionServers</a>(<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a> status)
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.798">waitForRegionServers</a>(<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a> status)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
<div class="block">Wait for the region servers to report in.
We will wait until one of this condition is met:
@@ -1426,7 +1426,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getStrForMax</h4>
-<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.862">getStrForMax</a>(int max)</pre>
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.865">getStrForMax</a>(int max)</pre>
</li>
</ul>
<a name="getOnlineServersList--">
@@ -1435,7 +1435,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getOnlineServersList</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.869">getOnlineServersList</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.872">getOnlineServersList</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A copy of the internal list of online servers.</dd>
@@ -1448,7 +1448,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getOnlineServersListWithPredicator</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.880">getOnlineServersListWithPredicator</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> keys,
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.883">getOnlineServersListWithPredicator</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> keys,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Predicate.html?is-external=true" title="class or interface in java.util.function">Predicate</a><<a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a>> idleServerPredicator)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -1465,7 +1465,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getDrainingServersList</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.899">getDrainingServersList</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.902">getDrainingServersList</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A copy of the internal list of draining servers.</dd>
@@ -1478,7 +1478,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>isServerOnline</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.903">isServerOnline</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.906">isServerOnline</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</pre>
</li>
</ul>
<a name="isServerDead-org.apache.hadoop.hbase.ServerName-">
@@ -1487,7 +1487,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>isServerDead</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.913">isServerDead</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.916">isServerDead</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</pre>
<div class="block">Check if a server is known to be dead. A server can be online,
or known to be dead, or unknown to this manager (i.e, not online,
not known to be dead either. it is simply not tracked by the
@@ -1500,7 +1500,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>shutdownCluster</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.917">shutdownCluster</a>()</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.920">shutdownCluster</a>()</pre>
</li>
</ul>
<a name="isClusterShutdown--">
@@ -1509,7 +1509,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>isClusterShutdown</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.927">isClusterShutdown</a>()</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.930">isClusterShutdown</a>()</pre>
</li>
</ul>
<a name="startChore--">
@@ -1518,7 +1518,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>startChore</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.934">startChore</a>()</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.937">startChore</a>()</pre>
<div class="block">start chore in ServerManager</div>
</li>
</ul>
@@ -1528,7 +1528,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>stop</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.950">stop</a>()</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.953">stop</a>()</pre>
<div class="block">Stop the ServerManager.</div>
</li>
</ul>
@@ -1538,7 +1538,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>createDestinationServersList</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.969">createDestinationServersList</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> serversToExclude)</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.972">createDestinationServersList</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> serversToExclude)</pre>
<div class="block">Creates a list of possible destinations for a region. It contains the online servers, but not
the draining or dying servers.</div>
<dl>
@@ -1553,7 +1553,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>createDestinationServersList</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.986">createDestinationServersList</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.989">createDestinationServersList</a>()</pre>
<div class="block">Calls <a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#createDestinationServersList-java.util.List-"><code>createDestinationServersList(java.util.List<org.apache.hadoop.hbase.ServerName>)</code></a> without server to exclude.</div>
</li>
</ul>
@@ -1563,7 +1563,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>clearDeadServersWithSameHostNameAndPortOfOnlineServer</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.993">clearDeadServersWithSameHostNameAndPortOfOnlineServer</a>()</pre>
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.996">clearDeadServersWithSameHostNameAndPortOfOnlineServer</a>()</pre>
<div class="block">To clear any dead server with same host name and port of any online server</div>
</li>
</ul>
@@ -1573,7 +1573,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>removeRegion</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.1002">removeRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> regionInfo)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.1005">removeRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> regionInfo)</pre>
<div class="block">Called by delete table and similar to notify the ServerManager that a region was removed.</div>
</li>
</ul>
@@ -1583,7 +1583,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>isRegionInServerManagerStates</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.1009">isRegionInServerManagerStates</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> hri)</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.1012">isRegionInServerManagerStates</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> hri)</pre>
</li>
</ul>
<a name="removeRegions-java.util.List-">
@@ -1592,7 +1592,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>removeRegions</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.1018">removeRegions</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>> regions)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.1021">removeRegions</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>> regions)</pre>
<div class="block">Called by delete table and similar to notify the ServerManager that a region was removed.</div>
</li>
</ul>
@@ -1602,7 +1602,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getVersionNumber</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.1027">getVersionNumber</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.1030">getVersionNumber</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</pre>
<div class="block">May return 0 when server is not online.</div>
</li>
</ul>
@@ -1612,7 +1612,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getVersion</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.1035">getVersion</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.1038">getVersion</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</pre>
<div class="block">May return "0.0.0" when server is not online</div>
</li>
</ul>
@@ -1622,7 +1622,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getInfoPort</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.1040">getInfoPort</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.1043">getInfoPort</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</pre>
</li>
</ul>
<a name="persistRegionLastFlushedSequenceIds--">
@@ -1631,7 +1631,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>persistRegionLastFlushedSequenceIds</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.1049">persistRegionLastFlushedSequenceIds</a>()
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.1052">persistRegionLastFlushedSequenceIds</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Persist last flushed sequence id of each region to HDFS</div>
<dl>
@@ -1646,7 +1646,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>loadLastFlushedSequenceIds</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.1106">loadLastFlushedSequenceIds</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.1109">loadLastFlushedSequenceIds</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Load last flushed sequence id of each region from HDFS, if persisted</div>
<dl>
@@ -1661,7 +1661,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>removeDeletedRegionFromLoadedFlushedSequenceIds</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.1155">removeDeletedRegionFromLoadedFlushedSequenceIds</a>()</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.1158">removeDeletedRegionFromLoadedFlushedSequenceIds</a>()</pre>
<div class="block">Regions may have been removed between latest persist of FlushedSequenceIds
and master abort. So after loading FlushedSequenceIds from file, and after
meta loaded, we need to remove the deleted region according to RegionStates.</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html b/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html
index ff41797..05ec9c0 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html
@@ -1147,7 +1147,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>STATES_EXPECTED_ON_OPEN</h4>
-<pre>private static final <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1430">STATES_EXPECTED_ON_OPEN</a></pre>
+<pre>private static final <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1442">STATES_EXPECTED_ON_OPEN</a></pre>
</li>
</ul>
<a name="STATES_EXPECTED_ON_CLOSING">
@@ -1156,7 +1156,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>STATES_EXPECTED_ON_CLOSING</h4>
-<pre>private static final <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1435">STATES_EXPECTED_ON_CLOSING</a></pre>
+<pre>private static final <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1447">STATES_EXPECTED_ON_CLOSING</a></pre>
</li>
</ul>
<a name="STATES_EXPECTED_ON_CLOSED">
@@ -1165,7 +1165,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>STATES_EXPECTED_ON_CLOSED</h4>
-<pre>private static final <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1442">STATES_EXPECTED_ON_CLOSED</a></pre>
+<pre>private static final <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1454">STATES_EXPECTED_ON_CLOSED</a></pre>
</li>
</ul>
<a name="STATES_EXPECTED_ON_ASSIGN">
@@ -1174,7 +1174,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>STATES_EXPECTED_ON_ASSIGN</h4>
-<pre>private static final <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1449">STATES_EXPECTED_ON_ASSIGN</a></pre>
+<pre>private static final <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1461">STATES_EXPECTED_ON_ASSIGN</a></pre>
</li>
</ul>
<a name="STATES_EXPECTED_ON_UNASSIGN_OR_MOVE">
@@ -1183,7 +1183,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>STATES_EXPECTED_ON_UNASSIGN_OR_MOVE</h4>
-<pre>private static final <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1452">STATES_EXPECTED_ON_UNASSIGN_OR_MOVE</a></pre>
+<pre>private static final <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1464">STATES_EXPECTED_ON_UNASSIGN_OR_MOVE</a></pre>
</li>
</ul>
<a name="pendingAssignQueue">
@@ -1192,7 +1192,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>pendingAssignQueue</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a><<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1627">pendingAssignQueue</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a><<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1639">pendingAssignQueue</a></pre>
</li>
</ul>
<a name="assignQueueLock">
@@ -1201,7 +1201,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>assignQueueLock</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantLock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1628">assignQueueLock</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantLock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1640">assignQueueLock</a></pre>
</li>
</ul>
<a name="assignQueueFullCond">
@@ -1210,7 +1210,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>assignQueueFullCond</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Condition.html?is-external=true" title="class or interface in java.util.concurrent.locks">Condition</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1629">assignQueueFullCond</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Condition.html?is-external=true" title="class or interface in java.util.concurrent.locks">Condition</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1641">assignQueueFullCond</a></pre>
</li>
</ul>
</li>
@@ -2128,7 +2128,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>offlineRegion</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1367">offlineRegion</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> regionInfo)</pre>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1379">offlineRegion</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> regionInfo)</pre>
</li>
</ul>
<a name="onlineRegion-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-">
@@ -2137,7 +2137,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>onlineRegion</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1375">onlineRegion</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> regionInfo,
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1387">onlineRegion</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> regionInfo,
<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</pre>
</li>
</ul>
@@ -2147,7 +2147,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getSnapShotOfAssignment</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1379">getSnapShotOfAssignment</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">R
egionInfo</a>> regions)</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1391">getSnapShotOfAssignment</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">R
egionInfo</a>> regions)</pre>
</li>
</ul>
<a name="getReopenStatus-org.apache.hadoop.hbase.TableName-">
@@ -2156,7 +2156,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getReopenStatus</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1394">getReopenStatus</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1406">getReopenStatus</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</pre>
<div class="block">Used by the client (via master) to identify if all regions have the schema updates</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -2174,7 +2174,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>hasRegionsInTransition</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1408">hasRegionsInTransition</a>()</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1420">hasRegionsInTransition</a>()</pre>
</li>
</ul>
<a name="getRegionsInTransition--">
@@ -2183,7 +2183,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getRegionsInTransition</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1412">getRegionsInTransition</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1424">getRegionsInTransition</a>()</pre>
</li>
</ul>
<a name="getAssignedRegions--">
@@ -2192,7 +2192,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getAssignedRegions</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1416">getAssignedRegions</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1428">getAssignedRegions</a>()</pre>
</li>
</ul>
<a name="getRegionInfo-byte:A-">
@@ -2201,7 +2201,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getRegionInfo</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1420">getRegionInfo</a>(byte[] regionName)</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1432">getRegionInfo</a>(byte[] regionName)</pre>
</li>
</ul>
<a name="transitStateAndUpdate-org.apache.hadoop.hbase.master.assignment.RegionStateNode-org.apache.hadoop.hbase.master.RegionState.State-org.apache.hadoop.hbase.master.RegionState.State...-">
@@ -2210,7 +2210,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>transitStateAndUpdate</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1458">transitStateAndUpdate</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode,
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1470">transitStateAndUpdate</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode,
<a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a> newState,
<a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>... expectedStates)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -2226,7 +2226,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>regionOpening</h4>
-<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1475">regionOpening</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode)
+<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1487">regionOpening</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -2240,7 +2240,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>regionFailedOpen</h4>
-<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1488">regionFailedOpen</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode,
+<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1500">regionFailedOpen</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode,
boolean giveUp)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
@@ -2255,7 +2255,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>regionOpened</h4>
-<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1512">regionOpened</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode)
+<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1524">regionOpened</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -2269,7 +2269,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>regionClosing</h4>
-<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1529">regionClosing</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode)
+<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1541">regionClosing</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -2283,7 +2283,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>regionClosed</h4>
-<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1545">regionClosed</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode,
+<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1557">regionClosed</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode,
boolean normally)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
@@ -2298,7 +2298,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>markRegionAsSplit</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1572">markRegionAsSplit</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> parent,
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1584">markRegionAsSplit</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> parent,
<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName,
<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> daughterA,
<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> daughterB)
@@ -2315,7 +2315,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>markRegionAsMerged</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1602">markRegionAsMerged</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> child,
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1614">markRegionAsMerged</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> child,
<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName,
<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> mother,
<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> father)
@@ -2338,7 +2338,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>shouldAssignFavoredNodes</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1619">shouldAssignFavoredNodes</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> region)</pre>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1631">shouldAssignFavoredNodes</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> region)</pre>
</li>
</ul>
<a name="queueAssign-org.apache.hadoop.hbase.master.assignment.RegionStateNode-">
@@ -2347,7 +2347,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>queueAssign</h4>
-<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1636">queueAssign</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode)</pre>
+<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1648">queueAssign</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode)</pre>
<div class="block">Add the assign operation to the assignment queue.
The pending assignment operation will be processed,
and each region will be assigned by a server using the balancer.</div>
@@ -2359,7 +2359,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>startAssignmentThread</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1653">startAssignmentThread</a>()</pre>
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1665">startAssignmentThread</a>()</pre>
</li>
</ul>
<a name="stopAssignmentThread--">
@@ -2368,7 +2368,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>stopAssignmentThread</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1671">stopAssignmentThread</a>()</pre>
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1683">stopAssignmentThread</a>()</pre>
</li>
</ul>
<a name="assignQueueSignal--">
@@ -2377,7 +2377,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>assignQueueSignal</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1684">assignQueueSignal</a>()</pre>
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1696">assignQueueSignal</a>()</pre>
</li>
</ul>
<a name="waitOnAssignQueue--">
@@ -2386,7 +2386,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>waitOnAssignQueue</h4>
-<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1694">waitOnAssignQueue</a>()</pre>
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1706">waitOnAssignQueue</a>()</pre>
</li>
</ul>
<a name="processAssignQueue--">
@@ -2395,7 +2395,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>processAssignQueue</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1719">processAssignQueue</a>()</pre>
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1731">processAssignQueue</a>()</pre>
</li>
</ul>
<a name="processAssignmentPlans-java.util.HashMap-java.util.HashMap-java.util.List-java.util.List-">
@@ -2404,7 +2404,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>processAssignmentPlans</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1781">processAssignmentPlans</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>> regions,
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1793">processAssignmentPlans</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>> regions,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> retainMap,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>> hris,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> servers)</pre>
@@ -2416,7 +2416,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>acceptPlan</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1819">acceptPlan</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>> regions,
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1831">acceptPlan</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>> regions,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>>> plan)
throws <a href="../../../../../../org/apache/hadoop/hbase/HBaseIOException.html" title="class in org.apache.hadoop.hbase">HBaseIOException</a></pre>
<dl>
@@ -2431,7 +2431,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>addToPendingAssignment</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1848">addToPendingAssignment</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>> regions,
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1860">addToPendingAssignment</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>> regions,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>> pendingRegions)</pre>
</li>
</ul>
@@ -2441,7 +2441,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getExcludedServersForSystemTable</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1864">getExcludedServersForSystemTable</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1876">getExcludedServersForSystemTable</a>()</pre>
<div class="block">Get a list of servers that this region cannot be assigned to.
For system tables, we must assign them to a server with highest version.</div>
</li>
@@ -2452,7 +2452,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>getMaster</h4>
-<pre><a href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1884">getMaster</a>()</pre>
+<pre><a href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1896">getMaster</a>()</pre>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html
index 164f281..020a1d2 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html
@@ -1215,7 +1215,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<ul class="blockList">
<li class="blockList">
<h4>cleanupMergedRegion</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.661">cleanupMergedRegion</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.662">cleanupMergedRegion</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Clean up a merged region</div>
<dl>
@@ -1232,7 +1232,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<ul class="blockList">
<li class="blockList">
<h4>rollbackCloseRegionsForMerge</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.673">rollbackCloseRegionsForMerge</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.674">rollbackCloseRegionsForMerge</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Rollback close regions</div>
<dl>
@@ -1247,7 +1247,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<ul class="blockList">
<li class="blockList">
<h4>createUnassignProcedures</h4>
-<pre>private <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">TransitRegionStateProcedure</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.678">createUnassignProcedures</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
+<pre>private <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">TransitRegionStateProcedure</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.679">createUnassignProcedures</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -1261,7 +1261,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<ul class="blockList">
<li class="blockList">
<h4>createAssignProcedures</h4>
-<pre>private <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">TransitRegionStateProcedure</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.684">createAssignProcedures</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
+<pre>private <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">TransitRegionStateProcedure</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.685">createAssignProcedures</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -1275,7 +1275,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<ul class="blockList">
<li class="blockList">
<h4>getRegionReplication</h4>
-<pre>private int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.690">getRegionReplication</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
+<pre>private int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.691">getRegionReplication</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -1289,7 +1289,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<ul class="blockList">
<li class="blockList">
<h4>preMergeRegionsCommit</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.699">preMergeRegionsCommit</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.700">preMergeRegionsCommit</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Post merge region action</div>
<dl>
@@ -1306,7 +1306,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<ul class="blockList">
<li class="blockList">
<h4>updateMetaForMergedRegions</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.720">updateMetaForMergedRegions</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.721">updateMetaForMergedRegions</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Add merged region to META and delete original regions.</div>
<dl>
@@ -1321,7 +1321,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<ul class="blockList">
<li class="blockList">
<h4>postMergeRegionsCommit</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.730">postMergeRegionsCommit</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.731">postMergeRegionsCommit</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Post merge region action</div>
<dl>
@@ -1338,7 +1338,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<ul class="blockList">
<li class="blockList">
<h4>postCompletedMergeRegions</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.741">postCompletedMergeRegions</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.742">postCompletedMergeRegions</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Post merge region action</div>
<dl>
@@ -1355,7 +1355,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<ul class="blockList">
<li class="blockList">
<h4>getServerName</h4>
-<pre>private <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.754">getServerName</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</pre>
+<pre>private <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.755">getServerName</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</pre>
<div class="block">The procedure could be restarted from a different machine. If the variable is null, we need to
retrieve it.</div>
<dl>
@@ -1372,7 +1372,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<ul class="blockList">
<li class="blockList">
<h4>writeMaxSequenceIdFile</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.766">writeMaxSequenceIdFile</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.767">writeMaxSequenceIdFile</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -1386,7 +1386,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<ul class="blockList">
<li class="blockList">
<h4>isTraceEnabled</h4>
-<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.785">isTraceEnabled</a>()</pre>
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.786">isTraceEnabled</a>()</pre>
<div class="block">The procedure could be restarted from a different machine. If the variable is null, we need to
retrieve it.</div>
<dl>
@@ -1401,7 +1401,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<ul class="blockList">
<li class="blockList">
<h4>getMergedRegion</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.796">getMergedRegion</a>()</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.797">getMergedRegion</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The merged region. Maybe be null if called to early or we failed.</dd>
@@ -1414,7 +1414,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<ul class="blockListLast">
<li class="blockList">
<h4>abort</h4>
-<pre>protected boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.801">abort</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</pre>
+<pre>protected boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.802">abort</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#abort-TEnvironment-">Procedure</a></code></span></div>
<div class="block">The abort() call is asynchronous and each procedure must decide how to deal
with it, if they want to be abortable. The simplest implementation
[05/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.NotSeekedException.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.NotSeekedException.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.NotSeekedException.html
index 79cb21b..d8d391b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.NotSeekedException.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.NotSeekedException.html
@@ -378,1508 +378,1510 @@
<span class="sourceLineNo">370</span><a name="line.370"></a>
<span class="sourceLineNo">371</span> @Override<a name="line.371"></a>
<span class="sourceLineNo">372</span> public void returnBlock(HFileBlock block) {<a name="line.372"></a>
-<span class="sourceLineNo">373</span> BlockCache blockCache = this.cacheConf.getBlockCache();<a name="line.373"></a>
-<span class="sourceLineNo">374</span> if (blockCache != null && block != null) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span> BlockCacheKey cacheKey = new BlockCacheKey(this.getFileContext().getHFileName(),<a name="line.375"></a>
-<span class="sourceLineNo">376</span> block.getOffset(), this.isPrimaryReplicaReader(), block.getBlockType());<a name="line.376"></a>
-<span class="sourceLineNo">377</span> blockCache.returnBlock(cacheKey, block);<a name="line.377"></a>
-<span class="sourceLineNo">378</span> }<a name="line.378"></a>
-<span class="sourceLineNo">379</span> }<a name="line.379"></a>
-<span class="sourceLineNo">380</span> /**<a name="line.380"></a>
-<span class="sourceLineNo">381</span> * @return the first key in the file. May be null if file has no entries. Note<a name="line.381"></a>
-<span class="sourceLineNo">382</span> * that this is not the first row key, but rather the byte form of the<a name="line.382"></a>
-<span class="sourceLineNo">383</span> * first KeyValue.<a name="line.383"></a>
-<span class="sourceLineNo">384</span> */<a name="line.384"></a>
-<span class="sourceLineNo">385</span> @Override<a name="line.385"></a>
-<span class="sourceLineNo">386</span> public Optional<Cell> getFirstKey() {<a name="line.386"></a>
-<span class="sourceLineNo">387</span> if (dataBlockIndexReader == null) {<a name="line.387"></a>
-<span class="sourceLineNo">388</span> throw new BlockIndexNotLoadedException();<a name="line.388"></a>
-<span class="sourceLineNo">389</span> }<a name="line.389"></a>
-<span class="sourceLineNo">390</span> return dataBlockIndexReader.isEmpty() ? Optional.empty()<a name="line.390"></a>
-<span class="sourceLineNo">391</span> : Optional.of(dataBlockIndexReader.getRootBlockKey(0));<a name="line.391"></a>
-<span class="sourceLineNo">392</span> }<a name="line.392"></a>
-<span class="sourceLineNo">393</span><a name="line.393"></a>
-<span class="sourceLineNo">394</span> /**<a name="line.394"></a>
-<span class="sourceLineNo">395</span> * TODO left from {@link HFile} version 1: move this to StoreFile after Ryan's<a name="line.395"></a>
-<span class="sourceLineNo">396</span> * patch goes in to eliminate {@link KeyValue} here.<a name="line.396"></a>
-<span class="sourceLineNo">397</span> *<a name="line.397"></a>
-<span class="sourceLineNo">398</span> * @return the first row key, or null if the file is empty.<a name="line.398"></a>
-<span class="sourceLineNo">399</span> */<a name="line.399"></a>
-<span class="sourceLineNo">400</span> @Override<a name="line.400"></a>
-<span class="sourceLineNo">401</span> public Optional<byte[]> getFirstRowKey() {<a name="line.401"></a>
-<span class="sourceLineNo">402</span> // We have to copy the row part to form the row key alone<a name="line.402"></a>
-<span class="sourceLineNo">403</span> return getFirstKey().map(CellUtil::cloneRow);<a name="line.403"></a>
-<span class="sourceLineNo">404</span> }<a name="line.404"></a>
-<span class="sourceLineNo">405</span><a name="line.405"></a>
-<span class="sourceLineNo">406</span> /**<a name="line.406"></a>
-<span class="sourceLineNo">407</span> * TODO left from {@link HFile} version 1: move this to StoreFile after<a name="line.407"></a>
-<span class="sourceLineNo">408</span> * Ryan's patch goes in to eliminate {@link KeyValue} here.<a name="line.408"></a>
-<span class="sourceLineNo">409</span> *<a name="line.409"></a>
-<span class="sourceLineNo">410</span> * @return the last row key, or null if the file is empty.<a name="line.410"></a>
-<span class="sourceLineNo">411</span> */<a name="line.411"></a>
-<span class="sourceLineNo">412</span> @Override<a name="line.412"></a>
-<span class="sourceLineNo">413</span> public Optional<byte[]> getLastRowKey() {<a name="line.413"></a>
-<span class="sourceLineNo">414</span> // We have to copy the row part to form the row key alone<a name="line.414"></a>
-<span class="sourceLineNo">415</span> return getLastKey().map(CellUtil::cloneRow);<a name="line.415"></a>
-<span class="sourceLineNo">416</span> }<a name="line.416"></a>
-<span class="sourceLineNo">417</span><a name="line.417"></a>
-<span class="sourceLineNo">418</span> /** @return number of KV entries in this HFile */<a name="line.418"></a>
-<span class="sourceLineNo">419</span> @Override<a name="line.419"></a>
-<span class="sourceLineNo">420</span> public long getEntries() {<a name="line.420"></a>
-<span class="sourceLineNo">421</span> return trailer.getEntryCount();<a name="line.421"></a>
-<span class="sourceLineNo">422</span> }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span> /** @return comparator */<a name="line.424"></a>
-<span class="sourceLineNo">425</span> @Override<a name="line.425"></a>
-<span class="sourceLineNo">426</span> public CellComparator getComparator() {<a name="line.426"></a>
-<span class="sourceLineNo">427</span> return comparator;<a name="line.427"></a>
-<span class="sourceLineNo">428</span> }<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span> /** @return compression algorithm */<a name="line.430"></a>
-<span class="sourceLineNo">431</span> @Override<a name="line.431"></a>
-<span class="sourceLineNo">432</span> public Compression.Algorithm getCompressionAlgorithm() {<a name="line.432"></a>
-<span class="sourceLineNo">433</span> return compressAlgo;<a name="line.433"></a>
-<span class="sourceLineNo">434</span> }<a name="line.434"></a>
-<span class="sourceLineNo">435</span><a name="line.435"></a>
-<span class="sourceLineNo">436</span> /**<a name="line.436"></a>
-<span class="sourceLineNo">437</span> * @return the total heap size of data and meta block indexes in bytes. Does<a name="line.437"></a>
-<span class="sourceLineNo">438</span> * not take into account non-root blocks of a multilevel data index.<a name="line.438"></a>
-<span class="sourceLineNo">439</span> */<a name="line.439"></a>
-<span class="sourceLineNo">440</span> @Override<a name="line.440"></a>
-<span class="sourceLineNo">441</span> public long indexSize() {<a name="line.441"></a>
-<span class="sourceLineNo">442</span> return (dataBlockIndexReader != null ? dataBlockIndexReader.heapSize() : 0)<a name="line.442"></a>
-<span class="sourceLineNo">443</span> + ((metaBlockIndexReader != null) ? metaBlockIndexReader.heapSize()<a name="line.443"></a>
-<span class="sourceLineNo">444</span> : 0);<a name="line.444"></a>
-<span class="sourceLineNo">445</span> }<a name="line.445"></a>
-<span class="sourceLineNo">446</span><a name="line.446"></a>
-<span class="sourceLineNo">447</span> @Override<a name="line.447"></a>
-<span class="sourceLineNo">448</span> public String getName() {<a name="line.448"></a>
-<span class="sourceLineNo">449</span> return name;<a name="line.449"></a>
-<span class="sourceLineNo">450</span> }<a name="line.450"></a>
-<span class="sourceLineNo">451</span><a name="line.451"></a>
-<span class="sourceLineNo">452</span> @Override<a name="line.452"></a>
-<span class="sourceLineNo">453</span> public HFileBlockIndex.BlockIndexReader getDataBlockIndexReader() {<a name="line.453"></a>
-<span class="sourceLineNo">454</span> return dataBlockIndexReader;<a name="line.454"></a>
-<span class="sourceLineNo">455</span> }<a name="line.455"></a>
-<span class="sourceLineNo">456</span><a name="line.456"></a>
-<span class="sourceLineNo">457</span> @Override<a name="line.457"></a>
-<span class="sourceLineNo">458</span> public FixedFileTrailer getTrailer() {<a name="line.458"></a>
-<span class="sourceLineNo">459</span> return trailer;<a name="line.459"></a>
-<span class="sourceLineNo">460</span> }<a name="line.460"></a>
-<span class="sourceLineNo">461</span><a name="line.461"></a>
-<span class="sourceLineNo">462</span> @Override<a name="line.462"></a>
-<span class="sourceLineNo">463</span> public boolean isPrimaryReplicaReader() {<a name="line.463"></a>
-<span class="sourceLineNo">464</span> return primaryReplicaReader;<a name="line.464"></a>
-<span class="sourceLineNo">465</span> }<a name="line.465"></a>
-<span class="sourceLineNo">466</span><a name="line.466"></a>
-<span class="sourceLineNo">467</span> @Override<a name="line.467"></a>
-<span class="sourceLineNo">468</span> public FileInfo loadFileInfo() throws IOException {<a name="line.468"></a>
-<span class="sourceLineNo">469</span> return fileInfo;<a name="line.469"></a>
-<span class="sourceLineNo">470</span> }<a name="line.470"></a>
-<span class="sourceLineNo">471</span><a name="line.471"></a>
-<span class="sourceLineNo">472</span> /**<a name="line.472"></a>
-<span class="sourceLineNo">473</span> * An exception thrown when an operation requiring a scanner to be seeked<a name="line.473"></a>
-<span class="sourceLineNo">474</span> * is invoked on a scanner that is not seeked.<a name="line.474"></a>
-<span class="sourceLineNo">475</span> */<a name="line.475"></a>
-<span class="sourceLineNo">476</span> @SuppressWarnings("serial")<a name="line.476"></a>
-<span class="sourceLineNo">477</span> public static class NotSeekedException extends IllegalStateException {<a name="line.477"></a>
-<span class="sourceLineNo">478</span> public NotSeekedException() {<a name="line.478"></a>
-<span class="sourceLineNo">479</span> super("Not seeked to a key/value");<a name="line.479"></a>
-<span class="sourceLineNo">480</span> }<a name="line.480"></a>
-<span class="sourceLineNo">481</span> }<a name="line.481"></a>
-<span class="sourceLineNo">482</span><a name="line.482"></a>
-<span class="sourceLineNo">483</span> protected static class HFileScannerImpl implements HFileScanner {<a name="line.483"></a>
-<span class="sourceLineNo">484</span> private ByteBuff blockBuffer;<a name="line.484"></a>
-<span class="sourceLineNo">485</span> protected final boolean cacheBlocks;<a name="line.485"></a>
-<span class="sourceLineNo">486</span> protected final boolean pread;<a name="line.486"></a>
-<span class="sourceLineNo">487</span> protected final boolean isCompaction;<a name="line.487"></a>
-<span class="sourceLineNo">488</span> private int currKeyLen;<a name="line.488"></a>
-<span class="sourceLineNo">489</span> private int currValueLen;<a name="line.489"></a>
-<span class="sourceLineNo">490</span> private int currMemstoreTSLen;<a name="line.490"></a>
-<span class="sourceLineNo">491</span> private long currMemstoreTS;<a name="line.491"></a>
-<span class="sourceLineNo">492</span> // Updated but never read?<a name="line.492"></a>
-<span class="sourceLineNo">493</span> protected AtomicInteger blockFetches = new AtomicInteger(0);<a name="line.493"></a>
-<span class="sourceLineNo">494</span> protected final HFile.Reader reader;<a name="line.494"></a>
-<span class="sourceLineNo">495</span> private int currTagsLen;<a name="line.495"></a>
-<span class="sourceLineNo">496</span> // buffer backed keyonlyKV<a name="line.496"></a>
-<span class="sourceLineNo">497</span> private ByteBufferKeyOnlyKeyValue bufBackedKeyOnlyKv = new ByteBufferKeyOnlyKeyValue();<a name="line.497"></a>
-<span class="sourceLineNo">498</span> // A pair for reusing in blockSeek() so that we don't garbage lot of objects<a name="line.498"></a>
-<span class="sourceLineNo">499</span> final ObjectIntPair<ByteBuffer> pair = new ObjectIntPair<>();<a name="line.499"></a>
-<span class="sourceLineNo">500</span><a name="line.500"></a>
-<span class="sourceLineNo">501</span> /**<a name="line.501"></a>
-<span class="sourceLineNo">502</span> * The next indexed key is to keep track of the indexed key of the next data block.<a name="line.502"></a>
-<span class="sourceLineNo">503</span> * If the nextIndexedKey is HConstants.NO_NEXT_INDEXED_KEY, it means that the<a name="line.503"></a>
-<span class="sourceLineNo">504</span> * current data block is the last data block.<a name="line.504"></a>
-<span class="sourceLineNo">505</span> *<a name="line.505"></a>
-<span class="sourceLineNo">506</span> * If the nextIndexedKey is null, it means the nextIndexedKey has not been loaded yet.<a name="line.506"></a>
-<span class="sourceLineNo">507</span> */<a name="line.507"></a>
-<span class="sourceLineNo">508</span> protected Cell nextIndexedKey;<a name="line.508"></a>
-<span class="sourceLineNo">509</span> // Current block being used<a name="line.509"></a>
-<span class="sourceLineNo">510</span> protected HFileBlock curBlock;<a name="line.510"></a>
-<span class="sourceLineNo">511</span> // Previous blocks that were used in the course of the read<a name="line.511"></a>
-<span class="sourceLineNo">512</span> protected final ArrayList<HFileBlock> prevBlocks = new ArrayList<>();<a name="line.512"></a>
-<span class="sourceLineNo">513</span><a name="line.513"></a>
-<span class="sourceLineNo">514</span> public HFileScannerImpl(final HFile.Reader reader, final boolean cacheBlocks,<a name="line.514"></a>
-<span class="sourceLineNo">515</span> final boolean pread, final boolean isCompaction) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span> this.reader = reader;<a name="line.516"></a>
-<span class="sourceLineNo">517</span> this.cacheBlocks = cacheBlocks;<a name="line.517"></a>
-<span class="sourceLineNo">518</span> this.pread = pread;<a name="line.518"></a>
-<span class="sourceLineNo">519</span> this.isCompaction = isCompaction;<a name="line.519"></a>
-<span class="sourceLineNo">520</span> }<a name="line.520"></a>
-<span class="sourceLineNo">521</span><a name="line.521"></a>
-<span class="sourceLineNo">522</span> void updateCurrBlockRef(HFileBlock block) {<a name="line.522"></a>
-<span class="sourceLineNo">523</span> if (block != null && this.curBlock != null &&<a name="line.523"></a>
-<span class="sourceLineNo">524</span> block.getOffset() == this.curBlock.getOffset()) {<a name="line.524"></a>
-<span class="sourceLineNo">525</span> return;<a name="line.525"></a>
-<span class="sourceLineNo">526</span> }<a name="line.526"></a>
-<span class="sourceLineNo">527</span> // We don't have to keep ref to EXCLUSIVE type of block<a name="line.527"></a>
-<span class="sourceLineNo">528</span> if (this.curBlock != null && this.curBlock.usesSharedMemory()) {<a name="line.528"></a>
-<span class="sourceLineNo">529</span> prevBlocks.add(this.curBlock);<a name="line.529"></a>
-<span class="sourceLineNo">530</span> }<a name="line.530"></a>
-<span class="sourceLineNo">531</span> this.curBlock = block;<a name="line.531"></a>
-<span class="sourceLineNo">532</span> }<a name="line.532"></a>
-<span class="sourceLineNo">533</span><a name="line.533"></a>
-<span class="sourceLineNo">534</span> void reset() {<a name="line.534"></a>
-<span class="sourceLineNo">535</span> // We don't have to keep ref to EXCLUSIVE type of block<a name="line.535"></a>
-<span class="sourceLineNo">536</span> if (this.curBlock != null && this.curBlock.usesSharedMemory()) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span> this.prevBlocks.add(this.curBlock);<a name="line.537"></a>
-<span class="sourceLineNo">538</span> }<a name="line.538"></a>
-<span class="sourceLineNo">539</span> this.curBlock = null;<a name="line.539"></a>
-<span class="sourceLineNo">540</span> }<a name="line.540"></a>
-<span class="sourceLineNo">541</span><a name="line.541"></a>
-<span class="sourceLineNo">542</span> private void returnBlockToCache(HFileBlock block) {<a name="line.542"></a>
-<span class="sourceLineNo">543</span> if (LOG.isTraceEnabled()) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span> LOG.trace("Returning the block : " + block);<a name="line.544"></a>
-<span class="sourceLineNo">545</span> }<a name="line.545"></a>
-<span class="sourceLineNo">546</span> this.reader.returnBlock(block);<a name="line.546"></a>
-<span class="sourceLineNo">547</span> }<a name="line.547"></a>
-<span class="sourceLineNo">548</span><a name="line.548"></a>
-<span class="sourceLineNo">549</span> private void returnBlocks(boolean returnAll) {<a name="line.549"></a>
-<span class="sourceLineNo">550</span> for (int i = 0; i < this.prevBlocks.size(); i++) {<a name="line.550"></a>
-<span class="sourceLineNo">551</span> returnBlockToCache(this.prevBlocks.get(i));<a name="line.551"></a>
-<span class="sourceLineNo">552</span> }<a name="line.552"></a>
-<span class="sourceLineNo">553</span> this.prevBlocks.clear();<a name="line.553"></a>
-<span class="sourceLineNo">554</span> if (returnAll && this.curBlock != null) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span> returnBlockToCache(this.curBlock);<a name="line.555"></a>
-<span class="sourceLineNo">556</span> this.curBlock = null;<a name="line.556"></a>
-<span class="sourceLineNo">557</span> }<a name="line.557"></a>
-<span class="sourceLineNo">558</span> }<a name="line.558"></a>
-<span class="sourceLineNo">559</span> @Override<a name="line.559"></a>
-<span class="sourceLineNo">560</span> public boolean isSeeked(){<a name="line.560"></a>
-<span class="sourceLineNo">561</span> return blockBuffer != null;<a name="line.561"></a>
-<span class="sourceLineNo">562</span> }<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span> @Override<a name="line.564"></a>
-<span class="sourceLineNo">565</span> public String toString() {<a name="line.565"></a>
-<span class="sourceLineNo">566</span> return "HFileScanner for reader " + String.valueOf(getReader());<a name="line.566"></a>
-<span class="sourceLineNo">567</span> }<a name="line.567"></a>
-<span class="sourceLineNo">568</span><a name="line.568"></a>
-<span class="sourceLineNo">569</span> protected void assertSeeked() {<a name="line.569"></a>
-<span class="sourceLineNo">570</span> if (!isSeeked())<a name="line.570"></a>
-<span class="sourceLineNo">571</span> throw new NotSeekedException();<a name="line.571"></a>
-<span class="sourceLineNo">572</span> }<a name="line.572"></a>
-<span class="sourceLineNo">573</span><a name="line.573"></a>
-<span class="sourceLineNo">574</span> @Override<a name="line.574"></a>
-<span class="sourceLineNo">575</span> public HFile.Reader getReader() {<a name="line.575"></a>
-<span class="sourceLineNo">576</span> return reader;<a name="line.576"></a>
-<span class="sourceLineNo">577</span> }<a name="line.577"></a>
-<span class="sourceLineNo">578</span><a name="line.578"></a>
-<span class="sourceLineNo">579</span> // From non encoded HFiles, we always read back KeyValue or its descendant.(Note: When HFile<a name="line.579"></a>
-<span class="sourceLineNo">580</span> // block is in DBB, it will be OffheapKV). So all parts of the Cell is in a contiguous<a name="line.580"></a>
-<span class="sourceLineNo">581</span> // array/buffer. How many bytes we should wrap to make the KV is what this method returns.<a name="line.581"></a>
-<span class="sourceLineNo">582</span> private int getKVBufSize() {<a name="line.582"></a>
-<span class="sourceLineNo">583</span> int kvBufSize = KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen;<a name="line.583"></a>
-<span class="sourceLineNo">584</span> if (currTagsLen > 0) {<a name="line.584"></a>
-<span class="sourceLineNo">585</span> kvBufSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.585"></a>
-<span class="sourceLineNo">586</span> }<a name="line.586"></a>
-<span class="sourceLineNo">587</span> return kvBufSize;<a name="line.587"></a>
-<span class="sourceLineNo">588</span> }<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span> @Override<a name="line.590"></a>
-<span class="sourceLineNo">591</span> public void close() {<a name="line.591"></a>
-<span class="sourceLineNo">592</span> if (!pread) {<a name="line.592"></a>
-<span class="sourceLineNo">593</span> // For seek + pread stream socket should be closed when the scanner is closed. HBASE-9393<a name="line.593"></a>
-<span class="sourceLineNo">594</span> reader.unbufferStream();<a name="line.594"></a>
-<span class="sourceLineNo">595</span> }<a name="line.595"></a>
-<span class="sourceLineNo">596</span> this.returnBlocks(true);<a name="line.596"></a>
-<span class="sourceLineNo">597</span> }<a name="line.597"></a>
-<span class="sourceLineNo">598</span><a name="line.598"></a>
-<span class="sourceLineNo">599</span> // Returns the #bytes in HFile for the current cell. Used to skip these many bytes in current<a name="line.599"></a>
-<span class="sourceLineNo">600</span> // HFile block's buffer so as to position to the next cell.<a name="line.600"></a>
-<span class="sourceLineNo">601</span> private int getCurCellSerializedSize() {<a name="line.601"></a>
-<span class="sourceLineNo">602</span> int curCellSize = KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen<a name="line.602"></a>
-<span class="sourceLineNo">603</span> + currMemstoreTSLen;<a name="line.603"></a>
-<span class="sourceLineNo">604</span> if (this.reader.getFileContext().isIncludesTags()) {<a name="line.604"></a>
-<span class="sourceLineNo">605</span> curCellSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.605"></a>
-<span class="sourceLineNo">606</span> }<a name="line.606"></a>
-<span class="sourceLineNo">607</span> return curCellSize;<a name="line.607"></a>
-<span class="sourceLineNo">608</span> }<a name="line.608"></a>
-<span class="sourceLineNo">609</span><a name="line.609"></a>
-<span class="sourceLineNo">610</span> protected void readKeyValueLen() {<a name="line.610"></a>
-<span class="sourceLineNo">611</span> // This is a hot method. We go out of our way to make this method short so it can be<a name="line.611"></a>
-<span class="sourceLineNo">612</span> // inlined and is not too big to compile. We also manage position in ByteBuffer ourselves<a name="line.612"></a>
-<span class="sourceLineNo">613</span> // because it is faster than going via range-checked ByteBuffer methods or going through a<a name="line.613"></a>
-<span class="sourceLineNo">614</span> // byte buffer array a byte at a time.<a name="line.614"></a>
-<span class="sourceLineNo">615</span> // Get a long at a time rather than read two individual ints. In micro-benchmarking, even<a name="line.615"></a>
-<span class="sourceLineNo">616</span> // with the extra bit-fiddling, this is order-of-magnitude faster than getting two ints.<a name="line.616"></a>
-<span class="sourceLineNo">617</span> // Trying to imitate what was done - need to profile if this is better or<a name="line.617"></a>
-<span class="sourceLineNo">618</span> // earlier way is better by doing mark and reset?<a name="line.618"></a>
-<span class="sourceLineNo">619</span> // But ensure that you read long instead of two ints<a name="line.619"></a>
-<span class="sourceLineNo">620</span> long ll = blockBuffer.getLongAfterPosition(0);<a name="line.620"></a>
-<span class="sourceLineNo">621</span> // Read top half as an int of key length and bottom int as value length<a name="line.621"></a>
-<span class="sourceLineNo">622</span> this.currKeyLen = (int)(ll >> Integer.SIZE);<a name="line.622"></a>
-<span class="sourceLineNo">623</span> this.currValueLen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.623"></a>
-<span class="sourceLineNo">624</span> checkKeyValueLen();<a name="line.624"></a>
-<span class="sourceLineNo">625</span> // Move position past the key and value lengths and then beyond the key and value<a name="line.625"></a>
-<span class="sourceLineNo">626</span> int p = (Bytes.SIZEOF_LONG + currKeyLen + currValueLen);<a name="line.626"></a>
-<span class="sourceLineNo">627</span> if (reader.getFileContext().isIncludesTags()) {<a name="line.627"></a>
-<span class="sourceLineNo">628</span> // Tags length is a short.<a name="line.628"></a>
-<span class="sourceLineNo">629</span> this.currTagsLen = blockBuffer.getShortAfterPosition(p);<a name="line.629"></a>
-<span class="sourceLineNo">630</span> checkTagsLen();<a name="line.630"></a>
-<span class="sourceLineNo">631</span> p += (Bytes.SIZEOF_SHORT + currTagsLen);<a name="line.631"></a>
-<span class="sourceLineNo">632</span> }<a name="line.632"></a>
-<span class="sourceLineNo">633</span> readMvccVersion(p);<a name="line.633"></a>
-<span class="sourceLineNo">634</span> }<a name="line.634"></a>
-<span class="sourceLineNo">635</span><a name="line.635"></a>
-<span class="sourceLineNo">636</span> private final void checkTagsLen() {<a name="line.636"></a>
-<span class="sourceLineNo">637</span> if (checkLen(this.currTagsLen)) {<a name="line.637"></a>
-<span class="sourceLineNo">638</span> throw new IllegalStateException("Invalid currTagsLen " + this.currTagsLen +<a name="line.638"></a>
-<span class="sourceLineNo">639</span> ". Block offset: " + curBlock.getOffset() + ", block length: " +<a name="line.639"></a>
-<span class="sourceLineNo">640</span> this.blockBuffer.limit() +<a name="line.640"></a>
-<span class="sourceLineNo">641</span> ", position: " + this.blockBuffer.position() + " (without header).");<a name="line.641"></a>
-<span class="sourceLineNo">642</span> }<a name="line.642"></a>
-<span class="sourceLineNo">643</span> }<a name="line.643"></a>
-<span class="sourceLineNo">644</span><a name="line.644"></a>
-<span class="sourceLineNo">645</span> /**<a name="line.645"></a>
-<span class="sourceLineNo">646</span> * Read mvcc. Does checks to see if we even need to read the mvcc at all.<a name="line.646"></a>
-<span class="sourceLineNo">647</span> * @param offsetFromPos<a name="line.647"></a>
-<span class="sourceLineNo">648</span> */<a name="line.648"></a>
-<span class="sourceLineNo">649</span> protected void readMvccVersion(final int offsetFromPos) {<a name="line.649"></a>
-<span class="sourceLineNo">650</span> // See if we even need to decode mvcc.<a name="line.650"></a>
-<span class="sourceLineNo">651</span> if (!this.reader.shouldIncludeMemStoreTS()) return;<a name="line.651"></a>
-<span class="sourceLineNo">652</span> if (!this.reader.isDecodeMemStoreTS()) {<a name="line.652"></a>
-<span class="sourceLineNo">653</span> currMemstoreTS = 0;<a name="line.653"></a>
-<span class="sourceLineNo">654</span> currMemstoreTSLen = 1;<a name="line.654"></a>
-<span class="sourceLineNo">655</span> return;<a name="line.655"></a>
-<span class="sourceLineNo">656</span> }<a name="line.656"></a>
-<span class="sourceLineNo">657</span> _readMvccVersion(offsetFromPos);<a name="line.657"></a>
-<span class="sourceLineNo">658</span> }<a name="line.658"></a>
-<span class="sourceLineNo">659</span><a name="line.659"></a>
-<span class="sourceLineNo">660</span> /**<a name="line.660"></a>
-<span class="sourceLineNo">661</span> * Actually do the mvcc read. Does no checks.<a name="line.661"></a>
-<span class="sourceLineNo">662</span> * @param offsetFromPos<a name="line.662"></a>
-<span class="sourceLineNo">663</span> */<a name="line.663"></a>
-<span class="sourceLineNo">664</span> private void _readMvccVersion(int offsetFromPos) {<a name="line.664"></a>
-<span class="sourceLineNo">665</span> // This is Bytes#bytesToVint inlined so can save a few instructions in this hot method; i.e.<a name="line.665"></a>
-<span class="sourceLineNo">666</span> // previous if one-byte vint, we'd redo the vint call to find int size.<a name="line.666"></a>
-<span class="sourceLineNo">667</span> // Also the method is kept small so can be inlined.<a name="line.667"></a>
-<span class="sourceLineNo">668</span> byte firstByte = blockBuffer.getByteAfterPosition(offsetFromPos);<a name="line.668"></a>
-<span class="sourceLineNo">669</span> int len = WritableUtils.decodeVIntSize(firstByte);<a name="line.669"></a>
-<span class="sourceLineNo">670</span> if (len == 1) {<a name="line.670"></a>
-<span class="sourceLineNo">671</span> this.currMemstoreTS = firstByte;<a name="line.671"></a>
-<span class="sourceLineNo">672</span> } else {<a name="line.672"></a>
-<span class="sourceLineNo">673</span> int remaining = len -1;<a name="line.673"></a>
-<span class="sourceLineNo">674</span> long i = 0;<a name="line.674"></a>
-<span class="sourceLineNo">675</span> offsetFromPos++;<a name="line.675"></a>
-<span class="sourceLineNo">676</span> if (remaining >= Bytes.SIZEOF_INT) {<a name="line.676"></a>
-<span class="sourceLineNo">677</span> // The int read has to be converted to unsigned long so the & op<a name="line.677"></a>
-<span class="sourceLineNo">678</span> i = (blockBuffer.getIntAfterPosition(offsetFromPos) & 0x00000000ffffffffL);<a name="line.678"></a>
-<span class="sourceLineNo">679</span> remaining -= Bytes.SIZEOF_INT;<a name="line.679"></a>
-<span class="sourceLineNo">680</span> offsetFromPos += Bytes.SIZEOF_INT;<a name="line.680"></a>
-<span class="sourceLineNo">681</span> }<a name="line.681"></a>
-<span class="sourceLineNo">682</span> if (remaining >= Bytes.SIZEOF_SHORT) {<a name="line.682"></a>
-<span class="sourceLineNo">683</span> short s = blockBuffer.getShortAfterPosition(offsetFromPos);<a name="line.683"></a>
-<span class="sourceLineNo">684</span> i = i << 16;<a name="line.684"></a>
-<span class="sourceLineNo">685</span> i = i | (s & 0xFFFF);<a name="line.685"></a>
-<span class="sourceLineNo">686</span> remaining -= Bytes.SIZEOF_SHORT;<a name="line.686"></a>
-<span class="sourceLineNo">687</span> offsetFromPos += Bytes.SIZEOF_SHORT;<a name="line.687"></a>
-<span class="sourceLineNo">688</span> }<a name="line.688"></a>
-<span class="sourceLineNo">689</span> for (int idx = 0; idx < remaining; idx++) {<a name="line.689"></a>
-<span class="sourceLineNo">690</span> byte b = blockBuffer.getByteAfterPosition(offsetFromPos + idx);<a name="line.690"></a>
-<span class="sourceLineNo">691</span> i = i << 8;<a name="line.691"></a>
-<span class="sourceLineNo">692</span> i = i | (b & 0xFF);<a name="line.692"></a>
-<span class="sourceLineNo">693</span> }<a name="line.693"></a>
-<span class="sourceLineNo">694</span> currMemstoreTS = (WritableUtils.isNegativeVInt(firstByte) ? ~i : i);<a name="line.694"></a>
-<span class="sourceLineNo">695</span> }<a name="line.695"></a>
-<span class="sourceLineNo">696</span> this.currMemstoreTSLen = len;<a name="line.696"></a>
-<span class="sourceLineNo">697</span> }<a name="line.697"></a>
-<span class="sourceLineNo">698</span><a name="line.698"></a>
-<span class="sourceLineNo">699</span> /**<a name="line.699"></a>
-<span class="sourceLineNo">700</span> * Within a loaded block, seek looking for the last key that is smaller than<a name="line.700"></a>
-<span class="sourceLineNo">701</span> * (or equal to?) the key we are interested in.<a name="line.701"></a>
-<span class="sourceLineNo">702</span> * A note on the seekBefore: if you have seekBefore = true, AND the first<a name="line.702"></a>
-<span class="sourceLineNo">703</span> * key in the block = key, then you'll get thrown exceptions. The caller has<a name="line.703"></a>
-<span class="sourceLineNo">704</span> * to check for that case and load the previous block as appropriate.<a name="line.704"></a>
-<span class="sourceLineNo">705</span> * @param key<a name="line.705"></a>
-<span class="sourceLineNo">706</span> * the key to find<a name="line.706"></a>
-<span class="sourceLineNo">707</span> * @param seekBefore<a name="line.707"></a>
-<span class="sourceLineNo">708</span> * find the key before the given key in case of exact match.<a name="line.708"></a>
-<span class="sourceLineNo">709</span> * @return 0 in case of an exact key match, 1 in case of an inexact match,<a name="line.709"></a>
-<span class="sourceLineNo">710</span> * -2 in case of an inexact match and furthermore, the input key<a name="line.710"></a>
-<span class="sourceLineNo">711</span> * less than the first key of current block(e.g. using a faked index<a name="line.711"></a>
-<span class="sourceLineNo">712</span> * key)<a name="line.712"></a>
-<span class="sourceLineNo">713</span> */<a name="line.713"></a>
-<span class="sourceLineNo">714</span> protected int blockSeek(Cell key, boolean seekBefore) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span> int klen, vlen, tlen = 0;<a name="line.715"></a>
-<span class="sourceLineNo">716</span> int lastKeyValueSize = -1;<a name="line.716"></a>
-<span class="sourceLineNo">717</span> int offsetFromPos;<a name="line.717"></a>
-<span class="sourceLineNo">718</span> do {<a name="line.718"></a>
-<span class="sourceLineNo">719</span> offsetFromPos = 0;<a name="line.719"></a>
-<span class="sourceLineNo">720</span> // Better to ensure that we use the BB Utils here<a name="line.720"></a>
-<span class="sourceLineNo">721</span> long ll = blockBuffer.getLongAfterPosition(offsetFromPos);<a name="line.721"></a>
-<span class="sourceLineNo">722</span> klen = (int)(ll >> Integer.SIZE);<a name="line.722"></a>
-<span class="sourceLineNo">723</span> vlen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.723"></a>
-<span class="sourceLineNo">724</span> if (checkKeyLen(klen) || checkLen(vlen)) {<a name="line.724"></a>
-<span class="sourceLineNo">725</span> throw new IllegalStateException("Invalid klen " + klen + " or vlen "<a name="line.725"></a>
-<span class="sourceLineNo">726</span> + vlen + ". Block offset: "<a name="line.726"></a>
-<span class="sourceLineNo">727</span> + curBlock.getOffset() + ", block length: " + blockBuffer.limit() + ", position: "<a name="line.727"></a>
-<span class="sourceLineNo">728</span> + blockBuffer.position() + " (without header).");<a name="line.728"></a>
-<span class="sourceLineNo">729</span> }<a name="line.729"></a>
-<span class="sourceLineNo">730</span> offsetFromPos += Bytes.SIZEOF_LONG;<a name="line.730"></a>
-<span class="sourceLineNo">731</span> blockBuffer.asSubByteBuffer(blockBuffer.position() + offsetFromPos, klen, pair);<a name="line.731"></a>
-<span class="sourceLineNo">732</span> bufBackedKeyOnlyKv.setKey(pair.getFirst(), pair.getSecond(), klen);<a name="line.732"></a>
-<span class="sourceLineNo">733</span> int comp =<a name="line.733"></a>
-<span class="sourceLineNo">734</span> PrivateCellUtil.compareKeyIgnoresMvcc(reader.getComparator(), key, bufBackedKeyOnlyKv);<a name="line.734"></a>
-<span class="sourceLineNo">735</span> offsetFromPos += klen + vlen;<a name="line.735"></a>
-<span class="sourceLineNo">736</span> if (this.reader.getFileContext().isIncludesTags()) {<a name="line.736"></a>
-<span class="sourceLineNo">737</span> // Read short as unsigned, high byte first<a name="line.737"></a>
-<span class="sourceLineNo">738</span> tlen = ((blockBuffer.getByteAfterPosition(offsetFromPos) & 0xff) << 8)<a name="line.738"></a>
-<span class="sourceLineNo">739</span> ^ (blockBuffer.getByteAfterPosition(offsetFromPos + 1) & 0xff);<a name="line.739"></a>
-<span class="sourceLineNo">740</span> if (checkLen(tlen)) {<a name="line.740"></a>
-<span class="sourceLineNo">741</span> throw new IllegalStateException("Invalid tlen " + tlen + ". Block offset: "<a name="line.741"></a>
-<span class="sourceLineNo">742</span> + curBlock.getOffset() + ", block length: " + blockBuffer.limit() + ", position: "<a name="line.742"></a>
-<span class="sourceLineNo">743</span> + blockBuffer.position() + " (without header).");<a name="line.743"></a>
-<span class="sourceLineNo">744</span> }<a name="line.744"></a>
-<span class="sourceLineNo">745</span> // add the two bytes read for the tags.<a name="line.745"></a>
-<span class="sourceLineNo">746</span> offsetFromPos += tlen + (Bytes.SIZEOF_SHORT);<a name="line.746"></a>
-<span class="sourceLineNo">747</span> }<a name="line.747"></a>
-<span class="sourceLineNo">748</span> if (this.reader.shouldIncludeMemStoreTS()) {<a name="line.748"></a>
-<span class="sourceLineNo">749</span> // Directly read the mvcc based on current position<a name="line.749"></a>
-<span class="sourceLineNo">750</span> readMvccVersion(offsetFromPos);<a name="line.750"></a>
-<span class="sourceLineNo">751</span> }<a name="line.751"></a>
-<span class="sourceLineNo">752</span> if (comp == 0) {<a name="line.752"></a>
-<span class="sourceLineNo">753</span> if (seekBefore) {<a name="line.753"></a>
-<span class="sourceLineNo">754</span> if (lastKeyValueSize < 0) {<a name="line.754"></a>
-<span class="sourceLineNo">755</span> throw new IllegalStateException("blockSeek with seekBefore "<a name="line.755"></a>
-<span class="sourceLineNo">756</span> + "at the first key of the block: key=" + CellUtil.getCellKeyAsString(key)<a name="line.756"></a>
-<span class="sourceLineNo">757</span> + ", blockOffset=" + curBlock.getOffset() + ", onDiskSize="<a name="line.757"></a>
-<span class="sourceLineNo">758</span> + curBlock.getOnDiskSizeWithHeader());<a name="line.758"></a>
-<span class="sourceLineNo">759</span> }<a name="line.759"></a>
-<span class="sourceLineNo">760</span> blockBuffer.moveBack(lastKeyValueSize);<a name="line.760"></a>
-<span class="sourceLineNo">761</span> readKeyValueLen();<a name="line.761"></a>
-<span class="sourceLineNo">762</span> return 1; // non exact match.<a name="line.762"></a>
-<span class="sourceLineNo">763</span> }<a name="line.763"></a>
-<span class="sourceLineNo">764</span> currKeyLen = klen;<a name="line.764"></a>
-<span class="sourceLineNo">765</span> currValueLen = vlen;<a name="line.765"></a>
-<span class="sourceLineNo">766</span> currTagsLen = tlen;<a name="line.766"></a>
-<span class="sourceLineNo">767</span> return 0; // indicate exact match<a name="line.767"></a>
-<span class="sourceLineNo">768</span> } else if (comp < 0) {<a name="line.768"></a>
-<span class="sourceLineNo">769</span> if (lastKeyValueSize > 0) {<a name="line.769"></a>
-<span class="sourceLineNo">770</span> blockBuffer.moveBack(lastKeyValueSize);<a name="line.770"></a>
-<span class="sourceLineNo">771</span> }<a name="line.771"></a>
-<span class="sourceLineNo">772</span> readKeyValueLen();<a name="line.772"></a>
-<span class="sourceLineNo">773</span> if (lastKeyValueSize == -1 && blockBuffer.position() == 0) {<a name="line.773"></a>
-<span class="sourceLineNo">774</span> return HConstants.INDEX_KEY_MAGIC;<a name="line.774"></a>
-<span class="sourceLineNo">775</span> }<a name="line.775"></a>
-<span class="sourceLineNo">776</span> return 1;<a name="line.776"></a>
-<span class="sourceLineNo">777</span> }<a name="line.777"></a>
-<span class="sourceLineNo">778</span> // The size of this key/value tuple, including key/value length fields.<a name="line.778"></a>
-<span class="sourceLineNo">779</span> lastKeyValueSize = klen + vlen + currMemstoreTSLen + KEY_VALUE_LEN_SIZE;<a name="line.779"></a>
-<span class="sourceLineNo">780</span> // include tag length also if tags included with KV<a name="line.780"></a>
-<span class="sourceLineNo">781</span> if (reader.getFileContext().isIncludesTags()) {<a name="line.781"></a>
-<span class="sourceLineNo">782</span> lastKeyValueSize += tlen + Bytes.SIZEOF_SHORT;<a name="line.782"></a>
-<span class="sourceLineNo">783</span> }<a name="line.783"></a>
-<span class="sourceLineNo">784</span> blockBuffer.skip(lastKeyValueSize);<a name="line.784"></a>
-<span class="sourceLineNo">785</span> } while (blockBuffer.hasRemaining());<a name="line.785"></a>
-<span class="sourceLineNo">786</span><a name="line.786"></a>
-<span class="sourceLineNo">787</span> // Seek to the last key we successfully read. This will happen if this is<a name="line.787"></a>
-<span class="sourceLineNo">788</span> // the last key/value pair in the file, in which case the following call<a name="line.788"></a>
-<span class="sourceLineNo">789</span> // to next() has to return false.<a name="line.789"></a>
-<span class="sourceLineNo">790</span> blockBuffer.moveBack(lastKeyValueSize);<a name="line.790"></a>
-<span class="sourceLineNo">791</span> readKeyValueLen();<a name="line.791"></a>
-<span class="sourceLineNo">792</span> return 1; // didn't exactly find it.<a name="line.792"></a>
-<span class="sourceLineNo">793</span> }<a name="line.793"></a>
-<span class="sourceLineNo">794</span><a name="line.794"></a>
-<span class="sourceLineNo">795</span> @Override<a name="line.795"></a>
-<span class="sourceLineNo">796</span> public Cell getNextIndexedKey() {<a name="line.796"></a>
-<span class="sourceLineNo">797</span> return nextIndexedKey;<a name="line.797"></a>
-<span class="sourceLineNo">798</span> }<a name="line.798"></a>
-<span class="sourceLineNo">799</span><a name="line.799"></a>
-<span class="sourceLineNo">800</span> @Override<a name="line.800"></a>
-<span class="sourceLineNo">801</span> public int seekTo(Cell key) throws IOException {<a name="line.801"></a>
-<span class="sourceLineNo">802</span> return seekTo(key, true);<a name="line.802"></a>
-<span class="sourceLineNo">803</span> }<a name="line.803"></a>
-<span class="sourceLineNo">804</span><a name="line.804"></a>
-<span class="sourceLineNo">805</span> @Override<a name="line.805"></a>
-<span class="sourceLineNo">806</span> public int reseekTo(Cell key) throws IOException {<a name="line.806"></a>
-<span class="sourceLineNo">807</span> int compared;<a name="line.807"></a>
-<span class="sourceLineNo">808</span> if (isSeeked()) {<a name="line.808"></a>
-<span class="sourceLineNo">809</span> compared = compareKey(reader.getComparator(), key);<a name="line.809"></a>
-<span class="sourceLineNo">810</span> if (compared < 1) {<a name="line.810"></a>
-<span class="sourceLineNo">811</span> // If the required key is less than or equal to current key, then<a name="line.811"></a>
-<span class="sourceLineNo">812</span> // don't do anything.<a name="line.812"></a>
-<span class="sourceLineNo">813</span> return compared;<a name="line.813"></a>
-<span class="sourceLineNo">814</span> } else {<a name="line.814"></a>
-<span class="sourceLineNo">815</span> // The comparison with no_next_index_key has to be checked<a name="line.815"></a>
-<span class="sourceLineNo">816</span> if (this.nextIndexedKey != null &&<a name="line.816"></a>
-<span class="sourceLineNo">817</span> (this.nextIndexedKey == KeyValueScanner.NO_NEXT_INDEXED_KEY || PrivateCellUtil<a name="line.817"></a>
-<span class="sourceLineNo">818</span> .compareKeyIgnoresMvcc(reader.getComparator(), key, nextIndexedKey) < 0)) {<a name="line.818"></a>
-<span class="sourceLineNo">819</span> // The reader shall continue to scan the current data block instead<a name="line.819"></a>
-<span class="sourceLineNo">820</span> // of querying the<a name="line.820"></a>
-<span class="sourceLineNo">821</span> // block index as long as it knows the target key is strictly<a name="line.821"></a>
-<span class="sourceLineNo">822</span> // smaller than<a name="line.822"></a>
-<span class="sourceLineNo">823</span> // the next indexed key or the current data block is the last data<a name="line.823"></a>
-<span class="sourceLineNo">824</span> // block.<a name="line.824"></a>
-<span class="sourceLineNo">825</span> return loadBlockAndSeekToKey(this.curBlock, nextIndexedKey, false, key,<a name="line.825"></a>
-<span class="sourceLineNo">826</span> false);<a name="line.826"></a>
-<span class="sourceLineNo">827</span> }<a name="line.827"></a>
-<span class="sourceLineNo">828</span><a name="line.828"></a>
-<span class="sourceLineNo">829</span> }<a name="line.829"></a>
-<span class="sourceLineNo">830</span> }<a name="line.830"></a>
-<span class="sourceLineNo">831</span> // Don't rewind on a reseek operation, because reseek implies that we are<a name="line.831"></a>
-<span class="sourceLineNo">832</span> // always going forward in the file.<a name="line.832"></a>
-<span class="sourceLineNo">833</span> return seekTo(key, false);<a name="line.833"></a>
-<span class="sourceLineNo">834</span> }<a name="line.834"></a>
-<span class="sourceLineNo">835</span><a name="line.835"></a>
-<span class="sourceLineNo">836</span> /**<a name="line.836"></a>
-<span class="sourceLineNo">837</span> * An internal API function. Seek to the given key, optionally rewinding to<a name="line.837"></a>
-<span class="sourceLineNo">838</span> * the first key of the block before doing the seek.<a name="line.838"></a>
-<span class="sourceLineNo">839</span> *<a name="line.839"></a>
-<span class="sourceLineNo">840</span> * @param key - a cell representing the key that we need to fetch<a name="line.840"></a>
-<span class="sourceLineNo">841</span> * @param rewind whether to rewind to the first key of the block before<a name="line.841"></a>
-<span class="sourceLineNo">842</span> * doing the seek. If this is false, we are assuming we never go<a name="line.842"></a>
-<span class="sourceLineNo">843</span> * back, otherwise the result is undefined.<a name="line.843"></a>
-<span class="sourceLineNo">844</span> * @return -1 if the key is earlier than the first key of the file,<a name="line.844"></a>
-<span class="sourceLineNo">845</span> * 0 if we are at the given key, 1 if we are past the given key<a name="line.845"></a>
-<span class="sourceLineNo">846</span> * -2 if the key is earlier than the first key of the file while<a name="line.846"></a>
-<span class="sourceLineNo">847</span> * using a faked index key<a name="line.847"></a>
-<span class="sourceLineNo">848</span> * @throws IOException<a name="line.848"></a>
-<span class="sourceLineNo">849</span> */<a name="line.849"></a>
-<span class="sourceLineNo">850</span> public int seekTo(Cell key, boolean rewind) throws IOException {<a name="line.850"></a>
-<span class="sourceLineNo">851</span> HFileBlockIndex.BlockIndexReader indexReader = reader.getDataBlockIndexReader();<a name="line.851"></a>
-<span class="sourceLineNo">852</span> BlockWithScanInfo blockWithScanInfo = indexReader.loadDataBlockWithScanInfo(key, curBlock,<a name="line.852"></a>
-<span class="sourceLineNo">853</span> cacheBlocks, pread, isCompaction, getEffectiveDataBlockEncoding());<a name="line.853"></a>
-<span class="sourceLineNo">854</span> if (blockWithScanInfo == null || blockWithScanInfo.getHFileBlock() == null) {<a name="line.854"></a>
-<span class="sourceLineNo">855</span> // This happens if the key e.g. falls before the beginning of the<a name="line.855"></a>
-<span class="sourceLineNo">856</span> // file.<a name="line.856"></a>
-<span class="sourceLineNo">857</span> return -1;<a name="line.857"></a>
-<span class="sourceLineNo">858</span> }<a name="line.858"></a>
-<span class="sourceLineNo">859</span> return loadBlockAndSeekToKey(blockWithScanInfo.getHFileBlock(),<a name="line.859"></a>
-<span class="sourceLineNo">860</span> blockWithScanInfo.getNextIndexedKey(), rewind, key, false);<a name="line.860"></a>
-<span class="sourceLineNo">861</span> }<a name="line.861"></a>
-<span class="sourceLineNo">862</span><a name="line.862"></a>
-<span class="sourceLineNo">863</span> @Override<a name="line.863"></a>
-<span class="sourceLineNo">864</span> public boolean seekBefore(Cell key) throws IOException {<a name="line.864"></a>
-<span class="sourceLineNo">865</span> HFileBlock seekToBlock = reader.getDataBlockIndexReader().seekToDataBlock(key, curBlock,<a name="line.865"></a>
-<span class="sourceLineNo">866</span> cacheBlocks, pread, isCompaction, reader.getEffectiveEncodingInCache(isCompaction));<a name="line.866"></a>
-<span class="sourceLineNo">867</span> if (seekToBlock == null) {<a name="line.867"></a>
-<span class="sourceLineNo">868</span> return false;<a name="line.868"></a>
-<span class="sourceLineNo">869</span> }<a name="line.869"></a>
-<span class="sourceLineNo">870</span> Cell firstKey = getFirstKeyCellInBlock(seekToBlock);<a name="line.870"></a>
-<span class="sourceLineNo">871</span> if (PrivateCellUtil.compareKeyIgnoresMvcc(reader.getComparator(), firstKey, key) >= 0) {<a name="line.871"></a>
-<span class="sourceLineNo">872</span> long previousBlockOffset = seekToBlock.getPrevBlockOffset();<a name="line.872"></a>
-<span class="sourceLineNo">873</span> // The key we are interested in<a name="line.873"></a>
-<span class="sourceLineNo">874</span> if (previousBlockOffset == -1) {<a name="line.874"></a>
-<span class="sourceLineNo">875</span> // we have a 'problem', the key we want is the first of the file.<a name="line.875"></a>
-<span class="sourceLineNo">876</span> return false;<a name="line.876"></a>
-<span class="sourceLineNo">877</span> }<a name="line.877"></a>
-<span class="sourceLineNo">878</span><a name="line.878"></a>
-<span class="sourceLineNo">879</span> // The first key in the current block 'seekToBlock' is greater than the given<a name="line.879"></a>
-<span class="sourceLineNo">880</span> // seekBefore key. We will go ahead by reading the next block that satisfies the<a name="line.880"></a>
-<span class="sourceLineNo">881</span> // given key. Return the current block before reading the next one.<a name="line.881"></a>
-<span class="sourceLineNo">882</span> reader.returnBlock(seekToBlock);<a name="line.882"></a>
-<span class="sourceLineNo">883</span> // It is important that we compute and pass onDiskSize to the block<a name="line.883"></a>
-<span class="sourceLineNo">884</span> // reader so that it does not have to read the header separately to<a name="line.884"></a>
-<span class="sourceLineNo">885</span> // figure out the size. Currently, we do not have a way to do this<a name="line.885"></a>
-<span class="sourceLineNo">886</span> // correctly in the general case however.<a name="line.886"></a>
-<span class="sourceLineNo">887</span> // TODO: See https://issues.apache.org/jira/browse/HBASE-14576<a name="line.887"></a>
-<span class="sourceLineNo">888</span> int prevBlockSize = -1;<a name="line.888"></a>
-<span class="sourceLineNo">889</span> seekToBlock = reader.readBlock(previousBlockOffset,<a name="line.889"></a>
-<span class="sourceLineNo">890</span> prevBlockSize, cacheBlocks,<a name="line.890"></a>
-<span class="sourceLineNo">891</span> pread, isCompaction, true, BlockType.DATA, getEffectiveDataBlockEncoding());<a name="line.891"></a>
-<span class="sourceLineNo">892</span> // TODO shortcut: seek forward in this block to the last key of the<a name="line.892"></a>
-<span class="sourceLineNo">893</span> // block.<a name="line.893"></a>
-<span class="sourceLineNo">894</span> }<a name="line.894"></a>
-<span class="sourceLineNo">895</span> loadBlockAndSeekToKey(seekToBlock, firstKey, true, key, true);<a name="line.895"></a>
-<span class="sourceLineNo">896</span> return true;<a name="line.896"></a>
-<span class="sourceLineNo">897</span> }<a name="line.897"></a>
-<span class="sourceLineNo">898</span><a name="line.898"></a>
-<span class="sourceLineNo">899</span> /**<a name="line.899"></a>
-<span class="sourceLineNo">900</span> * Scans blocks in the "scanned" section of the {@link HFile} until the next<a name="line.900"></a>
-<span class="sourceLineNo">901</span> * data block is found.<a name="line.901"></a>
-<span class="sourceLineNo">902</span> *<a name="line.902"></a>
-<span class="sourceLineNo">903</span> * @return the next block, or null if there are no more data blocks<a name="line.903"></a>
-<span class="sourceLineNo">904</span> * @throws IOException<a name="line.904"></a>
-<span class="sourceLineNo">905</span> */<a name="line.905"></a>
-<span class="sourceLineNo">906</span> @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.906"></a>
-<span class="sourceLineNo">907</span> justification="Yeah, unnecessary null check; could do w/ clean up")<a name="line.907"></a>
-<span class="sourceLineNo">908</span> protected HFileBlock readNextDataBlock() throws IOException {<a name="line.908"></a>
-<span class="sourceLineNo">909</span> long lastDataBlockOffset = reader.getTrailer().getLastDataBlockOffset();<a name="line.909"></a>
-<span class="sourceLineNo">910</span> if (curBlock == null)<a name="line.910"></a>
-<span class="sourceLineNo">911</span> return null;<a name="line.911"></a>
-<span class="sourceLineNo">912</span><a name="line.912"></a>
-<span class="sourceLineNo">913</span> HFileBlock block = this.curBlock;<a name="line.913"></a>
-<span class="sourceLineNo">914</span><a name="line.914"></a>
-<span class="sourceLineNo">915</span> do {<a name="line.915"></a>
-<span class="sourceLineNo">916</span> if (block.getOffset() >= lastDataBlockOffset) {<a name="line.916"></a>
-<span class="sourceLineNo">917</span> return null;<a name="line.917"></a>
-<span class="sourceLineNo">918</span> }<a name="line.918"></a>
-<span class="sourceLineNo">919</span><a name="line.919"></a>
-<span class="sourceLineNo">920</span> if (block.getOffset() < 0) {<a name="line.920"></a>
-<span class="sourceLineNo">921</span> throw new IOException("Invalid block file offset: " + block);<a name="line.921"></a>
-<span class="sourceLineNo">922</span> }<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span> // We are reading the next block without block type validation, because<a name="line.924"></a>
-<span class="sourceLineNo">925</span> // it might turn out to be a non-data block.<a name="line.925"></a>
-<span class="sourceLineNo">926</span> block = reader.readBlock(block.getOffset() + block.getOnDiskSizeWithHeader(),<a name="line.926"></a>
-<span class="sourceLineNo">927</span> block.getNextBlockOnDiskSize(), cacheBlocks, pread,<a name="line.927"></a>
-<span class="sourceLineNo">928</span> isCompaction, true, null, getEffectiveDataBlockEncoding());<a name="line.928"></a>
-<span class="sourceLineNo">929</span> if (block != null && !block.getBlockType().isData()) { // Findbugs: NP_NULL_ON_SOME_PATH<a name="line.929"></a>
-<span class="sourceLineNo">930</span> // Whatever block we read we will be returning it unless<a name="line.930"></a>
-<span class="sourceLineNo">931</span> // it is a datablock. Just in case the blocks are non data blocks<a name="line.931"></a>
-<span class="sourceLineNo">932</span> reader.returnBlock(block);<a name="line.932"></a>
-<span class="sourceLineNo">933</span> }<a name="line.933"></a>
-<span class="sourceLineNo">934</span> } while (!block.getBlockType().isData());<a name="line.934"></a>
-<span class="sourceLineNo">935</span><a name="line.935"></a>
-<span class="sourceLineNo">936</span> return block;<a name="line.936"></a>
-<span class="sourceLineNo">937</span> }<a name="line.937"></a>
+<span class="sourceLineNo">373</span> if (block != null) {<a name="line.373"></a>
+<span class="sourceLineNo">374</span> this.cacheConf.getBlockCache().ifPresent(blockCache -> {<a name="line.374"></a>
+<span class="sourceLineNo">375</span> BlockCacheKey cacheKey =<a name="line.375"></a>
+<span class="sourceLineNo">376</span> new BlockCacheKey(this.getFileContext().getHFileName(), block.getOffset(),<a name="line.376"></a>
+<span class="sourceLineNo">377</span> this.isPrimaryReplicaReader(), block.getBlockType());<a name="line.377"></a>
+<span class="sourceLineNo">378</span> blockCache.returnBlock(cacheKey, block);<a name="line.378"></a>
+<span class="sourceLineNo">379</span> });<a name="line.379"></a>
+<span class="sourceLineNo">380</span> }<a name="line.380"></a>
+<span class="sourceLineNo">381</span> }<a name="line.381"></a>
+<span class="sourceLineNo">382</span><a name="line.382"></a>
+<span class="sourceLineNo">383</span> /**<a name="line.383"></a>
+<span class="sourceLineNo">384</span> * @return the first key in the file. May be null if file has no entries. Note<a name="line.384"></a>
+<span class="sourceLineNo">385</span> * that this is not the first row key, but rather the byte form of the<a name="line.385"></a>
+<span class="sourceLineNo">386</span> * first KeyValue.<a name="line.386"></a>
+<span class="sourceLineNo">387</span> */<a name="line.387"></a>
+<span class="sourceLineNo">388</span> @Override<a name="line.388"></a>
+<span class="sourceLineNo">389</span> public Optional<Cell> getFirstKey() {<a name="line.389"></a>
+<span class="sourceLineNo">390</span> if (dataBlockIndexReader == null) {<a name="line.390"></a>
+<span class="sourceLineNo">391</span> throw new BlockIndexNotLoadedException();<a name="line.391"></a>
+<span class="sourceLineNo">392</span> }<a name="line.392"></a>
+<span class="sourceLineNo">393</span> return dataBlockIndexReader.isEmpty() ? Optional.empty()<a name="line.393"></a>
+<span class="sourceLineNo">394</span> : Optional.of(dataBlockIndexReader.getRootBlockKey(0));<a name="line.394"></a>
+<span class="sourceLineNo">395</span> }<a name="line.395"></a>
+<span class="sourceLineNo">396</span><a name="line.396"></a>
+<span class="sourceLineNo">397</span> /**<a name="line.397"></a>
+<span class="sourceLineNo">398</span> * TODO left from {@link HFile} version 1: move this to StoreFile after Ryan's<a name="line.398"></a>
+<span class="sourceLineNo">399</span> * patch goes in to eliminate {@link KeyValue} here.<a name="line.399"></a>
+<span class="sourceLineNo">400</span> *<a name="line.400"></a>
+<span class="sourceLineNo">401</span> * @return the first row key, or null if the file is empty.<a name="line.401"></a>
+<span class="sourceLineNo">402</span> */<a name="line.402"></a>
+<span class="sourceLineNo">403</span> @Override<a name="line.403"></a>
+<span class="sourceLineNo">404</span> public Optional<byte[]> getFirstRowKey() {<a name="line.404"></a>
+<span class="sourceLineNo">405</span> // We have to copy the row part to form the row key alone<a name="line.405"></a>
+<span class="sourceLineNo">406</span> return getFirstKey().map(CellUtil::cloneRow);<a name="line.406"></a>
+<span class="sourceLineNo">407</span> }<a name="line.407"></a>
+<span class="sourceLineNo">408</span><a name="line.408"></a>
+<span class="sourceLineNo">409</span> /**<a name="line.409"></a>
+<span class="sourceLineNo">410</span> * TODO left from {@link HFile} version 1: move this to StoreFile after<a name="line.410"></a>
+<span class="sourceLineNo">411</span> * Ryan's patch goes in to eliminate {@link KeyValue} here.<a name="line.411"></a>
+<span class="sourceLineNo">412</span> *<a name="line.412"></a>
+<span class="sourceLineNo">413</span> * @return the last row key, or null if the file is empty.<a name="line.413"></a>
+<span class="sourceLineNo">414</span> */<a name="line.414"></a>
+<span class="sourceLineNo">415</span> @Override<a name="line.415"></a>
+<span class="sourceLineNo">416</span> public Optional<byte[]> getLastRowKey() {<a name="line.416"></a>
+<span class="sourceLineNo">417</span> // We have to copy the row part to form the row key alone<a name="line.417"></a>
+<span class="sourceLineNo">418</span> return getLastKey().map(CellUtil::cloneRow);<a name="line.418"></a>
+<span class="sourceLineNo">419</span> }<a name="line.419"></a>
+<span class="sourceLineNo">420</span><a name="line.420"></a>
+<span class="sourceLineNo">421</span> /** @return number of KV entries in this HFile */<a name="line.421"></a>
+<span class="sourceLineNo">422</span> @Override<a name="line.422"></a>
+<span class="sourceLineNo">423</span> public long getEntries() {<a name="line.423"></a>
+<span class="sourceLineNo">424</span> return trailer.getEntryCount();<a name="line.424"></a>
+<span class="sourceLineNo">425</span> }<a name="line.425"></a>
+<span class="sourceLineNo">426</span><a name="line.426"></a>
+<span class="sourceLineNo">427</span> /** @return comparator */<a name="line.427"></a>
+<span class="sourceLineNo">428</span> @Override<a name="line.428"></a>
+<span class="sourceLineNo">429</span> public CellComparator getComparator() {<a name="line.429"></a>
+<span class="sourceLineNo">430</span> return comparator;<a name="line.430"></a>
+<span class="sourceLineNo">431</span> }<a name="line.431"></a>
+<span class="sourceLineNo">432</span><a name="line.432"></a>
+<span class="sourceLineNo">433</span> /** @return compression algorithm */<a name="line.433"></a>
+<span class="sourceLineNo">434</span> @Override<a name="line.434"></a>
+<span class="sourceLineNo">435</span> public Compression.Algorithm getCompressionAlgorithm() {<a name="line.435"></a>
+<span class="sourceLineNo">436</span> return compressAlgo;<a name="line.436"></a>
+<span class="sourceLineNo">437</span> }<a name="line.437"></a>
+<span class="sourceLineNo">438</span><a name="line.438"></a>
+<span class="sourceLineNo">439</span> /**<a name="line.439"></a>
+<span class="sourceLineNo">440</span> * @return the total heap size of data and meta block indexes in bytes. Does<a name="line.440"></a>
+<span class="sourceLineNo">441</span> * not take into account non-root blocks of a multilevel data index.<a name="line.441"></a>
+<span class="sourceLineNo">442</span> */<a name="line.442"></a>
+<span class="sourceLineNo">443</span> @Override<a name="line.443"></a>
+<span class="sourceLineNo">444</span> public long indexSize() {<a name="line.444"></a>
+<span class="sourceLineNo">445</span> return (dataBlockIndexReader != null ? dataBlockIndexReader.heapSize() : 0)<a name="line.445"></a>
+<span class="sourceLineNo">446</span> + ((metaBlockIndexReader != null) ? metaBlockIndexReader.heapSize()<a name="line.446"></a>
+<span class="sourceLineNo">447</span> : 0);<a name="line.447"></a>
+<span class="sourceLineNo">448</span> }<a name="line.448"></a>
+<span class="sourceLineNo">449</span><a name="line.449"></a>
+<span class="sourceLineNo">450</span> @Override<a name="line.450"></a>
+<span class="sourceLineNo">451</span> public String getName() {<a name="line.451"></a>
+<span class="sourceLineNo">452</span> return name;<a name="line.452"></a>
+<span class="sourceLineNo">453</span> }<a name="line.453"></a>
+<span class="sourceLineNo">454</span><a name="line.454"></a>
+<span class="sourceLineNo">455</span> @Override<a name="line.455"></a>
+<span class="sourceLineNo">456</span> public HFileBlockIndex.BlockIndexReader getDataBlockIndexReader() {<a name="line.456"></a>
+<span class="sourceLineNo">457</span> return dataBlockIndexReader;<a name="line.457"></a>
+<span class="sourceLineNo">458</span> }<a name="line.458"></a>
+<span class="sourceLineNo">459</span><a name="line.459"></a>
+<span class="sourceLineNo">460</span> @Override<a name="line.460"></a>
+<span class="sourceLineNo">461</span> public FixedFileTrailer getTrailer() {<a name="line.461"></a>
+<span class="sourceLineNo">462</span> return trailer;<a name="line.462"></a>
+<span class="sourceLineNo">463</span> }<a name="line.463"></a>
+<span class="sourceLineNo">464</span><a name="line.464"></a>
+<span class="sourceLineNo">465</span> @Override<a name="line.465"></a>
+<span class="sourceLineNo">466</span> public boolean isPrimaryReplicaReader() {<a name="line.466"></a>
+<span class="sourceLineNo">467</span> return primaryReplicaReader;<a name="line.467"></a>
+<span class="sourceLineNo">468</span> }<a name="line.468"></a>
+<span class="sourceLineNo">469</span><a name="line.469"></a>
+<span class="sourceLineNo">470</span> @Override<a name="line.470"></a>
+<span class="sourceLineNo">471</span> public FileInfo loadFileInfo() throws IOException {<a name="line.471"></a>
+<span class="sourceLineNo">472</span> return fileInfo;<a name="line.472"></a>
+<span class="sourceLineNo">473</span> }<a name="line.473"></a>
+<span class="sourceLineNo">474</span><a name="line.474"></a>
+<span class="sourceLineNo">475</span> /**<a name="line.475"></a>
+<span class="sourceLineNo">476</span> * An exception thrown when an operation requiring a scanner to be seeked<a name="line.476"></a>
+<span class="sourceLineNo">477</span> * is invoked on a scanner that is not seeked.<a name="line.477"></a>
+<span class="sourceLineNo">478</span> */<a name="line.478"></a>
+<span class="sourceLineNo">479</span> @SuppressWarnings("serial")<a name="line.479"></a>
+<span class="sourceLineNo">480</span> public static class NotSeekedException extends IllegalStateException {<a name="line.480"></a>
+<span class="sourceLineNo">481</span> public NotSeekedException() {<a name="line.481"></a>
+<span class="sourceLineNo">482</span> super("Not seeked to a key/value");<a name="line.482"></a>
+<span class="sourceLineNo">483</span> }<a name="line.483"></a>
+<span class="sourceLineNo">484</span> }<a name="line.484"></a>
+<span class="sourceLineNo">485</span><a name="line.485"></a>
+<span class="sourceLineNo">486</span> protected static class HFileScannerImpl implements HFileScanner {<a name="line.486"></a>
+<span class="sourceLineNo">487</span> private ByteBuff blockBuffer;<a name="line.487"></a>
+<span class="sourceLineNo">488</span> protected final boolean cacheBlocks;<a name="line.488"></a>
+<span class="sourceLineNo">489</span> protected final boolean pread;<a name="line.489"></a>
+<span class="sourceLineNo">490</span> protected final boolean isCompaction;<a name="line.490"></a>
+<span class="sourceLineNo">491</span> private int currKeyLen;<a name="line.491"></a>
+<span class="sourceLineNo">492</span> private int currValueLen;<a name="line.492"></a>
+<span class="sourceLineNo">493</span> private int currMemstoreTSLen;<a name="line.493"></a>
+<span class="sourceLineNo">494</span> private long currMemstoreTS;<a name="line.494"></a>
+<span class="sourceLineNo">495</span> // Updated but never read?<a name="line.495"></a>
+<span class="sourceLineNo">496</span> protected AtomicInteger blockFetches = new AtomicInteger(0);<a name="line.496"></a>
+<span class="sourceLineNo">497</span> protected final HFile.Reader reader;<a name="line.497"></a>
+<span class="sourceLineNo">498</span> private int currTagsLen;<a name="line.498"></a>
+<span class="sourceLineNo">499</span> // buffer backed keyonlyKV<a name="line.499"></a>
+<span class="sourceLineNo">500</span> private ByteBufferKeyOnlyKeyValue bufBackedKeyOnlyKv = new ByteBufferKeyOnlyKeyValue();<a name="line.500"></a>
+<span class="sourceLineNo">501</span> // A pair for reusing in blockSeek() so that we don't garbage lot of objects<a name="line.501"></a>
+<span class="sourceLineNo">502</span> final ObjectIntPair<ByteBuffer> pair = new ObjectIntPair<>();<a name="line.502"></a>
+<span class="sourceLineNo">503</span><a name="line.503"></a>
+<span class="sourceLineNo">504</span> /**<a name="line.504"></a>
+<span class="sourceLineNo">505</span> * The next indexed key is to keep track of the indexed key of the next data block.<a name="line.505"></a>
+<span class="sourceLineNo">506</span> * If the nextIndexedKey is HConstants.NO_NEXT_INDEXED_KEY, it means that the<a name="line.506"></a>
+<span class="sourceLineNo">507</span> * current data block is the last data block.<a name="line.507"></a>
+<span class="sourceLineNo">508</span> *<a name="line.508"></a>
+<span class="sourceLineNo">509</span> * If the nextIndexedKey is null, it means the nextIndexedKey has not been loaded yet.<a name="line.509"></a>
+<span class="sourceLineNo">510</span> */<a name="line.510"></a>
+<span class="sourceLineNo">511</span> protected Cell nextIndexedKey;<a name="line.511"></a>
+<span class="sourceLineNo">512</span> // Current block being used<a name="line.512"></a>
+<span class="sourceLineNo">513</span> protected HFileBlock curBlock;<a name="line.513"></a>
+<span class="sourceLineNo">514</span> // Previous blocks that were used in the course of the read<a name="line.514"></a>
+<span class="sourceLineNo">515</span> protected final ArrayList<HFileBlock> prevBlocks = new ArrayList<>();<a name="line.515"></a>
+<span class="sourceLineNo">516</span><a name="line.516"></a>
+<span class="sourceLineNo">517</span> public HFileScannerImpl(final HFile.Reader reader, final boolean cacheBlocks,<a name="line.517"></a>
+<span class="sourceLineNo">518</span> final boolean pread, final boolean isCompaction) {<a name="line.518"></a>
+<span class="sourceLineNo">519</span> this.reader = reader;<a name="line.519"></a>
+<span class="sourceLineNo">520</span> this.cacheBlocks = cacheBlocks;<a name="line.520"></a>
+<span class="sourceLineNo">521</span> this.pread = pread;<a name="line.521"></a>
+<span class="sourceLineNo">522</span> this.isCompaction = isCompaction;<a name="line.522"></a>
+<span class="sourceLineNo">523</span> }<a name="line.523"></a>
+<span class="sourceLineNo">524</span><a name="line.524"></a>
+<span class="sourceLineNo">525</span> void updateCurrBlockRef(HFileBlock block) {<a name="line.525"></a>
+<span class="sourceLineNo">526</span> if (block != null && this.curBlock != null &&<a name="line.526"></a>
+<span class="sourceLineNo">527</span> block.getOffset() == this.curBlock.getOffset()) {<a name="line.527"></a>
+<span class="sourceLineNo">528</span> return;<a name="line.528"></a>
+<span class="sourceLineNo">529</span> }<a name="line.529"></a>
+<span class="sourceLineNo">530</span> // We don't have to keep ref to EXCLUSIVE type of block<a name="line.530"></a>
+<span class="sourceLineNo">531</span> if (this.curBlock != null && this.curBlock.usesSharedMemory()) {<a name="line.531"></a>
+<span class="sourceLineNo">532</span> prevBlocks.add(this.curBlock);<a name="line.532"></a>
+<span class="sourceLineNo">533</span> }<a name="line.533"></a>
+<span class="sourceLineNo">534</span> this.curBlock = block;<a name="line.534"></a>
+<span class="sourceLineNo">535</span> }<a name="line.535"></a>
+<span class="sourceLineNo">536</span><a name="line.536"></a>
+<span class="sourceLineNo">537</span> void reset() {<a name="line.537"></a>
+<span class="sourceLineNo">538</span> // We don't have to keep ref to EXCLUSIVE type of block<a name="line.538"></a>
+<span class="sourceLineNo">539</span> if (this.curBlock != null && this.curBlock.usesSharedMemory()) {<a name="line.539"></a>
+<span class="sourceLineNo">540</span> this.prevBlocks.add(this.curBlock);<a name="line.540"></a>
+<span class="sourceLineNo">541</span> }<a name="line.541"></a>
+<span class="sourceLineNo">542</span> this.curBlock = null;<a name="line.542"></a>
+<span class="sourceLineNo">543</span> }<a name="line.543"></a>
+<span class="sourceLineNo">544</span><a name="line.544"></a>
+<span class="sourceLineNo">545</span> private void returnBlockToCache(HFileBlock block) {<a name="line.545"></a>
+<span class="sourceLineNo">546</span> if (LOG.isTraceEnabled()) {<a name="line.546"></a>
+<span class="sourceLineNo">547</span> LOG.trace("Returning the block : " + block);<a name="line.547"></a>
+<span class="sourceLineNo">548</span> }<a name="line.548"></a>
+<span class="sourceLineNo">549</span> this.reader.returnBlock(block);<a name="line.549"></a>
+<span class="sourceLineNo">550</span> }<a name="line.550"></a>
+<span class="sourceLineNo">551</span><a name="line.551"></a>
+<span class="sourceLineNo">552</span> private void returnBlocks(boolean returnAll) {<a name="line.552"></a>
+<span class="sourceLineNo">553</span> for (int i = 0; i < this.prevBlocks.size(); i++) {<a name="line.553"></a>
+<span class="sourceLineNo">554</span> returnBlockToCache(this.prevBlocks.get(i));<a name="line.554"></a>
+<span class="sourceLineNo">555</span> }<a name="line.555"></a>
+<span class="sourceLineNo">556</span> this.prevBlocks.clear();<a name="line.556"></a>
+<span class="sourceLineNo">557</span> if (returnAll && this.curBlock != null) {<a name="line.557"></a>
+<span class="sourceLineNo">558</span> returnBlockToCache(this.curBlock);<a name="line.558"></a>
+<span class="sourceLineNo">559</span> this.curBlock = null;<a name="line.559"></a>
+<span class="sourceLineNo">560</span> }<a name="line.560"></a>
+<span class="sourceLineNo">561</span> }<a name="line.561"></a>
+<span class="sourceLineNo">562</span> @Override<a name="line.562"></a>
+<span class="sourceLineNo">563</span> public boolean isSeeked(){<a name="line.563"></a>
+<span class="sourceLineNo">564</span> return blockBuffer != null;<a name="line.564"></a>
+<span class="sourceLineNo">565</span> }<a name="line.565"></a>
+<span class="sourceLineNo">566</span><a name="line.566"></a>
+<span class="sourceLineNo">567</span> @Override<a name="line.567"></a>
+<span class="sourceLineNo">568</span> public String toString() {<a name="line.568"></a>
+<span class="sourceLineNo">569</span> return "HFileScanner for reader " + String.valueOf(getReader());<a name="line.569"></a>
+<span class="sourceLineNo">570</span> }<a name="line.570"></a>
+<span class="sourceLineNo">571</span><a name="line.571"></a>
+<span class="sourceLineNo">572</span> protected void assertSeeked() {<a name="line.572"></a>
+<span class="sourceLineNo">573</span> if (!isSeeked())<a name="line.573"></a>
+<span class="sourceLineNo">574</span> throw new NotSeekedException();<a name="line.574"></a>
+<span class="sourceLineNo">575</span> }<a name="line.575"></a>
+<span class="sourceLineNo">576</span><a name="line.576"></a>
+<span class="sourceLineNo">577</span> @Override<a name="line.577"></a>
+<span class="sourceLineNo">578</span> public HFile.Reader getReader() {<a name="line.578"></a>
+<span class="sourceLineNo">579</span> return reader;<a name="line.579"></a>
+<span class="sourceLineNo">580</span> }<a name="line.580"></a>
+<span class="sourceLineNo">581</span><a name="line.581"></a>
+<span class="sourceLineNo">582</span> // From non encoded HFiles, we always read back KeyValue or its descendant.(Note: When HFile<a name="line.582"></a>
+<span class="sourceLineNo">583</span> // block is in DBB, it will be OffheapKV). So all parts of the Cell is in a contiguous<a name="line.583"></a>
+<span class="sourceLineNo">584</span> // array/buffer. How many bytes we should wrap to make the KV is what this method returns.<a name="line.584"></a>
+<span class="sourceLineNo">585</span> private int getKVBufSize() {<a name="line.585"></a>
+<span class="sourceLineNo">586</span> int kvBufSize = KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen;<a name="line.586"></a>
+<span class="sourceLineNo">587</span> if (currTagsLen > 0) {<a name="line.587"></a>
+<span class="sourceLineNo">588</span> kvBufSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.588"></a>
+<span class="sourceLineNo">589</span> }<a name="line.589"></a>
+<span class="sourceLineNo">590</span> return kvBufSize;<a name="line.590"></a>
+<span class="sourceLineNo">591</span> }<a name="line.591"></a>
+<span class="sourceLineNo">592</span><a name="line.592"></a>
+<span class="sourceLineNo">593</span> @Override<a name="line.593"></a>
+<span class="sourceLineNo">594</span> public void close() {<a name="line.594"></a>
+<span class="sourceLineNo">595</span> if (!pread) {<a name="line.595"></a>
+<span class="sourceLineNo">596</span> // For seek + pread stream socket should be closed when the scanner is closed. HBASE-9393<a name="line.596"></a>
+<span class="sourceLineNo">597</span> reader.unbufferStream();<a name="line.597"></a>
+<span class="sourceLineNo">598</span> }<a name="line.598"></a>
+<span class="sourceLineNo">599</span> this.returnBlocks(true);<a name="line.599"></a>
+<span class="sourceLineNo">600</span> }<a name="line.600"></a>
+<span class="sourceLineNo">601</span><a name="line.601"></a>
+<span class="sourceLineNo">602</span> // Returns the #bytes in HFile for the current cell. Used to skip these many bytes in current<a name="line.602"></a>
+<span class="sourceLineNo">603</span> // HFile block's buffer so as to position to the next cell.<a name="line.603"></a>
+<span class="sourceLineNo">604</span> private int getCurCellSerializedSize() {<a name="line.604"></a>
+<span class="sourceLineNo">605</span> int curCellSize = KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen<a name="line.605"></a>
+<span class="sourceLineNo">606</span> + currMemstoreTSLen;<a name="line.606"></a>
+<span class="sourceLineNo">607</span> if (this.reader.getFileContext().isIncludesTags()) {<a name="line.607"></a>
+<span class="sourceLineNo">608</span> curCellSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.608"></a>
+<span class="sourceLineNo">609</span> }<a name="line.609"></a>
+<span class="sourceLineNo">610</span> return curCellSize;<a name="line.610"></a>
+<span class="sourceLineNo">611</span> }<a name="line.611"></a>
+<span class="sourceLineNo">612</span><a name="line.612"></a>
+<span class="sourceLineNo">613</span> protected void readKeyValueLen() {<a name="line.613"></a>
+<span class="sourceLineNo">614</span> // This is a hot method. We go out of our way to make this method short so it can be<a name="line.614"></a>
+<span class="sourceLineNo">615</span> // inlined and is not too big to compile. We also manage position in ByteBuffer ourselves<a name="line.615"></a>
+<span class="sourceLineNo">616</span> // because it is faster than going via range-checked ByteBuffer methods or going through a<a name="line.616"></a>
+<span class="sourceLineNo">617</span> // byte buffer array a byte at a time.<a name="line.617"></a>
+<span class="sourceLineNo">618</span> // Get a long at a time rather than read two individual ints. In micro-benchmarking, even<a name="line.618"></a>
+<span class="sourceLineNo">619</span> // with the extra bit-fiddling, this is order-of-magnitude faster than getting two ints.<a name="line.619"></a>
+<span class="sourceLineNo">620</span> // Trying to imitate what was done - need to profile if this is better or<a name="line.620"></a>
+<span class="sourceLineNo">621</span> // earlier way is better by doing mark and reset?<a name="line.621"></a>
+<span class="sourceLineNo">622</span> // But ensure that you read long instead of two ints<a name="line.622"></a>
+<span class="sourceLineNo">623</span> long ll = blockBuffer.getLongAfterPosition(0);<a name="line.623"></a>
+<span class="sourceLineNo">624</span> // Read top half as an int of key length and bottom int as value length<a name="line.624"></a>
+<span class="sourceLineNo">625</span> this.currKeyLen = (int)(ll >> Integer.SIZE);<a name="line.625"></a>
+<span class="sourceLineNo">626</span> this.currValueLen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.626"></a>
+<span class="sourceLineNo">627</span> checkKeyValueLen();<a name="line.627"></a>
+<span class="sourceLineNo">628</span> // Move position past the key and value lengths and then beyond the key and value<a name="line.628"></a>
+<span class="sourceLineNo">629</span> int p = (Bytes.SIZEOF_LONG + currKeyLen + currValueLen);<a name="line.629"></a>
+<span class="sourceLineNo">630</span> if (reader.getFileContext().isIncludesTags()) {<a name="line.630"></a>
+<span class="sourceLineNo">631</span> // Tags length is a short.<a name="line.631"></a>
+<span class="sourceLineNo">632</span> this.currTagsLen = blockBuffer.getShortAfterPosition(p);<a name="line.632"></a>
+<span class="sourceLineNo">633</span> checkTagsLen();<a name="line.633"></a>
+<span class="sourceLineNo">634</span> p += (Bytes.SIZEOF_SHORT + currTagsLen);<a name="line.634"></a>
+<span class="sourceLineNo">635</span> }<a name="line.635"></a>
+<span class="sourceLineNo">636</span> readMvccVersion(p);<a name="line.636"></a>
+<span class="sourceLineNo">637</span> }<a name="line.637"></a>
+<span class="sourceLineNo">638</span><a name="line.638"></a>
+<span class="sourceLineNo">639</span> private final void checkTagsLen() {<a name="line.639"></a>
+<span class="sourceLineNo">640</span> if (checkLen(this.currTagsLen)) {<a name="line.640"></a>
+<span class="sourceLineNo">641</span> throw new IllegalStateException("Invalid currTagsLen " + this.currTagsLen +<a name="line.641"></a>
+<span class="sourceLineNo">642</span> ". Block offset: " + curBlock.getOffset() + ", block length: " +<a name="line.642"></a>
+<span class="sourceLineNo">643</span> this.blockBuffer.limit() +<a name="line.643"></a>
+<span class="sourceLineNo">644</span> ", position: " + this.blockBuffer.position() + " (without header).");<a name="line.644"></a>
+<span class="sourceLineNo">645</span> }<a name="line.645"></a>
+<span class="sourceLineNo">646</span> }<a name="line.646"></a>
+<span class="sourceLineNo">647</span><a name="line.647"></a>
+<span class="sourceLineNo">648</span> /**<a name="line.648"></a>
+<span class="sourceLineNo">649</span> * Read mvcc. Does checks to see if we even need to read the mvcc at all.<a name="line.649"></a>
+<span class="sourceLineNo">650</span> * @param offsetFromPos<a name="line.650"></a>
+<span class="sourceLineNo">651</span> */<a name="line.651"></a>
+<span class="sourceLineNo">652</span> protected void readMvccVersion(final int offsetFromPos) {<a name="line.652"></a>
+<span class="sourceLineNo">653</span> // See if we even need to decode mvcc.<a name="line.653"></a>
+<span class="sourceLineNo">654</span> if (!this.reader.shouldIncludeMemStoreTS()) return;<a name="line.654"></a>
+<span class="sourceLineNo">655</span> if (!this.reader.isDecodeMemStoreTS()) {<a name="line.655"></a>
+<span class="sourceLineNo">656</span> currMemstoreTS = 0;<a name="line.656"></a>
+<span class="sourceLineNo">657</span> currMemstoreTSLen = 1;<a name="line.657"></a>
+<span class="sourceLineNo">658</span> return;<a name="line.658"></a>
+<span class="sourceLineNo">659</span> }<a name="line.659"></a>
+<span class="sourceLineNo">660</span> _readMvccVersion(offsetFromPos);<a name="line.660"></a>
+<span class="sourceLineNo">661</span> }<a name="line.661"></a>
+<span class="sourceLineNo">662</span><a name="line.662"></a>
+<span class="sourceLineNo">663</span> /**<a name="line.663"></a>
+<span class="sourceLineNo">664</span> * Actually do the mvcc read. Does no checks.<a name="line.664"></a>
+<span class="sourceLineNo">665</span> * @param offsetFromPos<a name="line.665"></a>
+<span class="sourceLineNo">666</span> */<a name="line.666"></a>
+<span class="sourceLineNo">667</span> private void _readMvccVersion(int offsetFromPos) {<a name="line.667"></a>
+<span class="sourceLineNo">668</span> // This is Bytes#bytesToVint inlined so can save a few instructions in this hot method; i.e.<a name="line.668"></a>
+<span class="sourceLineNo">669</span> // previous if one-byte vint, we'd redo the vint call to find int size.<a name="line.669"></a>
+<span class="sourceLineNo">670</span> // Also the method is kept small so can be inlined.<a name="line.670"></a>
+<span class="sourceLineNo">671</span> byte firstByte = blockBuffer.getByteAfterPosition(offsetFromPos);<a name="line.671"></a>
+<span class="sourceLineNo">672</span> int len = WritableUtils.decodeVIntSize(firstByte);<a name="line.672"></a>
+<span class="sourceLineNo">673</span> if (len == 1) {<a name="line.673"></a>
+<span class="sourceLineNo">674</span> this.currMemstoreTS = firstByte;<a name="line.674"></a>
+<span class="sourceLineNo">675</span> } else {<a name="line.675"></a>
+<span class="sourceLineNo">676</span> int remaining = len -1;<a name="line.676"></a>
+<span class="sourceLineNo">677</span> long i = 0;<a name="line.677"></a>
+<span class="sourceLineNo">678</span> offsetFromPos++;<a name="line.678"></a>
+<span class="sourceLineNo">679</span> if (remaining >= Bytes.SIZEOF_INT) {<a name="line.679"></a>
+<span class="sourceLineNo">680</span> // The int read has to be converted to unsigned long so the & op<a name="line.680"></a>
+<span class="sourceLineNo">681</span> i = (blockBuffer.getIntAfterPosition(offsetFromPos) & 0x00000000ffffffffL);<a name="line.681"></a>
+<span class="sourceLineNo">682</span> remaining -= Bytes.SIZEOF_INT;<a name="line.682"></a>
+<span class="sourceLineNo">683</span> offsetFromPos += Bytes.SIZEOF_INT;<a name="line.683"></a>
+<span class="sourceLineNo">684</span> }<a name="line.684"></a>
+<span class="sourceLineNo">685</span> if (remaining >= Bytes.SIZEOF_SHORT) {<a name="line.685"></a>
+<span class="sourceLineNo">686</span> short s = blockBuffer.getShortAfterPosition(offsetFromPos);<a name="line.686"></a>
+<span class="sourceLineNo">687</span> i = i << 16;<a name="line.687"></a>
+<span class="sourceLineNo">688</span> i = i | (s & 0xFFFF);<a name="line.688"></a>
+<span class="sourceLineNo">689</span> remaining -= Bytes.SIZEOF_SHORT;<a name="line.689"></a>
+<span class="sourceLineNo">690</span> offsetFromPos += Bytes.SIZEOF_SHORT;<a name="line.690"></a>
+<span class="sourceLineNo">691</span> }<a name="line.691"></a>
+<span class="sourceLineNo">692</span> for (int idx = 0; idx < remaining; idx++) {<a name="line.692"></a>
+<span class="sourceLineNo">693</span> byte b = blockBuffer.getByteAfterPosition(offsetFromPos + idx);<a name="line.693"></a>
+<span class="sourceLineNo">694</span> i = i << 8;<a name="line.694"></a>
+<span class="sourceLineNo">695</span> i = i | (b & 0xFF);<a name="line.695"></a>
+<span class="sourceLineNo">696</span> }<a name="line.696"></a>
+<span class="sourceLineNo">697</span> currMemstoreTS = (WritableUtils.isNegativeVInt(firstByte) ? ~i : i);<a name="line.697"></a>
+<span class="sourceLineNo">698</span> }<a name="line.698"></a>
+<span class="sourceLineNo">699</span> this.currMemstoreTSLen = len;<a name="line.699"></a>
+<span class="sourceLineNo">700</span> }<a name="line.700"></a>
+<span class="sourceLineNo">701</span><a name="line.701"></a>
+<span class="sourceLineNo">702</span> /**<a name="line.702"></a>
+<span class="sourceLineNo">703</span> * Within
<TRUNCATED>
[43/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html
index a489bf0..4ec6398 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html
@@ -627,7 +627,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/InlineBlo
<ul class="blockList">
<li class="blockList">
<h4>writeSingleLevelIndex</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html#line.1139">writeSingleLevelIndex</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a> out,
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html#line.1141">writeSingleLevelIndex</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a> out,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> description)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Writes the block index data as a single level only. Does not do any
@@ -649,7 +649,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/InlineBlo
<ul class="blockList">
<li class="blockList">
<h4>writeIntermediateLevel</h4>
-<pre>private <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlockIndex.BlockIndexChunk</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html#line.1173">writeIntermediateLevel</a>(org.apache.hadoop.fs.FSDataOutputStream out,
+<pre>private <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlockIndex.BlockIndexChunk</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html#line.1175">writeIntermediateLevel</a>(org.apache.hadoop.fs.FSDataOutputStream out,
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlockIndex.BlockIndexChunk</a> currentLevel)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Split the current level of the block index into intermediate index
@@ -674,7 +674,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/InlineBlo
<ul class="blockList">
<li class="blockList">
<h4>writeIntermediateBlock</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html#line.1200">writeIntermediateBlock</a>(org.apache.hadoop.fs.FSDataOutputStream out,
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html#line.1202">writeIntermediateBlock</a>(org.apache.hadoop.fs.FSDataOutputStream out,
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlockIndex.BlockIndexChunk</a> parent,
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlockIndex.BlockIndexChunk</a> curChunk)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -690,7 +690,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/InlineBlo
<ul class="blockList">
<li class="blockList">
<h4>getNumRootEntries</h4>
-<pre>public final int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html#line.1236">getNumRootEntries</a>()</pre>
+<pre>public final int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html#line.1241">getNumRootEntries</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>how many block index entries there are in the root level</dd>
@@ -703,7 +703,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/InlineBlo
<ul class="blockList">
<li class="blockList">
<h4>getNumLevels</h4>
-<pre>public int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html#line.1243">getNumLevels</a>()</pre>
+<pre>public int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html#line.1248">getNumLevels</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of levels in this block index.</dd>
@@ -716,7 +716,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/InlineBlo
<ul class="blockList">
<li class="blockList">
<h4>expectNumLevels</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html#line.1247">expectNumLevels</a>(int expectedNumLevels)</pre>
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html#line.1252">expectNumLevels</a>(int expectedNumLevels)</pre>
</li>
</ul>
<a name="shouldWriteBlock-boolean-">
@@ -725,7 +725,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/InlineBlo
<ul class="blockList">
<li class="blockList">
<h4>shouldWriteBlock</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html#line.1260">shouldWriteBlock</a>(boolean closing)</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html#line.1265">shouldWriteBlock</a>(boolean closing)</pre>
<div class="block">Whether there is an inline block ready to be written. In general, we
write an leaf-level index block as an inline block as soon as its size
as serialized in the non-root format reaches a certain threshold.</div>
@@ -744,7 +744,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/InlineBlo
<ul class="blockList">
<li class="blockList">
<h4>writeInlineBlock</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html#line.1299">writeInlineBlock</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a> out)
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html#line.1304">writeInlineBlock</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a> out)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Write out the current inline index block. Inline blocks are non-root
blocks, so the non-root index format is used.</div>
@@ -764,7 +764,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/InlineBlo
<ul class="blockList">
<li class="blockList">
<h4>blockWritten</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html#line.1320">blockWritten</a>(long offset,
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html#line.1325">blockWritten</a>(long offset,
int onDiskSize,
int uncompressedSize)</pre>
<div class="block">Called after an inline block has been written so that we can add an
@@ -785,7 +785,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/InlineBlo
<ul class="blockList">
<li class="blockList">
<h4>getInlineBlockType</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockType</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html#line.1347">getInlineBlockType</a>()</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockType</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html#line.1352">getInlineBlockType</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/InlineBlockWriter.html#getInlineBlockType--">InlineBlockWriter</a></code></span></div>
<div class="block">The type of blocks this block writer produces.</div>
<dl>
@@ -800,7 +800,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/InlineBlo
<ul class="blockList">
<li class="blockList">
<h4>addEntry</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html#line.1361">addEntry</a>(byte[] firstKey,
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html#line.1366">addEntry</a>(byte[] firstKey,
long blockOffset,
int blockDataSize)</pre>
<div class="block">Add one index entry to the current leaf-level block. When the leaf-level
@@ -821,7 +821,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/InlineBlo
<ul class="blockList">
<li class="blockList">
<h4>ensureSingleLevel</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html#line.1369">ensureSingleLevel</a>()
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html#line.1374">ensureSingleLevel</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -835,7 +835,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/InlineBlo
<ul class="blockList">
<li class="blockList">
<h4>getCacheOnWrite</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html#line.1383">getCacheOnWrite</a>()</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html#line.1388">getCacheOnWrite</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/InlineBlockWriter.html#getCacheOnWrite--">getCacheOnWrite</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/InlineBlockWriter.html" title="interface in org.apache.hadoop.hbase.io.hfile">InlineBlockWriter</a></code></dd>
@@ -852,7 +852,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/InlineBlo
<ul class="blockListLast">
<li class="blockList">
<h4>getTotalUncompressedSize</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html#line.1393">getTotalUncompressedSize</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html#line.1398">getTotalUncompressedSize</a>()</pre>
<div class="block">The total uncompressed size of the root index block, intermediate-level
index blocks, and leaf-level index blocks.</div>
<dl>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.html
index 07ab9b0..ccaa6c4 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.html
@@ -440,7 +440,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getMaxChunkSize</h4>
-<pre>public static int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.html#line.1679">getMaxChunkSize</a>(org.apache.hadoop.conf.Configuration conf)</pre>
+<pre>public static int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.html#line.1684">getMaxChunkSize</a>(org.apache.hadoop.conf.Configuration conf)</pre>
</li>
</ul>
<a name="getMinIndexNumEntries-org.apache.hadoop.conf.Configuration-">
@@ -449,7 +449,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>getMinIndexNumEntries</h4>
-<pre>public static int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.html#line.1683">getMinIndexNumEntries</a>(org.apache.hadoop.conf.Configuration conf)</pre>
+<pre>public static int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.html#line.1688">getMinIndexNumEntries</a>(org.apache.hadoop.conf.Configuration conf)</pre>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html
index e6fcc59..f95806d 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>protected static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1596">HFileReaderImpl.EncodedScanner</a>
+<pre>protected static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1598">HFileReaderImpl.EncodedScanner</a>
extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileReaderImpl.HFileScannerImpl</a></pre>
<div class="block">Scanner that operates on encoded data blocks.</div>
</li>
@@ -312,7 +312,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
<ul class="blockList">
<li class="blockList">
<h4>decodingCtx</h4>
-<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/HFileBlockDecodingContext.html" title="interface in org.apache.hadoop.hbase.io.encoding">HFileBlockDecodingContext</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1597">decodingCtx</a></pre>
+<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/HFileBlockDecodingContext.html" title="interface in org.apache.hadoop.hbase.io.encoding">HFileBlockDecodingContext</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1599">decodingCtx</a></pre>
</li>
</ul>
<a name="seeker">
@@ -321,7 +321,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
<ul class="blockList">
<li class="blockList">
<h4>seeker</h4>
-<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.EncodedSeeker.html" title="interface in org.apache.hadoop.hbase.io.encoding">DataBlockEncoder.EncodedSeeker</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1598">seeker</a></pre>
+<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.EncodedSeeker.html" title="interface in org.apache.hadoop.hbase.io.encoding">DataBlockEncoder.EncodedSeeker</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1600">seeker</a></pre>
</li>
</ul>
<a name="dataBlockEncoder">
@@ -330,7 +330,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
<ul class="blockListLast">
<li class="blockList">
<h4>dataBlockEncoder</h4>
-<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html" title="interface in org.apache.hadoop.hbase.io.encoding">DataBlockEncoder</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1599">dataBlockEncoder</a></pre>
+<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html" title="interface in org.apache.hadoop.hbase.io.encoding">DataBlockEncoder</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1601">dataBlockEncoder</a></pre>
</li>
</ul>
</li>
@@ -347,7 +347,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
<ul class="blockListLast">
<li class="blockList">
<h4>EncodedScanner</h4>
-<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1601">EncodedScanner</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a> reader,
+<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1603">EncodedScanner</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a> reader,
boolean cacheBlocks,
boolean pread,
boolean isCompaction,
@@ -368,7 +368,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
<ul class="blockList">
<li class="blockList">
<h4>isSeeked</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1612">isSeeked</a>()</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1614">isSeeked</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#isSeeked--">isSeeked</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileScanner</a></code></dd>
@@ -387,7 +387,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
<ul class="blockList">
<li class="blockList">
<h4>setNonSeekedState</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1617">setNonSeekedState</a>()</pre>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1619">setNonSeekedState</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#setNonSeekedState--">setNonSeekedState</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileReaderImpl.HFileScannerImpl</a></code></dd>
@@ -400,7 +400,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
<ul class="blockList">
<li class="blockList">
<h4>updateCurrentBlock</h4>
-<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1629">updateCurrentBlock</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> newBlock)
+<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1631">updateCurrentBlock</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> newBlock)
throws <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CorruptHFileException.html" title="class in org.apache.hadoop.hbase.io.hfile">CorruptHFileException</a></pre>
<div class="block">Updates the current block to be the given <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile"><code>HFileBlock</code></a>. Seeks to
the the first key/value pair.</div>
@@ -420,7 +420,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
<ul class="blockList">
<li class="blockList">
<h4>getEncodedBuffer</h4>
-<pre>private <a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1651">getEncodedBuffer</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> newBlock)</pre>
+<pre>private <a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1653">getEncodedBuffer</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> newBlock)</pre>
</li>
</ul>
<a name="processFirstDataBlock--">
@@ -429,7 +429,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
<ul class="blockList">
<li class="blockList">
<h4>processFirstDataBlock</h4>
-<pre>protected boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1661">processFirstDataBlock</a>()
+<pre>protected boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1663">processFirstDataBlock</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
@@ -445,7 +445,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
<ul class="blockList">
<li class="blockList">
<h4>next</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1667">next</a>()
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1669">next</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#next--">HFileReaderImpl.HFileScannerImpl</a></code></span></div>
<div class="block">Go to the next key/value in the block section. Loads the next block if
@@ -469,7 +469,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
<ul class="blockList">
<li class="blockList">
<h4>getKey</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1682">getKey</a>()</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1684">getKey</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#getKey--">HFileScanner</a></code></span></div>
<div class="block">Gets the current key in the form of a cell. You must call
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#seekTo-org.apache.hadoop.hbase.Cell-"><code>HFileScanner.seekTo(Cell)</code></a> before this method.</div>
@@ -489,7 +489,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
<ul class="blockList">
<li class="blockList">
<h4>getValue</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1688">getValue</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1690">getValue</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#getValue--">HFileScanner</a></code></span></div>
<div class="block">Gets a buffer view to the current value. You must call
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#seekTo-org.apache.hadoop.hbase.Cell-"><code>HFileScanner.seekTo(Cell)</code></a> before this method.</div>
@@ -510,7 +510,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
<ul class="blockList">
<li class="blockList">
<h4>getCell</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1694">getCell</a>()</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1696">getCell</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#getCell--">getCell</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileScanner</a></code></dd>
@@ -527,7 +527,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
<ul class="blockList">
<li class="blockList">
<h4>getKeyString</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1702">getKeyString</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1704">getKeyString</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#getKeyString--">HFileScanner</a></code></span></div>
<div class="block">Convenience method to get a copy of the key as a string - interpreting the
bytes as UTF8. You must call <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#seekTo-org.apache.hadoop.hbase.Cell-"><code>HFileScanner.seekTo(Cell)</code></a> before this method.</div>
@@ -547,7 +547,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
<ul class="blockList">
<li class="blockList">
<h4>getValueString</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1707">getValueString</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1709">getValueString</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#getValueString--">HFileScanner</a></code></span></div>
<div class="block">Convenience method to get a copy of the value as a string - interpreting
the bytes as UTF8. You must call <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#seekTo-org.apache.hadoop.hbase.Cell-"><code>HFileScanner.seekTo(Cell)</code></a> before this method.</div>
@@ -567,7 +567,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
<ul class="blockList">
<li class="blockList">
<h4>assertValidSeek</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1712">assertValidSeek</a>()</pre>
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1714">assertValidSeek</a>()</pre>
</li>
</ul>
<a name="getFirstKeyCellInBlock-org.apache.hadoop.hbase.io.hfile.HFileBlock-">
@@ -576,7 +576,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
<ul class="blockList">
<li class="blockList">
<h4>getFirstKeyCellInBlock</h4>
-<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1719">getFirstKeyCellInBlock</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> curBlock)</pre>
+<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1721">getFirstKeyCellInBlock</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> curBlock)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#getFirstKeyCellInBlock-org.apache.hadoop.hbase.io.hfile.HFileBlock-">getFirstKeyCellInBlock</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileReaderImpl.HFileScannerImpl</a></code></dd>
@@ -589,7 +589,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
<ul class="blockList">
<li class="blockList">
<h4>loadBlockAndSeekToKey</h4>
-<pre>protected int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1724">loadBlockAndSeekToKey</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> seekToBlock,
+<pre>protected int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1726">loadBlockAndSeekToKey</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> seekToBlock,
<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> nextIndexedKey,
boolean rewind,
<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> key,
@@ -609,7 +609,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderI
<ul class="blockListLast">
<li class="blockList">
<h4>compareKey</h4>
-<pre>public int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1737">compareKey</a>(<a href="../../../../../../org/apache/hadoop/hbase/CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a> comparator,
+<pre>public int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html#line.1739">compareKey</a>(<a href="../../../../../../org/apache/hadoop/hbase/CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a> comparator,
<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> key)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
[13/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexReader.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexReader.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexReader.html
index 1124f8b..0c29054 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexReader.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexReader.html
@@ -1111,587 +1111,592 @@
<span class="sourceLineNo">1103</span> blockStream.write(midKeyMetadata);<a name="line.1103"></a>
<span class="sourceLineNo">1104</span> blockWriter.writeHeaderAndData(out);<a name="line.1104"></a>
<span class="sourceLineNo">1105</span> if (cacheConf != null) {<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span> HFileBlock blockForCaching = blockWriter.getBlockForCaching(cacheConf);<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span> cacheConf.getBlockCache().cacheBlock(new BlockCacheKey(nameForCaching,<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span> rootLevelIndexPos, true, blockForCaching.getBlockType()), blockForCaching);<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span> }<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span> }<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span><a name="line.1111"></a>
-<span class="sourceLineNo">1112</span> // Add root index block size<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span> totalBlockOnDiskSize += blockWriter.getOnDiskSizeWithoutHeader();<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span> totalBlockUncompressedSize +=<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span> blockWriter.getUncompressedSizeWithoutHeader();<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span><a name="line.1116"></a>
-<span class="sourceLineNo">1117</span> if (LOG.isTraceEnabled()) {<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span> LOG.trace("Wrote a " + numLevels + "-level index with root level at pos "<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span> + rootLevelIndexPos + ", " + rootChunk.getNumEntries()<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span> + " root-level entries, " + totalNumEntries + " total entries, "<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span> + StringUtils.humanReadableInt(this.totalBlockOnDiskSize) +<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span> " on-disk size, "<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span> + StringUtils.humanReadableInt(totalBlockUncompressedSize) +<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span> " total uncompressed size.");<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span> }<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span> return rootLevelIndexPos;<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span> }<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span><a name="line.1128"></a>
-<span class="sourceLineNo">1129</span> /**<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span> * Writes the block index data as a single level only. Does not do any<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span> * block framing.<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span> *<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span> * @param out the buffered output stream to write the index to. Typically a<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span> * stream writing into an {@link HFile} block.<a name="line.1134"></a>
-<span class="sourceLineNo">1135</span> * @param description a short description of the index being written. Used<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span> * in a log message.<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span> * @throws IOException<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span> */<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span> public void writeSingleLevelIndex(DataOutput out, String description)<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span> throws IOException {<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span> expectNumLevels(1);<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span><a name="line.1142"></a>
-<span class="sourceLineNo">1143</span> if (!singleLevelOnly)<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span> throw new IOException("Single-level mode is turned off");<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span><a name="line.1145"></a>
-<span class="sourceLineNo">1146</span> if (rootChunk.getNumEntries() > 0)<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span> throw new IOException("Root-level entries already added in " +<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span> "single-level mode");<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span><a name="line.1149"></a>
-<span class="sourceLineNo">1150</span> rootChunk = curInlineChunk;<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span> curInlineChunk = new BlockIndexChunk();<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span><a name="line.1152"></a>
-<span class="sourceLineNo">1153</span> if (LOG.isTraceEnabled()) {<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span> LOG.trace("Wrote a single-level " + description + " index with "<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span> + rootChunk.getNumEntries() + " entries, " + rootChunk.getRootSize()<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span> + " bytes");<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span> }<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span> rootChunk.writeRoot(out);<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span> }<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span><a name="line.1160"></a>
-<span class="sourceLineNo">1161</span> /**<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span> * Split the current level of the block index into intermediate index<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span> * blocks of permitted size and write those blocks to disk. Return the next<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span> * level of the block index referencing those intermediate-level blocks.<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span> *<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span> * @param out<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span> * @param currentLevel the current level of the block index, such as the a<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span> * chunk referencing all leaf-level index blocks<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span> * @return the parent level block index, which becomes the root index after<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span> * a few (usually zero) iterations<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span> * @throws IOException<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span> */<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span> private BlockIndexChunk writeIntermediateLevel(FSDataOutputStream out,<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span> BlockIndexChunk currentLevel) throws IOException {<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span> // Entries referencing intermediate-level blocks we are about to create.<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span> BlockIndexChunk parent = new BlockIndexChunk();<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span><a name="line.1177"></a>
-<span class="sourceLineNo">1178</span> // The current intermediate-level block index chunk.<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span> BlockIndexChunk curChunk = new BlockIndexChunk();<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span><a name="line.1180"></a>
-<span class="sourceLineNo">1181</span> for (int i = 0; i < currentLevel.getNumEntries(); ++i) {<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span> curChunk.add(currentLevel.getBlockKey(i),<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span> currentLevel.getBlockOffset(i), currentLevel.getOnDiskDataSize(i));<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span><a name="line.1184"></a>
-<span class="sourceLineNo">1185</span> // HBASE-16288: We have to have at least minIndexNumEntries(16) items in the index so that<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span> // we won't end up with too-many levels for a index with very large rowKeys. Also, if the<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span> // first key is larger than maxChunkSize this will cause infinite recursion.<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span> if (i >= minIndexNumEntries && curChunk.getRootSize() >= maxChunkSize) {<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span> writeIntermediateBlock(out, parent, curChunk);<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span> }<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span> }<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span><a name="line.1192"></a>
-<span class="sourceLineNo">1193</span> if (curChunk.getNumEntries() > 0) {<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span> writeIntermediateBlock(out, parent, curChunk);<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span> }<a name="line.1195"></a>
-<span class="sourceLineNo">1196</span><a name="line.1196"></a>
-<span class="sourceLineNo">1197</span> return parent;<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span> }<a name="line.1198"></a>
-<span class="sourceLineNo">1199</span><a name="line.1199"></a>
-<span class="sourceLineNo">1200</span> private void writeIntermediateBlock(FSDataOutputStream out,<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span> BlockIndexChunk parent, BlockIndexChunk curChunk) throws IOException {<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span> long beginOffset = out.getPos();<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span> DataOutputStream dos = blockWriter.startWriting(<a name="line.1203"></a>
-<span class="sourceLineNo">1204</span> BlockType.INTERMEDIATE_INDEX);<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span> curChunk.writeNonRoot(dos);<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span> byte[] curFirstKey = curChunk.getBlockKey(0);<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span> blockWriter.writeHeaderAndData(out);<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span><a name="line.1208"></a>
-<span class="sourceLineNo">1209</span> if (getCacheOnWrite()) {<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span> HFileBlock blockForCaching = blockWriter.getBlockForCaching(cacheConf);<a name="line.1210"></a>
-<span class="sourceLineNo">1211</span> cacheConf.getBlockCache().cacheBlock(new BlockCacheKey(nameForCaching,<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span> beginOffset, true, blockForCaching.getBlockType()), blockForCaching);<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span> }<a name="line.1213"></a>
-<span class="sourceLineNo">1214</span><a name="line.1214"></a>
-<span class="sourceLineNo">1215</span> // Add intermediate index block size<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span> totalBlockOnDiskSize += blockWriter.getOnDiskSizeWithoutHeader();<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span> totalBlockUncompressedSize +=<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span> blockWriter.getUncompressedSizeWithoutHeader();<a name="line.1218"></a>
+<span class="sourceLineNo">1106</span> cacheConf.getBlockCache().ifPresent(cache -> {<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span> HFileBlock blockForCaching = blockWriter.getBlockForCaching(cacheConf);<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span> cache.cacheBlock(new BlockCacheKey(nameForCaching, rootLevelIndexPos, true,<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span> blockForCaching.getBlockType()), blockForCaching);<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span> });<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span> }<a name="line.1111"></a>
+<span class="sourceLineNo">1112</span> }<a name="line.1112"></a>
+<span class="sourceLineNo">1113</span><a name="line.1113"></a>
+<span class="sourceLineNo">1114</span> // Add root index block size<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span> totalBlockOnDiskSize += blockWriter.getOnDiskSizeWithoutHeader();<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span> totalBlockUncompressedSize +=<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span> blockWriter.getUncompressedSizeWithoutHeader();<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span><a name="line.1118"></a>
+<span class="sourceLineNo">1119</span> if (LOG.isTraceEnabled()) {<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span> LOG.trace("Wrote a " + numLevels + "-level index with root level at pos "<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span> + rootLevelIndexPos + ", " + rootChunk.getNumEntries()<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span> + " root-level entries, " + totalNumEntries + " total entries, "<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span> + StringUtils.humanReadableInt(this.totalBlockOnDiskSize) +<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span> " on-disk size, "<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span> + StringUtils.humanReadableInt(totalBlockUncompressedSize) +<a name="line.1125"></a>
+<span class="sourceLineNo">1126</span> " total uncompressed size.");<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span> }<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span> return rootLevelIndexPos;<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span> }<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span><a name="line.1130"></a>
+<span class="sourceLineNo">1131</span> /**<a name="line.1131"></a>
+<span class="sourceLineNo">1132</span> * Writes the block index data as a single level only. Does not do any<a name="line.1132"></a>
+<span class="sourceLineNo">1133</span> * block framing.<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span> *<a name="line.1134"></a>
+<span class="sourceLineNo">1135</span> * @param out the buffered output stream to write the index to. Typically a<a name="line.1135"></a>
+<span class="sourceLineNo">1136</span> * stream writing into an {@link HFile} block.<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span> * @param description a short description of the index being written. Used<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span> * in a log message.<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span> * @throws IOException<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span> */<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span> public void writeSingleLevelIndex(DataOutput out, String description)<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span> throws IOException {<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span> expectNumLevels(1);<a name="line.1143"></a>
+<span class="sourceLineNo">1144</span><a name="line.1144"></a>
+<span class="sourceLineNo">1145</span> if (!singleLevelOnly)<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span> throw new IOException("Single-level mode is turned off");<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span><a name="line.1147"></a>
+<span class="sourceLineNo">1148</span> if (rootChunk.getNumEntries() > 0)<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span> throw new IOException("Root-level entries already added in " +<a name="line.1149"></a>
+<span class="sourceLineNo">1150</span> "single-level mode");<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span><a name="line.1151"></a>
+<span class="sourceLineNo">1152</span> rootChunk = curInlineChunk;<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span> curInlineChunk = new BlockIndexChunk();<a name="line.1153"></a>
+<span class="sourceLineNo">1154</span><a name="line.1154"></a>
+<span class="sourceLineNo">1155</span> if (LOG.isTraceEnabled()) {<a name="line.1155"></a>
+<span class="sourceLineNo">1156</span> LOG.trace("Wrote a single-level " + description + " index with "<a name="line.1156"></a>
+<span class="sourceLineNo">1157</span> + rootChunk.getNumEntries() + " entries, " + rootChunk.getRootSize()<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span> + " bytes");<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span> }<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span> rootChunk.writeRoot(out);<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span> }<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span><a name="line.1162"></a>
+<span class="sourceLineNo">1163</span> /**<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span> * Split the current level of the block index into intermediate index<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span> * blocks of permitted size and write those blocks to disk. Return the next<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span> * level of the block index referencing those intermediate-level blocks.<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span> *<a name="line.1167"></a>
+<span class="sourceLineNo">1168</span> * @param out<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span> * @param currentLevel the current level of the block index, such as the a<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span> * chunk referencing all leaf-level index blocks<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span> * @return the parent level block index, which becomes the root index after<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span> * a few (usually zero) iterations<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span> * @throws IOException<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span> */<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span> private BlockIndexChunk writeIntermediateLevel(FSDataOutputStream out,<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span> BlockIndexChunk currentLevel) throws IOException {<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span> // Entries referencing intermediate-level blocks we are about to create.<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span> BlockIndexChunk parent = new BlockIndexChunk();<a name="line.1178"></a>
+<span class="sourceLineNo">1179</span><a name="line.1179"></a>
+<span class="sourceLineNo">1180</span> // The current intermediate-level block index chunk.<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span> BlockIndexChunk curChunk = new BlockIndexChunk();<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span><a name="line.1182"></a>
+<span class="sourceLineNo">1183</span> for (int i = 0; i < currentLevel.getNumEntries(); ++i) {<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span> curChunk.add(currentLevel.getBlockKey(i),<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span> currentLevel.getBlockOffset(i), currentLevel.getOnDiskDataSize(i));<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span><a name="line.1186"></a>
+<span class="sourceLineNo">1187</span> // HBASE-16288: We have to have at least minIndexNumEntries(16) items in the index so that<a name="line.1187"></a>
+<span class="sourceLineNo">1188</span> // we won't end up with too-many levels for a index with very large rowKeys. Also, if the<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span> // first key is larger than maxChunkSize this will cause infinite recursion.<a name="line.1189"></a>
+<span class="sourceLineNo">1190</span> if (i >= minIndexNumEntries && curChunk.getRootSize() >= maxChunkSize) {<a name="line.1190"></a>
+<span class="sourceLineNo">1191</span> writeIntermediateBlock(out, parent, curChunk);<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span> }<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span> }<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span><a name="line.1194"></a>
+<span class="sourceLineNo">1195</span> if (curChunk.getNumEntries() > 0) {<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span> writeIntermediateBlock(out, parent, curChunk);<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span> }<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span><a name="line.1198"></a>
+<span class="sourceLineNo">1199</span> return parent;<a name="line.1199"></a>
+<span class="sourceLineNo">1200</span> }<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span><a name="line.1201"></a>
+<span class="sourceLineNo">1202</span> private void writeIntermediateBlock(FSDataOutputStream out,<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span> BlockIndexChunk parent, BlockIndexChunk curChunk) throws IOException {<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span> long beginOffset = out.getPos();<a name="line.1204"></a>
+<span class="sourceLineNo">1205</span> DataOutputStream dos = blockWriter.startWriting(<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span> BlockType.INTERMEDIATE_INDEX);<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span> curChunk.writeNonRoot(dos);<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span> byte[] curFirstKey = curChunk.getBlockKey(0);<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span> blockWriter.writeHeaderAndData(out);<a name="line.1209"></a>
+<span class="sourceLineNo">1210</span><a name="line.1210"></a>
+<span class="sourceLineNo">1211</span> if (getCacheOnWrite()) {<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span> cacheConf.getBlockCache().ifPresent(cache -> {<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span> HFileBlock blockForCaching = blockWriter.getBlockForCaching(cacheConf);<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span> cache.cacheBlock(<a name="line.1214"></a>
+<span class="sourceLineNo">1215</span> new BlockCacheKey(nameForCaching, beginOffset, true, blockForCaching.getBlockType()),<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span> blockForCaching);<a name="line.1216"></a>
+<span class="sourceLineNo">1217</span> });<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span> }<a name="line.1218"></a>
<span class="sourceLineNo">1219</span><a name="line.1219"></a>
-<span class="sourceLineNo">1220</span> // OFFSET is the beginning offset the chunk of block index entries.<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span> // SIZE is the total byte size of the chunk of block index entries<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span> // + the secondary index size<a name="line.1222"></a>
-<span class="sourceLineNo">1223</span> // FIRST_KEY is the first key in the chunk of block index<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span> // entries.<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span> parent.add(curFirstKey, beginOffset,<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span> blockWriter.getOnDiskSizeWithHeader());<a name="line.1226"></a>
-<span class="sourceLineNo">1227</span><a name="line.1227"></a>
-<span class="sourceLineNo">1228</span> // clear current block index chunk<a name="line.1228"></a>
-<span class="sourceLineNo">1229</span> curChunk.clear();<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span> curFirstKey = null;<a name="line.1230"></a>
-<span class="sourceLineNo">1231</span> }<a name="line.1231"></a>
+<span class="sourceLineNo">1220</span> // Add intermediate index block size<a name="line.1220"></a>
+<span class="sourceLineNo">1221</span> totalBlockOnDiskSize += blockWriter.getOnDiskSizeWithoutHeader();<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span> totalBlockUncompressedSize +=<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span> blockWriter.getUncompressedSizeWithoutHeader();<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span><a name="line.1224"></a>
+<span class="sourceLineNo">1225</span> // OFFSET is the beginning offset the chunk of block index entries.<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span> // SIZE is the total byte size of the chunk of block index entries<a name="line.1226"></a>
+<span class="sourceLineNo">1227</span> // + the secondary index size<a name="line.1227"></a>
+<span class="sourceLineNo">1228</span> // FIRST_KEY is the first key in the chunk of block index<a name="line.1228"></a>
+<span class="sourceLineNo">1229</span> // entries.<a name="line.1229"></a>
+<span class="sourceLineNo">1230</span> parent.add(curFirstKey, beginOffset,<a name="line.1230"></a>
+<span class="sourceLineNo">1231</span> blockWriter.getOnDiskSizeWithHeader());<a name="line.1231"></a>
<span class="sourceLineNo">1232</span><a name="line.1232"></a>
-<span class="sourceLineNo">1233</span> /**<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span> * @return how many block index entries there are in the root level<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span> */<a name="line.1235"></a>
-<span class="sourceLineNo">1236</span> public final int getNumRootEntries() {<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span> return rootChunk.getNumEntries();<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span> }<a name="line.1238"></a>
-<span class="sourceLineNo">1239</span><a name="line.1239"></a>
-<span class="sourceLineNo">1240</span> /**<a name="line.1240"></a>
-<span class="sourceLineNo">1241</span> * @return the number of levels in this block index.<a name="line.1241"></a>
-<span class="sourceLineNo">1242</span> */<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span> public int getNumLevels() {<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span> return numLevels;<a name="line.1244"></a>
-<span class="sourceLineNo">1245</span> }<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span><a name="line.1246"></a>
-<span class="sourceLineNo">1247</span> private void expectNumLevels(int expectedNumLevels) {<a name="line.1247"></a>
-<span class="sourceLineNo">1248</span> if (numLevels != expectedNumLevels) {<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span> throw new IllegalStateException("Number of block index levels is "<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span> + numLevels + "but is expected to be " + expectedNumLevels);<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span> }<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span> }<a name="line.1252"></a>
-<span class="sourceLineNo">1253</span><a name="line.1253"></a>
-<span class="sourceLineNo">1254</span> /**<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span> * Whether there is an inline block ready to be written. In general, we<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span> * write an leaf-level index block as an inline block as soon as its size<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span> * as serialized in the non-root format reaches a certain threshold.<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span> */<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span> @Override<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span> public boolean shouldWriteBlock(boolean closing) {<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span> if (singleLevelOnly) {<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1262"></a>
-<span class="sourceLineNo">1263</span> }<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span><a name="line.1264"></a>
-<span class="sourceLineNo">1265</span> if (curInlineChunk == null) {<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span> throw new IllegalStateException("curInlineChunk is null; has shouldWriteBlock been " +<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span> "called with closing=true and then called again?");<a name="line.1267"></a>
+<span class="sourceLineNo">1233</span> // clear current block index chunk<a name="line.1233"></a>
+<span class="sourceLineNo">1234</span> curChunk.clear();<a name="line.1234"></a>
+<span class="sourceLineNo">1235</span> curFirstKey = null;<a name="line.1235"></a>
+<span class="sourceLineNo">1236</span> }<a name="line.1236"></a>
+<span class="sourceLineNo">1237</span><a name="line.1237"></a>
+<span class="sourceLineNo">1238</span> /**<a name="line.1238"></a>
+<span class="sourceLineNo">1239</span> * @return how many block index entries there are in the root level<a name="line.1239"></a>
+<span class="sourceLineNo">1240</span> */<a name="line.1240"></a>
+<span class="sourceLineNo">1241</span> public final int getNumRootEntries() {<a name="line.1241"></a>
+<span class="sourceLineNo">1242</span> return rootChunk.getNumEntries();<a name="line.1242"></a>
+<span class="sourceLineNo">1243</span> }<a name="line.1243"></a>
+<span class="sourceLineNo">1244</span><a name="line.1244"></a>
+<span class="sourceLineNo">1245</span> /**<a name="line.1245"></a>
+<span class="sourceLineNo">1246</span> * @return the number of levels in this block index.<a name="line.1246"></a>
+<span class="sourceLineNo">1247</span> */<a name="line.1247"></a>
+<span class="sourceLineNo">1248</span> public int getNumLevels() {<a name="line.1248"></a>
+<span class="sourceLineNo">1249</span> return numLevels;<a name="line.1249"></a>
+<span class="sourceLineNo">1250</span> }<a name="line.1250"></a>
+<span class="sourceLineNo">1251</span><a name="line.1251"></a>
+<span class="sourceLineNo">1252</span> private void expectNumLevels(int expectedNumLevels) {<a name="line.1252"></a>
+<span class="sourceLineNo">1253</span> if (numLevels != expectedNumLevels) {<a name="line.1253"></a>
+<span class="sourceLineNo">1254</span> throw new IllegalStateException("Number of block index levels is "<a name="line.1254"></a>
+<span class="sourceLineNo">1255</span> + numLevels + "but is expected to be " + expectedNumLevels);<a name="line.1255"></a>
+<span class="sourceLineNo">1256</span> }<a name="line.1256"></a>
+<span class="sourceLineNo">1257</span> }<a name="line.1257"></a>
+<span class="sourceLineNo">1258</span><a name="line.1258"></a>
+<span class="sourceLineNo">1259</span> /**<a name="line.1259"></a>
+<span class="sourceLineNo">1260</span> * Whether there is an inline block ready to be written. In general, we<a name="line.1260"></a>
+<span class="sourceLineNo">1261</span> * write an leaf-level index block as an inline block as soon as its size<a name="line.1261"></a>
+<span class="sourceLineNo">1262</span> * as serialized in the non-root format reaches a certain threshold.<a name="line.1262"></a>
+<span class="sourceLineNo">1263</span> */<a name="line.1263"></a>
+<span class="sourceLineNo">1264</span> @Override<a name="line.1264"></a>
+<span class="sourceLineNo">1265</span> public boolean shouldWriteBlock(boolean closing) {<a name="line.1265"></a>
+<span class="sourceLineNo">1266</span> if (singleLevelOnly) {<a name="line.1266"></a>
+<span class="sourceLineNo">1267</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1267"></a>
<span class="sourceLineNo">1268</span> }<a name="line.1268"></a>
<span class="sourceLineNo">1269</span><a name="line.1269"></a>
-<span class="sourceLineNo">1270</span> if (curInlineChunk.getNumEntries() == 0) {<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span> return false;<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span> }<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span><a name="line.1273"></a>
-<span class="sourceLineNo">1274</span> // We do have some entries in the current inline chunk.<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span> if (closing) {<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span> if (rootChunk.getNumEntries() == 0) {<a name="line.1276"></a>
-<span class="sourceLineNo">1277</span> // We did not add any leaf-level blocks yet. Instead of creating a<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span> // leaf level with one block, move these entries to the root level.<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span><a name="line.1279"></a>
-<span class="sourceLineNo">1280</span> expectNumLevels(1);<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span> rootChunk = curInlineChunk;<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span> curInlineChunk = null; // Disallow adding any more index entries.<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span> return false;<a name="line.1283"></a>
-<span class="sourceLineNo">1284</span> }<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span><a name="line.1285"></a>
-<span class="sourceLineNo">1286</span> return true;<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span> } else {<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span> return curInlineChunk.getNonRootSize() >= maxChunkSize;<a name="line.1288"></a>
-<span class="sourceLineNo">1289</span> }<a name="line.1289"></a>
-<span class="sourceLineNo">1290</span> }<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span><a name="line.1291"></a>
-<span class="sourceLineNo">1292</span> /**<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span> * Write out the current inline index block. Inline blocks are non-root<a name="line.1293"></a>
-<span class="sourceLineNo">1294</span> * blocks, so the non-root index format is used.<a name="line.1294"></a>
-<span class="sourceLineNo">1295</span> *<a name="line.1295"></a>
-<span class="sourceLineNo">1296</span> * @param out<a name="line.1296"></a>
-<span class="sourceLineNo">1297</span> */<a name="line.1297"></a>
-<span class="sourceLineNo">1298</span> @Override<a name="line.1298"></a>
-<span class="sourceLineNo">1299</span> public void writeInlineBlock(DataOutput out) throws IOException {<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span> if (singleLevelOnly)<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1301"></a>
-<span class="sourceLineNo">1302</span><a name="line.1302"></a>
-<span class="sourceLineNo">1303</span> // Write the inline block index to the output stream in the non-root<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span> // index block format.<a name="line.1304"></a>
-<span class="sourceLineNo">1305</span> curInlineChunk.writeNonRoot(out);<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span><a name="line.1306"></a>
-<span class="sourceLineNo">1307</span> // Save the first key of the inline block so that we can add it to the<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span> // parent-level index.<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span> firstKey = curInlineChunk.getBlockKey(0);<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span><a name="line.1310"></a>
-<span class="sourceLineNo">1311</span> // Start a new inline index block<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span> curInlineChunk.clear();<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span> }<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span><a name="line.1314"></a>
-<span class="sourceLineNo">1315</span> /**<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span> * Called after an inline block has been written so that we can add an<a name="line.1316"></a>
-<span class="sourceLineNo">1317</span> * entry referring to that block to the parent-level index.<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span> */<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span> @Override<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span> public void blockWritten(long offset, int onDiskSize, int uncompressedSize) {<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span> // Add leaf index block size<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span> totalBlockOnDiskSize += onDiskSize;<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span> totalBlockUncompressedSize += uncompressedSize;<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span><a name="line.1324"></a>
-<span class="sourceLineNo">1325</span> if (singleLevelOnly)<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span><a name="line.1327"></a>
-<span class="sourceLineNo">1328</span> if (firstKey == null) {<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span> throw new IllegalStateException("Trying to add second-level index " +<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span> "entry with offset=" + offset + " and onDiskSize=" + onDiskSize +<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span> "but the first key was not set in writeInlineBlock");<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span> }<a name="line.1332"></a>
-<span class="sourceLineNo">1333</span><a name="line.1333"></a>
-<span class="sourceLineNo">1334</span> if (rootChunk.getNumEntries() == 0) {<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span> // We are writing the first leaf block, so increase index level.<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span> expectNumLevels(1);<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span> numLevels = 2;<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span> }<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span><a name="line.1339"></a>
-<span class="sourceLineNo">1340</span> // Add another entry to the second-level index. Include the number of<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span> // entries in all previous leaf-level chunks for mid-key calculation.<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span> rootChunk.add(firstKey, offset, onDiskSize, totalNumEntries);<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span> firstKey = null;<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span> }<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span><a name="line.1345"></a>
-<span class="sourceLineNo">1346</span> @Override<a name="line.1346"></a>
-<span class="sourceLineNo">1347</span> public BlockType getInlineBlockType() {<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span> return BlockType.LEAF_INDEX;<a name="line.1348"></a>
+<span class="sourceLineNo">1270</span> if (curInlineChunk == null) {<a name="line.1270"></a>
+<span class="sourceLineNo">1271</span> throw new IllegalStateException("curInlineChunk is null; has shouldWriteBlock been " +<a name="line.1271"></a>
+<span class="sourceLineNo">1272</span> "called with closing=true and then called again?");<a name="line.1272"></a>
+<span class="sourceLineNo">1273</span> }<a name="line.1273"></a>
+<span class="sourceLineNo">1274</span><a name="line.1274"></a>
+<span class="sourceLineNo">1275</span> if (curInlineChunk.getNumEntries() == 0) {<a name="line.1275"></a>
+<span class="sourceLineNo">1276</span> return false;<a name="line.1276"></a>
+<span class="sourceLineNo">1277</span> }<a name="line.1277"></a>
+<span class="sourceLineNo">1278</span><a name="line.1278"></a>
+<span class="sourceLineNo">1279</span> // We do have some entries in the current inline chunk.<a name="line.1279"></a>
+<span class="sourceLineNo">1280</span> if (closing) {<a name="line.1280"></a>
+<span class="sourceLineNo">1281</span> if (rootChunk.getNumEntries() == 0) {<a name="line.1281"></a>
+<span class="sourceLineNo">1282</span> // We did not add any leaf-level blocks yet. Instead of creating a<a name="line.1282"></a>
+<span class="sourceLineNo">1283</span> // leaf level with one block, move these entries to the root level.<a name="line.1283"></a>
+<span class="sourceLineNo">1284</span><a name="line.1284"></a>
+<span class="sourceLineNo">1285</span> expectNumLevels(1);<a name="line.1285"></a>
+<span class="sourceLineNo">1286</span> rootChunk = curInlineChunk;<a name="line.1286"></a>
+<span class="sourceLineNo">1287</span> curInlineChunk = null; // Disallow adding any more index entries.<a name="line.1287"></a>
+<span class="sourceLineNo">1288</span> return false;<a name="line.1288"></a>
+<span class="sourceLineNo">1289</span> }<a name="line.1289"></a>
+<span class="sourceLineNo">1290</span><a name="line.1290"></a>
+<span class="sourceLineNo">1291</span> return true;<a name="line.1291"></a>
+<span class="sourceLineNo">1292</span> } else {<a name="line.1292"></a>
+<span class="sourceLineNo">1293</span> return curInlineChunk.getNonRootSize() >= maxChunkSize;<a name="line.1293"></a>
+<span class="sourceLineNo">1294</span> }<a name="line.1294"></a>
+<span class="sourceLineNo">1295</span> }<a name="line.1295"></a>
+<span class="sourceLineNo">1296</span><a name="line.1296"></a>
+<span class="sourceLineNo">1297</span> /**<a name="line.1297"></a>
+<span class="sourceLineNo">1298</span> * Write out the current inline index block. Inline blocks are non-root<a name="line.1298"></a>
+<span class="sourceLineNo">1299</span> * blocks, so the non-root index format is used.<a name="line.1299"></a>
+<span class="sourceLineNo">1300</span> *<a name="line.1300"></a>
+<span class="sourceLineNo">1301</span> * @param out<a name="line.1301"></a>
+<span class="sourceLineNo">1302</span> */<a name="line.1302"></a>
+<span class="sourceLineNo">1303</span> @Override<a name="line.1303"></a>
+<span class="sourceLineNo">1304</span> public void writeInlineBlock(DataOutput out) throws IOException {<a name="line.1304"></a>
+<span class="sourceLineNo">1305</span> if (singleLevelOnly)<a name="line.1305"></a>
+<span class="sourceLineNo">1306</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1306"></a>
+<span class="sourceLineNo">1307</span><a name="line.1307"></a>
+<span class="sourceLineNo">1308</span> // Write the inline block index to the output stream in the non-root<a name="line.1308"></a>
+<span class="sourceLineNo">1309</span> // index block format.<a name="line.1309"></a>
+<span class="sourceLineNo">1310</span> curInlineChunk.writeNonRoot(out);<a name="line.1310"></a>
+<span class="sourceLineNo">1311</span><a name="line.1311"></a>
+<span class="sourceLineNo">1312</span> // Save the first key of the inline block so that we can add it to the<a name="line.1312"></a>
+<span class="sourceLineNo">1313</span> // parent-level index.<a name="line.1313"></a>
+<span class="sourceLineNo">1314</span> firstKey = curInlineChunk.getBlockKey(0);<a name="line.1314"></a>
+<span class="sourceLineNo">1315</span><a name="line.1315"></a>
+<span class="sourceLineNo">1316</span> // Start a new inline index block<a name="line.1316"></a>
+<span class="sourceLineNo">1317</span> curInlineChunk.clear();<a name="line.1317"></a>
+<span class="sourceLineNo">1318</span> }<a name="line.1318"></a>
+<span class="sourceLineNo">1319</span><a name="line.1319"></a>
+<span class="sourceLineNo">1320</span> /**<a name="line.1320"></a>
+<span class="sourceLineNo">1321</span> * Called after an inline block has been written so that we can add an<a name="line.1321"></a>
+<span class="sourceLineNo">1322</span> * entry referring to that block to the parent-level index.<a name="line.1322"></a>
+<span class="sourceLineNo">1323</span> */<a name="line.1323"></a>
+<span class="sourceLineNo">1324</span> @Override<a name="line.1324"></a>
+<span class="sourceLineNo">1325</span> public void blockWritten(long offset, int onDiskSize, int uncompressedSize) {<a name="line.1325"></a>
+<span class="sourceLineNo">1326</span> // Add leaf index block size<a name="line.1326"></a>
+<span class="sourceLineNo">1327</span> totalBlockOnDiskSize += onDiskSize;<a name="line.1327"></a>
+<span class="sourceLineNo">1328</span> totalBlockUncompressedSize += uncompressedSize;<a name="line.1328"></a>
+<span class="sourceLineNo">1329</span><a name="line.1329"></a>
+<span class="sourceLineNo">1330</span> if (singleLevelOnly)<a name="line.1330"></a>
+<span class="sourceLineNo">1331</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1331"></a>
+<span class="sourceLineNo">1332</span><a name="line.1332"></a>
+<span class="sourceLineNo">1333</span> if (firstKey == null) {<a name="line.1333"></a>
+<span class="sourceLineNo">1334</span> throw new IllegalStateException("Trying to add second-level index " +<a name="line.1334"></a>
+<span class="sourceLineNo">1335</span> "entry with offset=" + offset + " and onDiskSize=" + onDiskSize +<a name="line.1335"></a>
+<span class="sourceLineNo">1336</span> "but the first key was not set in writeInlineBlock");<a name="line.1336"></a>
+<span class="sourceLineNo">1337</span> }<a name="line.1337"></a>
+<span class="sourceLineNo">1338</span><a name="line.1338"></a>
+<span class="sourceLineNo">1339</span> if (rootChunk.getNumEntries() == 0) {<a name="line.1339"></a>
+<span class="sourceLineNo">1340</span> // We are writing the first leaf block, so increase index level.<a name="line.1340"></a>
+<span class="sourceLineNo">1341</span> expectNumLevels(1);<a name="line.1341"></a>
+<span class="sourceLineNo">1342</span> numLevels = 2;<a name="line.1342"></a>
+<span class="sourceLineNo">1343</span> }<a name="line.1343"></a>
+<span class="sourceLineNo">1344</span><a name="line.1344"></a>
+<span class="sourceLineNo">1345</span> // Add another entry to the second-level index. Include the number of<a name="line.1345"></a>
+<span class="sourceLineNo">1346</span> // entries in all previous leaf-level chunks for mid-key calculation.<a name="line.1346"></a>
+<span class="sourceLineNo">1347</span> rootChunk.add(firstKey, offset, onDiskSize, totalNumEntries);<a name="line.1347"></a>
+<span class="sourceLineNo">1348</span> firstKey = null;<a name="line.1348"></a>
<span class="sourceLineNo">1349</span> }<a name="line.1349"></a>
<span class="sourceLineNo">1350</span><a name="line.1350"></a>
-<span class="sourceLineNo">1351</span> /**<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span> * Add one index entry to the current leaf-level block. When the leaf-level<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span> * block gets large enough, it will be flushed to disk as an inline block.<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span> *<a name="line.1354"></a>
-<span class="sourceLineNo">1355</span> * @param firstKey the first key of the data block<a name="line.1355"></a>
-<span class="sourceLineNo">1356</span> * @param blockOffset the offset of the data block<a name="line.1356"></a>
-<span class="sourceLineNo">1357</span> * @param blockDataSize the on-disk size of the data block ({@link HFile}<a name="line.1357"></a>
-<span class="sourceLineNo">1358</span> * format version 2), or the uncompressed size of the data block (<a name="line.1358"></a>
-<span class="sourceLineNo">1359</span> * {@link HFile} format version 1).<a name="line.1359"></a>
-<span class="sourceLineNo">1360</span> */<a name="line.1360"></a>
-<span class="sourceLineNo">1361</span> public void addEntry(byte[] firstKey, long blockOffset, int blockDataSize) {<a name="line.1361"></a>
-<span class="sourceLineNo">1362</span> curInlineChunk.add(firstKey, blockOffset, blockDataSize);<a name="line.1362"></a>
-<span class="sourceLineNo">1363</span> ++totalNumEntries;<a name="line.1363"></a>
-<span class="sourceLineNo">1364</span> }<a name="line.1364"></a>
-<span class="sourceLineNo">1365</span><a name="line.1365"></a>
-<span class="sourceLineNo">1366</span> /**<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span> * @throws IOException if we happened to write a multi-level index.<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span> */<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span> public void ensureSingleLevel() throws IOException {<a name="line.1369"></a>
-<span class="sourceLineNo">1370</span> if (numLevels > 1) {<a name="line.1370"></a>
-<span class="sourceLineNo">1371</span> throw new IOException ("Wrote a " + numLevels + "-level index with " +<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span> rootChunk.getNumEntries() + " root-level entries, but " +<a name="line.1372"></a>
-<span class="sourceLineNo">1373</span> "this is expected to be a single-level block index.");<a name="line.1373"></a>
-<span class="sourceLineNo">1374</span> }<a name="line.1374"></a>
-<span class="sourceLineNo">1375</span> }<a name="line.1375"></a>
-<span class="sourceLineNo">1376</span><a name="line.1376"></a>
-<span class="sourceLineNo">1377</span> /**<a name="line.1377"></a>
-<span class="sourceLineNo">1378</span> * @return true if we are using cache-on-write. This is configured by the<a name="line.1378"></a>
-<span class="sourceLineNo">1379</span> * caller of the constructor by either passing a valid block cache<a name="line.1379"></a>
-<span class="sourceLineNo">1380</span> * or null.<a name="line.1380"></a>
-<span class="sourceLineNo">1381</span> */<a name="line.1381"></a>
-<span class="sourceLineNo">1382</span> @Override<a name="line.1382"></a>
-<span class="sourceLineNo">1383</span> public boolean getCacheOnWrite() {<a name="line.1383"></a>
-<span class="sourceLineNo">1384</span> return cacheConf != null && cacheConf.shouldCacheIndexesOnWrite();<a name="line.1384"></a>
-<span class="sourceLineNo">1385</span> }<a name="line.1385"></a>
-<span class="sourceLineNo">1386</span><a name="line.1386"></a>
-<span class="sourceLineNo">1387</span> /**<a name="line.1387"></a>
-<span class="sourceLineNo">1388</span> * The total uncompressed size of the root index block, intermediate-level<a name="line.1388"></a>
-<span class="sourceLineNo">1389</span> * index blocks, and leaf-level index blocks.<a name="line.1389"></a>
-<span class="sourceLineNo">1390</span> *<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span> * @return the total uncompressed size of all index blocks<a name="line.1391"></a>
-<span class="sourceLineNo">1392</span> */<a name="line.1392"></a>
-<span class="sourceLineNo">1393</span> public long getTotalUncompressedSize() {<a name="line.1393"></a>
-<span class="sourceLineNo">1394</span> return totalBlockUncompressedSize;<a name="line.1394"></a>
-<span class="sourceLineNo">1395</span> }<a name="line.1395"></a>
-<span class="sourceLineNo">1396</span><a name="line.1396"></a>
-<span class="sourceLineNo">1397</span> }<a name="line.1397"></a>
-<span class="sourceLineNo">1398</span><a name="line.1398"></a>
-<span class="sourceLineNo">1399</span> /**<a name="line.1399"></a>
-<span class="sourceLineNo">1400</span> * A single chunk of the block index in the process of writing. The data in<a name="line.1400"></a>
-<span class="sourceLineNo">1401</span> * this chunk can become a leaf-level, intermediate-level, or root index<a name="line.1401"></a>
-<span class="sourceLineNo">1402</span> * block.<a name="line.1402"></a>
-<span class="sourceLineNo">1403</span> */<a name="line.1403"></a>
-<span class="sourceLineNo">1404</span> static class BlockIndexChunk {<a name="line.1404"></a>
-<span class="sourceLineNo">1405</span><a name="line.1405"></a>
-<span class="sourceLineNo">1406</span> /** First keys of the key range corresponding to each index entry. */<a name="line.1406"></a>
-<span class="sourceLineNo">1407</span> private final List<byte[]> blockKeys = new ArrayList<>();<a name="line.1407"></a>
-<span class="sourceLineNo">1408</span><a name="line.1408"></a>
-<span class="sourceLineNo">1409</span> /** Block offset in backing stream. */<a name="line.1409"></a>
-<span class="sourceLineNo">1410</span> private final List<Long> blockOffsets = new ArrayList<>();<a name="line.1410"></a>
-<span class="sourceLineNo">1411</span><a name="line.1411"></a>
-<span class="sourceLineNo">1412</span> /** On-disk data sizes of lower-level data or index blocks. */<a name="line.1412"></a>
-<span class="sourceLineNo">1413</span> private final List<Integer> onDiskDataSizes = new ArrayList<>();<a name="line.1413"></a>
-<span class="sourceLineNo">1414</span><a name="line.1414"></a>
-<span class="sourceLineNo">1415</span> /**<a name="line.1415"></a>
-<span class="sourceLineNo">1416</span> * The cumulative number of sub-entries, i.e. entries on deeper-level block<a name="line.1416"></a>
-<span class="sourceLineNo">1417</span> * index entries. numSubEntriesAt[i] is the number of sub-entries in the<a name="line.1417"></a>
-<span class="sourceLineNo">1418</span> * blocks corresponding to this chunk's entries #0 through #i inclusively.<a name="line.1418"></a>
-<span class="sourceLineNo">1419</span> */<a name="line.1419"></a>
-<span class="sourceLineNo">1420</span> private final List<Long> numSubEntriesAt = new ArrayList<>();<a name="line.1420"></a>
-<span class="sourceLineNo">1421</span><a name="line.1421"></a>
-<span class="sourceLineNo">1422</span> /**<a name="line.1422"></a>
-<span class="sourceLineNo">1423</span> * The offset of the next entry to be added, relative to the end of the<a name="line.1423"></a>
-<span class="sourceLineNo">1424</span> * "secondary index" in the "non-root" format representation of this index<a name="line.1424"></a>
-<span class="sourceLineNo">1425</span> * chunk. This is the next value to be added to the secondary index.<a name="line.1425"></a>
-<span class="sourceLineNo">1426</span> */<a name="line.1426"></a>
-<span class="sourceLineNo">1427</span> private int curTotalNonRootEntrySize = 0;<a name="line.1427"></a>
-<span class="sourceLineNo">1428</span><a name="line.1428"></a>
-<span class="sourceLineNo">1429</span> /**<a name="line.1429"></a>
-<span class="sourceLineNo">1430</span> * The accumulated size of this chunk if stored in the root index format.<a name="line.1430"></a>
+<span class="sourceLineNo">1351</span> @Override<a name="line.1351"></a>
+<span class="sourceLineNo">1352</span> public BlockType getInlineBlockType() {<a name="line.1352"></a>
+<span class="sourceLineNo">1353</span> return BlockType.LEAF_INDEX;<a name="line.1353"></a>
+<span class="sourceLineNo">1354</span> }<a name="line.1354"></a>
+<span class="sourceLineNo">1355</span><a name="line.1355"></a>
+<span class="sourceLineNo">1356</span> /**<a name="line.1356"></a>
+<span class="sourceLineNo">1357</span> * Add one index entry to the current leaf-level block. When the leaf-level<a name="line.1357"></a>
+<span class="sourceLineNo">1358</span> * block gets large enough, it will be flushed to disk as an inline block.<a name="line.1358"></a>
+<span class="sourceLineNo">1359</span> *<a name="line.1359"></a>
+<span class="sourceLineNo">1360</span> * @param firstKey the first key of the data block<a name="line.1360"></a>
+<span class="sourceLineNo">1361</span> * @param blockOffset the offset of the data block<a name="line.1361"></a>
+<span class="sourceLineNo">1362</span> * @param blockDataSize the on-disk size of the data block ({@link HFile}<a name="line.1362"></a>
+<span class="sourceLineNo">1363</span> * format version 2), or the uncompressed size of the data block (<a name="line.1363"></a>
+<span class="sourceLineNo">1364</span> * {@link HFile} format version 1).<a name="line.1364"></a>
+<span class="sourceLineNo">1365</span> */<a name="line.1365"></a>
+<span class="sourceLineNo">1366</span> public void addEntry(byte[] firstKey, long blockOffset, int blockDataSize) {<a name="line.1366"></a>
+<span class="sourceLineNo">1367</span> curInlineChunk.add(firstKey, blockOffset, blockDataSize);<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span> ++totalNumEntries;<a name="line.1368"></a>
+<span class="sourceLineNo">1369</span> }<a name="line.1369"></a>
+<span class="sourceLineNo">1370</span><a name="line.1370"></a>
+<span class="sourceLineNo">1371</span> /**<a name="line.1371"></a>
+<span class="sourceLineNo">1372</span> * @throws IOException if we happened to write a multi-level index.<a name="line.1372"></a>
+<span class="sourceLineNo">1373</span> */<a name="line.1373"></a>
+<span class="sourceLineNo">1374</span> public void ensureSingleLevel() throws IOException {<a name="line.1374"></a>
+<span class="sourceLineNo">1375</span> if (numLevels > 1) {<a name="line.1375"></a>
+<span class="sourceLineNo">1376</span> throw new IOException ("Wrote a " + numLevels + "-level index with " +<a name="line.1376"></a>
+<span class="sourceLineNo">1377</span> rootChunk.getNumEntries() + " root-level entries, but " +<a name="line.1377"></a>
+<span class="sourceLineNo">1378</span> "this is expected to be a single-level block index.");<a name="line.1378"></a>
+<span class="sourceLineNo">1379</span> }<a name="line.1379"></a>
+<span class="sourceLineNo">1380</span> }<a name="line.1380"></a>
+<span class="sourceLineNo">1381</span><a name="line.1381"></a>
+<span class="sourceLineNo">1382</span> /**<a name="line.1382"></a>
+<span class="sourceLineNo">1383</span> * @return true if we are using cache-on-write. This is configured by the<a name="line.1383"></a>
+<span class="sourceLineNo">1384</span> * caller of the constructor by either passing a valid block cache<a name="line.1384"></a>
+<span class="sourceLineNo">1385</span> * or null.<a name="line.1385"></a>
+<span class="sourceLineNo">1386</span> */<a name="line.1386"></a>
+<span class="sourceLineNo">1387</span> @Override<a name="line.1387"></a>
+<span class="sourceLineNo">1388</span> public boolean getCacheOnWrite() {<a name="line.1388"></a>
+<span class="sourceLineNo">1389</span> return cacheConf != null && cacheConf.shouldCacheIndexesOnWrite();<a name="line.1389"></a>
+<span class="sourceLineNo">1390</span> }<a name="line.1390"></a>
+<span class="sourceLineNo">1391</span><a name="line.1391"></a>
+<span class="sourceLineNo">1392</span> /**<a name="line.1392"></a>
+<span class="sourceLineNo">1393</span> * The total uncompressed size of the root index block, intermediate-level<a name="line.1393"></a>
+<span class="sourceLineNo">1394</span> * index blocks, and leaf-level index blocks.<a name="line.1394"></a>
+<span class="sourceLineNo">1395</span> *<a name="line.1395"></a>
+<span class="sourceLineNo">1396</span> * @return the total uncompressed size of all index blocks<a name="line.1396"></a>
+<span class="sourceLineNo">1397</span> */<a name="line.1397"></a>
+<span class="sourceLineNo">1398</span> public long getTotalUncompressedSize() {<a name="line.1398"></a>
+<span class="sourceLineNo">1399</span> return totalBlockUncompressedSize;<a name="line.1399"></a>
+<span class="sourceLineNo">1400</span> }<a name="line.1400"></a>
+<span class="sourceLineNo">1401</span><a name="line.1401"></a>
+<span class="sourceLineNo">1402</span> }<a name="line.1402"></a>
+<span class="sourceLineNo">1403</span><a name="line.1403"></a>
+<span class="sourceLineNo">1404</span> /**<a name="line.1404"></a>
+<span class="sourceLineNo">1405</span> * A single chunk of the block index in the process of writing. The data in<a name="line.1405"></a>
+<span class="sourceLineNo">1406</span> * this chunk can become a leaf-level, intermediate-level, or root index<a name="line.1406"></a>
+<span class="sourceLineNo">1407</span> * block.<a name="line.1407"></a>
+<span class="sourceLineNo">1408</span> */<a name="line.1408"></a>
+<span class="sourceLineNo">1409</span> static class BlockIndexChunk {<a name="line.1409"></a>
+<span class="sourceLineNo">1410</span><a name="line.1410"></a>
+<span class="sourceLineNo">1411</span> /** First keys of the key range corresponding to each index entry. */<a name="line.1411"></a>
+<span class="sourceLineNo">1412</span> private final List<byte[]> blockKeys = new ArrayList<>();<a name="line.1412"></a>
+<span class="sourceLineNo">1413</span><a name="line.1413"></a>
+<span class="sourceLineNo">1414</span> /** Block offset in backing stream. */<a name="line.1414"></a>
+<span class="sourceLineNo">1415</span> private final List<Long> blockOffsets = new ArrayList<>();<a name="line.1415"></a>
+<span class="sourceLineNo">1416</span><a name="line.1416"></a>
+<span class="sourceLineNo">1417</span> /** On-disk data sizes of lower-level data or index blocks. */<a name="line.1417"></a>
+<span class="sourceLineNo">1418</span> private final List<Integer> onDiskDataSizes = new ArrayList<>();<a name="line.1418"></a>
+<span class="sourceLineNo">1419</span><a name="line.1419"></a>
+<span class="sourceLineNo">1420</span> /**<a name="line.1420"></a>
+<span class="sourceLineNo">1421</span> * The cumulative number of sub-entries, i.e. entries on deeper-level block<a name="line.1421"></a>
+<span class="sourceLineNo">1422</span> * index entries. numSubEntriesAt[i] is the number of sub-entries in the<a name="line.1422"></a>
+<span class="sourceLineNo">1423</span> * blocks corresponding to this chunk's entries #0 through #i inclusively.<a name="line.1423"></a>
+<span class="sourceLineNo">1424</span> */<a name="line.1424"></a>
+<span class="sourceLineNo">1425</span> private final List<Long> numSubEntriesAt = new ArrayList<>();<a name="line.1425"></a>
+<span class="sourceLineNo">1426</span><a name="line.1426"></a>
+<span class="sourceLineNo">1427</span> /**<a name="line.1427"></a>
+<span class="sourceLineNo">1428</span> * The offset of the next entry to be added, relative to the end of the<a name="line.1428"></a>
+<span class="sourceLineNo">1429</span> * "secondary index" in the "non-root" format representation of this index<a name="line.1429"></a>
+<span class="sourceLineNo">1430</span> * chunk. This is the next value to be added to the secondary index.<a name="line.1430"></a>
<span class="sourceLineNo">1431</span> */<a name="line.1431"></a>
-<span class="sourceLineNo">1432</span> private int curTotalRootSize = 0;<a name="line.1432"></a>
+<span class="sourceLineNo">1432</span> private int curTotalNonRootEntrySize = 0;<a name="line.1432"></a>
<span class="sourceLineNo">1433</span><a name="line.1433"></a>
<span class="sourceLineNo">1434</span> /**<a name="line.1434"></a>
-<span class="sourceLineNo">1435</span> * The "secondary index" used for binary search over variable-length<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span> * records in a "non-root" format block. These offsets are relative to the<a name="line.1436"></a>
-<span class="sourceLineNo">1437</span> * end of this secondary index.<a name="line.1437"></a>
-<span class="sourceLineNo">1438</span> */<a name="line.1438"></a>
-<span class="sourceLineNo">1439</span> private final List<Integer> secondaryIndexOffsetMarks = new ArrayList<>();<a name="line.1439"></a>
-<span class="sourceLineNo">1440</span><a name="line.1440"></a>
-<span class="sourceLineNo">1441</span> /**<a name="line.1441"></a>
-<span class="sourceLineNo">1442</span> * Adds a new entry to this block index chunk.<a name="line.1442"></a>
-<span class="sourceLineNo">1443</span> *<a name="line.1443"></a>
-<span class="sourceLineNo">1444</span> * @param firstKey the first key in the block pointed to by this entry<a name="line.1444"></a>
-<span class="sourceLineNo">1445</span> * @param blockOffset the offset of the next-level block pointed to by this<a name="line.1445"></a>
-<span class="sourceLineNo">1446</span> * entry<a name="line.1446"></a>
-<span class="sourceLineNo">1447</span> * @param onDiskDataSize the on-disk data of the block pointed to by this<a name="line.1447"></a>
-<span class="sourceLineNo">1448</span> * entry, including header size<a name="line.1448"></a>
-<span class="sourceLineNo">1449</span> * @param curTotalNumSubEntries if this chunk is the root index chunk under<a name="line.1449"></a>
-<span class="sourceLineNo">1450</span> * construction, this specifies the current total number of<a name="line.1450"></a>
-<span class="sourceLineNo">1451</span> * sub-entries in all leaf-level chunks, including the one<a name="line.1451"></a>
-<span class="sourceLineNo">1452</span> * corresponding to the second-level entry being added.<a name="line.1452"></a>
-<span class="sourceLineNo">1453</span> */<a name="line.1453"></a>
-<span class="sourceLineNo">1454</span> void add(byte[] firstKey, long blockOffset, int onDiskDataSize,<a name="line.1454"></a>
-<span class="sourceLineNo">1455</span> long curTotalNumSubEntries) {<a name="line.1455"></a>
-<span class="sourceLineNo">1456</span> // Record the offset for the secondary index<a name="line.1456"></a>
-<span class="sourceLineNo">1457</span> secondaryIndexOffsetMarks.add(curTotalNonRootEntrySize);<a name="line.1457"></a>
-<span class="sourceLineNo">1458</span> curTotalNonRootEntrySize += SECONDARY_INDEX_ENTRY_OVERHEAD<a name="line.1458"></a>
-<span class="sourceLineNo">1459</span> + firstKey.length;<a name="line.1459"></a>
-<span class="sourceLineNo">1460</span><a name="line.1460"></a>
-<span class="sourceLineNo">1461</span> curTotalRootSize += Bytes.SIZEOF_LONG + Bytes.SIZEOF_INT<a name="line.1461"></a>
-<span class="sourceLineNo">1462</span> + WritableUtils.getVIntSize(firstKey.length) + firstKey.length;<a name="line.1462"></a>
-<span class="sourceLineNo">1463</span><a name="line.1463"></a>
-<span class="sourceLineNo">1464</span> blockKeys.add(firstKey);<a name="line.1464"></a>
-<span class="sourceLineNo">1465</span> blockOffsets.add(blockOffset);<a name="line.1465"></a>
-<span class="sourceLineNo">1466</span> onDiskDataSizes.add(onDiskDataSize);<a name="line.1466"></a>
-<span class="sourceLineNo">1467</span><a name="line.1467"></a>
-<span class="sourceLineNo">1468</span> if (curTotalNumSubEntries != -1) {<a name="line.1468"></a>
-<span class="sourceLineNo">1469</span> numSubEntriesAt.add(curTotalNumSubEntries);<a name="line.1469"></a>
-<span class="sourceLineNo">1470</span><a name="line.1470"></a>
-<span class="sourceLineNo">1471</span> // Make sure the parallel arrays are in sync.<a name="line.1471"></a>
-<span class="sourceLineNo">1472</span> if (numSubEntriesAt.size() != blockKeys.size()) {<a name="line.1472"></a>
-<span class="sourceLineNo">1473</span> throw new IllegalStateException("Only have key/value count " +<a name="line.1473"></a>
-<span class="sourceLineNo">1474</span> "stats for " + numSubEntriesAt.size() + " block index " +<a name="line.1474"></a>
-<span class="sourceLineNo">1475</span> "entries out of " + blockKeys.size());<a name="line.1475"></a>
-<span class="sourceLineNo">1476</span> }<a name="line.1476"></a>
-<span class="sourceLineNo">1477</span> }<a name="line.1477"></a>
-<span class="sourceLineNo">1478</span> }<a name="line.1478"></a>
-<span class="sourceLineNo">1479</span><a name="line.1479"></a>
-<span class="sourceLineNo">1480</span> /**<a name="line.1480"></a>
-<span class="sourceLineNo">1481</span> * The same as {@link #add(byte[], long, int, long)} but does not take the<a name="line.1481"></a>
-<span class="sourceLineNo">1482</span> * key/value into account. Used for single-level indexes.<a name="line.1482"></a>
-<span class="sourceLineNo">1483</span> *<a name="line.1483"></a>
-<span class="sourceLineNo">1484</span> * @see #add(byte[], long, int, long)<a name="line.1484"></a>
-<span class="sourceLineNo">1485</span> */<a name="line.1485"></a>
-<span class="sourceLineNo">1486</span> public void add(byte[] firstKey, long blockOffset, int onDiskDataSize) {<a name="line.1486"></a>
-<span class="sourceLineNo">1487</span> add(firstKey, blockOffset, onDiskDataSize, -1);<a name="line.1487"></a>
-<span class="sourceLineNo">1488</span> }<a name="line.1488"></a>
-<span class="sourceLineNo">1489</span><a name="line.1489"></a>
-<span class="sourceLineNo">1490</span> public void clear() {<a name="line.1490"></a>
-<span class="sourceLineNo">1491</span> blockKeys.clear();<a name="line.1491"></a>
-<span class="sourceLineNo">1492</span> blockOffsets.clear();<a name="line.1492"></a>
-<span class="sourceLineNo">1493</span> onDiskDataSizes.clear();<a name="line.1493"></a>
-<span class="sourceLineNo">1494</span> secondaryIndexOffsetMarks.clear();<a name="line.1494"></a>
-<span class="sourceLineNo">1495</span> numSubEntriesAt.clear();<a name="line.1495"></a>
-<span class="sourceLineNo">1496</span> curTotalNonRootEntrySize = 0;<a name="line.1496"></a>
-<span class="sourceLineNo">1497</span> curTotalRootSize = 0;<a name="line.1497"></a>
-<span class="sourceLineNo">1498</span> }<a name="line.1498"></a>
-<span class="sourceLineNo">1499</span><a name="line.1499"></a>
-<span class="sourceLineNo">1500</span> /**<a name="line.1500"></a>
-<span class="sourceLineNo">1501</span> * Finds the entry corresponding to the deeper-level index block containing<a name="line.1501"></a>
-<span class="sourceLineNo">1502</span> * the given deeper-level entry (a "sub-entry"), assuming a global 0-based<a name="line.1502"></a>
-<span class="sourceLineNo">1503</span> * ordering of sub-entries.<a name="line.1503"></a>
-<span class="sourceLineNo">1504</span> *<a name="line.1504"></a>
-<span class="sourceLineNo">1505</span> * <p><a name="line.1505"></a>
-<span class="sourceLineNo">1506</span> * <i> Implementation note. </i> We are looking for i such that<a name="line.1506"></a>
-<span class="sourceLineNo">1507</span> * numSubEntriesAt[i - 1] <= k < numSubEntriesAt[i], because a deeper-level<a name="line.1507"></a>
-<span class="sourceLineNo">1508</span> * block #i (0-based) contains sub-entries # numSubEntriesAt[i - 1]'th<a name="line.1508"></a>
-<span class="sourceLineNo">1509</span> * through numSubEntriesAt[i] - 1, assuming a global 0-based ordering of<a name="line.1509"></a>
-<span class="sourceLineNo">1510</span> * sub-entries. i is by definition the insertion point of k in<a name="line.1510"></a>
-<span class="sourceLineNo">1511</span> * numSubEntriesAt.<a name="line.1511"></a>
-<span class="sourceLineNo">1512</span> *<a name="line.1512"></a>
-<span class="sourceLineNo">1513</span> * @param k sub-entry index, from 0 to the total number sub-entries - 1<a name="line.1513"></a>
-<span class="sourceLineNo">1514</span> * @return the 0-based index of the entry corresponding to the given<a name="line.1514"></a>
-<span class="sourceLineNo">1515</span> * sub-entry<a name="line.1515"></a>
-<span class="sourceLineNo">1516</span> */<a name="line.1516"></a>
-<span class="sourceLineNo">1517</span> public int getEntryBySubEntry(long k) {<a name="line.1517"></a>
-<span class="sourceLineNo">1518</span> // We define mid-key as the key corresponding to k'th sub-entry<a name="line.1518"></a>
-<span class="sourceLineNo">1519</span> // (0-based).<a name="line.1519"></a>
-<span class="sourceLineNo">1520</span><a name="line.1520"></a>
-<span class="sourceLineNo">1521</span> int i = Collections.binarySearch(numSubEntriesAt, k);<a name="line.1521"></a>
-<span class="sourceLineNo">1522</span><a name="line.1522"></a>
-<span class="sourceLineNo">1523</span> // Exact match: cumulativeWeight[i] = k. This means chunks #0 through<a name="line.1523"></a>
-<span class="sourceLineNo">1524</span> // #i contain exactly k sub-entries, and the sub-entry #k (0-based)<a name="line.1524"></a>
-<span class="sourceLineNo">1525</span> // is in the (i + 1)'th chunk.<a name="line.1525"></a>
-<span class="sourceLineNo">1526</span> if (i >= 0)<a name="line.1526"></a>
-<span class="sourceLineNo">1527</span> return i + 1;<a name="line.1527"></a>
-<span class="sourceLineNo">1528</span><a name="line.1528"></a>
-<span class="sourceLineNo">1529</span> // Inexact match. Return the insertion point.<a name="line.1529"></a>
-<span class="sourceLineNo">1530</span> return -i - 1;<a name="line.1530"></a>
-<span class="sourceLineNo">1531</span> }<a name="line.1531"></a>
-<span class="sourceLineNo">1532</span><a name="line.1532"></a>
-<span class="sourceLineNo">1533</span> /**<a name="line.1533"></a>
-<span class="sourceLineNo">1534</span> * Used when writing the root block index of a multi-level block index.<a name="line.1534"></a>
-<span class="sourceLineNo">1535</span> * Serializes additional information allowing to efficiently identify the<a name="line.1535"></a>
-<span class="sourceLineNo">1536</span> * mid-key.<a name="line.1536"></a>
-<span class="sourceLineNo">1537</span> *<a name="line.1537"></a>
-<span class="sourceLineNo">1538</span> * @return a few serialized fields for finding the mid-key<a name="line.1538"></a>
-<span class="sourceLineNo">1539</span> * @throws IOException if could not create metadata for computing mid-key<a name="line.1539"></a>
-<span class="sourceLineNo">1540</span> */<a name="line.1540"></a>
-<span class="sourceLineNo">1541</span> public byte[] getMidKeyMetadata() throws IOException {<a name="line.1541"></a>
-<span class="sourceLineNo">1542</span> ByteArrayOutputStream baos = new ByteArrayOutputStream(<a name="line.1542"></a>
-<span class="sourceLineNo">1543</span> MID_KEY_METADATA_SIZE);<a name="line.1543"></a>
-<span class="sourceLineNo">1544</span> DataOutputStream baosDos = new DataOutputStream(baos);<a name="line.1544"></a>
-<span class="sourceLineNo">1545</span> long totalNumSubEntries = numSubEntriesAt.get(blockKeys.size() - 1);<a name="line.1545"></a>
-<span class="sourceLineNo">1546</span> if (totalNumSubEntries == 0) {<a name="line.1546"></a>
-<span class="sourceLineNo">1547</span> throw new IOException("No leaf-level entries, mid-key unavailable");<a name="line.1547"></a>
-<span class="sourceLineNo">1548</span> }<a name="line.1548"></a>
-<span class="sourceLineNo">1549</span> long midKeySubEntry = (totalNumSubEntries - 1) / 2;<a name="line.1549"></a>
-<span class="sourceLineNo">1550</span> int midKeyEntry = getEntryBySubEntry(midKeySubEntry);<a name="line.1550"></a>
-<span class="sourceLineNo">1551</span><a name="line.1551"></a>
-<span class="sourceLineNo">1552</span> baosDos.writeLong(blockOffsets.get(midKeyEntry));<a name="line.1552"></a>
-<span class="sourceLineNo">1553</span> baosDos.writeInt(onDiskDataSizes.get(midKeyEntry));<a name="line.1553"></a>
-<span class="sourceLineNo">1554</span><a name="line.1554"></a>
-<span class="sourceLineNo">1555</span> long numSubEntriesBefore = midKeyEntry > 0<a name="line.1555"></a>
-<span class="sourceLineNo">1556</span> ? numSubEntriesAt.get(midKeyEntry - 1) : 0;<a name="line.1556"></a>
-<span class="sourceLineNo">1557</span> long subEntryWithinEntry = midKeySubEntry - numSubEntriesBefore;<a name="line.1557"></a>
-<span class="sourceLineNo">1558</span> if (subEntryWithinEntry < 0 || subEntryWithinEntry > Integer.MAX_VALUE)<a name="line.1558"></a>
-<span class="sourceLineNo">1559</span> {<a name="line.1559"></a>
-<span class="sourceLineNo">1560</span> throw new IOException("Could not identify mid-key index within the "<a name="line.1560"></a>
-<span class="sourceLineNo">1561</span> + "leaf-level block containing mid-key: out of range ("<a name="line.1561"></a>
-<span class="sourceLineNo">1562</span> + subEntryWithinEntry + ", numSubEntriesBefore="<a name="line.1562"></a>
-<span class="sourceLineNo">1563</span> + numSubEntriesBefore + ", midKeySubEntry=" + midKeySubEntry<a name="line.1563"></a>
-<span class="sourceLineNo">1564</span> + ")");<a name="line.1564"></a>
-<span class="sourceLineNo">1565</span> }<a name="line.1565"></a>
-<span class="sourceLineNo">1566</span><a name="line.1566"></a>
-<span class="sourceLineNo">1567</span> baosDos.writeInt((int) subEntryWithinEntry);<a name="line.1567"></a>
-<span class="sourceLineNo">1568</span><a name="line.1568"></a>
-<span class="sourceLineNo">1569</span> if (baosDos.size() != MID_KEY_METADATA_SIZE) {<a name="line.1569"></a>
-<span class="sourceLineNo">1570</span> throw new IOException("Could not write mid-key metadata: size=" +<a name="line.1570"></a>
-<span class="sourceLineNo">1571</span> baosDos.size() + ", correct size: " + MID_KEY_METADATA_SIZE);<a name="line.1571"></a>
-<span class="sourceLineNo">1572</span> }<a name="line.1572"></a>
+<span class="sourceLineNo">1435</span> * The accumulated size of this chunk if stored in the root index format.<a name="line.1435"></a>
+<span class="sourceLineNo">1436</span> */<a name="line.1436"></a>
+<span class="sourceLineNo">1437</span> private int curTotalRootSize = 0;<a name="line.1437"></a>
+<span class="sourceLineNo">1438</span><a name="line.1438"></a>
+<span class="sourceLineNo">1439</span> /**<a name="line.1439"></a>
+<span class="sourceLineNo">1440</span> * The "secondary index" used for binary search over variable-length<a name="line.1440"></a>
+<span class="sourceLineNo">1441</span> * records in a "non-root" format block. These offsets are relative to the<a name="line.1441"></a>
+<span class="sourceLineNo">1442</span> * end of this secondary index.<a name="line.1442"></a>
+<span class="sourceLineNo">1443</span> */<a name="line.1443"></a>
+<span class="sourceLineNo">1444</span> private final List<Integer> secondaryIndexOffsetMarks = new ArrayList<>();<a name="line.1444"></a>
+<span class="sourceLineNo">1445</span><a name="line.1445"></a>
+<span class="sourceLineNo">1446</span> /**<a name="line.1446"></a>
+<span class="sourceLineNo">1447</span> * Adds a new entry to this block index chunk.<a name="line.1447"></a>
+<span class="sourceLineNo">1448</span> *<a name="line.1448"></a>
+<span class="sourceLineNo">1449</span> * @param firstKey the first key in the block pointed to by this entry<a name="line.1449"></a>
+<span class="sourceLineNo">1450</span> * @param blockOffset the offset of the next-level block pointed to by this<a name="line.1450"></a>
+<span class="sourceLineNo">1451</span> * entry<a name="line.1451"></a>
+<span class="sourceLineNo">1452</span> * @param onDiskDataSize the on-disk data of the block pointed to by this<a name="line.1452"></a>
+<span class="sourceLineNo">1453</span> * entry, including header size<a name="line.1453"></a>
+<span class="sourceLineNo">1454</span> * @param curTotalNumSubEntries if this chunk is the root index chunk under<a name="line.1454"></a>
+<span class="sourceLineNo">1455</span> * construction, this specifies the current total number of<a name="line.1455"></a>
+<span class="sourceLineNo">1456</span> * sub-entries in all leaf-level chunks, including the one<a name="line.1456"></a>
+<span class="sourceLineNo">1457</span> * corresponding to the second-level entry being added.<a name="line.1457"></a>
+<span class="sourceLineNo">1458</span> */<a name="line.1458"></a>
+<span class="sourceLineNo">1459</span> void add(byte[] firstKey, long blockOffset, int onDiskDataSize,<a name="line.1459"></a>
+<span class="sourceLineNo">1460</span> long curTotalNumSubEntries) {<a name="line.1460"></a>
+<span class="sourceLineNo">1461</span> // Record the offset for the secondary index<a name="line.1461"></a>
+<span class="sourceLineNo">1462</span> secondaryIndexOffsetMarks.add(curTotalNonRootEntrySize);<a name="line.1462"></a>
+<span class="sourceLineNo">1463</span> curTotalNonRootEntrySize += SECONDARY_INDEX_ENTRY_OVERHEAD<a name="line.1463"></a>
+<span class="sourceLineNo">1464</span> + firstKey.length;<a name="line.1464"></a>
+<span class="sourceLineNo">1465</span><a name="line.1465"></a>
+<span class="sourceLineNo">1466</span> curTotalRootSize += Bytes.SIZEOF_LONG + Bytes.SIZEOF_INT<a name="line.1466"></a>
+<span class="sourceLineNo">1467</span> + WritableUtils.getVIntSize(firstKey.length) + firstKey.length;<a name="line.1467"></a>
+<span class="sourceLineNo">1468</span><a name="line.1468"></a>
+<span class="sourceLineNo">1469</span> blockKeys.add(firstKey);<a name="line.1469"></a>
+<span class="sourceLineNo">1470</span> blockOffsets.add(blockOffset);<a name="line.1470"></a>
+<span class="sourceLineNo">1471</span> onDiskDataSizes.add(onDiskDataSize);<a name="line.1471"></a>
+<span class="sourceLineNo">1472</span><a name="line.1472"></a>
+<span class="sourceLineNo">1473</span> if (curTotalNumSubEntries != -1) {<a name="line.1473"></a>
+<span class="sourceLineNo">1474</span> numSubEntriesAt.add(curTotalNumSubEntries);<a name="line.1474"></a>
+<span class="sourceLineNo">1475</span><a name="line.1475"></a>
+<span class="sourceLineNo">1476</span> // Make sure the parallel arrays are in sync.<a name="line.1476"></a>
+<span class="sourceLineNo">1477</span> if (numSubEntriesAt.size() != blockKeys.size()) {<a name="line.1477"></a>
+<span class="sourceLineNo">1478</span> throw new IllegalStateException("Only have key/value count " +<a name="line.1478"></a>
+<span class="sourceLineNo">1479</span> "stats for " + numSubEntriesAt.size() + " block index " +<a name="line.1479"></a>
+<span class="sourceLineNo">1480</span> "entries out of " + blockKeys.size());<a name="line.1480"></a>
+<span class="sourceLineNo">1481</span> }<a name="line.1481"></a>
+<span class="sourceLineNo">1482</span> }<a name="line.1482"></a>
+<span class="sourceLineNo">1483</span> }<a name="line.1483"></a>
+<span class="sourceLineNo">1484</span><a name="line.1484"></a>
+<span class="sourceLineNo">1485</span> /**<a name="line.1485"></a>
+<span class="sourceLineNo">1486</span> * The same as {@link #add(byte[], long, int, long)} but does not take the<a name="line.1486"></a>
+<span class="sourceLineNo">1487</span> * key/value into account. Used for single-level indexes.<a name="line.1487"></a>
+<span class="sourceLineNo">1488</span> *<a name="line.1488"></a>
+<span class="sourceLineNo">1489</span> * @see #add(byte[], long, int, long)<a name="line.1489"></a>
+<span class="sourceLineNo">1490</span> */<a name="line.1490"></a>
+<span class="sourceLineNo">1491</span> public void add(byte[] firstKey, long blockOffset, int onDiskDataSize) {<a name="line.1491"></a>
+<span class="sourceLineNo">1492</span> add(firstKey, blockOffset, onDiskDataSize, -1);<a name="line.1492"></a>
+<span class="sourceLineNo">1493</span> }<a name="line.1493"></a>
+<span class="sourceLineNo">1494</span><a name="line.1494"></a>
+<span class="sourceLineNo">1495</span> public void clear() {<a name="line.1495"></a>
+<span class="sourceLineNo">1496</span> blockKeys.clear();<a name="line.1496"></a>
+<span class="sourceLineNo">1497</span> blockOffsets.clear();<a name="line.1497"></a>
+<span class="sourceLineNo">1498</span> onDiskDataSizes.clear();<a name="line.1498"></a>
+<span class="sourceLineNo">1499</span> secondaryIndexOffsetMarks.clear();<a name="line.1499"></a>
+<span class="sourceLineNo">1500</span> numSubEntriesAt.clear();<a name="line.1500"></a>
+<span class="sourceLineNo">1501</span> curTotalNonRootEntrySize = 0;<a name="line.1501"></a>
+<span class="sourceLineNo">1502</span> curTotalRootSize = 0;<a name="line.1502"></a>
+<span class="sourceLineNo">1503</span> }<a name="line.1503"></a>
+<span class="sourceLineNo">1504</span><a name="line.1504"></a>
+<span class="sourceLineNo">1505</span> /**<a name="line.1505"></a>
+<span class="sourceLineNo">1506</span> * Finds the entry corresponding to the deeper-level index block containing<a name="line.1506"></a>
+<span class="sourceLineNo">1507</span> * the given deeper-level entry (a "sub-entry"), assuming a global 0-based<a name="line.1507"></a>
+<span class="sourceLineNo">1508</span> * ordering of sub-entries.<a name="line.1508"></a>
+<span class="sourceLineNo">1509</span> *<a name="line.1509"></a>
+<span class="sourceLineNo">1510</span> * <p><a name="line.1510"></a>
+<span class="sourceLineNo">1511</span> * <i> Implementation note. </i> We are looking for i such that<a name="line.1511"></a>
+<span class="sourceLineNo">1512</span> * numSubEntriesAt[i - 1] <= k < numSubEntriesAt[i], because a deeper-level<a name="line.1512"></a>
+<span class="sourceLineNo">1513</span> * block #i (0-based) contains sub-entries # numSubEntriesAt[i - 1]'th<a name="line.1513"></a>
+<span class="sourceLineNo">1514</span> * through numSubEntriesAt[i] - 1, assuming a global 0-based ordering of<a name="line.1514"></a>
+<span class="sourceLineNo">1515</span> * sub-entries. i is by definition the insertion point of k in<a name="line.1515"></a>
+<span class="sourceLineNo">1516</span> * numSubEntriesAt.<a name="line.1516"></a>
+<span class="sourceLineNo">1517</span> *<a name="line.1517"></a>
+<span class="sourceLineNo">1518</span> * @param k sub-entry index, from 0 to the total number sub-entries - 1<a name="line.1518"></a>
+<span class="sourceLineNo">1519</span> * @return the 0-based index of the entry corresponding to the given<a name="line.1519"></a>
+<span class="sourceLineNo">1520</span> *
<TRUNCATED>
[10/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.CellBasedKeyBlockIndexReader.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.CellBasedKeyBlockIndexReader.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.CellBasedKeyBlockIndexReader.html
index 1124f8b..0c29054 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.CellBasedKeyBlockIndexReader.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.CellBasedKeyBlockIndexReader.html
@@ -1111,587 +1111,592 @@
<span class="sourceLineNo">1103</span> blockStream.write(midKeyMetadata);<a name="line.1103"></a>
<span class="sourceLineNo">1104</span> blockWriter.writeHeaderAndData(out);<a name="line.1104"></a>
<span class="sourceLineNo">1105</span> if (cacheConf != null) {<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span> HFileBlock blockForCaching = blockWriter.getBlockForCaching(cacheConf);<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span> cacheConf.getBlockCache().cacheBlock(new BlockCacheKey(nameForCaching,<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span> rootLevelIndexPos, true, blockForCaching.getBlockType()), blockForCaching);<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span> }<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span> }<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span><a name="line.1111"></a>
-<span class="sourceLineNo">1112</span> // Add root index block size<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span> totalBlockOnDiskSize += blockWriter.getOnDiskSizeWithoutHeader();<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span> totalBlockUncompressedSize +=<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span> blockWriter.getUncompressedSizeWithoutHeader();<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span><a name="line.1116"></a>
-<span class="sourceLineNo">1117</span> if (LOG.isTraceEnabled()) {<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span> LOG.trace("Wrote a " + numLevels + "-level index with root level at pos "<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span> + rootLevelIndexPos + ", " + rootChunk.getNumEntries()<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span> + " root-level entries, " + totalNumEntries + " total entries, "<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span> + StringUtils.humanReadableInt(this.totalBlockOnDiskSize) +<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span> " on-disk size, "<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span> + StringUtils.humanReadableInt(totalBlockUncompressedSize) +<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span> " total uncompressed size.");<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span> }<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span> return rootLevelIndexPos;<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span> }<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span><a name="line.1128"></a>
-<span class="sourceLineNo">1129</span> /**<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span> * Writes the block index data as a single level only. Does not do any<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span> * block framing.<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span> *<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span> * @param out the buffered output stream to write the index to. Typically a<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span> * stream writing into an {@link HFile} block.<a name="line.1134"></a>
-<span class="sourceLineNo">1135</span> * @param description a short description of the index being written. Used<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span> * in a log message.<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span> * @throws IOException<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span> */<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span> public void writeSingleLevelIndex(DataOutput out, String description)<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span> throws IOException {<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span> expectNumLevels(1);<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span><a name="line.1142"></a>
-<span class="sourceLineNo">1143</span> if (!singleLevelOnly)<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span> throw new IOException("Single-level mode is turned off");<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span><a name="line.1145"></a>
-<span class="sourceLineNo">1146</span> if (rootChunk.getNumEntries() > 0)<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span> throw new IOException("Root-level entries already added in " +<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span> "single-level mode");<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span><a name="line.1149"></a>
-<span class="sourceLineNo">1150</span> rootChunk = curInlineChunk;<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span> curInlineChunk = new BlockIndexChunk();<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span><a name="line.1152"></a>
-<span class="sourceLineNo">1153</span> if (LOG.isTraceEnabled()) {<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span> LOG.trace("Wrote a single-level " + description + " index with "<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span> + rootChunk.getNumEntries() + " entries, " + rootChunk.getRootSize()<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span> + " bytes");<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span> }<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span> rootChunk.writeRoot(out);<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span> }<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span><a name="line.1160"></a>
-<span class="sourceLineNo">1161</span> /**<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span> * Split the current level of the block index into intermediate index<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span> * blocks of permitted size and write those blocks to disk. Return the next<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span> * level of the block index referencing those intermediate-level blocks.<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span> *<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span> * @param out<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span> * @param currentLevel the current level of the block index, such as the a<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span> * chunk referencing all leaf-level index blocks<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span> * @return the parent level block index, which becomes the root index after<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span> * a few (usually zero) iterations<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span> * @throws IOException<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span> */<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span> private BlockIndexChunk writeIntermediateLevel(FSDataOutputStream out,<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span> BlockIndexChunk currentLevel) throws IOException {<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span> // Entries referencing intermediate-level blocks we are about to create.<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span> BlockIndexChunk parent = new BlockIndexChunk();<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span><a name="line.1177"></a>
-<span class="sourceLineNo">1178</span> // The current intermediate-level block index chunk.<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span> BlockIndexChunk curChunk = new BlockIndexChunk();<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span><a name="line.1180"></a>
-<span class="sourceLineNo">1181</span> for (int i = 0; i < currentLevel.getNumEntries(); ++i) {<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span> curChunk.add(currentLevel.getBlockKey(i),<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span> currentLevel.getBlockOffset(i), currentLevel.getOnDiskDataSize(i));<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span><a name="line.1184"></a>
-<span class="sourceLineNo">1185</span> // HBASE-16288: We have to have at least minIndexNumEntries(16) items in the index so that<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span> // we won't end up with too-many levels for a index with very large rowKeys. Also, if the<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span> // first key is larger than maxChunkSize this will cause infinite recursion.<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span> if (i >= minIndexNumEntries && curChunk.getRootSize() >= maxChunkSize) {<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span> writeIntermediateBlock(out, parent, curChunk);<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span> }<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span> }<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span><a name="line.1192"></a>
-<span class="sourceLineNo">1193</span> if (curChunk.getNumEntries() > 0) {<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span> writeIntermediateBlock(out, parent, curChunk);<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span> }<a name="line.1195"></a>
-<span class="sourceLineNo">1196</span><a name="line.1196"></a>
-<span class="sourceLineNo">1197</span> return parent;<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span> }<a name="line.1198"></a>
-<span class="sourceLineNo">1199</span><a name="line.1199"></a>
-<span class="sourceLineNo">1200</span> private void writeIntermediateBlock(FSDataOutputStream out,<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span> BlockIndexChunk parent, BlockIndexChunk curChunk) throws IOException {<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span> long beginOffset = out.getPos();<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span> DataOutputStream dos = blockWriter.startWriting(<a name="line.1203"></a>
-<span class="sourceLineNo">1204</span> BlockType.INTERMEDIATE_INDEX);<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span> curChunk.writeNonRoot(dos);<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span> byte[] curFirstKey = curChunk.getBlockKey(0);<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span> blockWriter.writeHeaderAndData(out);<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span><a name="line.1208"></a>
-<span class="sourceLineNo">1209</span> if (getCacheOnWrite()) {<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span> HFileBlock blockForCaching = blockWriter.getBlockForCaching(cacheConf);<a name="line.1210"></a>
-<span class="sourceLineNo">1211</span> cacheConf.getBlockCache().cacheBlock(new BlockCacheKey(nameForCaching,<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span> beginOffset, true, blockForCaching.getBlockType()), blockForCaching);<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span> }<a name="line.1213"></a>
-<span class="sourceLineNo">1214</span><a name="line.1214"></a>
-<span class="sourceLineNo">1215</span> // Add intermediate index block size<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span> totalBlockOnDiskSize += blockWriter.getOnDiskSizeWithoutHeader();<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span> totalBlockUncompressedSize +=<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span> blockWriter.getUncompressedSizeWithoutHeader();<a name="line.1218"></a>
+<span class="sourceLineNo">1106</span> cacheConf.getBlockCache().ifPresent(cache -> {<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span> HFileBlock blockForCaching = blockWriter.getBlockForCaching(cacheConf);<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span> cache.cacheBlock(new BlockCacheKey(nameForCaching, rootLevelIndexPos, true,<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span> blockForCaching.getBlockType()), blockForCaching);<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span> });<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span> }<a name="line.1111"></a>
+<span class="sourceLineNo">1112</span> }<a name="line.1112"></a>
+<span class="sourceLineNo">1113</span><a name="line.1113"></a>
+<span class="sourceLineNo">1114</span> // Add root index block size<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span> totalBlockOnDiskSize += blockWriter.getOnDiskSizeWithoutHeader();<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span> totalBlockUncompressedSize +=<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span> blockWriter.getUncompressedSizeWithoutHeader();<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span><a name="line.1118"></a>
+<span class="sourceLineNo">1119</span> if (LOG.isTraceEnabled()) {<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span> LOG.trace("Wrote a " + numLevels + "-level index with root level at pos "<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span> + rootLevelIndexPos + ", " + rootChunk.getNumEntries()<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span> + " root-level entries, " + totalNumEntries + " total entries, "<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span> + StringUtils.humanReadableInt(this.totalBlockOnDiskSize) +<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span> " on-disk size, "<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span> + StringUtils.humanReadableInt(totalBlockUncompressedSize) +<a name="line.1125"></a>
+<span class="sourceLineNo">1126</span> " total uncompressed size.");<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span> }<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span> return rootLevelIndexPos;<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span> }<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span><a name="line.1130"></a>
+<span class="sourceLineNo">1131</span> /**<a name="line.1131"></a>
+<span class="sourceLineNo">1132</span> * Writes the block index data as a single level only. Does not do any<a name="line.1132"></a>
+<span class="sourceLineNo">1133</span> * block framing.<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span> *<a name="line.1134"></a>
+<span class="sourceLineNo">1135</span> * @param out the buffered output stream to write the index to. Typically a<a name="line.1135"></a>
+<span class="sourceLineNo">1136</span> * stream writing into an {@link HFile} block.<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span> * @param description a short description of the index being written. Used<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span> * in a log message.<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span> * @throws IOException<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span> */<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span> public void writeSingleLevelIndex(DataOutput out, String description)<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span> throws IOException {<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span> expectNumLevels(1);<a name="line.1143"></a>
+<span class="sourceLineNo">1144</span><a name="line.1144"></a>
+<span class="sourceLineNo">1145</span> if (!singleLevelOnly)<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span> throw new IOException("Single-level mode is turned off");<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span><a name="line.1147"></a>
+<span class="sourceLineNo">1148</span> if (rootChunk.getNumEntries() > 0)<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span> throw new IOException("Root-level entries already added in " +<a name="line.1149"></a>
+<span class="sourceLineNo">1150</span> "single-level mode");<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span><a name="line.1151"></a>
+<span class="sourceLineNo">1152</span> rootChunk = curInlineChunk;<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span> curInlineChunk = new BlockIndexChunk();<a name="line.1153"></a>
+<span class="sourceLineNo">1154</span><a name="line.1154"></a>
+<span class="sourceLineNo">1155</span> if (LOG.isTraceEnabled()) {<a name="line.1155"></a>
+<span class="sourceLineNo">1156</span> LOG.trace("Wrote a single-level " + description + " index with "<a name="line.1156"></a>
+<span class="sourceLineNo">1157</span> + rootChunk.getNumEntries() + " entries, " + rootChunk.getRootSize()<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span> + " bytes");<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span> }<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span> rootChunk.writeRoot(out);<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span> }<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span><a name="line.1162"></a>
+<span class="sourceLineNo">1163</span> /**<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span> * Split the current level of the block index into intermediate index<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span> * blocks of permitted size and write those blocks to disk. Return the next<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span> * level of the block index referencing those intermediate-level blocks.<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span> *<a name="line.1167"></a>
+<span class="sourceLineNo">1168</span> * @param out<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span> * @param currentLevel the current level of the block index, such as the a<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span> * chunk referencing all leaf-level index blocks<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span> * @return the parent level block index, which becomes the root index after<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span> * a few (usually zero) iterations<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span> * @throws IOException<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span> */<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span> private BlockIndexChunk writeIntermediateLevel(FSDataOutputStream out,<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span> BlockIndexChunk currentLevel) throws IOException {<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span> // Entries referencing intermediate-level blocks we are about to create.<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span> BlockIndexChunk parent = new BlockIndexChunk();<a name="line.1178"></a>
+<span class="sourceLineNo">1179</span><a name="line.1179"></a>
+<span class="sourceLineNo">1180</span> // The current intermediate-level block index chunk.<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span> BlockIndexChunk curChunk = new BlockIndexChunk();<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span><a name="line.1182"></a>
+<span class="sourceLineNo">1183</span> for (int i = 0; i < currentLevel.getNumEntries(); ++i) {<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span> curChunk.add(currentLevel.getBlockKey(i),<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span> currentLevel.getBlockOffset(i), currentLevel.getOnDiskDataSize(i));<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span><a name="line.1186"></a>
+<span class="sourceLineNo">1187</span> // HBASE-16288: We have to have at least minIndexNumEntries(16) items in the index so that<a name="line.1187"></a>
+<span class="sourceLineNo">1188</span> // we won't end up with too-many levels for a index with very large rowKeys. Also, if the<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span> // first key is larger than maxChunkSize this will cause infinite recursion.<a name="line.1189"></a>
+<span class="sourceLineNo">1190</span> if (i >= minIndexNumEntries && curChunk.getRootSize() >= maxChunkSize) {<a name="line.1190"></a>
+<span class="sourceLineNo">1191</span> writeIntermediateBlock(out, parent, curChunk);<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span> }<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span> }<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span><a name="line.1194"></a>
+<span class="sourceLineNo">1195</span> if (curChunk.getNumEntries() > 0) {<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span> writeIntermediateBlock(out, parent, curChunk);<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span> }<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span><a name="line.1198"></a>
+<span class="sourceLineNo">1199</span> return parent;<a name="line.1199"></a>
+<span class="sourceLineNo">1200</span> }<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span><a name="line.1201"></a>
+<span class="sourceLineNo">1202</span> private void writeIntermediateBlock(FSDataOutputStream out,<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span> BlockIndexChunk parent, BlockIndexChunk curChunk) throws IOException {<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span> long beginOffset = out.getPos();<a name="line.1204"></a>
+<span class="sourceLineNo">1205</span> DataOutputStream dos = blockWriter.startWriting(<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span> BlockType.INTERMEDIATE_INDEX);<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span> curChunk.writeNonRoot(dos);<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span> byte[] curFirstKey = curChunk.getBlockKey(0);<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span> blockWriter.writeHeaderAndData(out);<a name="line.1209"></a>
+<span class="sourceLineNo">1210</span><a name="line.1210"></a>
+<span class="sourceLineNo">1211</span> if (getCacheOnWrite()) {<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span> cacheConf.getBlockCache().ifPresent(cache -> {<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span> HFileBlock blockForCaching = blockWriter.getBlockForCaching(cacheConf);<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span> cache.cacheBlock(<a name="line.1214"></a>
+<span class="sourceLineNo">1215</span> new BlockCacheKey(nameForCaching, beginOffset, true, blockForCaching.getBlockType()),<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span> blockForCaching);<a name="line.1216"></a>
+<span class="sourceLineNo">1217</span> });<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span> }<a name="line.1218"></a>
<span class="sourceLineNo">1219</span><a name="line.1219"></a>
-<span class="sourceLineNo">1220</span> // OFFSET is the beginning offset the chunk of block index entries.<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span> // SIZE is the total byte size of the chunk of block index entries<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span> // + the secondary index size<a name="line.1222"></a>
-<span class="sourceLineNo">1223</span> // FIRST_KEY is the first key in the chunk of block index<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span> // entries.<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span> parent.add(curFirstKey, beginOffset,<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span> blockWriter.getOnDiskSizeWithHeader());<a name="line.1226"></a>
-<span class="sourceLineNo">1227</span><a name="line.1227"></a>
-<span class="sourceLineNo">1228</span> // clear current block index chunk<a name="line.1228"></a>
-<span class="sourceLineNo">1229</span> curChunk.clear();<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span> curFirstKey = null;<a name="line.1230"></a>
-<span class="sourceLineNo">1231</span> }<a name="line.1231"></a>
+<span class="sourceLineNo">1220</span> // Add intermediate index block size<a name="line.1220"></a>
+<span class="sourceLineNo">1221</span> totalBlockOnDiskSize += blockWriter.getOnDiskSizeWithoutHeader();<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span> totalBlockUncompressedSize +=<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span> blockWriter.getUncompressedSizeWithoutHeader();<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span><a name="line.1224"></a>
+<span class="sourceLineNo">1225</span> // OFFSET is the beginning offset the chunk of block index entries.<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span> // SIZE is the total byte size of the chunk of block index entries<a name="line.1226"></a>
+<span class="sourceLineNo">1227</span> // + the secondary index size<a name="line.1227"></a>
+<span class="sourceLineNo">1228</span> // FIRST_KEY is the first key in the chunk of block index<a name="line.1228"></a>
+<span class="sourceLineNo">1229</span> // entries.<a name="line.1229"></a>
+<span class="sourceLineNo">1230</span> parent.add(curFirstKey, beginOffset,<a name="line.1230"></a>
+<span class="sourceLineNo">1231</span> blockWriter.getOnDiskSizeWithHeader());<a name="line.1231"></a>
<span class="sourceLineNo">1232</span><a name="line.1232"></a>
-<span class="sourceLineNo">1233</span> /**<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span> * @return how many block index entries there are in the root level<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span> */<a name="line.1235"></a>
-<span class="sourceLineNo">1236</span> public final int getNumRootEntries() {<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span> return rootChunk.getNumEntries();<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span> }<a name="line.1238"></a>
-<span class="sourceLineNo">1239</span><a name="line.1239"></a>
-<span class="sourceLineNo">1240</span> /**<a name="line.1240"></a>
-<span class="sourceLineNo">1241</span> * @return the number of levels in this block index.<a name="line.1241"></a>
-<span class="sourceLineNo">1242</span> */<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span> public int getNumLevels() {<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span> return numLevels;<a name="line.1244"></a>
-<span class="sourceLineNo">1245</span> }<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span><a name="line.1246"></a>
-<span class="sourceLineNo">1247</span> private void expectNumLevels(int expectedNumLevels) {<a name="line.1247"></a>
-<span class="sourceLineNo">1248</span> if (numLevels != expectedNumLevels) {<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span> throw new IllegalStateException("Number of block index levels is "<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span> + numLevels + "but is expected to be " + expectedNumLevels);<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span> }<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span> }<a name="line.1252"></a>
-<span class="sourceLineNo">1253</span><a name="line.1253"></a>
-<span class="sourceLineNo">1254</span> /**<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span> * Whether there is an inline block ready to be written. In general, we<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span> * write an leaf-level index block as an inline block as soon as its size<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span> * as serialized in the non-root format reaches a certain threshold.<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span> */<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span> @Override<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span> public boolean shouldWriteBlock(boolean closing) {<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span> if (singleLevelOnly) {<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1262"></a>
-<span class="sourceLineNo">1263</span> }<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span><a name="line.1264"></a>
-<span class="sourceLineNo">1265</span> if (curInlineChunk == null) {<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span> throw new IllegalStateException("curInlineChunk is null; has shouldWriteBlock been " +<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span> "called with closing=true and then called again?");<a name="line.1267"></a>
+<span class="sourceLineNo">1233</span> // clear current block index chunk<a name="line.1233"></a>
+<span class="sourceLineNo">1234</span> curChunk.clear();<a name="line.1234"></a>
+<span class="sourceLineNo">1235</span> curFirstKey = null;<a name="line.1235"></a>
+<span class="sourceLineNo">1236</span> }<a name="line.1236"></a>
+<span class="sourceLineNo">1237</span><a name="line.1237"></a>
+<span class="sourceLineNo">1238</span> /**<a name="line.1238"></a>
+<span class="sourceLineNo">1239</span> * @return how many block index entries there are in the root level<a name="line.1239"></a>
+<span class="sourceLineNo">1240</span> */<a name="line.1240"></a>
+<span class="sourceLineNo">1241</span> public final int getNumRootEntries() {<a name="line.1241"></a>
+<span class="sourceLineNo">1242</span> return rootChunk.getNumEntries();<a name="line.1242"></a>
+<span class="sourceLineNo">1243</span> }<a name="line.1243"></a>
+<span class="sourceLineNo">1244</span><a name="line.1244"></a>
+<span class="sourceLineNo">1245</span> /**<a name="line.1245"></a>
+<span class="sourceLineNo">1246</span> * @return the number of levels in this block index.<a name="line.1246"></a>
+<span class="sourceLineNo">1247</span> */<a name="line.1247"></a>
+<span class="sourceLineNo">1248</span> public int getNumLevels() {<a name="line.1248"></a>
+<span class="sourceLineNo">1249</span> return numLevels;<a name="line.1249"></a>
+<span class="sourceLineNo">1250</span> }<a name="line.1250"></a>
+<span class="sourceLineNo">1251</span><a name="line.1251"></a>
+<span class="sourceLineNo">1252</span> private void expectNumLevels(int expectedNumLevels) {<a name="line.1252"></a>
+<span class="sourceLineNo">1253</span> if (numLevels != expectedNumLevels) {<a name="line.1253"></a>
+<span class="sourceLineNo">1254</span> throw new IllegalStateException("Number of block index levels is "<a name="line.1254"></a>
+<span class="sourceLineNo">1255</span> + numLevels + "but is expected to be " + expectedNumLevels);<a name="line.1255"></a>
+<span class="sourceLineNo">1256</span> }<a name="line.1256"></a>
+<span class="sourceLineNo">1257</span> }<a name="line.1257"></a>
+<span class="sourceLineNo">1258</span><a name="line.1258"></a>
+<span class="sourceLineNo">1259</span> /**<a name="line.1259"></a>
+<span class="sourceLineNo">1260</span> * Whether there is an inline block ready to be written. In general, we<a name="line.1260"></a>
+<span class="sourceLineNo">1261</span> * write an leaf-level index block as an inline block as soon as its size<a name="line.1261"></a>
+<span class="sourceLineNo">1262</span> * as serialized in the non-root format reaches a certain threshold.<a name="line.1262"></a>
+<span class="sourceLineNo">1263</span> */<a name="line.1263"></a>
+<span class="sourceLineNo">1264</span> @Override<a name="line.1264"></a>
+<span class="sourceLineNo">1265</span> public boolean shouldWriteBlock(boolean closing) {<a name="line.1265"></a>
+<span class="sourceLineNo">1266</span> if (singleLevelOnly) {<a name="line.1266"></a>
+<span class="sourceLineNo">1267</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1267"></a>
<span class="sourceLineNo">1268</span> }<a name="line.1268"></a>
<span class="sourceLineNo">1269</span><a name="line.1269"></a>
-<span class="sourceLineNo">1270</span> if (curInlineChunk.getNumEntries() == 0) {<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span> return false;<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span> }<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span><a name="line.1273"></a>
-<span class="sourceLineNo">1274</span> // We do have some entries in the current inline chunk.<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span> if (closing) {<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span> if (rootChunk.getNumEntries() == 0) {<a name="line.1276"></a>
-<span class="sourceLineNo">1277</span> // We did not add any leaf-level blocks yet. Instead of creating a<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span> // leaf level with one block, move these entries to the root level.<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span><a name="line.1279"></a>
-<span class="sourceLineNo">1280</span> expectNumLevels(1);<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span> rootChunk = curInlineChunk;<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span> curInlineChunk = null; // Disallow adding any more index entries.<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span> return false;<a name="line.1283"></a>
-<span class="sourceLineNo">1284</span> }<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span><a name="line.1285"></a>
-<span class="sourceLineNo">1286</span> return true;<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span> } else {<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span> return curInlineChunk.getNonRootSize() >= maxChunkSize;<a name="line.1288"></a>
-<span class="sourceLineNo">1289</span> }<a name="line.1289"></a>
-<span class="sourceLineNo">1290</span> }<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span><a name="line.1291"></a>
-<span class="sourceLineNo">1292</span> /**<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span> * Write out the current inline index block. Inline blocks are non-root<a name="line.1293"></a>
-<span class="sourceLineNo">1294</span> * blocks, so the non-root index format is used.<a name="line.1294"></a>
-<span class="sourceLineNo">1295</span> *<a name="line.1295"></a>
-<span class="sourceLineNo">1296</span> * @param out<a name="line.1296"></a>
-<span class="sourceLineNo">1297</span> */<a name="line.1297"></a>
-<span class="sourceLineNo">1298</span> @Override<a name="line.1298"></a>
-<span class="sourceLineNo">1299</span> public void writeInlineBlock(DataOutput out) throws IOException {<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span> if (singleLevelOnly)<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1301"></a>
-<span class="sourceLineNo">1302</span><a name="line.1302"></a>
-<span class="sourceLineNo">1303</span> // Write the inline block index to the output stream in the non-root<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span> // index block format.<a name="line.1304"></a>
-<span class="sourceLineNo">1305</span> curInlineChunk.writeNonRoot(out);<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span><a name="line.1306"></a>
-<span class="sourceLineNo">1307</span> // Save the first key of the inline block so that we can add it to the<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span> // parent-level index.<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span> firstKey = curInlineChunk.getBlockKey(0);<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span><a name="line.1310"></a>
-<span class="sourceLineNo">1311</span> // Start a new inline index block<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span> curInlineChunk.clear();<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span> }<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span><a name="line.1314"></a>
-<span class="sourceLineNo">1315</span> /**<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span> * Called after an inline block has been written so that we can add an<a name="line.1316"></a>
-<span class="sourceLineNo">1317</span> * entry referring to that block to the parent-level index.<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span> */<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span> @Override<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span> public void blockWritten(long offset, int onDiskSize, int uncompressedSize) {<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span> // Add leaf index block size<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span> totalBlockOnDiskSize += onDiskSize;<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span> totalBlockUncompressedSize += uncompressedSize;<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span><a name="line.1324"></a>
-<span class="sourceLineNo">1325</span> if (singleLevelOnly)<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span><a name="line.1327"></a>
-<span class="sourceLineNo">1328</span> if (firstKey == null) {<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span> throw new IllegalStateException("Trying to add second-level index " +<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span> "entry with offset=" + offset + " and onDiskSize=" + onDiskSize +<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span> "but the first key was not set in writeInlineBlock");<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span> }<a name="line.1332"></a>
-<span class="sourceLineNo">1333</span><a name="line.1333"></a>
-<span class="sourceLineNo">1334</span> if (rootChunk.getNumEntries() == 0) {<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span> // We are writing the first leaf block, so increase index level.<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span> expectNumLevels(1);<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span> numLevels = 2;<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span> }<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span><a name="line.1339"></a>
-<span class="sourceLineNo">1340</span> // Add another entry to the second-level index. Include the number of<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span> // entries in all previous leaf-level chunks for mid-key calculation.<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span> rootChunk.add(firstKey, offset, onDiskSize, totalNumEntries);<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span> firstKey = null;<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span> }<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span><a name="line.1345"></a>
-<span class="sourceLineNo">1346</span> @Override<a name="line.1346"></a>
-<span class="sourceLineNo">1347</span> public BlockType getInlineBlockType() {<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span> return BlockType.LEAF_INDEX;<a name="line.1348"></a>
+<span class="sourceLineNo">1270</span> if (curInlineChunk == null) {<a name="line.1270"></a>
+<span class="sourceLineNo">1271</span> throw new IllegalStateException("curInlineChunk is null; has shouldWriteBlock been " +<a name="line.1271"></a>
+<span class="sourceLineNo">1272</span> "called with closing=true and then called again?");<a name="line.1272"></a>
+<span class="sourceLineNo">1273</span> }<a name="line.1273"></a>
+<span class="sourceLineNo">1274</span><a name="line.1274"></a>
+<span class="sourceLineNo">1275</span> if (curInlineChunk.getNumEntries() == 0) {<a name="line.1275"></a>
+<span class="sourceLineNo">1276</span> return false;<a name="line.1276"></a>
+<span class="sourceLineNo">1277</span> }<a name="line.1277"></a>
+<span class="sourceLineNo">1278</span><a name="line.1278"></a>
+<span class="sourceLineNo">1279</span> // We do have some entries in the current inline chunk.<a name="line.1279"></a>
+<span class="sourceLineNo">1280</span> if (closing) {<a name="line.1280"></a>
+<span class="sourceLineNo">1281</span> if (rootChunk.getNumEntries() == 0) {<a name="line.1281"></a>
+<span class="sourceLineNo">1282</span> // We did not add any leaf-level blocks yet. Instead of creating a<a name="line.1282"></a>
+<span class="sourceLineNo">1283</span> // leaf level with one block, move these entries to the root level.<a name="line.1283"></a>
+<span class="sourceLineNo">1284</span><a name="line.1284"></a>
+<span class="sourceLineNo">1285</span> expectNumLevels(1);<a name="line.1285"></a>
+<span class="sourceLineNo">1286</span> rootChunk = curInlineChunk;<a name="line.1286"></a>
+<span class="sourceLineNo">1287</span> curInlineChunk = null; // Disallow adding any more index entries.<a name="line.1287"></a>
+<span class="sourceLineNo">1288</span> return false;<a name="line.1288"></a>
+<span class="sourceLineNo">1289</span> }<a name="line.1289"></a>
+<span class="sourceLineNo">1290</span><a name="line.1290"></a>
+<span class="sourceLineNo">1291</span> return true;<a name="line.1291"></a>
+<span class="sourceLineNo">1292</span> } else {<a name="line.1292"></a>
+<span class="sourceLineNo">1293</span> return curInlineChunk.getNonRootSize() >= maxChunkSize;<a name="line.1293"></a>
+<span class="sourceLineNo">1294</span> }<a name="line.1294"></a>
+<span class="sourceLineNo">1295</span> }<a name="line.1295"></a>
+<span class="sourceLineNo">1296</span><a name="line.1296"></a>
+<span class="sourceLineNo">1297</span> /**<a name="line.1297"></a>
+<span class="sourceLineNo">1298</span> * Write out the current inline index block. Inline blocks are non-root<a name="line.1298"></a>
+<span class="sourceLineNo">1299</span> * blocks, so the non-root index format is used.<a name="line.1299"></a>
+<span class="sourceLineNo">1300</span> *<a name="line.1300"></a>
+<span class="sourceLineNo">1301</span> * @param out<a name="line.1301"></a>
+<span class="sourceLineNo">1302</span> */<a name="line.1302"></a>
+<span class="sourceLineNo">1303</span> @Override<a name="line.1303"></a>
+<span class="sourceLineNo">1304</span> public void writeInlineBlock(DataOutput out) throws IOException {<a name="line.1304"></a>
+<span class="sourceLineNo">1305</span> if (singleLevelOnly)<a name="line.1305"></a>
+<span class="sourceLineNo">1306</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1306"></a>
+<span class="sourceLineNo">1307</span><a name="line.1307"></a>
+<span class="sourceLineNo">1308</span> // Write the inline block index to the output stream in the non-root<a name="line.1308"></a>
+<span class="sourceLineNo">1309</span> // index block format.<a name="line.1309"></a>
+<span class="sourceLineNo">1310</span> curInlineChunk.writeNonRoot(out);<a name="line.1310"></a>
+<span class="sourceLineNo">1311</span><a name="line.1311"></a>
+<span class="sourceLineNo">1312</span> // Save the first key of the inline block so that we can add it to the<a name="line.1312"></a>
+<span class="sourceLineNo">1313</span> // parent-level index.<a name="line.1313"></a>
+<span class="sourceLineNo">1314</span> firstKey = curInlineChunk.getBlockKey(0);<a name="line.1314"></a>
+<span class="sourceLineNo">1315</span><a name="line.1315"></a>
+<span class="sourceLineNo">1316</span> // Start a new inline index block<a name="line.1316"></a>
+<span class="sourceLineNo">1317</span> curInlineChunk.clear();<a name="line.1317"></a>
+<span class="sourceLineNo">1318</span> }<a name="line.1318"></a>
+<span class="sourceLineNo">1319</span><a name="line.1319"></a>
+<span class="sourceLineNo">1320</span> /**<a name="line.1320"></a>
+<span class="sourceLineNo">1321</span> * Called after an inline block has been written so that we can add an<a name="line.1321"></a>
+<span class="sourceLineNo">1322</span> * entry referring to that block to the parent-level index.<a name="line.1322"></a>
+<span class="sourceLineNo">1323</span> */<a name="line.1323"></a>
+<span class="sourceLineNo">1324</span> @Override<a name="line.1324"></a>
+<span class="sourceLineNo">1325</span> public void blockWritten(long offset, int onDiskSize, int uncompressedSize) {<a name="line.1325"></a>
+<span class="sourceLineNo">1326</span> // Add leaf index block size<a name="line.1326"></a>
+<span class="sourceLineNo">1327</span> totalBlockOnDiskSize += onDiskSize;<a name="line.1327"></a>
+<span class="sourceLineNo">1328</span> totalBlockUncompressedSize += uncompressedSize;<a name="line.1328"></a>
+<span class="sourceLineNo">1329</span><a name="line.1329"></a>
+<span class="sourceLineNo">1330</span> if (singleLevelOnly)<a name="line.1330"></a>
+<span class="sourceLineNo">1331</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1331"></a>
+<span class="sourceLineNo">1332</span><a name="line.1332"></a>
+<span class="sourceLineNo">1333</span> if (firstKey == null) {<a name="line.1333"></a>
+<span class="sourceLineNo">1334</span> throw new IllegalStateException("Trying to add second-level index " +<a name="line.1334"></a>
+<span class="sourceLineNo">1335</span> "entry with offset=" + offset + " and onDiskSize=" + onDiskSize +<a name="line.1335"></a>
+<span class="sourceLineNo">1336</span> "but the first key was not set in writeInlineBlock");<a name="line.1336"></a>
+<span class="sourceLineNo">1337</span> }<a name="line.1337"></a>
+<span class="sourceLineNo">1338</span><a name="line.1338"></a>
+<span class="sourceLineNo">1339</span> if (rootChunk.getNumEntries() == 0) {<a name="line.1339"></a>
+<span class="sourceLineNo">1340</span> // We are writing the first leaf block, so increase index level.<a name="line.1340"></a>
+<span class="sourceLineNo">1341</span> expectNumLevels(1);<a name="line.1341"></a>
+<span class="sourceLineNo">1342</span> numLevels = 2;<a name="line.1342"></a>
+<span class="sourceLineNo">1343</span> }<a name="line.1343"></a>
+<span class="sourceLineNo">1344</span><a name="line.1344"></a>
+<span class="sourceLineNo">1345</span> // Add another entry to the second-level index. Include the number of<a name="line.1345"></a>
+<span class="sourceLineNo">1346</span> // entries in all previous leaf-level chunks for mid-key calculation.<a name="line.1346"></a>
+<span class="sourceLineNo">1347</span> rootChunk.add(firstKey, offset, onDiskSize, totalNumEntries);<a name="line.1347"></a>
+<span class="sourceLineNo">1348</span> firstKey = null;<a name="line.1348"></a>
<span class="sourceLineNo">1349</span> }<a name="line.1349"></a>
<span class="sourceLineNo">1350</span><a name="line.1350"></a>
-<span class="sourceLineNo">1351</span> /**<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span> * Add one index entry to the current leaf-level block. When the leaf-level<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span> * block gets large enough, it will be flushed to disk as an inline block.<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span> *<a name="line.1354"></a>
-<span class="sourceLineNo">1355</span> * @param firstKey the first key of the data block<a name="line.1355"></a>
-<span class="sourceLineNo">1356</span> * @param blockOffset the offset of the data block<a name="line.1356"></a>
-<span class="sourceLineNo">1357</span> * @param blockDataSize the on-disk size of the data block ({@link HFile}<a name="line.1357"></a>
-<span class="sourceLineNo">1358</span> * format version 2), or the uncompressed size of the data block (<a name="line.1358"></a>
-<span class="sourceLineNo">1359</span> * {@link HFile} format version 1).<a name="line.1359"></a>
-<span class="sourceLineNo">1360</span> */<a name="line.1360"></a>
-<span class="sourceLineNo">1361</span> public void addEntry(byte[] firstKey, long blockOffset, int blockDataSize) {<a name="line.1361"></a>
-<span class="sourceLineNo">1362</span> curInlineChunk.add(firstKey, blockOffset, blockDataSize);<a name="line.1362"></a>
-<span class="sourceLineNo">1363</span> ++totalNumEntries;<a name="line.1363"></a>
-<span class="sourceLineNo">1364</span> }<a name="line.1364"></a>
-<span class="sourceLineNo">1365</span><a name="line.1365"></a>
-<span class="sourceLineNo">1366</span> /**<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span> * @throws IOException if we happened to write a multi-level index.<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span> */<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span> public void ensureSingleLevel() throws IOException {<a name="line.1369"></a>
-<span class="sourceLineNo">1370</span> if (numLevels > 1) {<a name="line.1370"></a>
-<span class="sourceLineNo">1371</span> throw new IOException ("Wrote a " + numLevels + "-level index with " +<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span> rootChunk.getNumEntries() + " root-level entries, but " +<a name="line.1372"></a>
-<span class="sourceLineNo">1373</span> "this is expected to be a single-level block index.");<a name="line.1373"></a>
-<span class="sourceLineNo">1374</span> }<a name="line.1374"></a>
-<span class="sourceLineNo">1375</span> }<a name="line.1375"></a>
-<span class="sourceLineNo">1376</span><a name="line.1376"></a>
-<span class="sourceLineNo">1377</span> /**<a name="line.1377"></a>
-<span class="sourceLineNo">1378</span> * @return true if we are using cache-on-write. This is configured by the<a name="line.1378"></a>
-<span class="sourceLineNo">1379</span> * caller of the constructor by either passing a valid block cache<a name="line.1379"></a>
-<span class="sourceLineNo">1380</span> * or null.<a name="line.1380"></a>
-<span class="sourceLineNo">1381</span> */<a name="line.1381"></a>
-<span class="sourceLineNo">1382</span> @Override<a name="line.1382"></a>
-<span class="sourceLineNo">1383</span> public boolean getCacheOnWrite() {<a name="line.1383"></a>
-<span class="sourceLineNo">1384</span> return cacheConf != null && cacheConf.shouldCacheIndexesOnWrite();<a name="line.1384"></a>
-<span class="sourceLineNo">1385</span> }<a name="line.1385"></a>
-<span class="sourceLineNo">1386</span><a name="line.1386"></a>
-<span class="sourceLineNo">1387</span> /**<a name="line.1387"></a>
-<span class="sourceLineNo">1388</span> * The total uncompressed size of the root index block, intermediate-level<a name="line.1388"></a>
-<span class="sourceLineNo">1389</span> * index blocks, and leaf-level index blocks.<a name="line.1389"></a>
-<span class="sourceLineNo">1390</span> *<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span> * @return the total uncompressed size of all index blocks<a name="line.1391"></a>
-<span class="sourceLineNo">1392</span> */<a name="line.1392"></a>
-<span class="sourceLineNo">1393</span> public long getTotalUncompressedSize() {<a name="line.1393"></a>
-<span class="sourceLineNo">1394</span> return totalBlockUncompressedSize;<a name="line.1394"></a>
-<span class="sourceLineNo">1395</span> }<a name="line.1395"></a>
-<span class="sourceLineNo">1396</span><a name="line.1396"></a>
-<span class="sourceLineNo">1397</span> }<a name="line.1397"></a>
-<span class="sourceLineNo">1398</span><a name="line.1398"></a>
-<span class="sourceLineNo">1399</span> /**<a name="line.1399"></a>
-<span class="sourceLineNo">1400</span> * A single chunk of the block index in the process of writing. The data in<a name="line.1400"></a>
-<span class="sourceLineNo">1401</span> * this chunk can become a leaf-level, intermediate-level, or root index<a name="line.1401"></a>
-<span class="sourceLineNo">1402</span> * block.<a name="line.1402"></a>
-<span class="sourceLineNo">1403</span> */<a name="line.1403"></a>
-<span class="sourceLineNo">1404</span> static class BlockIndexChunk {<a name="line.1404"></a>
-<span class="sourceLineNo">1405</span><a name="line.1405"></a>
-<span class="sourceLineNo">1406</span> /** First keys of the key range corresponding to each index entry. */<a name="line.1406"></a>
-<span class="sourceLineNo">1407</span> private final List<byte[]> blockKeys = new ArrayList<>();<a name="line.1407"></a>
-<span class="sourceLineNo">1408</span><a name="line.1408"></a>
-<span class="sourceLineNo">1409</span> /** Block offset in backing stream. */<a name="line.1409"></a>
-<span class="sourceLineNo">1410</span> private final List<Long> blockOffsets = new ArrayList<>();<a name="line.1410"></a>
-<span class="sourceLineNo">1411</span><a name="line.1411"></a>
-<span class="sourceLineNo">1412</span> /** On-disk data sizes of lower-level data or index blocks. */<a name="line.1412"></a>
-<span class="sourceLineNo">1413</span> private final List<Integer> onDiskDataSizes = new ArrayList<>();<a name="line.1413"></a>
-<span class="sourceLineNo">1414</span><a name="line.1414"></a>
-<span class="sourceLineNo">1415</span> /**<a name="line.1415"></a>
-<span class="sourceLineNo">1416</span> * The cumulative number of sub-entries, i.e. entries on deeper-level block<a name="line.1416"></a>
-<span class="sourceLineNo">1417</span> * index entries. numSubEntriesAt[i] is the number of sub-entries in the<a name="line.1417"></a>
-<span class="sourceLineNo">1418</span> * blocks corresponding to this chunk's entries #0 through #i inclusively.<a name="line.1418"></a>
-<span class="sourceLineNo">1419</span> */<a name="line.1419"></a>
-<span class="sourceLineNo">1420</span> private final List<Long> numSubEntriesAt = new ArrayList<>();<a name="line.1420"></a>
-<span class="sourceLineNo">1421</span><a name="line.1421"></a>
-<span class="sourceLineNo">1422</span> /**<a name="line.1422"></a>
-<span class="sourceLineNo">1423</span> * The offset of the next entry to be added, relative to the end of the<a name="line.1423"></a>
-<span class="sourceLineNo">1424</span> * "secondary index" in the "non-root" format representation of this index<a name="line.1424"></a>
-<span class="sourceLineNo">1425</span> * chunk. This is the next value to be added to the secondary index.<a name="line.1425"></a>
-<span class="sourceLineNo">1426</span> */<a name="line.1426"></a>
-<span class="sourceLineNo">1427</span> private int curTotalNonRootEntrySize = 0;<a name="line.1427"></a>
-<span class="sourceLineNo">1428</span><a name="line.1428"></a>
-<span class="sourceLineNo">1429</span> /**<a name="line.1429"></a>
-<span class="sourceLineNo">1430</span> * The accumulated size of this chunk if stored in the root index format.<a name="line.1430"></a>
+<span class="sourceLineNo">1351</span> @Override<a name="line.1351"></a>
+<span class="sourceLineNo">1352</span> public BlockType getInlineBlockType() {<a name="line.1352"></a>
+<span class="sourceLineNo">1353</span> return BlockType.LEAF_INDEX;<a name="line.1353"></a>
+<span class="sourceLineNo">1354</span> }<a name="line.1354"></a>
+<span class="sourceLineNo">1355</span><a name="line.1355"></a>
+<span class="sourceLineNo">1356</span> /**<a name="line.1356"></a>
+<span class="sourceLineNo">1357</span> * Add one index entry to the current leaf-level block. When the leaf-level<a name="line.1357"></a>
+<span class="sourceLineNo">1358</span> * block gets large enough, it will be flushed to disk as an inline block.<a name="line.1358"></a>
+<span class="sourceLineNo">1359</span> *<a name="line.1359"></a>
+<span class="sourceLineNo">1360</span> * @param firstKey the first key of the data block<a name="line.1360"></a>
+<span class="sourceLineNo">1361</span> * @param blockOffset the offset of the data block<a name="line.1361"></a>
+<span class="sourceLineNo">1362</span> * @param blockDataSize the on-disk size of the data block ({@link HFile}<a name="line.1362"></a>
+<span class="sourceLineNo">1363</span> * format version 2), or the uncompressed size of the data block (<a name="line.1363"></a>
+<span class="sourceLineNo">1364</span> * {@link HFile} format version 1).<a name="line.1364"></a>
+<span class="sourceLineNo">1365</span> */<a name="line.1365"></a>
+<span class="sourceLineNo">1366</span> public void addEntry(byte[] firstKey, long blockOffset, int blockDataSize) {<a name="line.1366"></a>
+<span class="sourceLineNo">1367</span> curInlineChunk.add(firstKey, blockOffset, blockDataSize);<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span> ++totalNumEntries;<a name="line.1368"></a>
+<span class="sourceLineNo">1369</span> }<a name="line.1369"></a>
+<span class="sourceLineNo">1370</span><a name="line.1370"></a>
+<span class="sourceLineNo">1371</span> /**<a name="line.1371"></a>
+<span class="sourceLineNo">1372</span> * @throws IOException if we happened to write a multi-level index.<a name="line.1372"></a>
+<span class="sourceLineNo">1373</span> */<a name="line.1373"></a>
+<span class="sourceLineNo">1374</span> public void ensureSingleLevel() throws IOException {<a name="line.1374"></a>
+<span class="sourceLineNo">1375</span> if (numLevels > 1) {<a name="line.1375"></a>
+<span class="sourceLineNo">1376</span> throw new IOException ("Wrote a " + numLevels + "-level index with " +<a name="line.1376"></a>
+<span class="sourceLineNo">1377</span> rootChunk.getNumEntries() + " root-level entries, but " +<a name="line.1377"></a>
+<span class="sourceLineNo">1378</span> "this is expected to be a single-level block index.");<a name="line.1378"></a>
+<span class="sourceLineNo">1379</span> }<a name="line.1379"></a>
+<span class="sourceLineNo">1380</span> }<a name="line.1380"></a>
+<span class="sourceLineNo">1381</span><a name="line.1381"></a>
+<span class="sourceLineNo">1382</span> /**<a name="line.1382"></a>
+<span class="sourceLineNo">1383</span> * @return true if we are using cache-on-write. This is configured by the<a name="line.1383"></a>
+<span class="sourceLineNo">1384</span> * caller of the constructor by either passing a valid block cache<a name="line.1384"></a>
+<span class="sourceLineNo">1385</span> * or null.<a name="line.1385"></a>
+<span class="sourceLineNo">1386</span> */<a name="line.1386"></a>
+<span class="sourceLineNo">1387</span> @Override<a name="line.1387"></a>
+<span class="sourceLineNo">1388</span> public boolean getCacheOnWrite() {<a name="line.1388"></a>
+<span class="sourceLineNo">1389</span> return cacheConf != null && cacheConf.shouldCacheIndexesOnWrite();<a name="line.1389"></a>
+<span class="sourceLineNo">1390</span> }<a name="line.1390"></a>
+<span class="sourceLineNo">1391</span><a name="line.1391"></a>
+<span class="sourceLineNo">1392</span> /**<a name="line.1392"></a>
+<span class="sourceLineNo">1393</span> * The total uncompressed size of the root index block, intermediate-level<a name="line.1393"></a>
+<span class="sourceLineNo">1394</span> * index blocks, and leaf-level index blocks.<a name="line.1394"></a>
+<span class="sourceLineNo">1395</span> *<a name="line.1395"></a>
+<span class="sourceLineNo">1396</span> * @return the total uncompressed size of all index blocks<a name="line.1396"></a>
+<span class="sourceLineNo">1397</span> */<a name="line.1397"></a>
+<span class="sourceLineNo">1398</span> public long getTotalUncompressedSize() {<a name="line.1398"></a>
+<span class="sourceLineNo">1399</span> return totalBlockUncompressedSize;<a name="line.1399"></a>
+<span class="sourceLineNo">1400</span> }<a name="line.1400"></a>
+<span class="sourceLineNo">1401</span><a name="line.1401"></a>
+<span class="sourceLineNo">1402</span> }<a name="line.1402"></a>
+<span class="sourceLineNo">1403</span><a name="line.1403"></a>
+<span class="sourceLineNo">1404</span> /**<a name="line.1404"></a>
+<span class="sourceLineNo">1405</span> * A single chunk of the block index in the process of writing. The data in<a name="line.1405"></a>
+<span class="sourceLineNo">1406</span> * this chunk can become a leaf-level, intermediate-level, or root index<a name="line.1406"></a>
+<span class="sourceLineNo">1407</span> * block.<a name="line.1407"></a>
+<span class="sourceLineNo">1408</span> */<a name="line.1408"></a>
+<span class="sourceLineNo">1409</span> static class BlockIndexChunk {<a name="line.1409"></a>
+<span class="sourceLineNo">1410</span><a name="line.1410"></a>
+<span class="sourceLineNo">1411</span> /** First keys of the key range corresponding to each index entry. */<a name="line.1411"></a>
+<span class="sourceLineNo">1412</span> private final List<byte[]> blockKeys = new ArrayList<>();<a name="line.1412"></a>
+<span class="sourceLineNo">1413</span><a name="line.1413"></a>
+<span class="sourceLineNo">1414</span> /** Block offset in backing stream. */<a name="line.1414"></a>
+<span class="sourceLineNo">1415</span> private final List<Long> blockOffsets = new ArrayList<>();<a name="line.1415"></a>
+<span class="sourceLineNo">1416</span><a name="line.1416"></a>
+<span class="sourceLineNo">1417</span> /** On-disk data sizes of lower-level data or index blocks. */<a name="line.1417"></a>
+<span class="sourceLineNo">1418</span> private final List<Integer> onDiskDataSizes = new ArrayList<>();<a name="line.1418"></a>
+<span class="sourceLineNo">1419</span><a name="line.1419"></a>
+<span class="sourceLineNo">1420</span> /**<a name="line.1420"></a>
+<span class="sourceLineNo">1421</span> * The cumulative number of sub-entries, i.e. entries on deeper-level block<a name="line.1421"></a>
+<span class="sourceLineNo">1422</span> * index entries. numSubEntriesAt[i] is the number of sub-entries in the<a name="line.1422"></a>
+<span class="sourceLineNo">1423</span> * blocks corresponding to this chunk's entries #0 through #i inclusively.<a name="line.1423"></a>
+<span class="sourceLineNo">1424</span> */<a name="line.1424"></a>
+<span class="sourceLineNo">1425</span> private final List<Long> numSubEntriesAt = new ArrayList<>();<a name="line.1425"></a>
+<span class="sourceLineNo">1426</span><a name="line.1426"></a>
+<span class="sourceLineNo">1427</span> /**<a name="line.1427"></a>
+<span class="sourceLineNo">1428</span> * The offset of the next entry to be added, relative to the end of the<a name="line.1428"></a>
+<span class="sourceLineNo">1429</span> * "secondary index" in the "non-root" format representation of this index<a name="line.1429"></a>
+<span class="sourceLineNo">1430</span> * chunk. This is the next value to be added to the secondary index.<a name="line.1430"></a>
<span class="sourceLineNo">1431</span> */<a name="line.1431"></a>
-<span class="sourceLineNo">1432</span> private int curTotalRootSize = 0;<a name="line.1432"></a>
+<span class="sourceLineNo">1432</span> private int curTotalNonRootEntrySize = 0;<a name="line.1432"></a>
<span class="sourceLineNo">1433</span><a name="line.1433"></a>
<span class="sourceLineNo">1434</span> /**<a name="line.1434"></a>
-<span class="sourceLineNo">1435</span> * The "secondary index" used for binary search over variable-length<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span> * records in a "non-root" format block. These offsets are relative to the<a name="line.1436"></a>
-<span class="sourceLineNo">1437</span> * end of this secondary index.<a name="line.1437"></a>
-<span class="sourceLineNo">1438</span> */<a name="line.1438"></a>
-<span class="sourceLineNo">1439</span> private final List<Integer> secondaryIndexOffsetMarks = new ArrayList<>();<a name="line.1439"></a>
-<span class="sourceLineNo">1440</span><a name="line.1440"></a>
-<span class="sourceLineNo">1441</span> /**<a name="line.1441"></a>
-<span class="sourceLineNo">1442</span> * Adds a new entry to this block index chunk.<a name="line.1442"></a>
-<span class="sourceLineNo">1443</span> *<a name="line.1443"></a>
-<span class="sourceLineNo">1444</span> * @param firstKey the first key in the block pointed to by this entry<a name="line.1444"></a>
-<span class="sourceLineNo">1445</span> * @param blockOffset the offset of the next-level block pointed to by this<a name="line.1445"></a>
-<span class="sourceLineNo">1446</span> * entry<a name="line.1446"></a>
-<span class="sourceLineNo">1447</span> * @param onDiskDataSize the on-disk data of the block pointed to by this<a name="line.1447"></a>
-<span class="sourceLineNo">1448</span> * entry, including header size<a name="line.1448"></a>
-<span class="sourceLineNo">1449</span> * @param curTotalNumSubEntries if this chunk is the root index chunk under<a name="line.1449"></a>
-<span class="sourceLineNo">1450</span> * construction, this specifies the current total number of<a name="line.1450"></a>
-<span class="sourceLineNo">1451</span> * sub-entries in all leaf-level chunks, including the one<a name="line.1451"></a>
-<span class="sourceLineNo">1452</span> * corresponding to the second-level entry being added.<a name="line.1452"></a>
-<span class="sourceLineNo">1453</span> */<a name="line.1453"></a>
-<span class="sourceLineNo">1454</span> void add(byte[] firstKey, long blockOffset, int onDiskDataSize,<a name="line.1454"></a>
-<span class="sourceLineNo">1455</span> long curTotalNumSubEntries) {<a name="line.1455"></a>
-<span class="sourceLineNo">1456</span> // Record the offset for the secondary index<a name="line.1456"></a>
-<span class="sourceLineNo">1457</span> secondaryIndexOffsetMarks.add(curTotalNonRootEntrySize);<a name="line.1457"></a>
-<span class="sourceLineNo">1458</span> curTotalNonRootEntrySize += SECONDARY_INDEX_ENTRY_OVERHEAD<a name="line.1458"></a>
-<span class="sourceLineNo">1459</span> + firstKey.length;<a name="line.1459"></a>
-<span class="sourceLineNo">1460</span><a name="line.1460"></a>
-<span class="sourceLineNo">1461</span> curTotalRootSize += Bytes.SIZEOF_LONG + Bytes.SIZEOF_INT<a name="line.1461"></a>
-<span class="sourceLineNo">1462</span> + WritableUtils.getVIntSize(firstKey.length) + firstKey.length;<a name="line.1462"></a>
-<span class="sourceLineNo">1463</span><a name="line.1463"></a>
-<span class="sourceLineNo">1464</span> blockKeys.add(firstKey);<a name="line.1464"></a>
-<span class="sourceLineNo">1465</span> blockOffsets.add(blockOffset);<a name="line.1465"></a>
-<span class="sourceLineNo">1466</span> onDiskDataSizes.add(onDiskDataSize);<a name="line.1466"></a>
-<span class="sourceLineNo">1467</span><a name="line.1467"></a>
-<span class="sourceLineNo">1468</span> if (curTotalNumSubEntries != -1) {<a name="line.1468"></a>
-<span class="sourceLineNo">1469</span> numSubEntriesAt.add(curTotalNumSubEntries);<a name="line.1469"></a>
-<span class="sourceLineNo">1470</span><a name="line.1470"></a>
-<span class="sourceLineNo">1471</span> // Make sure the parallel arrays are in sync.<a name="line.1471"></a>
-<span class="sourceLineNo">1472</span> if (numSubEntriesAt.size() != blockKeys.size()) {<a name="line.1472"></a>
-<span class="sourceLineNo">1473</span> throw new IllegalStateException("Only have key/value count " +<a name="line.1473"></a>
-<span class="sourceLineNo">1474</span> "stats for " + numSubEntriesAt.size() + " block index " +<a name="line.1474"></a>
-<span class="sourceLineNo">1475</span> "entries out of " + blockKeys.size());<a name="line.1475"></a>
-<span class="sourceLineNo">1476</span> }<a name="line.1476"></a>
-<span class="sourceLineNo">1477</span> }<a name="line.1477"></a>
-<span class="sourceLineNo">1478</span> }<a name="line.1478"></a>
-<span class="sourceLineNo">1479</span><a name="line.1479"></a>
-<span class="sourceLineNo">1480</span> /**<a name="line.1480"></a>
-<span class="sourceLineNo">1481</span> * The same as {@link #add(byte[], long, int, long)} but does not take the<a name="line.1481"></a>
-<span class="sourceLineNo">1482</span> * key/value into account. Used for single-level indexes.<a name="line.1482"></a>
-<span class="sourceLineNo">1483</span> *<a name="line.1483"></a>
-<span class="sourceLineNo">1484</span> * @see #add(byte[], long, int, long)<a name="line.1484"></a>
-<span class="sourceLineNo">1485</span> */<a name="line.1485"></a>
-<span class="sourceLineNo">1486</span> public void add(byte[] firstKey, long blockOffset, int onDiskDataSize) {<a name="line.1486"></a>
-<span class="sourceLineNo">1487</span> add(firstKey, blockOffset, onDiskDataSize, -1);<a name="line.1487"></a>
-<span class="sourceLineNo">1488</span> }<a name="line.1488"></a>
-<span class="sourceLineNo">1489</span><a name="line.1489"></a>
-<span class="sourceLineNo">1490</span> public void clear() {<a name="line.1490"></a>
-<span class="sourceLineNo">1491</span> blockKeys.clear();<a name="line.1491"></a>
-<span class="sourceLineNo">1492</span> blockOffsets.clear();<a name="line.1492"></a>
-<span class="sourceLineNo">1493</span> onDiskDataSizes.clear();<a name="line.1493"></a>
-<span class="sourceLineNo">1494</span> secondaryIndexOffsetMarks.clear();<a name="line.1494"></a>
-<span class="sourceLineNo">1495</span> numSubEntriesAt.clear();<a name="line.1495"></a>
-<span class="sourceLineNo">1496</span> curTotalNonRootEntrySize = 0;<a name="line.1496"></a>
-<span class="sourceLineNo">1497</span> curTotalRootSize = 0;<a name="line.1497"></a>
-<span class="sourceLineNo">1498</span> }<a name="line.1498"></a>
-<span class="sourceLineNo">1499</span><a name="line.1499"></a>
-<span class="sourceLineNo">1500</span> /**<a name="line.1500"></a>
-<span class="sourceLineNo">1501</span> * Finds the entry corresponding to the deeper-level index block containing<a name="line.1501"></a>
-<span class="sourceLineNo">1502</span> * the given deeper-level entry (a "sub-entry"), assuming a global 0-based<a name="line.1502"></a>
-<span class="sourceLineNo">1503</span> * ordering of sub-entries.<a name="line.1503"></a>
-<span class="sourceLineNo">1504</span> *<a name="line.1504"></a>
-<span class="sourceLineNo">1505</span> * <p><a name="line.1505"></a>
-<span class="sourceLineNo">1506</span> * <i> Implementation note. </i> We are looking for i such that<a name="line.1506"></a>
-<span class="sourceLineNo">1507</span> * numSubEntriesAt[i - 1] <= k < numSubEntriesAt[i], because a deeper-level<a name="line.1507"></a>
-<span class="sourceLineNo">1508</span> * block #i (0-based) contains sub-entries # numSubEntriesAt[i - 1]'th<a name="line.1508"></a>
-<span class="sourceLineNo">1509</span> * through numSubEntriesAt[i] - 1, assuming a global 0-based ordering of<a name="line.1509"></a>
-<span class="sourceLineNo">1510</span> * sub-entries. i is by definition the insertion point of k in<a name="line.1510"></a>
-<span class="sourceLineNo">1511</span> * numSubEntriesAt.<a name="line.1511"></a>
-<span class="sourceLineNo">1512</span> *<a name="line.1512"></a>
-<span class="sourceLineNo">1513</span> * @param k sub-entry index, from 0 to the total number sub-entries - 1<a name="line.1513"></a>
-<span class="sourceLineNo">1514</span> * @return the 0-based index of the entry corresponding to the given<a name="line.1514"></a>
-<span class="sourceLineNo">1515</span> * sub-entry<a name="line.1515"></a>
-<span class="sourceLineNo">1516</span> */<a name="line.1516"></a>
-<span class="sourceLineNo">1517</span> public int getEntryBySubEntry(long k) {<a name="line.1517"></a>
-<span class="sourceLineNo">1518</span> // We define mid-key as the key corresponding to k'th sub-entry<a name="line.1518"></a>
-<span class="sourceLineNo">1519</span> // (0-based).<a name="line.1519"></a>
-<span class="sourceLineNo">1520</span><a name="line.1520"></a>
-<span class="sourceLineNo">1521</span> int i = Collections.binarySearch(numSubEntriesAt, k);<a name="line.1521"></a>
-<span class="sourceLineNo">1522</span><a name="line.1522"></a>
-<span class="sourceLineNo">1523</span> // Exact match: cumulativeWeight[i] = k. This means chunks #0 through<a name="line.1523"></a>
-<span class="sourceLineNo">1524</span> // #i contain exactly k sub-entries, and the sub-entry #k (0-based)<a name="line.1524"></a>
-<span class="sourceLineNo">1525</span> // is in the (i + 1)'th chunk.<a name="line.1525"></a>
-<span class="sourceLineNo">1526</span> if (i >= 0)<a name="line.1526"></a>
-<span class="sourceLineNo">1527</span> return i + 1;<a name="line.1527"></a>
-<span class="sourceLineNo">1528</span><a name="line.1528"></a>
-<span class="sourceLineNo">1529</span> // Inexact match. Return the insertion point.<a name="line.1529"></a>
-<span class="sourceLineNo">1530</span> return -i - 1;<a name="line.1530"></a>
-<span class="sourceLineNo">1531</span> }<a name="line.1531"></a>
-<span class="sourceLineNo">1532</span><a name="line.1532"></a>
-<span class="sourceLineNo">1533</span> /**<a name="line.1533"></a>
-<span class="sourceLineNo">1534</span> * Used when writing the root block index of a multi-level block index.<a name="line.1534"></a>
-<span class="sourceLineNo">1535</span> * Serializes additional information allowing to efficiently identify the<a name="line.1535"></a>
-<span class="sourceLineNo">1536</span> * mid-key.<a name="line.1536"></a>
-<span class="sourceLineNo">1537</span> *<a name="line.1537"></a>
-<span class="sourceLineNo">1538</span> * @return a few serialized fields for finding the mid-key<a name="line.1538"></a>
-<span class="sourceLineNo">1539</span> * @throws IOException if could not create metadata for computing mid-key<a name="line.1539"></a>
-<span class="sourceLineNo">1540</span> */<a name="line.1540"></a>
-<span class="sourceLineNo">1541</span> public byte[] getMidKeyMetadata() throws IOException {<a name="line.1541"></a>
-<span class="sourceLineNo">1542</span> ByteArrayOutputStream baos = new ByteArrayOutputStream(<a name="line.1542"></a>
-<span class="sourceLineNo">1543</span> MID_KEY_METADATA_SIZE);<a name="line.1543"></a>
-<span class="sourceLineNo">1544</span> DataOutputStream baosDos = new DataOutputStream(baos);<a name="line.1544"></a>
-<span class="sourceLineNo">1545</span> long totalNumSubEntries = numSubEntriesAt.get(blockKeys.size() - 1);<a name="line.1545"></a>
-<span class="sourceLineNo">1546</span> if (totalNumSubEntries == 0) {<a name="line.1546"></a>
-<span class="sourceLineNo">1547</span> throw new IOException("No leaf-level entries, mid-key unavailable");<a name="line.1547"></a>
-<span class="sourceLineNo">1548</span> }<a name="line.1548"></a>
-<span class="sourceLineNo">1549</span> long midKeySubEntry = (totalNumSubEntries - 1) / 2;<a name="line.1549"></a>
-<span class="sourceLineNo">1550</span> int midKeyEntry = getEntryBySubEntry(midKeySubEntry);<a name="line.1550"></a>
-<span class="sourceLineNo">1551</span><a name="line.1551"></a>
-<span class="sourceLineNo">1552</span> baosDos.writeLong(blockOffsets.get(midKeyEntry));<a name="line.1552"></a>
-<span class="sourceLineNo">1553</span> baosDos.writeInt(onDiskDataSizes.get(midKeyEntry));<a name="line.1553"></a>
-<span class="sourceLineNo">1554</span><a name="line.1554"></a>
-<span class="sourceLineNo">1555</span> long numSubEntriesBefore = midKeyEntry > 0<a name="line.1555"></a>
-<span class="sourceLineNo">1556</span> ? numSubEntriesAt.get(midKeyEntry - 1) : 0;<a name="line.1556"></a>
-<span class="sourceLineNo">1557</span> long subEntryWithinEntry = midKeySubEntry - numSubEntriesBefore;<a name="line.1557"></a>
-<span class="sourceLineNo">1558</span> if (subEntryWithinEntry < 0 || subEntryWithinEntry > Integer.MAX_VALUE)<a name="line.1558"></a>
-<span class="sourceLineNo">1559</span> {<a name="line.1559"></a>
-<span class="sourceLineNo">1560</span> throw new IOException("Could not identify mid-key index within the "<a name="line.1560"></a>
-<span class="sourceLineNo">1561</span> + "leaf-level block containing mid-key: out of range ("<a name="line.1561"></a>
-<span class="sourceLineNo">1562</span> + subEntryWithinEntry + ", numSubEntriesBefore="<a name="line.1562"></a>
-<span class="sourceLineNo">1563</span> + numSubEntriesBefore + ", midKeySubEntry=" + midKeySubEntry<a name="line.1563"></a>
-<span class="sourceLineNo">1564</span> + ")");<a name="line.1564"></a>
-<span class="sourceLineNo">1565</span> }<a name="line.1565"></a>
-<span class="sourceLineNo">1566</span><a name="line.1566"></a>
-<span class="sourceLineNo">1567</span> baosDos.writeInt((int) subEntryWithinEntry);<a name="line.1567"></a>
-<span class="sourceLineNo">1568</span><a name="line.1568"></a>
-<span class="sourceLineNo">1569</span> if (baosDos.size() != MID_KEY_METADATA_SIZE) {<a name="line.1569"></a>
-<span class="sourceLineNo">1570</span> throw new IOException("Could not write mid-key metadata: size=" +<a name="line.1570"></a>
-<span class="sourceLineNo">1571</span> baosDos.size() + ", correct size: " + MID_KEY_METADATA_SIZE);<a name="line.1571"></a>
-<span class="sourceLineNo">1572</span> }<a name="line.1572"></a>
+<span class="sourceLineNo">1435</span> * The accumulated size of this chunk if stored in the root index format.<a name="line.1435"></a>
+<span class="sourceLineNo">1436</span> */<a name="line.1436"></a>
+<span class="sourceLineNo">1437</span> private int curTotalRootSize = 0;<a name="line.1437"></a>
+<span class="sourceLineNo">1438</span><a name="line.1438"></a>
+<span class="sourceLineNo">1439</span> /**<a name="line.1439"></a>
+<span class="sourceLineNo">1440</span> * The "secondary index" used for binary search over variable-length<a name="line.1440"></a>
+<span class="sourceLineNo">1441</span> * records in a "non-root" format block. These offsets are relative to the<a name="line.1441"></a>
+<span class="sourceLineNo">1442</span> * end of this secondary index.<a name="line.1442"></a>
+<span class="sourceLineNo">1443</span> */<a name="line.1443"></a>
+<span class="sourceLineNo">1444</span> private final List<Integer> secondaryIndexOffsetMarks = new ArrayList<>();<a name="line.1444"></a>
+<span class="sourceLineNo">1445</span><a name="line.1445"></a>
+<span class="sourceLineNo">1446</span> /**<a name="line.1446"></a>
+<span class="sourceLineNo">1447</span> * Adds a new entry to this block index chunk.<a name="line.1447"></a>
+<span class="sourceLineNo">1448</span> *<a name="line.1448"></a>
+<span class="sourceLineNo">1449</span> * @param firstKey the first key in the block pointed to by this entry<a name="line.1449"></a>
+<span class="sourceLineNo">1450</span> * @param blockOffset the offset of the next-level block pointed to by this<a name="line.1450"></a>
+<span class="sourceLineNo">1451</span> * entry<a name="line.1451"></a>
+<span class="sourceLineNo">1452</span> * @param onDiskDataSize the on-disk data of the block pointed to by this<a name="line.1452"></a>
+<span class="sourceLineNo">1453</span> * entry, including header size<a name="line.1453"></a>
+<span class="sourceLineNo">1454</span> * @param curTotalNumSubEntries if this chunk is the root index chunk under<a name="line.1454"></a>
+<span class="sourceLineNo">1455</span> * construction, this specifies the current total number of<a name="line.1455"></a>
+<span class="sourceLineNo">1456</span> * sub-entries in all leaf-level chunks, including the one<a name="line.1456"></a>
+<span class="sourceLineNo">1457</span> * corresponding to the second-level entry being added.<a name="line.1457"></a>
+<span class="sourceLineNo">1458</span> */<a name="line.1458"></a>
+<span class="sourceLineNo">1459</span> void add(byte[] firstKey, long blockOffset, int onDiskDataSize,<a name="line.1459"></a>
+<span class="sourceLineNo">1460</span> long curTotalNumSubEntries) {<a name="line.1460"></a>
+<span class="sourceLineNo">1461</span> // Record the offset for the secondary index<a name="line.1461"></a>
+<span class="sourceLineNo">1462</span> secondaryIndexOffsetMarks.add(curTotalNonRootEntrySize);<a name="line.1462"></a>
+<span class="sourceLineNo">1463</span> curTotalNonRootEntrySize += SECONDARY_INDEX_ENTRY_OVERHEAD<a name="line.1463"></a>
+<span class="sourceLineNo">1464</span> + firstKey.length;<a name="line.1464"></a>
+<span class="sourceLineNo">1465</span><a name="line.1465"></a>
+<span class="sourceLineNo">1466</span> curTotalRootSize += Bytes.SIZEOF_LONG + Bytes.SIZEOF_INT<a name="line.1466"></a>
+<span class="sourceLineNo">1467</span> + WritableUtils.getVIntSize(firstKey.length) + firstKey.length;<a name="line.1467"></a>
+<span class="sourceLineNo">1468</span><a name="line.1468"></a>
+<span class="sourceLineNo">1469</span> blockKeys.add(firstKey);<a name="line.1469"></a>
+<span class="sourceLineNo">1470</span> blockOffsets.add(blockOffset);<a name="line.1470"></a>
+<span class="sourceLineNo">1471</span> onDiskDataSizes.add(onDiskDataSize);<a name="line.1471"></a>
+<span class="sourceLineNo">1472</span><a name="line.1472"></a>
+<span class="sourceLineNo">1473</span> if (curTotalNumSubEntries != -1) {<a name="line.1473"></a>
+<span class="sourceLineNo">1474</span> numSubEntriesAt.add(curTotalNumSubEntries);<a name="line.1474"></a>
+<span class="sourceLineNo">1475</span><a name="line.1475"></a>
+<span class="sourceLineNo">1476</span> // Make sure the parallel arrays are in sync.<a name="line.1476"></a>
+<span class="sourceLineNo">1477</span> if (numSubEntriesAt.size() != blockKeys.size()) {<a name="line.1477"></a>
+<span class="sourceLineNo">1478</span> throw new IllegalStateException("Only have key/value count " +<a name="line.1478"></a>
+<span class="sourceLineNo">1479</span> "stats for " + numSubEntriesAt.size() + " block index " +<a name="line.1479"></a>
+<span class="sourceLineNo">1480</span> "entries out of " + blockKeys.size());<a name="line.1480"></a>
+<span class="sourceLineNo">1481</span> }<a name="line.1481"></a>
+<span class="sourceLineNo">1482</span> }<a name="line.1482"></a>
+<span class="sourceLineNo">1483</span> }<a name="line.1483"></a>
+<span class="sourceLineNo">1484</span><a name="line.1484"></a>
+<span class="sourceLineNo">1485</span> /**<a name="line.1485"></a>
+<span class="sourceLineNo">1486</span> * The same as {@link #add(byte[], long, int, long)} but does not take the<a name="line.1486"></a>
+<span class="sourceLineNo">1487</span> * key/value into account. Used for single-level indexes.<a name="line.1487"></a>
+<span class="sourceLineNo">1488</span> *<a name="line.1488"></a>
+<span class="sourceLineNo">1489</span> * @see #add(byte[], long, int, long)<a name="line.1489"></a>
+<span class="sourceLineNo">1490</span> */<a name="line.1490"></a>
+<span class="sourceLineNo">1491</span> public void add(byte[] firstKey, long blockOffset, int onDiskDataSize) {<a name="line.1491"></a>
+<span class="sourceLineNo">1492</span> add(firstKey, blockOffset, onDiskDataSize, -1);<a name="line.1492"></a>
+<span class="sourceLineNo">1493</span> }<a name="line.1493"></a>
+<span class="sourceLineNo">1494</span><a name="line.1494"></a>
+<span class="sourceLineNo">1495</span> public void clear() {<a name="line.1495"></a>
+<span class="sourceLineNo">1496</span> blockKeys.clear();<a name="line.1496"></a>
+<span class="sourceLineNo">1497</span> blockOffsets.clear();<a name="line.1497"></a>
+<span class="sourceLineNo">1498</span> onDiskDataSizes.clear();<a name="line.1498"></a>
+<span class="sourceLineNo">1499</span> secondaryIndexOffsetMarks.clear();<a name="line.1499"></a>
+<span class="sourceLineNo">1500</span> numSubEntriesAt.clear();<a name="line.1500"></a>
+<span class="sourceLineNo">1501</span> curTotalNonRootEntrySize = 0;<a name="line.1501"></a>
+<span class="sourceLineNo">1502</span> curTotalRootSize = 0;<a name="line.1502"></a>
+<span class="sourceLineNo">1503</span> }<a name="line.1503"></a>
+<span class="sourceLineNo">1504</span><a name="line.1504"></a>
+<span class="sourceLineNo">1505</span> /**<a name="line.1505"></a>
+<span class="sourceLineNo">1506</span> * Finds the entry corresponding to the deeper-level index block containing<a name="line.1506"></a>
+<span class="sourceLineNo">1507</span> * the given deeper-level entry (a "sub-entry"), assuming a global 0-based<a name="line.1507"></a>
+<span class="sourceLineNo">1508</span> * ordering of sub-entries.<a name="line.1508"></a>
+<span class="sourceLineNo">1509</span> *<a name="line.1509"></a>
+<span class="sourceLineNo">1510</span> * <p><a name="line.1510"></a>
+<span class="sourceLineNo">1511</span> * <i> Implementation note. </i> We are looking for i such that<a name="line.1511"></a>
+<span class="sourceLineNo">1512</span> * numSubEntriesAt[i - 1] <= k < numSubEntriesAt[i], because a deeper-level<a name="line.1512"></a>
+<span class="sourceLineNo">1513</span> * block #i (0-based) contains sub-entries # numSubEntriesAt[i - 1]'th<a name="line.1513"></a>
+<span class="sourceLineNo">1514</span> * through numSubEntriesAt[i] - 1, assuming a global 0-based ordering of<a name="line.1514"></a>
+<span class="sourceLineNo">1515</span> * sub-entries. i is by definition the insertion point of k in<a name="line.1515"></a>
+<span class="sourceLineNo">1516</span> * numSubEntriesAt.<a name="line.1516"></a>
+<span class="sourceLineNo">1517</span> *<a name="line.1517"></a>
+<span class="sourceLineNo">1518</span> * @param k sub-entry index, from 0 to the total number sub-entries - 1<a name="line.1518"></a>
+<span class="sourceLineNo">1519</span> * @return the 0-based index of the entry corresponding to the given<a name="line.1
<TRUNCATED>
[44/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/CachedBlock.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/CachedBlock.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/CachedBlock.html
index 917fc61..4a03c9a 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/CachedBlock.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/CachedBlock.html
@@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
</div>
<div class="subNav">
<ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Prev Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Next Class</span></a></li>
</ul>
<ul class="navList">
@@ -254,7 +254,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.
</div>
<div class="subNav">
<ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Prev Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Next Class</span></a></li>
</ul>
<ul class="navList">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html
index 59bdbf4..c4386b1 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html
@@ -18,7 +18,7 @@
catch(err) {
}
//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -195,142 +195,150 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getBloomChunkMissCount--">getBloomChunkMissCount</a></span>()</code> </td>
</tr>
<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getBucketCacheStats--">getBucketCacheStats</a></span>()</code> </td>
+</tr>
+<tr id="i3" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getDataHitCount--">getDataHitCount</a></span>()</code> </td>
</tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getDataMissCount--">getDataMissCount</a></span>()</code> </td>
</tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getDeleteFamilyBloomHitCount--">getDeleteFamilyBloomHitCount</a></span>()</code> </td>
</tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getDeleteFamilyBloomMissCount--">getDeleteFamilyBloomMissCount</a></span>()</code> </td>
</tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getEvictedCount--">getEvictedCount</a></span>()</code> </td>
</tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getEvictionCount--">getEvictionCount</a></span>()</code> </td>
</tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getFailedInserts--">getFailedInserts</a></span>()</code> </td>
</tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getFileInfoHitCount--">getFileInfoHitCount</a></span>()</code> </td>
</tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getFileInfoMissCount--">getFileInfoMissCount</a></span>()</code> </td>
</tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getGeneralBloomMetaHitCount--">getGeneralBloomMetaHitCount</a></span>()</code> </td>
</tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getGeneralBloomMetaMissCount--">getGeneralBloomMetaMissCount</a></span>()</code> </td>
</tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getHitCachingCount--">getHitCachingCount</a></span>()</code> </td>
</tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getHitCount--">getHitCount</a></span>()</code> </td>
</tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getIntermediateIndexHitCount--">getIntermediateIndexHitCount</a></span>()</code> </td>
</tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getIntermediateIndexMissCount--">getIntermediateIndexMissCount</a></span>()</code> </td>
</tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getLeafIndexHitCount--">getLeafIndexHitCount</a></span>()</code> </td>
</tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getLeafIndexMissCount--">getLeafIndexMissCount</a></span>()</code> </td>
</tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getLruCacheStats--">getLruCacheStats</a></span>()</code> </td>
+</tr>
+<tr id="i21" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getMetaHitCount--">getMetaHitCount</a></span>()</code> </td>
</tr>
-<tr id="i20" class="altColor">
+<tr id="i22" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getMetaMissCount--">getMetaMissCount</a></span>()</code> </td>
</tr>
-<tr id="i21" class="rowColor">
+<tr id="i23" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getMissCachingCount--">getMissCachingCount</a></span>()</code> </td>
</tr>
-<tr id="i22" class="altColor">
+<tr id="i24" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getMissCount--">getMissCount</a></span>()</code> </td>
</tr>
-<tr id="i23" class="rowColor">
+<tr id="i25" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getPrimaryEvictedCount--">getPrimaryEvictedCount</a></span>()</code> </td>
</tr>
-<tr id="i24" class="altColor">
+<tr id="i26" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getPrimaryHitCount--">getPrimaryHitCount</a></span>()</code> </td>
</tr>
-<tr id="i25" class="rowColor">
+<tr id="i27" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getPrimaryMissCount--">getPrimaryMissCount</a></span>()</code> </td>
</tr>
-<tr id="i26" class="altColor">
+<tr id="i28" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getRequestCachingCount--">getRequestCachingCount</a></span>()</code> </td>
</tr>
-<tr id="i27" class="rowColor">
+<tr id="i29" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getRequestCount--">getRequestCount</a></span>()</code> </td>
</tr>
-<tr id="i28" class="altColor">
+<tr id="i30" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getRootIndexHitCount--">getRootIndexHitCount</a></span>()</code> </td>
</tr>
-<tr id="i29" class="rowColor">
+<tr id="i31" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getRootIndexMissCount--">getRootIndexMissCount</a></span>()</code> </td>
</tr>
-<tr id="i30" class="altColor">
+<tr id="i32" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getSumHitCachingCountsPastNPeriods--">getSumHitCachingCountsPastNPeriods</a></span>()</code> </td>
</tr>
-<tr id="i31" class="rowColor">
+<tr id="i33" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getSumHitCountsPastNPeriods--">getSumHitCountsPastNPeriods</a></span>()</code> </td>
</tr>
-<tr id="i32" class="altColor">
+<tr id="i34" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getSumRequestCachingCountsPastNPeriods--">getSumRequestCachingCountsPastNPeriods</a></span>()</code> </td>
</tr>
-<tr id="i33" class="rowColor">
+<tr id="i35" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getSumRequestCountsPastNPeriods--">getSumRequestCountsPastNPeriods</a></span>()</code> </td>
</tr>
-<tr id="i34" class="altColor">
+<tr id="i36" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getTrailerHitCount--">getTrailerHitCount</a></span>()</code> </td>
</tr>
-<tr id="i35" class="rowColor">
+<tr id="i37" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getTrailerMissCount--">getTrailerMissCount</a></span>()</code> </td>
</tr>
-<tr id="i36" class="altColor">
+<tr id="i38" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#rollMetricsPeriod--">rollMetricsPeriod</a></span>()</code> </td>
</tr>
@@ -407,13 +415,31 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<!-- -->
</a>
<h3>Method Detail</h3>
+<a name="getLruCacheStats--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLruCacheStats</h4>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.155">getLruCacheStats</a>()</pre>
+</li>
+</ul>
+<a name="getBucketCacheStats--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getBucketCacheStats</h4>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.159">getBucketCacheStats</a>()</pre>
+</li>
+</ul>
<a name="getDataMissCount--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDataMissCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.156">getDataMissCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.164">getDataMissCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getDataMissCount--">getDataMissCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -426,7 +452,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getLeafIndexMissCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.161">getLeafIndexMissCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.169">getLeafIndexMissCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getLeafIndexMissCount--">getLeafIndexMissCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -439,7 +465,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getBloomChunkMissCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.166">getBloomChunkMissCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.174">getBloomChunkMissCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getBloomChunkMissCount--">getBloomChunkMissCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -452,7 +478,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getMetaMissCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.171">getMetaMissCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.179">getMetaMissCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getMetaMissCount--">getMetaMissCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -465,7 +491,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getRootIndexMissCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.176">getRootIndexMissCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.184">getRootIndexMissCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getRootIndexMissCount--">getRootIndexMissCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -478,7 +504,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getIntermediateIndexMissCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.181">getIntermediateIndexMissCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.189">getIntermediateIndexMissCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getIntermediateIndexMissCount--">getIntermediateIndexMissCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -491,7 +517,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getFileInfoMissCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.187">getFileInfoMissCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.195">getFileInfoMissCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getFileInfoMissCount--">getFileInfoMissCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -504,7 +530,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getGeneralBloomMetaMissCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.192">getGeneralBloomMetaMissCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.200">getGeneralBloomMetaMissCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getGeneralBloomMetaMissCount--">getGeneralBloomMetaMissCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -517,7 +543,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getDeleteFamilyBloomMissCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.198">getDeleteFamilyBloomMissCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.206">getDeleteFamilyBloomMissCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getDeleteFamilyBloomMissCount--">getDeleteFamilyBloomMissCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -530,7 +556,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getTrailerMissCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.204">getTrailerMissCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.212">getTrailerMissCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getTrailerMissCount--">getTrailerMissCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -543,7 +569,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getDataHitCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.209">getDataHitCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.217">getDataHitCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getDataHitCount--">getDataHitCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -556,7 +582,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getLeafIndexHitCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.214">getLeafIndexHitCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.222">getLeafIndexHitCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getLeafIndexHitCount--">getLeafIndexHitCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -569,7 +595,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getBloomChunkHitCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.219">getBloomChunkHitCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.227">getBloomChunkHitCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getBloomChunkHitCount--">getBloomChunkHitCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -582,7 +608,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getMetaHitCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.224">getMetaHitCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.232">getMetaHitCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getMetaHitCount--">getMetaHitCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -595,7 +621,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getRootIndexHitCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.229">getRootIndexHitCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.237">getRootIndexHitCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getRootIndexHitCount--">getRootIndexHitCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -608,7 +634,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getIntermediateIndexHitCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.234">getIntermediateIndexHitCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.242">getIntermediateIndexHitCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getIntermediateIndexHitCount--">getIntermediateIndexHitCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -621,7 +647,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getFileInfoHitCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.240">getFileInfoHitCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.248">getFileInfoHitCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getFileInfoHitCount--">getFileInfoHitCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -634,7 +660,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getGeneralBloomMetaHitCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.245">getGeneralBloomMetaHitCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.253">getGeneralBloomMetaHitCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getGeneralBloomMetaHitCount--">getGeneralBloomMetaHitCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -647,7 +673,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getDeleteFamilyBloomHitCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.251">getDeleteFamilyBloomHitCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.259">getDeleteFamilyBloomHitCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getDeleteFamilyBloomHitCount--">getDeleteFamilyBloomHitCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -660,7 +686,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getTrailerHitCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.257">getTrailerHitCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.265">getTrailerHitCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getTrailerHitCount--">getTrailerHitCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -673,7 +699,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getRequestCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.262">getRequestCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.270">getRequestCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getRequestCount--">getRequestCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -686,7 +712,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getRequestCachingCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.268">getRequestCachingCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.276">getRequestCachingCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getRequestCachingCount--">getRequestCachingCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -699,7 +725,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getMissCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.274">getMissCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.282">getMissCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getMissCount--">getMissCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -712,7 +738,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getPrimaryMissCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.279">getPrimaryMissCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.287">getPrimaryMissCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getPrimaryMissCount--">getPrimaryMissCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -725,7 +751,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getMissCachingCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.284">getMissCachingCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.292">getMissCachingCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getMissCachingCount--">getMissCachingCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -738,7 +764,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getHitCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.290">getHitCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.298">getHitCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getHitCount--">getHitCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -751,7 +777,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getPrimaryHitCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.295">getPrimaryHitCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.303">getPrimaryHitCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getPrimaryHitCount--">getPrimaryHitCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -764,7 +790,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getHitCachingCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.299">getHitCachingCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.307">getHitCachingCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getHitCachingCount--">getHitCachingCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -777,7 +803,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getEvictionCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.305">getEvictionCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.313">getEvictionCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getEvictionCount--">getEvictionCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -790,7 +816,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getEvictedCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.311">getEvictedCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.319">getEvictedCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getEvictedCount--">getEvictedCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -803,7 +829,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getPrimaryEvictedCount</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.317">getPrimaryEvictedCount</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.325">getPrimaryEvictedCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getPrimaryEvictedCount--">getPrimaryEvictedCount</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -816,7 +842,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>rollMetricsPeriod</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.323">rollMetricsPeriod</a>()</pre>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.331">rollMetricsPeriod</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#rollMetricsPeriod--">rollMetricsPeriod</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -829,7 +855,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getFailedInserts</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.329">getFailedInserts</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.337">getFailedInserts</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getFailedInserts--">getFailedInserts</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -842,7 +868,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getSumHitCountsPastNPeriods</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.334">getSumHitCountsPastNPeriods</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.342">getSumHitCountsPastNPeriods</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getSumHitCountsPastNPeriods--">getSumHitCountsPastNPeriods</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -855,7 +881,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getSumRequestCountsPastNPeriods</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.340">getSumRequestCountsPastNPeriods</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.348">getSumRequestCountsPastNPeriods</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getSumRequestCountsPastNPeriods--">getSumRequestCountsPastNPeriods</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -868,7 +894,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockList">
<li class="blockList">
<h4>getSumHitCachingCountsPastNPeriods</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.346">getSumHitCachingCountsPastNPeriods</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.354">getSumHitCachingCountsPastNPeriods</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getSumHitCachingCountsPastNPeriods--">getSumHitCachingCountsPastNPeriods</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
@@ -881,7 +907,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.h
<ul class="blockListLast">
<li class="blockList">
<h4>getSumRequestCachingCountsPastNPeriods</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.352">getSumRequestCachingCountsPastNPeriods</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#line.360">getSumRequestCachingCountsPastNPeriods</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html#getSumRequestCachingCountsPastNPeriods--">getSumRequestCachingCountsPastNPeriods</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></dd>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html
index af71ec4..2793797 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html
@@ -18,7 +18,7 @@
catch(err) {
}
//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -286,24 +286,28 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/Resizable
</td>
</tr>
<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/LruBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile">LruBlockCache</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#getOnHeapCache--">getOnHeapCache</a></span>()</code> </td>
+</tr>
+<tr id="i13" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#getRefCount-org.apache.hadoop.hbase.io.hfile.BlockCacheKey-">getRefCount</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> cacheKey)</code> </td>
</tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#getStats--">getStats</a></span>()</code>
<div class="block">Get the statistics for this block cache.</div>
</td>
</tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#heapSize--">heapSize</a></span>()</code> </td>
</tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a><<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CachedBlock.html" title="interface in org.apache.hadoop.hbase.io.hfile">CachedBlock</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#iterator--">iterator</a></span>()</code> </td>
</tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#returnBlock-org.apache.hadoop.hbase.io.hfile.BlockCacheKey-org.apache.hadoop.hbase.io.hfile.Cacheable-">returnBlock</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> cacheKey,
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.html" title="interface in org.apache.hadoop.hbase.io.hfile">Cacheable</a> block)</code>
@@ -311,19 +315,19 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/Resizable
is over.</div>
</td>
</tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#setMaxSize-long-">setMaxSize</a></span>(long size)</code>
<div class="block">Sets the max heap size that can be used by the BlockCache.</div>
</td>
</tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#shutdown--">shutdown</a></span>()</code>
<div class="block">Shutdown the cache.</div>
</td>
</tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#size--">size</a></span>()</code>
<div class="block">Returns the total size of the block cache, in bytes.</div>
@@ -686,7 +690,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/Resizable
<ul class="blockList">
<li class="blockList">
<h4>iterator</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a><<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CachedBlock.html" title="interface in org.apache.hadoop.hbase.io.hfile">CachedBlock</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#line.359">iterator</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a><<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CachedBlock.html" title="interface in org.apache.hadoop.hbase.io.hfile">CachedBlock</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#line.367">iterator</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true#iterator--" title="class or interface in java.lang">iterator</a></code> in interface <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a><<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CachedBlock.html" title="interface in org.apache.hadoop.hbase.io.hfile">CachedBlock</a>></code></dd>
@@ -703,7 +707,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/Resizable
<ul class="blockList">
<li class="blockList">
<h4>getBlockCaches</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#line.364">getBlockCaches</a>()</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#line.372">getBlockCaches</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html#getBlockCaches--">getBlockCaches</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></dd>
@@ -718,7 +722,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/Resizable
<ul class="blockList">
<li class="blockList">
<h4>setMaxSize</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#line.369">setMaxSize</a>(long size)</pre>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#line.377">setMaxSize</a>(long size)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/ResizableBlockCache.html#setMaxSize-long-">ResizableBlockCache</a></code></span></div>
<div class="block">Sets the max heap size that can be used by the BlockCache.</div>
<dl>
@@ -735,7 +739,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/Resizable
<ul class="blockList">
<li class="blockList">
<h4>returnBlock</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#line.374">returnBlock</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> cacheKey,
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#line.382">returnBlock</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> cacheKey,
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.html" title="interface in org.apache.hadoop.hbase.io.hfile">Cacheable</a> block)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html#returnBlock-org.apache.hadoop.hbase.io.hfile.BlockCacheKey-org.apache.hadoop.hbase.io.hfile.Cacheable-">BlockCache</a></code></span></div>
<div class="block">Called when the scanner using the block decides to return the block once its usage
@@ -756,10 +760,19 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/Resizable
<a name="getRefCount-org.apache.hadoop.hbase.io.hfile.BlockCacheKey-">
<!-- -->
</a>
-<ul class="blockListLast">
+<ul class="blockList">
<li class="blockList">
<h4>getRefCount</h4>
-<pre>public int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#line.380">getRefCount</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> cacheKey)</pre>
+<pre>public int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#line.388">getRefCount</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> cacheKey)</pre>
+</li>
+</ul>
+<a name="getOnHeapCache--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getOnHeapCache</h4>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/LruBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile">LruBlockCache</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#line.393">getOnHeapCache</a>()</pre>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html
index cb9ca66..9049486 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.html#line.1404">HFileBlockIndex.BlockIndexChunk</a>
+<pre>static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.html#line.1409">HFileBlockIndex.BlockIndexChunk</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">A single chunk of the block index in the process of writing. The data in
this chunk can become a leaf-level, intermediate-level, or root index
@@ -318,7 +318,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>blockKeys</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><byte[]> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1407">blockKeys</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><byte[]> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1412">blockKeys</a></pre>
<div class="block">First keys of the key range corresponding to each index entry.</div>
</li>
</ul>
@@ -328,7 +328,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>blockOffsets</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1410">blockOffsets</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1415">blockOffsets</a></pre>
<div class="block">Block offset in backing stream.</div>
</li>
</ul>
@@ -338,7 +338,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>onDiskDataSizes</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1413">onDiskDataSizes</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1418">onDiskDataSizes</a></pre>
<div class="block">On-disk data sizes of lower-level data or index blocks.</div>
</li>
</ul>
@@ -348,7 +348,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>numSubEntriesAt</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1420">numSubEntriesAt</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1425">numSubEntriesAt</a></pre>
<div class="block">The cumulative number of sub-entries, i.e. entries on deeper-level block
index entries. numSubEntriesAt[i] is the number of sub-entries in the
blocks corresponding to this chunk's entries #0 through #i inclusively.</div>
@@ -360,7 +360,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>curTotalNonRootEntrySize</h4>
-<pre>private int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1427">curTotalNonRootEntrySize</a></pre>
+<pre>private int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1432">curTotalNonRootEntrySize</a></pre>
<div class="block">The offset of the next entry to be added, relative to the end of the
"secondary index" in the "non-root" format representation of this index
chunk. This is the next value to be added to the secondary index.</div>
@@ -372,7 +372,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>curTotalRootSize</h4>
-<pre>private int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1432">curTotalRootSize</a></pre>
+<pre>private int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1437">curTotalRootSize</a></pre>
<div class="block">The accumulated size of this chunk if stored in the root index format.</div>
</li>
</ul>
@@ -382,7 +382,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>secondaryIndexOffsetMarks</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1439">secondaryIndexOffsetMarks</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1444">secondaryIndexOffsetMarks</a></pre>
<div class="block">The "secondary index" used for binary search over variable-length
records in a "non-root" format block. These offsets are relative to the
end of this secondary index.</div>
@@ -402,7 +402,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>BlockIndexChunk</h4>
-<pre><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1404">BlockIndexChunk</a>()</pre>
+<pre><a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1409">BlockIndexChunk</a>()</pre>
</li>
</ul>
</li>
@@ -419,7 +419,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
-<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1454">add</a>(byte[] firstKey,
+<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1459">add</a>(byte[] firstKey,
long blockOffset,
int onDiskDataSize,
long curTotalNumSubEntries)</pre>
@@ -444,7 +444,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1486">add</a>(byte[] firstKey,
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1491">add</a>(byte[] firstKey,
long blockOffset,
int onDiskDataSize)</pre>
<div class="block">The same as <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#add-byte:A-long-int-long-"><code>add(byte[], long, int, long)</code></a> but does not take the
@@ -461,7 +461,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>clear</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1490">clear</a>()</pre>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1495">clear</a>()</pre>
</li>
</ul>
<a name="getEntryBySubEntry-long-">
@@ -470,7 +470,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getEntryBySubEntry</h4>
-<pre>public int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1517">getEntryBySubEntry</a>(long k)</pre>
+<pre>public int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1522">getEntryBySubEntry</a>(long k)</pre>
<div class="block">Finds the entry corresponding to the deeper-level index block containing
the given deeper-level entry (a "sub-entry"), assuming a global 0-based
ordering of sub-entries.
@@ -497,7 +497,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getMidKeyMetadata</h4>
-<pre>public byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1541">getMidKeyMetadata</a>()
+<pre>public byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1546">getMidKeyMetadata</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Used when writing the root block index of a multi-level block index.
Serializes additional information allowing to efficiently identify the
@@ -516,7 +516,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>writeNonRoot</h4>
-<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1589">writeNonRoot</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a> out)
+<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1594">writeNonRoot</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a> out)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Writes the block index chunk in the non-root index block format. This
format contains the number of entries, an index of integer offsets
@@ -536,7 +536,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getNonRootSize</h4>
-<pre>int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1621">getNonRootSize</a>()</pre>
+<pre>int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1626">getNonRootSize</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the size of this chunk if stored in the non-root index block
@@ -550,7 +550,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>writeRoot</h4>
-<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1637">writeRoot</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a> out)
+<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1642">writeRoot</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a> out)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Writes this chunk into the given output stream in the root block index
format. This format is similar to the <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.html" title="class in org.apache.hadoop.hbase.io.hfile"><code>HFile</code></a> version 1 block
@@ -571,7 +571,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getRootSize</h4>
-<pre>int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1648">getRootSize</a>()</pre>
+<pre>int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1653">getRootSize</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the size of this chunk if stored in the root index block format</dd>
@@ -584,7 +584,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getNumEntries</h4>
-<pre>public int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1655">getNumEntries</a>()</pre>
+<pre>public int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1660">getNumEntries</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of entries in this block index chunk</dd>
@@ -597,7 +597,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getBlockKey</h4>
-<pre>public byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1659">getBlockKey</a>(int i)</pre>
+<pre>public byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1664">getBlockKey</a>(int i)</pre>
</li>
</ul>
<a name="getBlockOffset-int-">
@@ -606,7 +606,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getBlockOffset</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1663">getBlockOffset</a>(int i)</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1668">getBlockOffset</a>(int i)</pre>
</li>
</ul>
<a name="getOnDiskDataSize-int-">
@@ -615,7 +615,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getOnDiskDataSize</h4>
-<pre>public int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1667">getOnDiskDataSize</a>(int i)</pre>
+<pre>public int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1672">getOnDiskDataSize</a>(int i)</pre>
</li>
</ul>
<a name="getCumulativeNumKV-int-">
@@ -624,7 +624,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>getCumulativeNumKV</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1671">getCumulativeNumKV</a>(int i)</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html#line.1676">getCumulativeNumKV</a>(int i)</pre>
</li>
</ul>
</li>
[18/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
index 6e51c4e..5a2a23d 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
@@ -18,9 +18,9 @@
<span class="sourceLineNo">010</span> public static final String version = "3.0.0-SNAPSHOT";<a name="line.10"></a>
<span class="sourceLineNo">011</span> public static final String revision = "";<a name="line.11"></a>
<span class="sourceLineNo">012</span> public static final String user = "jenkins";<a name="line.12"></a>
-<span class="sourceLineNo">013</span> public static final String date = "Sat Dec 15 14:43:55 UTC 2018";<a name="line.13"></a>
+<span class="sourceLineNo">013</span> public static final String date = "Tue Dec 18 14:46:13 UTC 2018";<a name="line.13"></a>
<span class="sourceLineNo">014</span> public static final String url = "git://jenkins-websites1.apache.org/home/jenkins/jenkins-slave/workspace/hbase_generate_website/hbase";<a name="line.14"></a>
-<span class="sourceLineNo">015</span> public static final String srcChecksum = "25dbb3fd216cbc954b8b2ebf17377a47";<a name="line.15"></a>
+<span class="sourceLineNo">015</span> public static final String srcChecksum = "0ff9598693406383f0355b09c8c7ea64";<a name="line.15"></a>
<span class="sourceLineNo">016</span>}<a name="line.16"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html
new file mode 100644
index 0000000..2a70085
--- /dev/null
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html
@@ -0,0 +1,298 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * or more contributor license agreements. See the NOTICE file<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * regarding copyright ownership. The ASF licenses this file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * with the License. You may obtain a copy of the License at<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *<a name="line.9"></a>
+<span class="sourceLineNo">010</span> * http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.io.hfile;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import static org.apache.hadoop.hbase.HConstants.BUCKET_CACHE_IOENGINE_KEY;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import static org.apache.hadoop.hbase.HConstants.BUCKET_CACHE_SIZE_KEY;<a name="line.21"></a>
+<span class="sourceLineNo">022</span><a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.conf.Configuration;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.HConstants;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.io.hfile.bucket.BucketCache;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.io.util.MemorySizeUtil;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.util.ReflectionUtils;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.util.StringUtils;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.slf4j.Logger;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.slf4j.LoggerFactory;<a name="line.33"></a>
+<span class="sourceLineNo">034</span><a name="line.34"></a>
+<span class="sourceLineNo">035</span>@InterfaceAudience.Private<a name="line.35"></a>
+<span class="sourceLineNo">036</span>public final class BlockCacheFactory {<a name="line.36"></a>
+<span class="sourceLineNo">037</span><a name="line.37"></a>
+<span class="sourceLineNo">038</span> private static final Logger LOG = LoggerFactory.getLogger(BlockCacheFactory.class.getName());<a name="line.38"></a>
+<span class="sourceLineNo">039</span><a name="line.39"></a>
+<span class="sourceLineNo">040</span> /**<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * Configuration keys for Bucket cache<a name="line.41"></a>
+<span class="sourceLineNo">042</span> */<a name="line.42"></a>
+<span class="sourceLineNo">043</span><a name="line.43"></a>
+<span class="sourceLineNo">044</span> /**<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * If the chosen ioengine can persist its state across restarts, the path to the file to persist<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * to. This file is NOT the data file. It is a file into which we will serialize the map of<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * what is in the data file. For example, if you pass the following argument as<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * BUCKET_CACHE_IOENGINE_KEY ("hbase.bucketcache.ioengine"),<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * <code>file:/tmp/bucketcache.data </code>, then we will write the bucketcache data to the file<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * <code>/tmp/bucketcache.data</code> but the metadata on where the data is in the supplied file<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * is an in-memory map that needs to be persisted across restarts. Where to store this<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * in-memory state is what you supply here: e.g. <code>/tmp/bucketcache.map</code>.<a name="line.52"></a>
+<span class="sourceLineNo">053</span> */<a name="line.53"></a>
+<span class="sourceLineNo">054</span> public static final String BUCKET_CACHE_PERSISTENT_PATH_KEY = "hbase.bucketcache.persistent.path";<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span> public static final String BUCKET_CACHE_WRITER_THREADS_KEY = "hbase.bucketcache.writer.threads";<a name="line.56"></a>
+<span class="sourceLineNo">057</span><a name="line.57"></a>
+<span class="sourceLineNo">058</span> public static final String BUCKET_CACHE_WRITER_QUEUE_KEY = "hbase.bucketcache.writer.queuelength";<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span> /**<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * A comma-delimited array of values for use as bucket sizes.<a name="line.61"></a>
+<span class="sourceLineNo">062</span> */<a name="line.62"></a>
+<span class="sourceLineNo">063</span> public static final String BUCKET_CACHE_BUCKETS_KEY = "hbase.bucketcache.bucket.sizes";<a name="line.63"></a>
+<span class="sourceLineNo">064</span><a name="line.64"></a>
+<span class="sourceLineNo">065</span> /**<a name="line.65"></a>
+<span class="sourceLineNo">066</span> * Defaults for Bucket cache<a name="line.66"></a>
+<span class="sourceLineNo">067</span> */<a name="line.67"></a>
+<span class="sourceLineNo">068</span> public static final int DEFAULT_BUCKET_CACHE_WRITER_THREADS = 3;<a name="line.68"></a>
+<span class="sourceLineNo">069</span> public static final int DEFAULT_BUCKET_CACHE_WRITER_QUEUE = 64;<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span> /**<a name="line.71"></a>
+<span class="sourceLineNo">072</span> * The target block size used by blockcache instances. Defaults to<a name="line.72"></a>
+<span class="sourceLineNo">073</span> * {@link HConstants#DEFAULT_BLOCKSIZE}.<a name="line.73"></a>
+<span class="sourceLineNo">074</span> * TODO: this config point is completely wrong, as it's used to determine the<a name="line.74"></a>
+<span class="sourceLineNo">075</span> * target block size of BlockCache instances. Rename.<a name="line.75"></a>
+<span class="sourceLineNo">076</span> */<a name="line.76"></a>
+<span class="sourceLineNo">077</span> public static final String BLOCKCACHE_BLOCKSIZE_KEY = "hbase.offheapcache.minblocksize";<a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78"></a>
+<span class="sourceLineNo">079</span> private static final String EXTERNAL_BLOCKCACHE_KEY = "hbase.blockcache.use.external";<a name="line.79"></a>
+<span class="sourceLineNo">080</span> private static final boolean EXTERNAL_BLOCKCACHE_DEFAULT = false;<a name="line.80"></a>
+<span class="sourceLineNo">081</span><a name="line.81"></a>
+<span class="sourceLineNo">082</span> private static final String EXTERNAL_BLOCKCACHE_CLASS_KEY = "hbase.blockcache.external.class";<a name="line.82"></a>
+<span class="sourceLineNo">083</span><a name="line.83"></a>
+<span class="sourceLineNo">084</span> private BlockCacheFactory() {<a name="line.84"></a>
+<span class="sourceLineNo">085</span> }<a name="line.85"></a>
+<span class="sourceLineNo">086</span><a name="line.86"></a>
+<span class="sourceLineNo">087</span> public static BlockCache createBlockCache(Configuration conf) {<a name="line.87"></a>
+<span class="sourceLineNo">088</span> LruBlockCache onHeapCache = createOnHeapCache(conf);<a name="line.88"></a>
+<span class="sourceLineNo">089</span> if (onHeapCache == null) {<a name="line.89"></a>
+<span class="sourceLineNo">090</span> return null;<a name="line.90"></a>
+<span class="sourceLineNo">091</span> }<a name="line.91"></a>
+<span class="sourceLineNo">092</span> boolean useExternal = conf.getBoolean(EXTERNAL_BLOCKCACHE_KEY, EXTERNAL_BLOCKCACHE_DEFAULT);<a name="line.92"></a>
+<span class="sourceLineNo">093</span> if (useExternal) {<a name="line.93"></a>
+<span class="sourceLineNo">094</span> BlockCache l2CacheInstance = createExternalBlockcache(conf);<a name="line.94"></a>
+<span class="sourceLineNo">095</span> return l2CacheInstance == null ?<a name="line.95"></a>
+<span class="sourceLineNo">096</span> onHeapCache :<a name="line.96"></a>
+<span class="sourceLineNo">097</span> new InclusiveCombinedBlockCache(onHeapCache, l2CacheInstance);<a name="line.97"></a>
+<span class="sourceLineNo">098</span> } else {<a name="line.98"></a>
+<span class="sourceLineNo">099</span> // otherwise use the bucket cache.<a name="line.99"></a>
+<span class="sourceLineNo">100</span> BucketCache bucketCache = createBucketCache(conf);<a name="line.100"></a>
+<span class="sourceLineNo">101</span> if (!conf.getBoolean("hbase.bucketcache.combinedcache.enabled", true)) {<a name="line.101"></a>
+<span class="sourceLineNo">102</span> // Non combined mode is off from 2.0<a name="line.102"></a>
+<span class="sourceLineNo">103</span> LOG.warn(<a name="line.103"></a>
+<span class="sourceLineNo">104</span> "From HBase 2.0 onwards only combined mode of LRU cache and bucket cache is available");<a name="line.104"></a>
+<span class="sourceLineNo">105</span> }<a name="line.105"></a>
+<span class="sourceLineNo">106</span> return bucketCache == null ? onHeapCache : new CombinedBlockCache(onHeapCache, bucketCache);<a name="line.106"></a>
+<span class="sourceLineNo">107</span> }<a name="line.107"></a>
+<span class="sourceLineNo">108</span> }<a name="line.108"></a>
+<span class="sourceLineNo">109</span><a name="line.109"></a>
+<span class="sourceLineNo">110</span> private static LruBlockCache createOnHeapCache(final Configuration c) {<a name="line.110"></a>
+<span class="sourceLineNo">111</span> final long cacheSize = MemorySizeUtil.getOnHeapCacheSize(c);<a name="line.111"></a>
+<span class="sourceLineNo">112</span> if (cacheSize < 0) {<a name="line.112"></a>
+<span class="sourceLineNo">113</span> return null;<a name="line.113"></a>
+<span class="sourceLineNo">114</span> }<a name="line.114"></a>
+<span class="sourceLineNo">115</span> int blockSize = c.getInt(BLOCKCACHE_BLOCKSIZE_KEY, HConstants.DEFAULT_BLOCKSIZE);<a name="line.115"></a>
+<span class="sourceLineNo">116</span> LOG.info(<a name="line.116"></a>
+<span class="sourceLineNo">117</span> "Allocating onheap LruBlockCache size=" + StringUtils.byteDesc(cacheSize) + ", blockSize="<a name="line.117"></a>
+<span class="sourceLineNo">118</span> + StringUtils.byteDesc(blockSize));<a name="line.118"></a>
+<span class="sourceLineNo">119</span> return new LruBlockCache(cacheSize, blockSize, true, c);<a name="line.119"></a>
+<span class="sourceLineNo">120</span> }<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span> /**<a name="line.122"></a>
+<span class="sourceLineNo">123</span> * Enum of all built in external block caches.<a name="line.123"></a>
+<span class="sourceLineNo">124</span> * This is used for config.<a name="line.124"></a>
+<span class="sourceLineNo">125</span> */<a name="line.125"></a>
+<span class="sourceLineNo">126</span> private static enum ExternalBlockCaches {<a name="line.126"></a>
+<span class="sourceLineNo">127</span> memcached("org.apache.hadoop.hbase.io.hfile.MemcachedBlockCache");<a name="line.127"></a>
+<span class="sourceLineNo">128</span> // TODO(eclark): Consider more. Redis, etc.<a name="line.128"></a>
+<span class="sourceLineNo">129</span> Class<? extends BlockCache> clazz;<a name="line.129"></a>
+<span class="sourceLineNo">130</span> ExternalBlockCaches(String clazzName) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span> try {<a name="line.131"></a>
+<span class="sourceLineNo">132</span> clazz = (Class<? extends BlockCache>) Class.forName(clazzName);<a name="line.132"></a>
+<span class="sourceLineNo">133</span> } catch (ClassNotFoundException cnef) {<a name="line.133"></a>
+<span class="sourceLineNo">134</span> clazz = null;<a name="line.134"></a>
+<span class="sourceLineNo">135</span> }<a name="line.135"></a>
+<span class="sourceLineNo">136</span> }<a name="line.136"></a>
+<span class="sourceLineNo">137</span> ExternalBlockCaches(Class<? extends BlockCache> clazz) {<a name="line.137"></a>
+<span class="sourceLineNo">138</span> this.clazz = clazz;<a name="line.138"></a>
+<span class="sourceLineNo">139</span> }<a name="line.139"></a>
+<span class="sourceLineNo">140</span> }<a name="line.140"></a>
+<span class="sourceLineNo">141</span><a name="line.141"></a>
+<span class="sourceLineNo">142</span> private static BlockCache createExternalBlockcache(Configuration c) {<a name="line.142"></a>
+<span class="sourceLineNo">143</span> if (LOG.isDebugEnabled()) {<a name="line.143"></a>
+<span class="sourceLineNo">144</span> LOG.debug("Trying to use External l2 cache");<a name="line.144"></a>
+<span class="sourceLineNo">145</span> }<a name="line.145"></a>
+<span class="sourceLineNo">146</span> Class klass = null;<a name="line.146"></a>
+<span class="sourceLineNo">147</span><a name="line.147"></a>
+<span class="sourceLineNo">148</span> // Get the class, from the config. s<a name="line.148"></a>
+<span class="sourceLineNo">149</span> try {<a name="line.149"></a>
+<span class="sourceLineNo">150</span> klass = ExternalBlockCaches<a name="line.150"></a>
+<span class="sourceLineNo">151</span> .valueOf(c.get(EXTERNAL_BLOCKCACHE_CLASS_KEY, "memcache")).clazz;<a name="line.151"></a>
+<span class="sourceLineNo">152</span> } catch (IllegalArgumentException exception) {<a name="line.152"></a>
+<span class="sourceLineNo">153</span> try {<a name="line.153"></a>
+<span class="sourceLineNo">154</span> klass = c.getClass(EXTERNAL_BLOCKCACHE_CLASS_KEY, Class.forName(<a name="line.154"></a>
+<span class="sourceLineNo">155</span> "org.apache.hadoop.hbase.io.hfile.MemcachedBlockCache"));<a name="line.155"></a>
+<span class="sourceLineNo">156</span> } catch (ClassNotFoundException e) {<a name="line.156"></a>
+<span class="sourceLineNo">157</span> return null;<a name="line.157"></a>
+<span class="sourceLineNo">158</span> }<a name="line.158"></a>
+<span class="sourceLineNo">159</span> }<a name="line.159"></a>
+<span class="sourceLineNo">160</span><a name="line.160"></a>
+<span class="sourceLineNo">161</span> // Now try and create an instance of the block cache.<a name="line.161"></a>
+<span class="sourceLineNo">162</span> try {<a name="line.162"></a>
+<span class="sourceLineNo">163</span> LOG.info("Creating external block cache of type: " + klass);<a name="line.163"></a>
+<span class="sourceLineNo">164</span> return (BlockCache) ReflectionUtils.newInstance(klass, c);<a name="line.164"></a>
+<span class="sourceLineNo">165</span> } catch (Exception e) {<a name="line.165"></a>
+<span class="sourceLineNo">166</span> LOG.warn("Error creating external block cache", e);<a name="line.166"></a>
+<span class="sourceLineNo">167</span> }<a name="line.167"></a>
+<span class="sourceLineNo">168</span> return null;<a name="line.168"></a>
+<span class="sourceLineNo">169</span><a name="line.169"></a>
+<span class="sourceLineNo">170</span> }<a name="line.170"></a>
+<span class="sourceLineNo">171</span><a name="line.171"></a>
+<span class="sourceLineNo">172</span> private static BucketCache createBucketCache(Configuration c) {<a name="line.172"></a>
+<span class="sourceLineNo">173</span> // Check for L2. ioengine name must be non-null.<a name="line.173"></a>
+<span class="sourceLineNo">174</span> String bucketCacheIOEngineName = c.get(BUCKET_CACHE_IOENGINE_KEY, null);<a name="line.174"></a>
+<span class="sourceLineNo">175</span> if (bucketCacheIOEngineName == null || bucketCacheIOEngineName.length() <= 0) {<a name="line.175"></a>
+<span class="sourceLineNo">176</span> return null;<a name="line.176"></a>
+<span class="sourceLineNo">177</span> }<a name="line.177"></a>
+<span class="sourceLineNo">178</span><a name="line.178"></a>
+<span class="sourceLineNo">179</span> int blockSize = c.getInt(BLOCKCACHE_BLOCKSIZE_KEY, HConstants.DEFAULT_BLOCKSIZE);<a name="line.179"></a>
+<span class="sourceLineNo">180</span> final long bucketCacheSize = MemorySizeUtil.getBucketCacheSize(c);<a name="line.180"></a>
+<span class="sourceLineNo">181</span> if (bucketCacheSize <= 0) {<a name="line.181"></a>
+<span class="sourceLineNo">182</span> throw new IllegalStateException("bucketCacheSize <= 0; Check " +<a name="line.182"></a>
+<span class="sourceLineNo">183</span> BUCKET_CACHE_SIZE_KEY + " setting and/or server java heap size");<a name="line.183"></a>
+<span class="sourceLineNo">184</span> }<a name="line.184"></a>
+<span class="sourceLineNo">185</span> if (c.get("hbase.bucketcache.percentage.in.combinedcache") != null) {<a name="line.185"></a>
+<span class="sourceLineNo">186</span> LOG.warn("Configuration 'hbase.bucketcache.percentage.in.combinedcache' is no longer "<a name="line.186"></a>
+<span class="sourceLineNo">187</span> + "respected. See comments in http://hbase.apache.org/book.html#_changes_of_note");<a name="line.187"></a>
+<span class="sourceLineNo">188</span> }<a name="line.188"></a>
+<span class="sourceLineNo">189</span> int writerThreads = c.getInt(BUCKET_CACHE_WRITER_THREADS_KEY,<a name="line.189"></a>
+<span class="sourceLineNo">190</span> DEFAULT_BUCKET_CACHE_WRITER_THREADS);<a name="line.190"></a>
+<span class="sourceLineNo">191</span> int writerQueueLen = c.getInt(BUCKET_CACHE_WRITER_QUEUE_KEY,<a name="line.191"></a>
+<span class="sourceLineNo">192</span> DEFAULT_BUCKET_CACHE_WRITER_QUEUE);<a name="line.192"></a>
+<span class="sourceLineNo">193</span> String persistentPath = c.get(BUCKET_CACHE_PERSISTENT_PATH_KEY);<a name="line.193"></a>
+<span class="sourceLineNo">194</span> String[] configuredBucketSizes = c.getStrings(BUCKET_CACHE_BUCKETS_KEY);<a name="line.194"></a>
+<span class="sourceLineNo">195</span> int [] bucketSizes = null;<a name="line.195"></a>
+<span class="sourceLineNo">196</span> if (configuredBucketSizes != null) {<a name="line.196"></a>
+<span class="sourceLineNo">197</span> bucketSizes = new int[configuredBucketSizes.length];<a name="line.197"></a>
+<span class="sourceLineNo">198</span> for (int i = 0; i < configuredBucketSizes.length; i++) {<a name="line.198"></a>
+<span class="sourceLineNo">199</span> int bucketSize = Integer.parseInt(configuredBucketSizes[i].trim());<a name="line.199"></a>
+<span class="sourceLineNo">200</span> if (bucketSize % 256 != 0) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span> // We need all the bucket sizes to be multiples of 256. Having all the configured bucket<a name="line.201"></a>
+<span class="sourceLineNo">202</span> // sizes to be multiples of 256 will ensure that the block offsets within buckets,<a name="line.202"></a>
+<span class="sourceLineNo">203</span> // that are calculated, will also be multiples of 256.<a name="line.203"></a>
+<span class="sourceLineNo">204</span> // See BucketEntry where offset to each block is represented using 5 bytes (instead of 8<a name="line.204"></a>
+<span class="sourceLineNo">205</span> // bytes long). We would like to save heap overhead as less as possible.<a name="line.205"></a>
+<span class="sourceLineNo">206</span> throw new IllegalArgumentException("Illegal value: " + bucketSize + " configured for '"<a name="line.206"></a>
+<span class="sourceLineNo">207</span> + BUCKET_CACHE_BUCKETS_KEY + "'. All bucket sizes to be multiples of 256");<a name="line.207"></a>
+<span class="sourceLineNo">208</span> }<a name="line.208"></a>
+<span class="sourceLineNo">209</span> bucketSizes[i] = bucketSize;<a name="line.209"></a>
+<span class="sourceLineNo">210</span> }<a name="line.210"></a>
+<span class="sourceLineNo">211</span> }<a name="line.211"></a>
+<span class="sourceLineNo">212</span> BucketCache bucketCache = null;<a name="line.212"></a>
+<span class="sourceLineNo">213</span> try {<a name="line.213"></a>
+<span class="sourceLineNo">214</span> int ioErrorsTolerationDuration = c.getInt(<a name="line.214"></a>
+<span class="sourceLineNo">215</span> "hbase.bucketcache.ioengine.errors.tolerated.duration",<a name="line.215"></a>
+<span class="sourceLineNo">216</span> BucketCache.DEFAULT_ERROR_TOLERATION_DURATION);<a name="line.216"></a>
+<span class="sourceLineNo">217</span> // Bucket cache logs its stats on creation internal to the constructor.<a name="line.217"></a>
+<span class="sourceLineNo">218</span> bucketCache = new BucketCache(bucketCacheIOEngineName,<a name="line.218"></a>
+<span class="sourceLineNo">219</span> bucketCacheSize, blockSize, bucketSizes, writerThreads, writerQueueLen, persistentPath,<a name="line.219"></a>
+<span class="sourceLineNo">220</span> ioErrorsTolerationDuration, c);<a name="line.220"></a>
+<span class="sourceLineNo">221</span> } catch (IOException ioex) {<a name="line.221"></a>
+<span class="sourceLineNo">222</span> LOG.error("Can't instantiate bucket cache", ioex); throw new RuntimeException(ioex);<a name="line.222"></a>
+<span class="sourceLineNo">223</span> }<a name="line.223"></a>
+<span class="sourceLineNo">224</span> return bucketCache;<a name="line.224"></a>
+<span class="sourceLineNo">225</span> }<a name="line.225"></a>
+<span class="sourceLineNo">226</span>}<a name="line.226"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html
new file mode 100644
index 0000000..2a70085
--- /dev/null
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html
@@ -0,0 +1,298 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * or more contributor license agreements. See the NOTICE file<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * regarding copyright ownership. The ASF licenses this file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * with the License. You may obtain a copy of the License at<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *<a name="line.9"></a>
+<span class="sourceLineNo">010</span> * http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.io.hfile;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import static org.apache.hadoop.hbase.HConstants.BUCKET_CACHE_IOENGINE_KEY;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import static org.apache.hadoop.hbase.HConstants.BUCKET_CACHE_SIZE_KEY;<a name="line.21"></a>
+<span class="sourceLineNo">022</span><a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.conf.Configuration;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.HConstants;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.io.hfile.bucket.BucketCache;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.io.util.MemorySizeUtil;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.util.ReflectionUtils;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.util.StringUtils;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.slf4j.Logger;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.slf4j.LoggerFactory;<a name="line.33"></a>
+<span class="sourceLineNo">034</span><a name="line.34"></a>
+<span class="sourceLineNo">035</span>@InterfaceAudience.Private<a name="line.35"></a>
+<span class="sourceLineNo">036</span>public final class BlockCacheFactory {<a name="line.36"></a>
+<span class="sourceLineNo">037</span><a name="line.37"></a>
+<span class="sourceLineNo">038</span> private static final Logger LOG = LoggerFactory.getLogger(BlockCacheFactory.class.getName());<a name="line.38"></a>
+<span class="sourceLineNo">039</span><a name="line.39"></a>
+<span class="sourceLineNo">040</span> /**<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * Configuration keys for Bucket cache<a name="line.41"></a>
+<span class="sourceLineNo">042</span> */<a name="line.42"></a>
+<span class="sourceLineNo">043</span><a name="line.43"></a>
+<span class="sourceLineNo">044</span> /**<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * If the chosen ioengine can persist its state across restarts, the path to the file to persist<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * to. This file is NOT the data file. It is a file into which we will serialize the map of<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * what is in the data file. For example, if you pass the following argument as<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * BUCKET_CACHE_IOENGINE_KEY ("hbase.bucketcache.ioengine"),<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * <code>file:/tmp/bucketcache.data </code>, then we will write the bucketcache data to the file<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * <code>/tmp/bucketcache.data</code> but the metadata on where the data is in the supplied file<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * is an in-memory map that needs to be persisted across restarts. Where to store this<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * in-memory state is what you supply here: e.g. <code>/tmp/bucketcache.map</code>.<a name="line.52"></a>
+<span class="sourceLineNo">053</span> */<a name="line.53"></a>
+<span class="sourceLineNo">054</span> public static final String BUCKET_CACHE_PERSISTENT_PATH_KEY = "hbase.bucketcache.persistent.path";<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span> public static final String BUCKET_CACHE_WRITER_THREADS_KEY = "hbase.bucketcache.writer.threads";<a name="line.56"></a>
+<span class="sourceLineNo">057</span><a name="line.57"></a>
+<span class="sourceLineNo">058</span> public static final String BUCKET_CACHE_WRITER_QUEUE_KEY = "hbase.bucketcache.writer.queuelength";<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span> /**<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * A comma-delimited array of values for use as bucket sizes.<a name="line.61"></a>
+<span class="sourceLineNo">062</span> */<a name="line.62"></a>
+<span class="sourceLineNo">063</span> public static final String BUCKET_CACHE_BUCKETS_KEY = "hbase.bucketcache.bucket.sizes";<a name="line.63"></a>
+<span class="sourceLineNo">064</span><a name="line.64"></a>
+<span class="sourceLineNo">065</span> /**<a name="line.65"></a>
+<span class="sourceLineNo">066</span> * Defaults for Bucket cache<a name="line.66"></a>
+<span class="sourceLineNo">067</span> */<a name="line.67"></a>
+<span class="sourceLineNo">068</span> public static final int DEFAULT_BUCKET_CACHE_WRITER_THREADS = 3;<a name="line.68"></a>
+<span class="sourceLineNo">069</span> public static final int DEFAULT_BUCKET_CACHE_WRITER_QUEUE = 64;<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span> /**<a name="line.71"></a>
+<span class="sourceLineNo">072</span> * The target block size used by blockcache instances. Defaults to<a name="line.72"></a>
+<span class="sourceLineNo">073</span> * {@link HConstants#DEFAULT_BLOCKSIZE}.<a name="line.73"></a>
+<span class="sourceLineNo">074</span> * TODO: this config point is completely wrong, as it's used to determine the<a name="line.74"></a>
+<span class="sourceLineNo">075</span> * target block size of BlockCache instances. Rename.<a name="line.75"></a>
+<span class="sourceLineNo">076</span> */<a name="line.76"></a>
+<span class="sourceLineNo">077</span> public static final String BLOCKCACHE_BLOCKSIZE_KEY = "hbase.offheapcache.minblocksize";<a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78"></a>
+<span class="sourceLineNo">079</span> private static final String EXTERNAL_BLOCKCACHE_KEY = "hbase.blockcache.use.external";<a name="line.79"></a>
+<span class="sourceLineNo">080</span> private static final boolean EXTERNAL_BLOCKCACHE_DEFAULT = false;<a name="line.80"></a>
+<span class="sourceLineNo">081</span><a name="line.81"></a>
+<span class="sourceLineNo">082</span> private static final String EXTERNAL_BLOCKCACHE_CLASS_KEY = "hbase.blockcache.external.class";<a name="line.82"></a>
+<span class="sourceLineNo">083</span><a name="line.83"></a>
+<span class="sourceLineNo">084</span> private BlockCacheFactory() {<a name="line.84"></a>
+<span class="sourceLineNo">085</span> }<a name="line.85"></a>
+<span class="sourceLineNo">086</span><a name="line.86"></a>
+<span class="sourceLineNo">087</span> public static BlockCache createBlockCache(Configuration conf) {<a name="line.87"></a>
+<span class="sourceLineNo">088</span> LruBlockCache onHeapCache = createOnHeapCache(conf);<a name="line.88"></a>
+<span class="sourceLineNo">089</span> if (onHeapCache == null) {<a name="line.89"></a>
+<span class="sourceLineNo">090</span> return null;<a name="line.90"></a>
+<span class="sourceLineNo">091</span> }<a name="line.91"></a>
+<span class="sourceLineNo">092</span> boolean useExternal = conf.getBoolean(EXTERNAL_BLOCKCACHE_KEY, EXTERNAL_BLOCKCACHE_DEFAULT);<a name="line.92"></a>
+<span class="sourceLineNo">093</span> if (useExternal) {<a name="line.93"></a>
+<span class="sourceLineNo">094</span> BlockCache l2CacheInstance = createExternalBlockcache(conf);<a name="line.94"></a>
+<span class="sourceLineNo">095</span> return l2CacheInstance == null ?<a name="line.95"></a>
+<span class="sourceLineNo">096</span> onHeapCache :<a name="line.96"></a>
+<span class="sourceLineNo">097</span> new InclusiveCombinedBlockCache(onHeapCache, l2CacheInstance);<a name="line.97"></a>
+<span class="sourceLineNo">098</span> } else {<a name="line.98"></a>
+<span class="sourceLineNo">099</span> // otherwise use the bucket cache.<a name="line.99"></a>
+<span class="sourceLineNo">100</span> BucketCache bucketCache = createBucketCache(conf);<a name="line.100"></a>
+<span class="sourceLineNo">101</span> if (!conf.getBoolean("hbase.bucketcache.combinedcache.enabled", true)) {<a name="line.101"></a>
+<span class="sourceLineNo">102</span> // Non combined mode is off from 2.0<a name="line.102"></a>
+<span class="sourceLineNo">103</span> LOG.warn(<a name="line.103"></a>
+<span class="sourceLineNo">104</span> "From HBase 2.0 onwards only combined mode of LRU cache and bucket cache is available");<a name="line.104"></a>
+<span class="sourceLineNo">105</span> }<a name="line.105"></a>
+<span class="sourceLineNo">106</span> return bucketCache == null ? onHeapCache : new CombinedBlockCache(onHeapCache, bucketCache);<a name="line.106"></a>
+<span class="sourceLineNo">107</span> }<a name="line.107"></a>
+<span class="sourceLineNo">108</span> }<a name="line.108"></a>
+<span class="sourceLineNo">109</span><a name="line.109"></a>
+<span class="sourceLineNo">110</span> private static LruBlockCache createOnHeapCache(final Configuration c) {<a name="line.110"></a>
+<span class="sourceLineNo">111</span> final long cacheSize = MemorySizeUtil.getOnHeapCacheSize(c);<a name="line.111"></a>
+<span class="sourceLineNo">112</span> if (cacheSize < 0) {<a name="line.112"></a>
+<span class="sourceLineNo">113</span> return null;<a name="line.113"></a>
+<span class="sourceLineNo">114</span> }<a name="line.114"></a>
+<span class="sourceLineNo">115</span> int blockSize = c.getInt(BLOCKCACHE_BLOCKSIZE_KEY, HConstants.DEFAULT_BLOCKSIZE);<a name="line.115"></a>
+<span class="sourceLineNo">116</span> LOG.info(<a name="line.116"></a>
+<span class="sourceLineNo">117</span> "Allocating onheap LruBlockCache size=" + StringUtils.byteDesc(cacheSize) + ", blockSize="<a name="line.117"></a>
+<span class="sourceLineNo">118</span> + StringUtils.byteDesc(blockSize));<a name="line.118"></a>
+<span class="sourceLineNo">119</span> return new LruBlockCache(cacheSize, blockSize, true, c);<a name="line.119"></a>
+<span class="sourceLineNo">120</span> }<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span> /**<a name="line.122"></a>
+<span class="sourceLineNo">123</span> * Enum of all built in external block caches.<a name="line.123"></a>
+<span class="sourceLineNo">124</span> * This is used for config.<a name="line.124"></a>
+<span class="sourceLineNo">125</span> */<a name="line.125"></a>
+<span class="sourceLineNo">126</span> private static enum ExternalBlockCaches {<a name="line.126"></a>
+<span class="sourceLineNo">127</span> memcached("org.apache.hadoop.hbase.io.hfile.MemcachedBlockCache");<a name="line.127"></a>
+<span class="sourceLineNo">128</span> // TODO(eclark): Consider more. Redis, etc.<a name="line.128"></a>
+<span class="sourceLineNo">129</span> Class<? extends BlockCache> clazz;<a name="line.129"></a>
+<span class="sourceLineNo">130</span> ExternalBlockCaches(String clazzName) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span> try {<a name="line.131"></a>
+<span class="sourceLineNo">132</span> clazz = (Class<? extends BlockCache>) Class.forName(clazzName);<a name="line.132"></a>
+<span class="sourceLineNo">133</span> } catch (ClassNotFoundException cnef) {<a name="line.133"></a>
+<span class="sourceLineNo">134</span> clazz = null;<a name="line.134"></a>
+<span class="sourceLineNo">135</span> }<a name="line.135"></a>
+<span class="sourceLineNo">136</span> }<a name="line.136"></a>
+<span class="sourceLineNo">137</span> ExternalBlockCaches(Class<? extends BlockCache> clazz) {<a name="line.137"></a>
+<span class="sourceLineNo">138</span> this.clazz = clazz;<a name="line.138"></a>
+<span class="sourceLineNo">139</span> }<a name="line.139"></a>
+<span class="sourceLineNo">140</span> }<a name="line.140"></a>
+<span class="sourceLineNo">141</span><a name="line.141"></a>
+<span class="sourceLineNo">142</span> private static BlockCache createExternalBlockcache(Configuration c) {<a name="line.142"></a>
+<span class="sourceLineNo">143</span> if (LOG.isDebugEnabled()) {<a name="line.143"></a>
+<span class="sourceLineNo">144</span> LOG.debug("Trying to use External l2 cache");<a name="line.144"></a>
+<span class="sourceLineNo">145</span> }<a name="line.145"></a>
+<span class="sourceLineNo">146</span> Class klass = null;<a name="line.146"></a>
+<span class="sourceLineNo">147</span><a name="line.147"></a>
+<span class="sourceLineNo">148</span> // Get the class, from the config. s<a name="line.148"></a>
+<span class="sourceLineNo">149</span> try {<a name="line.149"></a>
+<span class="sourceLineNo">150</span> klass = ExternalBlockCaches<a name="line.150"></a>
+<span class="sourceLineNo">151</span> .valueOf(c.get(EXTERNAL_BLOCKCACHE_CLASS_KEY, "memcache")).clazz;<a name="line.151"></a>
+<span class="sourceLineNo">152</span> } catch (IllegalArgumentException exception) {<a name="line.152"></a>
+<span class="sourceLineNo">153</span> try {<a name="line.153"></a>
+<span class="sourceLineNo">154</span> klass = c.getClass(EXTERNAL_BLOCKCACHE_CLASS_KEY, Class.forName(<a name="line.154"></a>
+<span class="sourceLineNo">155</span> "org.apache.hadoop.hbase.io.hfile.MemcachedBlockCache"));<a name="line.155"></a>
+<span class="sourceLineNo">156</span> } catch (ClassNotFoundException e) {<a name="line.156"></a>
+<span class="sourceLineNo">157</span> return null;<a name="line.157"></a>
+<span class="sourceLineNo">158</span> }<a name="line.158"></a>
+<span class="sourceLineNo">159</span> }<a name="line.159"></a>
+<span class="sourceLineNo">160</span><a name="line.160"></a>
+<span class="sourceLineNo">161</span> // Now try and create an instance of the block cache.<a name="line.161"></a>
+<span class="sourceLineNo">162</span> try {<a name="line.162"></a>
+<span class="sourceLineNo">163</span> LOG.info("Creating external block cache of type: " + klass);<a name="line.163"></a>
+<span class="sourceLineNo">164</span> return (BlockCache) ReflectionUtils.newInstance(klass, c);<a name="line.164"></a>
+<span class="sourceLineNo">165</span> } catch (Exception e) {<a name="line.165"></a>
+<span class="sourceLineNo">166</span> LOG.warn("Error creating external block cache", e);<a name="line.166"></a>
+<span class="sourceLineNo">167</span> }<a name="line.167"></a>
+<span class="sourceLineNo">168</span> return null;<a name="line.168"></a>
+<span class="sourceLineNo">169</span><a name="line.169"></a>
+<span class="sourceLineNo">170</span> }<a name="line.170"></a>
+<span class="sourceLineNo">171</span><a name="line.171"></a>
+<span class="sourceLineNo">172</span> private static BucketCache createBucketCache(Configuration c) {<a name="line.172"></a>
+<span class="sourceLineNo">173</span> // Check for L2. ioengine name must be non-null.<a name="line.173"></a>
+<span class="sourceLineNo">174</span> String bucketCacheIOEngineName = c.get(BUCKET_CACHE_IOENGINE_KEY, null);<a name="line.174"></a>
+<span class="sourceLineNo">175</span> if (bucketCacheIOEngineName == null || bucketCacheIOEngineName.length() <= 0) {<a name="line.175"></a>
+<span class="sourceLineNo">176</span> return null;<a name="line.176"></a>
+<span class="sourceLineNo">177</span> }<a name="line.177"></a>
+<span class="sourceLineNo">178</span><a name="line.178"></a>
+<span class="sourceLineNo">179</span> int blockSize = c.getInt(BLOCKCACHE_BLOCKSIZE_KEY, HConstants.DEFAULT_BLOCKSIZE);<a name="line.179"></a>
+<span class="sourceLineNo">180</span> final long bucketCacheSize = MemorySizeUtil.getBucketCacheSize(c);<a name="line.180"></a>
+<span class="sourceLineNo">181</span> if (bucketCacheSize <= 0) {<a name="line.181"></a>
+<span class="sourceLineNo">182</span> throw new IllegalStateException("bucketCacheSize <= 0; Check " +<a name="line.182"></a>
+<span class="sourceLineNo">183</span> BUCKET_CACHE_SIZE_KEY + " setting and/or server java heap size");<a name="line.183"></a>
+<span class="sourceLineNo">184</span> }<a name="line.184"></a>
+<span class="sourceLineNo">185</span> if (c.get("hbase.bucketcache.percentage.in.combinedcache") != null) {<a name="line.185"></a>
+<span class="sourceLineNo">186</span> LOG.warn("Configuration 'hbase.bucketcache.percentage.in.combinedcache' is no longer "<a name="line.186"></a>
+<span class="sourceLineNo">187</span> + "respected. See comments in http://hbase.apache.org/book.html#_changes_of_note");<a name="line.187"></a>
+<span class="sourceLineNo">188</span> }<a name="line.188"></a>
+<span class="sourceLineNo">189</span> int writerThreads = c.getInt(BUCKET_CACHE_WRITER_THREADS_KEY,<a name="line.189"></a>
+<span class="sourceLineNo">190</span> DEFAULT_BUCKET_CACHE_WRITER_THREADS);<a name="line.190"></a>
+<span class="sourceLineNo">191</span> int writerQueueLen = c.getInt(BUCKET_CACHE_WRITER_QUEUE_KEY,<a name="line.191"></a>
+<span class="sourceLineNo">192</span> DEFAULT_BUCKET_CACHE_WRITER_QUEUE);<a name="line.192"></a>
+<span class="sourceLineNo">193</span> String persistentPath = c.get(BUCKET_CACHE_PERSISTENT_PATH_KEY);<a name="line.193"></a>
+<span class="sourceLineNo">194</span> String[] configuredBucketSizes = c.getStrings(BUCKET_CACHE_BUCKETS_KEY);<a name="line.194"></a>
+<span class="sourceLineNo">195</span> int [] bucketSizes = null;<a name="line.195"></a>
+<span class="sourceLineNo">196</span> if (configuredBucketSizes != null) {<a name="line.196"></a>
+<span class="sourceLineNo">197</span> bucketSizes = new int[configuredBucketSizes.length];<a name="line.197"></a>
+<span class="sourceLineNo">198</span> for (int i = 0; i < configuredBucketSizes.length; i++) {<a name="line.198"></a>
+<span class="sourceLineNo">199</span> int bucketSize = Integer.parseInt(configuredBucketSizes[i].trim());<a name="line.199"></a>
+<span class="sourceLineNo">200</span> if (bucketSize % 256 != 0) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span> // We need all the bucket sizes to be multiples of 256. Having all the configured bucket<a name="line.201"></a>
+<span class="sourceLineNo">202</span> // sizes to be multiples of 256 will ensure that the block offsets within buckets,<a name="line.202"></a>
+<span class="sourceLineNo">203</span> // that are calculated, will also be multiples of 256.<a name="line.203"></a>
+<span class="sourceLineNo">204</span> // See BucketEntry where offset to each block is represented using 5 bytes (instead of 8<a name="line.204"></a>
+<span class="sourceLineNo">205</span> // bytes long). We would like to save heap overhead as less as possible.<a name="line.205"></a>
+<span class="sourceLineNo">206</span> throw new IllegalArgumentException("Illegal value: " + bucketSize + " configured for '"<a name="line.206"></a>
+<span class="sourceLineNo">207</span> + BUCKET_CACHE_BUCKETS_KEY + "'. All bucket sizes to be multiples of 256");<a name="line.207"></a>
+<span class="sourceLineNo">208</span> }<a name="line.208"></a>
+<span class="sourceLineNo">209</span> bucketSizes[i] = bucketSize;<a name="line.209"></a>
+<span class="sourceLineNo">210</span> }<a name="line.210"></a>
+<span class="sourceLineNo">211</span> }<a name="line.211"></a>
+<span class="sourceLineNo">212</span> BucketCache bucketCache = null;<a name="line.212"></a>
+<span class="sourceLineNo">213</span> try {<a name="line.213"></a>
+<span class="sourceLineNo">214</span> int ioErrorsTolerationDuration = c.getInt(<a name="line.214"></a>
+<span class="sourceLineNo">215</span> "hbase.bucketcache.ioengine.errors.tolerated.duration",<a name="line.215"></a>
+<span class="sourceLineNo">216</span> BucketCache.DEFAULT_ERROR_TOLERATION_DURATION);<a name="line.216"></a>
+<span class="sourceLineNo">217</span> // Bucket cache logs its stats on creation internal to the constructor.<a name="line.217"></a>
+<span class="sourceLineNo">218</span> bucketCache = new BucketCache(bucketCacheIOEngineName,<a name="line.218"></a>
+<span class="sourceLineNo">219</span> bucketCacheSize, blockSize, bucketSizes, writerThreads, writerQueueLen, persistentPath,<a name="line.219"></a>
+<span class="sourceLineNo">220</span> ioErrorsTolerationDuration, c);<a name="line.220"></a>
+<span class="sourceLineNo">221</span> } catch (IOException ioex) {<a name="line.221"></a>
+<span class="sourceLineNo">222</span> LOG.error("Can't instantiate bucket cache", ioex); throw new RuntimeException(ioex);<a name="line.222"></a>
+<span class="sourceLineNo">223</span> }<a name="line.223"></a>
+<span class="sourceLineNo">224</span> return bucketCache;<a name="line.224"></a>
+<span class="sourceLineNo">225</span> }<a name="line.225"></a>
+<span class="sourceLineNo">226</span>}<a name="line.226"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>
[40/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/BlockCache.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/BlockCache.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/BlockCache.html
index 35bd407..8e8f974 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/BlockCache.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/BlockCache.html
@@ -176,20 +176,7 @@
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CacheConfig.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#blockCache">blockCache</a></span></code>
-<div class="block">Local reference to the block cache, null if completely disabled</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>(package private) static <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CacheConfig.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#GLOBAL_BLOCK_CACHE_INSTANCE">GLOBAL_BLOCK_CACHE_INSTANCE</a></span></code>
-<div class="block">Static reference to the block cache, or null if no caching should be used
- at all.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private static <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CacheConfig.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#L2_CACHE_INSTANCE">L2_CACHE_INSTANCE</a></span></code> </td>
+<td class="colLast"><span class="typeNameLabel">CacheConfig.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#blockCache">blockCache</a></span></code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
@@ -212,7 +199,7 @@
<tbody>
<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>></code></td>
-<td class="colLast"><span class="typeNameLabel">CacheConfig.ExternalBlockCaches.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html#clazz">clazz</a></span></code> </td>
+<td class="colLast"><span class="typeNameLabel">BlockCacheFactory.ExternalBlockCaches.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html#clazz">clazz</a></span></code> </td>
</tr>
</tbody>
</table>
@@ -224,35 +211,42 @@
</tr>
<tbody>
<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CacheConfig.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#getBlockCache--">getBlockCache</a></span>()</code>
-<div class="block">Returns the block cache.</div>
-</td>
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BlockCacheFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#createBlockCache-org.apache.hadoop.conf.Configuration-">createBlockCache</a></span>(org.apache.hadoop.conf.Configuration conf)</code> </td>
</tr>
<tr class="rowColor">
+<td class="colFirst"><code>private static <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BlockCacheFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#createExternalBlockcache-org.apache.hadoop.conf.Configuration-">createExternalBlockcache</a></span>(org.apache.hadoop.conf.Configuration c)</code> </td>
+</tr>
+<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>[]</code></td>
<td class="colLast"><span class="typeNameLabel">CombinedBlockCache.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#getBlockCaches--">getBlockCaches</a></span>()</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>[]</code></td>
<td class="colLast"><span class="typeNameLabel">LruBlockCache.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/LruBlockCache.html#getBlockCaches--">getBlockCaches</a></span>()</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>[]</code></td>
<td class="colLast"><span class="typeNameLabel">BlockCache.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html#getBlockCaches--">getBlockCaches</a></span>()</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>[]</code></td>
<td class="colLast"><span class="typeNameLabel">MemcachedBlockCache.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/MemcachedBlockCache.html#getBlockCaches--">getBlockCaches</a></span>()</code> </td>
</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private static <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CacheConfig.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#getExternalBlockcache-org.apache.hadoop.conf.Configuration-">getExternalBlockcache</a></span>(org.apache.hadoop.conf.Configuration c)</code> </td>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/package-summary.html">org.apache.hadoop.hbase.io.hfile</a> that return types with arguments of type <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
</tr>
+<tbody>
<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CacheConfig.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#instantiateBlockCache-org.apache.hadoop.conf.Configuration-">instantiateBlockCache</a></span>(org.apache.hadoop.conf.Configuration conf)</code>
-<div class="block">Returns the block cache or <code>null</code> in case none should be used.</div>
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>></code></td>
+<td class="colLast"><span class="typeNameLabel">CacheConfig.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#getBlockCache--">getBlockCache</a></span>()</code>
+<div class="block">Returns the block cache.</div>
</td>
</tr>
</tbody>
@@ -301,24 +295,22 @@
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCachesIterator.html#BlockCachesIterator-org.apache.hadoop.hbase.io.hfile.BlockCache:A-">BlockCachesIterator</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>[] blockCaches)</code> </td>
</tr>
<tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CacheConfig-org.apache.hadoop.hbase.io.hfile.BlockCache-boolean-boolean-boolean-boolean-boolean-boolean-boolean-boolean-boolean-">CacheConfig</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache,
- boolean cacheDataOnRead,
- boolean inMemory,
- boolean cacheDataOnWrite,
- boolean cacheIndexesOnWrite,
- boolean cacheBloomsOnWrite,
- boolean evictOnClose,
- boolean cacheDataCompressed,
- boolean prefetchOnOpen,
- boolean dropBehindCompaction)</code>
-<div class="block">Create a block cache configuration with the specified cache and configuration parameters.</div>
-</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.io.hfile.BlockCache-">CacheConfig</a></span>(org.apache.hadoop.conf.Configuration conf,
+ <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache)</code> </td>
</tr>
<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-org.apache.hadoop.hbase.io.hfile.BlockCache-">CacheConfig</a></span>(org.apache.hadoop.conf.Configuration conf,
+ <a href="../../../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a> family,
+ <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache)</code>
+<div class="block">Create a cache configuration using the specified configuration object and
+ family descriptor.</div>
+</td>
+</tr>
+<tr class="rowColor">
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#CombinedBlockCache-org.apache.hadoop.hbase.io.hfile.LruBlockCache-org.apache.hadoop.hbase.io.hfile.BlockCache-">CombinedBlockCache</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/LruBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile">LruBlockCache</a> onHeapCache,
<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> l2Cache)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/InclusiveCombinedBlockCache.html#InclusiveCombinedBlockCache-org.apache.hadoop.hbase.io.hfile.LruBlockCache-org.apache.hadoop.hbase.io.hfile.BlockCache-">InclusiveCombinedBlockCache</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/LruBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile">LruBlockCache</a> l1,
<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> l2)</code> </td>
</tr>
@@ -331,7 +323,7 @@
</tr>
<tbody>
<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html#ExternalBlockCaches-java.lang.Class-">ExternalBlockCaches</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>> clazz)</code> </td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html#ExternalBlockCaches-java.lang.Class-">ExternalBlockCaches</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>> clazz)</code> </td>
</tr>
</tbody>
</table>
@@ -384,15 +376,139 @@
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
+<td class="colLast"><span class="typeNameLabel">HRegionServer.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#blockCache">blockCache</a></span></code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
+<td class="colLast"><span class="typeNameLabel">HRegion.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#blockCache">blockCache</a></span></code> </td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> with type parameters of type <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>></code></td>
<td class="colLast"><span class="typeNameLabel">MetricsRegionServerWrapperImpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#blockCache">blockCache</a></span></code> </td>
</tr>
</tbody>
</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> that return <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
+<td class="colLast"><span class="typeNameLabel">HRegion.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getBlockCache--">getBlockCache</a></span>()</code> </td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> that return types with arguments of type <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>></code></td>
+<td class="colLast"><span class="typeNameLabel">RegionServerServices.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getBlockCache--">getBlockCache</a></span>()</code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>></code></td>
+<td class="colLast"><span class="typeNameLabel">HRegionServer.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getBlockCache--">getBlockCache</a></span>()</code>
+<div class="block">May be null if this is a master which not carry table.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> with parameters of type <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">HRegion.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#setBlockCache-org.apache.hadoop.hbase.io.hfile.BlockCache-">setBlockCache</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache)</code>
+<div class="block">Only used for unit test which doesn't start region server.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/ResizableBlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">ResizableBlockCache</a></code></td>
+<td class="colLast"><span class="typeNameLabel">HeapMemoryManager.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#toResizableBlockCache-org.apache.hadoop.hbase.io.hfile.BlockCache-">toResizableBlockCache</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache)</code> </td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> with parameters of type <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#HeapMemoryManager-org.apache.hadoop.hbase.io.hfile.BlockCache-org.apache.hadoop.hbase.regionserver.FlushRequester-org.apache.hadoop.hbase.Server-org.apache.hadoop.hbase.regionserver.RegionServerAccounting-">HeapMemoryManager</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache,
+ <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/FlushRequester.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushRequester</a> memStoreFlusher,
+ <a href="../../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> server,
+ <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a> regionServerAccounting)</code> </td>
+</tr>
+</tbody>
+</table>
</li>
<li class="blockList"><a name="org.apache.hadoop.hbase.tmpl.regionserver">
<!-- -->
</a>
<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> in <a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/package-summary.html">org.apache.hadoop.hbase.tmpl.regionserver</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/package-summary.html">org.apache.hadoop.hbase.tmpl.regionserver</a> declared as <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BlockCacheTmplImpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#bc">bc</a></span></code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BlockCacheViewTmplImpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmplImpl.html#blockCache">blockCache</a></span></code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BlockCacheTmpl.ImplData.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#m_bc">m_bc</a></span></code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BlockCacheViewTmpl.ImplData.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#m_blockCache">m_blockCache</a></span></code> </td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/package-summary.html">org.apache.hadoop.hbase.tmpl.regionserver</a> that return <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BlockCacheTmpl.ImplData.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#getBc--">getBc</a></span>()</code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BlockCacheViewTmpl.ImplData.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#getBlockCache--">getBlockCache</a></span>()</code> </td>
+</tr>
+</tbody>
+</table>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/package-summary.html">org.apache.hadoop.hbase.tmpl.regionserver</a> with parameters of type <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></span><span class="tabEnd"> </span></caption>
<tr>
@@ -402,11 +518,23 @@
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="typeNameLabel">BlockCacheTmplImpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#Z:Z__jamon_innerUnit__bc_baseInfo-java.io.Writer-org.apache.hadoop.hbase.io.hfile.BlockCache-java.lang.String-java.lang.String-">__jamon_innerUnit__bc_baseInfo</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+ <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> bc,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcUrl,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcName)</code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private void</code></td>
<td class="colLast"><span class="typeNameLabel">BlockCacheTmplImpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#Z:Z__jamon_innerUnit__bc_l-java.io.Writer-org.apache.hadoop.hbase.io.hfile.BlockCache-java.lang.String-boolean-">__jamon_innerUnit__bc_l</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> bc,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name,
boolean evictions)</code> </td>
</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="typeNameLabel">BlockCacheTmplImpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#Z:Z__jamon_innerUnit__bc_stats-java.io.Writer-org.apache.hadoop.hbase.io.hfile.BlockCache-">__jamon_innerUnit__bc_stats</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+ <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> bc)</code> </td>
+</tr>
<tr class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><span class="typeNameLabel">BlockCacheTmplImpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#Z:Z__jamon_innerUnit__block_cache-java.io.Writer-org.apache.hadoop.hbase.io.hfile.BlockCache-java.lang.String-boolean-">__jamon_innerUnit__block_cache</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
@@ -424,6 +552,60 @@
<td class="colLast"><span class="typeNameLabel">BlockCacheTmplImpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#Z:Z__jamon_innerUnit__hits_tmpl-java.io.Writer-org.apache.hadoop.hbase.io.hfile.BlockCache-">__jamon_innerUnit__hits_tmpl</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> bc)</code> </td>
</tr>
+<tr class="altColor">
+<td class="colFirst"><code>org.jamon.Renderer</code></td>
+<td class="colLast"><span class="typeNameLabel">BlockCacheTmpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#makeRenderer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.io.hfile.BlockCache-">makeRenderer</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
+ org.apache.hadoop.conf.Configuration config,
+ <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> bc)</code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>org.jamon.Renderer</code></td>
+<td class="colLast"><span class="typeNameLabel">BlockCacheViewTmpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#makeRenderer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-org.apache.hadoop.hbase.io.hfile.BlockCache-">makeRenderer</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
+ org.apache.hadoop.conf.Configuration conf,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcn,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcv,
+ <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache)</code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">BlockCacheTmpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#render-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.io.hfile.BlockCache-">render</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+ <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
+ org.apache.hadoop.conf.Configuration config,
+ <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> bc)</code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">BlockCacheViewTmpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#render-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-org.apache.hadoop.hbase.io.hfile.BlockCache-">render</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+ <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
+ org.apache.hadoop.conf.Configuration conf,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcn,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcv,
+ <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache)</code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">BlockCacheTmpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#renderNoFlush-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.io.hfile.BlockCache-">renderNoFlush</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+ <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
+ org.apache.hadoop.conf.Configuration config,
+ <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> bc)</code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">BlockCacheViewTmpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#renderNoFlush-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-org.apache.hadoop.hbase.io.hfile.BlockCache-">renderNoFlush</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+ <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
+ org.apache.hadoop.conf.Configuration conf,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcn,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcv,
+ <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache)</code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">BlockCacheTmpl.ImplData.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#setBc-org.apache.hadoop.hbase.io.hfile.BlockCache-">setBc</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> bc)</code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">BlockCacheViewTmpl.ImplData.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#setBlockCache-org.apache.hadoop.hbase.io.hfile.BlockCache-">setBlockCache</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache)</code> </td>
+</tr>
</tbody>
</table>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/BlockCacheFactory.ExternalBlockCaches.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/BlockCacheFactory.ExternalBlockCaches.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/BlockCacheFactory.ExternalBlockCaches.html
new file mode 100644
index 0000000..c71843e
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/BlockCacheFactory.ExternalBlockCaches.html
@@ -0,0 +1,177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.io.hfile.BlockCacheFactory.ExternalBlockCaches (Apache HBase 3.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.hadoop.hbase.io.hfile.BlockCacheFactory.ExternalBlockCaches (Apache HBase 3.0.0-SNAPSHOT API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/io/hfile/class-use/BlockCacheFactory.ExternalBlockCaches.html" target="_top">Frames</a></li>
+<li><a href="BlockCacheFactory.ExternalBlockCaches.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.io.hfile.BlockCacheFactory.ExternalBlockCaches" class="title">Uses of Class<br>org.apache.hadoop.hbase.io.hfile.BlockCacheFactory.ExternalBlockCaches</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory.ExternalBlockCaches</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.io.hfile">org.apache.hadoop.hbase.io.hfile</a></td>
+<td class="colLast">
+<div class="block">Provides implementations of <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.html" title="class in org.apache.hadoop.hbase.io.hfile"><code>HFile</code></a> and HFile
+ <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile"><code>BlockCache</code></a>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.hadoop.hbase.io.hfile">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory.ExternalBlockCaches</a> in <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/package-summary.html">org.apache.hadoop.hbase.io.hfile</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/package-summary.html">org.apache.hadoop.hbase.io.hfile</a> that return <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory.ExternalBlockCaches</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory.ExternalBlockCaches</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BlockCacheFactory.ExternalBlockCaches.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory.ExternalBlockCaches</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">BlockCacheFactory.ExternalBlockCaches.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/io/hfile/class-use/BlockCacheFactory.ExternalBlockCaches.html" target="_top">Frames</a></li>
+<li><a href="BlockCacheFactory.ExternalBlockCaches.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright © 2007–2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/BlockCacheFactory.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/BlockCacheFactory.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/BlockCacheFactory.html
new file mode 100644
index 0000000..f253e14
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/BlockCacheFactory.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.io.hfile.BlockCacheFactory (Apache HBase 3.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.hadoop.hbase.io.hfile.BlockCacheFactory (Apache HBase 3.0.0-SNAPSHOT API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/io/hfile/class-use/BlockCacheFactory.html" target="_top">Frames</a></li>
+<li><a href="BlockCacheFactory.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.io.hfile.BlockCacheFactory" class="title">Uses of Class<br>org.apache.hadoop.hbase.io.hfile.BlockCacheFactory</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.hadoop.hbase.io.hfile.BlockCacheFactory</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/io/hfile/class-use/BlockCacheFactory.html" target="_top">Frames</a></li>
+<li><a href="BlockCacheFactory.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright © 2007–2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/CacheConfig.ExternalBlockCaches.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/CacheConfig.ExternalBlockCaches.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/CacheConfig.ExternalBlockCaches.html
deleted file mode 100644
index cca0424..0000000
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/CacheConfig.ExternalBlockCaches.html
+++ /dev/null
@@ -1,177 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.hadoop.hbase.io.hfile.CacheConfig.ExternalBlockCaches (Apache HBase 3.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.apache.hadoop.hbase.io.hfile.CacheConfig.ExternalBlockCaches (Apache HBase 3.0.0-SNAPSHOT API)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/io/hfile/class-use/CacheConfig.ExternalBlockCaches.html" target="_top">Frames</a></li>
-<li><a href="CacheConfig.ExternalBlockCaches.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.hadoop.hbase.io.hfile.CacheConfig.ExternalBlockCaches" class="title">Uses of Class<br>org.apache.hadoop.hbase.io.hfile.CacheConfig.ExternalBlockCaches</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">CacheConfig.ExternalBlockCaches</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.io.hfile">org.apache.hadoop.hbase.io.hfile</a></td>
-<td class="colLast">
-<div class="block">Provides implementations of <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.html" title="class in org.apache.hadoop.hbase.io.hfile"><code>HFile</code></a> and HFile
- <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile"><code>BlockCache</code></a>.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.hadoop.hbase.io.hfile">
-<!-- -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">CacheConfig.ExternalBlockCaches</a> in <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/package-summary.html">org.apache.hadoop.hbase.io.hfile</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/package-summary.html">org.apache.hadoop.hbase.io.hfile</a> that return <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">CacheConfig.ExternalBlockCaches</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">CacheConfig.ExternalBlockCaches</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CacheConfig.ExternalBlockCaches.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name)</code>
-<div class="block">Returns the enum constant of this type with the specified name.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">CacheConfig.ExternalBlockCaches</a>[]</code></td>
-<td class="colLast"><span class="typeNameLabel">CacheConfig.ExternalBlockCaches.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html#values--">values</a></span>()</code>
-<div class="block">Returns an array containing the constants of this enum type, in
-the order they are declared.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/io/hfile/class-use/CacheConfig.ExternalBlockCaches.html" target="_top">Frames</a></li>
-<li><a href="CacheConfig.ExternalBlockCaches.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright © 2007–2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/CacheConfig.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/CacheConfig.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/CacheConfig.html
index 7bde38f..5b22f01 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/CacheConfig.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/CacheConfig.html
@@ -378,21 +378,6 @@
<!-- -->
</a>
<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> in <a href="../../../../../../../org/apache/hadoop/hbase/mob/package-summary.html">org.apache.hadoop.hbase.mob</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
-<caption><span>Subclasses of <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> in <a href="../../../../../../../org/apache/hadoop/hbase/mob/package-summary.html">org.apache.hadoop.hbase.mob</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>class </code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob">MobCacheConfig</a></span></code>
-<div class="block">The cache configuration for the mob.</div>
-</td>
-</tr>
-</tbody>
-</table>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/mob/package-summary.html">org.apache.hadoop.hbase.mob</a> with parameters of type <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></span><span class="tabEnd"> </span></caption>
<tr>
@@ -531,6 +516,14 @@
</td>
</tr>
<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/mob/MobFile.html" title="class in org.apache.hadoop.hbase.mob">MobFile</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MobFileCache.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html#openFile-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.io.hfile.CacheConfig-">openFile</a></span>(org.apache.hadoop.fs.FileSystem fs,
+ org.apache.hadoop.fs.Path path,
+ <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConf)</code>
+<div class="block">Opens a mob file.</div>
+</td>
+</tr>
+<tr class="rowColor">
<td class="colFirst"><code>private static void</code></td>
<td class="colLast"><span class="typeNameLabel">MobUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/mob/MobUtils.html#validateMobFile-org.apache.hadoop.conf.Configuration-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.io.hfile.CacheConfig-boolean-">validateMobFile</a></span>(org.apache.hadoop.conf.Configuration conf,
org.apache.hadoop.fs.FileSystem fs,
@@ -584,10 +577,6 @@
<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></code></td>
<td class="colLast"><span class="typeNameLabel">StoreFileWriter.Builder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/StoreFileWriter.Builder.html#cacheConf">cacheConf</a></span></code> </td>
</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>protected <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></code></td>
-<td class="colLast"><span class="typeNameLabel">HRegionServer.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#cacheConfig">cacheConfig</a></span></code> </td>
-</tr>
</tbody>
</table>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -603,10 +592,6 @@
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></code></td>
-<td class="colLast"><span class="typeNameLabel">HRegionServer.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getCacheConfig--">getCacheConfig</a></span>()</code> </td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></code></td>
<td class="colLast"><span class="typeNameLabel">HStore.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getCacheConfig--">getCacheConfig</a></span>()</code>
<div class="block">Used for tests.</div>
</td>
@@ -776,60 +761,54 @@
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private void</code></td>
-<td class="colLast"><span class="typeNameLabel">BlockCacheTmplImpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#Z:Z__jamon_innerUnit__bc_baseInfo-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-java.lang.String-java.lang.String-">__jamon_innerUnit__bc_baseInfo</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
- <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
- <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcUrl,
- <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcName)</code> </td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private void</code></td>
<td class="colLast"><span class="typeNameLabel">BlockCacheTmplImpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#Z:Z__jamon_innerUnit__bc_config-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-">__jamon_innerUnit__bc_config</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig)</code> </td>
</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private void</code></td>
-<td class="colLast"><span class="typeNameLabel">BlockCacheTmplImpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#Z:Z__jamon_innerUnit__bc_stats-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-">__jamon_innerUnit__bc_stats</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
- <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig)</code> </td>
-</tr>
<tr class="rowColor">
<td class="colFirst"><code>org.jamon.Renderer</code></td>
-<td class="colLast"><span class="typeNameLabel">BlockCacheTmpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#makeRenderer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-">makeRenderer</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
- org.apache.hadoop.conf.Configuration config)</code> </td>
+<td class="colLast"><span class="typeNameLabel">BlockCacheTmpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#makeRenderer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.io.hfile.BlockCache-">makeRenderer</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
+ org.apache.hadoop.conf.Configuration config,
+ <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> bc)</code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>org.jamon.Renderer</code></td>
-<td class="colLast"><span class="typeNameLabel">BlockCacheViewTmpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#makeRenderer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-">makeRenderer</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
+<td class="colLast"><span class="typeNameLabel">BlockCacheViewTmpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#makeRenderer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-org.apache.hadoop.hbase.io.hfile.BlockCache-">makeRenderer</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
org.apache.hadoop.conf.Configuration conf,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcn,
- <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcv)</code> </td>
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcv,
+ <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache)</code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">BlockCacheTmpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#render-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-">render</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+<td class="colLast"><span class="typeNameLabel">BlockCacheTmpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#render-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.io.hfile.BlockCache-">render</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
- org.apache.hadoop.conf.Configuration config)</code> </td>
+ org.apache.hadoop.conf.Configuration config,
+ <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> bc)</code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">BlockCacheViewTmpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#render-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-">render</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+<td class="colLast"><span class="typeNameLabel">BlockCacheViewTmpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#render-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-org.apache.hadoop.hbase.io.hfile.BlockCache-">render</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
org.apache.hadoop.conf.Configuration conf,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcn,
- <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcv)</code> </td>
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcv,
+ <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache)</code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">BlockCacheTmpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#renderNoFlush-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-">renderNoFlush</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+<td class="colLast"><span class="typeNameLabel">BlockCacheTmpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#renderNoFlush-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.io.hfile.BlockCache-">renderNoFlush</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
- org.apache.hadoop.conf.Configuration config)</code> </td>
+ org.apache.hadoop.conf.Configuration config,
+ <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> bc)</code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">BlockCacheViewTmpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#renderNoFlush-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-">renderNoFlush</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+<td class="colLast"><span class="typeNameLabel">BlockCacheViewTmpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#renderNoFlush-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-org.apache.hadoop.hbase.io.hfile.BlockCache-">renderNoFlush</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
org.apache.hadoop.conf.Configuration conf,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcn,
- <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcv)</code> </td>
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcv,
+ <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache)</code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
[25/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html
index 55ab978..21b0e6d 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html
@@ -18,8 +18,8 @@
catch(err) {
}
//-->
-var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
<hr>
<br>
<pre>@InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.49">HeapMemoryManager</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.50">HeapMemoryManager</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Manages tuning of Heap memory using <code>HeapMemoryTuner</code>. Most part of the heap memory is
split between Memstores and BlockCache. This manager helps in tuning sizes of both these
@@ -301,7 +301,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#HeapMemoryManager-org.apache.hadoop.hbase.io.hfile.ResizableBlockCache-org.apache.hadoop.hbase.regionserver.FlushRequester-org.apache.hadoop.hbase.Server-org.apache.hadoop.hbase.regionserver.RegionServerAccounting-">HeapMemoryManager</a></span>(<a href="../../../../../org/apache/hadoop/hbase/io/hfile/ResizableBlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">ResizableBlockCache</a> blockCache,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#HeapMemoryManager-org.apache.hadoop.hbase.io.hfile.BlockCache-org.apache.hadoop.hbase.regionserver.FlushRequester-org.apache.hadoop.hbase.Server-org.apache.hadoop.hbase.regionserver.RegionServerAccounting-">HeapMemoryManager</a></span>(<a href="../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushRequester.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushRequester</a> memStoreFlusher,
<a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> server,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a> regionServerAccounting)</code> </td>
@@ -316,42 +316,39 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html" title="class in org.apache.hadoop.hbase.regionserver">HeapMemoryManager</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#create-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.FlushRequester-org.apache.hadoop.hbase.Server-org.apache.hadoop.hbase.regionserver.RegionServerAccounting-">create</a></span>(org.apache.hadoop.conf.Configuration conf,
- <a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushRequester.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushRequester</a> memStoreFlusher,
- <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> server,
- <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a> regionServerAccounting)</code> </td>
-</tr>
-<tr id="i1" class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#doInit-org.apache.hadoop.conf.Configuration-">doInit</a></span>(org.apache.hadoop.conf.Configuration conf)</code> </td>
</tr>
-<tr id="i2" class="altColor">
+<tr id="i1" class="rowColor">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#getHeapOccupancyPercent--">getHeapOccupancyPercent</a></span>()</code> </td>
</tr>
-<tr id="i3" class="rowColor">
+<tr id="i2" class="altColor">
<td class="colFirst"><code>(package private) boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#isTunerOn--">isTunerOn</a></span>()</code> </td>
</tr>
-<tr id="i4" class="altColor">
+<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#registerTuneObserver-org.apache.hadoop.hbase.regionserver.HeapMemoryManager.HeapMemoryTuneObserver-">registerTuneObserver</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.HeapMemoryTuneObserver.html" title="interface in org.apache.hadoop.hbase.regionserver">HeapMemoryManager.HeapMemoryTuneObserver</a> observer)</code> </td>
</tr>
-<tr id="i5" class="rowColor">
+<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#start-org.apache.hadoop.hbase.ChoreService-">start</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ChoreService.html" title="class in org.apache.hadoop.hbase">ChoreService</a> service)</code> </td>
</tr>
-<tr id="i6" class="altColor">
+<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#stop--">stop</a></span>()</code> </td>
</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/io/hfile/ResizableBlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">ResizableBlockCache</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#toResizableBlockCache-org.apache.hadoop.hbase.io.hfile.BlockCache-">toResizableBlockCache</a></span>(<a href="../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache)</code> </td>
+</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -380,7 +377,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>LOG</h4>
-<pre>private static final org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.50">LOG</a></pre>
+<pre>private static final org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.51">LOG</a></pre>
</li>
</ul>
<a name="CONVERT_TO_PERCENTAGE">
@@ -389,7 +386,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>CONVERT_TO_PERCENTAGE</h4>
-<pre>private static final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.51">CONVERT_TO_PERCENTAGE</a></pre>
+<pre>private static final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.52">CONVERT_TO_PERCENTAGE</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HeapMemoryManager.CONVERT_TO_PERCENTAGE">Constant Field Values</a></dd>
@@ -402,7 +399,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>CLUSTER_MINIMUM_MEMORY_THRESHOLD</h4>
-<pre>private static final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.52">CLUSTER_MINIMUM_MEMORY_THRESHOLD</a></pre>
+<pre>private static final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.53">CLUSTER_MINIMUM_MEMORY_THRESHOLD</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HeapMemoryManager.CLUSTER_MINIMUM_MEMORY_THRESHOLD">Constant Field Values</a></dd>
@@ -415,7 +412,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>BLOCK_CACHE_SIZE_MAX_RANGE_KEY</h4>
-<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.55">BLOCK_CACHE_SIZE_MAX_RANGE_KEY</a></pre>
+<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.56">BLOCK_CACHE_SIZE_MAX_RANGE_KEY</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HeapMemoryManager.BLOCK_CACHE_SIZE_MAX_RANGE_KEY">Constant Field Values</a></dd>
@@ -428,7 +425,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>BLOCK_CACHE_SIZE_MIN_RANGE_KEY</h4>
-<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.56">BLOCK_CACHE_SIZE_MIN_RANGE_KEY</a></pre>
+<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.57">BLOCK_CACHE_SIZE_MIN_RANGE_KEY</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HeapMemoryManager.BLOCK_CACHE_SIZE_MIN_RANGE_KEY">Constant Field Values</a></dd>
@@ -441,7 +438,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>MEMSTORE_SIZE_MAX_RANGE_KEY</h4>
-<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.57">MEMSTORE_SIZE_MAX_RANGE_KEY</a></pre>
+<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.58">MEMSTORE_SIZE_MAX_RANGE_KEY</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HeapMemoryManager.MEMSTORE_SIZE_MAX_RANGE_KEY">Constant Field Values</a></dd>
@@ -454,7 +451,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>MEMSTORE_SIZE_MIN_RANGE_KEY</h4>
-<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.59">MEMSTORE_SIZE_MIN_RANGE_KEY</a></pre>
+<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.60">MEMSTORE_SIZE_MIN_RANGE_KEY</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HeapMemoryManager.MEMSTORE_SIZE_MIN_RANGE_KEY">Constant Field Values</a></dd>
@@ -467,7 +464,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>HBASE_RS_HEAP_MEMORY_TUNER_PERIOD</h4>
-<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.61">HBASE_RS_HEAP_MEMORY_TUNER_PERIOD</a></pre>
+<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.62">HBASE_RS_HEAP_MEMORY_TUNER_PERIOD</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HeapMemoryManager.HBASE_RS_HEAP_MEMORY_TUNER_PERIOD">Constant Field Values</a></dd>
@@ -480,7 +477,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>HBASE_RS_HEAP_MEMORY_TUNER_DEFAULT_PERIOD</h4>
-<pre>public static final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.63">HBASE_RS_HEAP_MEMORY_TUNER_DEFAULT_PERIOD</a></pre>
+<pre>public static final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.64">HBASE_RS_HEAP_MEMORY_TUNER_DEFAULT_PERIOD</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HeapMemoryManager.HBASE_RS_HEAP_MEMORY_TUNER_DEFAULT_PERIOD">Constant Field Values</a></dd>
@@ -493,7 +490,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>HBASE_RS_HEAP_MEMORY_TUNER_CLASS</h4>
-<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.64">HBASE_RS_HEAP_MEMORY_TUNER_CLASS</a></pre>
+<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.65">HBASE_RS_HEAP_MEMORY_TUNER_CLASS</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HeapMemoryManager.HBASE_RS_HEAP_MEMORY_TUNER_CLASS">Constant Field Values</a></dd>
@@ -506,7 +503,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>HEAP_OCCUPANCY_ERROR_VALUE</h4>
-<pre>public static final float <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.67">HEAP_OCCUPANCY_ERROR_VALUE</a></pre>
+<pre>public static final float <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.68">HEAP_OCCUPANCY_ERROR_VALUE</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HeapMemoryManager.HEAP_OCCUPANCY_ERROR_VALUE">Constant Field Values</a></dd>
@@ -519,7 +516,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>globalMemStorePercent</h4>
-<pre>private float <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.69">globalMemStorePercent</a></pre>
+<pre>private float <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.70">globalMemStorePercent</a></pre>
</li>
</ul>
<a name="globalMemStorePercentMinRange">
@@ -528,7 +525,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>globalMemStorePercentMinRange</h4>
-<pre>private float <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.70">globalMemStorePercentMinRange</a></pre>
+<pre>private float <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.71">globalMemStorePercentMinRange</a></pre>
</li>
</ul>
<a name="globalMemStorePercentMaxRange">
@@ -537,7 +534,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>globalMemStorePercentMaxRange</h4>
-<pre>private float <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.71">globalMemStorePercentMaxRange</a></pre>
+<pre>private float <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.72">globalMemStorePercentMaxRange</a></pre>
</li>
</ul>
<a name="blockCachePercent">
@@ -546,7 +543,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>blockCachePercent</h4>
-<pre>private float <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.73">blockCachePercent</a></pre>
+<pre>private float <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.74">blockCachePercent</a></pre>
</li>
</ul>
<a name="blockCachePercentMinRange">
@@ -555,7 +552,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>blockCachePercentMinRange</h4>
-<pre>private float <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.74">blockCachePercentMinRange</a></pre>
+<pre>private float <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.75">blockCachePercentMinRange</a></pre>
</li>
</ul>
<a name="blockCachePercentMaxRange">
@@ -564,7 +561,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>blockCachePercentMaxRange</h4>
-<pre>private float <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.75">blockCachePercentMaxRange</a></pre>
+<pre>private float <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.76">blockCachePercentMaxRange</a></pre>
</li>
</ul>
<a name="heapOccupancyPercent">
@@ -573,7 +570,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>heapOccupancyPercent</h4>
-<pre>private float <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.77">heapOccupancyPercent</a></pre>
+<pre>private float <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.78">heapOccupancyPercent</a></pre>
</li>
</ul>
<a name="blockCache">
@@ -582,7 +579,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>blockCache</h4>
-<pre>private final <a href="../../../../../org/apache/hadoop/hbase/io/hfile/ResizableBlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">ResizableBlockCache</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.79">blockCache</a></pre>
+<pre>private final <a href="../../../../../org/apache/hadoop/hbase/io/hfile/ResizableBlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">ResizableBlockCache</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.80">blockCache</a></pre>
</li>
</ul>
<a name="memStoreFlusher">
@@ -591,7 +588,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>memStoreFlusher</h4>
-<pre>private final <a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushRequester.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushRequester</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.81">memStoreFlusher</a></pre>
+<pre>private final <a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushRequester.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushRequester</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.82">memStoreFlusher</a></pre>
</li>
</ul>
<a name="server">
@@ -600,7 +597,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>server</h4>
-<pre>private final <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.82">server</a></pre>
+<pre>private final <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.83">server</a></pre>
</li>
</ul>
<a name="regionServerAccounting">
@@ -609,7 +606,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>regionServerAccounting</h4>
-<pre>private final <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.83">regionServerAccounting</a></pre>
+<pre>private final <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.84">regionServerAccounting</a></pre>
</li>
</ul>
<a name="heapMemTunerChore">
@@ -618,7 +615,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>heapMemTunerChore</h4>
-<pre>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.HeapMemoryTunerChore.html" title="class in org.apache.hadoop.hbase.regionserver">HeapMemoryManager.HeapMemoryTunerChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.85">heapMemTunerChore</a></pre>
+<pre>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.HeapMemoryTunerChore.html" title="class in org.apache.hadoop.hbase.regionserver">HeapMemoryManager.HeapMemoryTunerChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.86">heapMemTunerChore</a></pre>
</li>
</ul>
<a name="tunerOn">
@@ -627,7 +624,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>tunerOn</h4>
-<pre>private final boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.86">tunerOn</a></pre>
+<pre>private final boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.87">tunerOn</a></pre>
</li>
</ul>
<a name="defaultChorePeriod">
@@ -636,7 +633,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>defaultChorePeriod</h4>
-<pre>private final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.87">defaultChorePeriod</a></pre>
+<pre>private final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.88">defaultChorePeriod</a></pre>
</li>
</ul>
<a name="heapOccupancyLowWatermark">
@@ -645,7 +642,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>heapOccupancyLowWatermark</h4>
-<pre>private final float <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.88">heapOccupancyLowWatermark</a></pre>
+<pre>private final float <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.89">heapOccupancyLowWatermark</a></pre>
</li>
</ul>
<a name="maxHeapSize">
@@ -654,7 +651,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>maxHeapSize</h4>
-<pre>private final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.90">maxHeapSize</a></pre>
+<pre>private final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.91">maxHeapSize</a></pre>
</li>
</ul>
<a name="metricsHeapMemoryManager">
@@ -663,7 +660,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>metricsHeapMemoryManager</h4>
-<pre>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsHeapMemoryManager.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsHeapMemoryManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.104">metricsHeapMemoryManager</a></pre>
+<pre>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsHeapMemoryManager.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsHeapMemoryManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.105">metricsHeapMemoryManager</a></pre>
</li>
</ul>
<a name="tuneObservers">
@@ -672,7 +669,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>tuneObservers</h4>
-<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.HeapMemoryTuneObserver.html" title="interface in org.apache.hadoop.hbase.regionserver">HeapMemoryManager.HeapMemoryTuneObserver</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.106">tuneObservers</a></pre>
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.HeapMemoryTuneObserver.html" title="interface in org.apache.hadoop.hbase.regionserver">HeapMemoryManager.HeapMemoryTuneObserver</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.107">tuneObservers</a></pre>
</li>
</ul>
</li>
@@ -683,13 +680,13 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<!-- -->
</a>
<h3>Constructor Detail</h3>
-<a name="HeapMemoryManager-org.apache.hadoop.hbase.io.hfile.ResizableBlockCache-org.apache.hadoop.hbase.regionserver.FlushRequester-org.apache.hadoop.hbase.Server-org.apache.hadoop.hbase.regionserver.RegionServerAccounting-">
+<a name="HeapMemoryManager-org.apache.hadoop.hbase.io.hfile.BlockCache-org.apache.hadoop.hbase.regionserver.FlushRequester-org.apache.hadoop.hbase.Server-org.apache.hadoop.hbase.regionserver.RegionServerAccounting-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>HeapMemoryManager</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.118">HeapMemoryManager</a>(<a href="../../../../../org/apache/hadoop/hbase/io/hfile/ResizableBlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">ResizableBlockCache</a> blockCache,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.110">HeapMemoryManager</a>(<a href="../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushRequester.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushRequester</a> memStoreFlusher,
<a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> server,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a> regionServerAccounting)</pre>
@@ -703,16 +700,13 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<!-- -->
</a>
<h3>Method Detail</h3>
-<a name="create-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.FlushRequester-org.apache.hadoop.hbase.Server-org.apache.hadoop.hbase.regionserver.RegionServerAccounting-">
+<a name="toResizableBlockCache-org.apache.hadoop.hbase.io.hfile.BlockCache-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>create</h4>
-<pre>public static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html" title="class in org.apache.hadoop.hbase.regionserver">HeapMemoryManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.108">create</a>(org.apache.hadoop.conf.Configuration conf,
- <a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushRequester.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushRequester</a> memStoreFlusher,
- <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> server,
- <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a> regionServerAccounting)</pre>
+<h4>toResizableBlockCache</h4>
+<pre>private <a href="../../../../../org/apache/hadoop/hbase/io/hfile/ResizableBlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">ResizableBlockCache</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#line.125">toResizableBlockCache</a>(<a href="../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache)</pre>
</li>
</ul>
<a name="doInit-org.apache.hadoop.conf.Configuration-">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html
index 4103a85..36e4994 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.733">MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable</a>
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.663">MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></pre>
<div class="block">This is the runnable that will be executed on the executor every PERIOD number of seconds
@@ -225,7 +225,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable
<ul class="blockList">
<li class="blockList">
<h4>lastRan</h4>
-<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.735">lastRan</a></pre>
+<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.665">lastRan</a></pre>
</li>
</ul>
<a name="lastRequestCount">
@@ -234,7 +234,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable
<ul class="blockList">
<li class="blockList">
<h4>lastRequestCount</h4>
-<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.736">lastRequestCount</a></pre>
+<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.666">lastRequestCount</a></pre>
</li>
</ul>
<a name="lastReadRequestsCount">
@@ -243,7 +243,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable
<ul class="blockList">
<li class="blockList">
<h4>lastReadRequestsCount</h4>
-<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.737">lastReadRequestsCount</a></pre>
+<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.667">lastReadRequestsCount</a></pre>
</li>
</ul>
<a name="lastWriteRequestsCount">
@@ -252,7 +252,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable
<ul class="blockList">
<li class="blockList">
<h4>lastWriteRequestsCount</h4>
-<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.738">lastWriteRequestsCount</a></pre>
+<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.668">lastWriteRequestsCount</a></pre>
</li>
</ul>
<a name="lastStoreFileSize">
@@ -261,7 +261,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable
<ul class="blockListLast">
<li class="blockList">
<h4>lastStoreFileSize</h4>
-<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.739">lastStoreFileSize</a></pre>
+<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.669">lastStoreFileSize</a></pre>
</li>
</ul>
</li>
@@ -278,7 +278,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable
<ul class="blockListLast">
<li class="blockList">
<h4>RegionServerMetricsWrapperRunnable</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.733">RegionServerMetricsWrapperRunnable</a>()</pre>
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.663">RegionServerMetricsWrapperRunnable</a>()</pre>
</li>
</ul>
</li>
@@ -295,7 +295,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable
<ul class="blockListLast">
<li class="blockList">
<h4>run</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.742">run</a>()</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.672">run</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code> in interface <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
[42/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html
index 2b4e52a..3a3ea1d 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html
@@ -121,7 +121,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>protected static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.483">HFileReaderImpl.HFileScannerImpl</a>
+<pre>protected static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.486">HFileReaderImpl.HFileScannerImpl</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileScanner</a></pre>
</li>
@@ -503,7 +503,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>blockBuffer</h4>
-<pre>private <a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.484">blockBuffer</a></pre>
+<pre>private <a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.487">blockBuffer</a></pre>
</li>
</ul>
<a name="cacheBlocks">
@@ -512,7 +512,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>cacheBlocks</h4>
-<pre>protected final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.485">cacheBlocks</a></pre>
+<pre>protected final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.488">cacheBlocks</a></pre>
</li>
</ul>
<a name="pread">
@@ -521,7 +521,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>pread</h4>
-<pre>protected final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.486">pread</a></pre>
+<pre>protected final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.489">pread</a></pre>
</li>
</ul>
<a name="isCompaction">
@@ -530,7 +530,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>isCompaction</h4>
-<pre>protected final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.487">isCompaction</a></pre>
+<pre>protected final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.490">isCompaction</a></pre>
</li>
</ul>
<a name="currKeyLen">
@@ -539,7 +539,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>currKeyLen</h4>
-<pre>private int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.488">currKeyLen</a></pre>
+<pre>private int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.491">currKeyLen</a></pre>
</li>
</ul>
<a name="currValueLen">
@@ -548,7 +548,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>currValueLen</h4>
-<pre>private int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.489">currValueLen</a></pre>
+<pre>private int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.492">currValueLen</a></pre>
</li>
</ul>
<a name="currMemstoreTSLen">
@@ -557,7 +557,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>currMemstoreTSLen</h4>
-<pre>private int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.490">currMemstoreTSLen</a></pre>
+<pre>private int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.493">currMemstoreTSLen</a></pre>
</li>
</ul>
<a name="currMemstoreTS">
@@ -566,7 +566,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>currMemstoreTS</h4>
-<pre>private long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.491">currMemstoreTS</a></pre>
+<pre>private long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.494">currMemstoreTS</a></pre>
</li>
</ul>
<a name="blockFetches">
@@ -575,7 +575,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>blockFetches</h4>
-<pre>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.493">blockFetches</a></pre>
+<pre>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.496">blockFetches</a></pre>
</li>
</ul>
<a name="reader">
@@ -584,7 +584,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>reader</h4>
-<pre>protected final <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.494">reader</a></pre>
+<pre>protected final <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.497">reader</a></pre>
</li>
</ul>
<a name="currTagsLen">
@@ -593,7 +593,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>currTagsLen</h4>
-<pre>private int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.495">currTagsLen</a></pre>
+<pre>private int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.498">currTagsLen</a></pre>
</li>
</ul>
<a name="bufBackedKeyOnlyKv">
@@ -602,7 +602,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>bufBackedKeyOnlyKv</h4>
-<pre>private <a href="../../../../../../org/apache/hadoop/hbase/ByteBufferKeyOnlyKeyValue.html" title="class in org.apache.hadoop.hbase">ByteBufferKeyOnlyKeyValue</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.497">bufBackedKeyOnlyKv</a></pre>
+<pre>private <a href="../../../../../../org/apache/hadoop/hbase/ByteBufferKeyOnlyKeyValue.html" title="class in org.apache.hadoop.hbase">ByteBufferKeyOnlyKeyValue</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.500">bufBackedKeyOnlyKv</a></pre>
</li>
</ul>
<a name="pair">
@@ -611,7 +611,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>pair</h4>
-<pre>final <a href="../../../../../../org/apache/hadoop/hbase/util/ObjectIntPair.html" title="class in org.apache.hadoop.hbase.util">ObjectIntPair</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.499">pair</a></pre>
+<pre>final <a href="../../../../../../org/apache/hadoop/hbase/util/ObjectIntPair.html" title="class in org.apache.hadoop.hbase.util">ObjectIntPair</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.502">pair</a></pre>
</li>
</ul>
<a name="nextIndexedKey">
@@ -620,7 +620,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>nextIndexedKey</h4>
-<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.508">nextIndexedKey</a></pre>
+<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.511">nextIndexedKey</a></pre>
<div class="block">The next indexed key is to keep track of the indexed key of the next data block.
If the nextIndexedKey is HConstants.NO_NEXT_INDEXED_KEY, it means that the
current data block is the last data block.
@@ -634,7 +634,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>curBlock</h4>
-<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.510">curBlock</a></pre>
+<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.513">curBlock</a></pre>
</li>
</ul>
<a name="prevBlocks">
@@ -643,7 +643,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockListLast">
<li class="blockList">
<h4>prevBlocks</h4>
-<pre>protected final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a><<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.512">prevBlocks</a></pre>
+<pre>protected final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a><<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.515">prevBlocks</a></pre>
</li>
</ul>
</li>
@@ -660,7 +660,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockListLast">
<li class="blockList">
<h4>HFileScannerImpl</h4>
-<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.514">HFileScannerImpl</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a> reader,
+<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.517">HFileScannerImpl</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a> reader,
boolean cacheBlocks,
boolean pread,
boolean isCompaction)</pre>
@@ -680,7 +680,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>updateCurrBlockRef</h4>
-<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.522">updateCurrBlockRef</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> block)</pre>
+<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.525">updateCurrBlockRef</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> block)</pre>
</li>
</ul>
<a name="reset--">
@@ -689,7 +689,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>reset</h4>
-<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.534">reset</a>()</pre>
+<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.537">reset</a>()</pre>
</li>
</ul>
<a name="returnBlockToCache-org.apache.hadoop.hbase.io.hfile.HFileBlock-">
@@ -698,7 +698,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>returnBlockToCache</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.542">returnBlockToCache</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> block)</pre>
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.545">returnBlockToCache</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> block)</pre>
</li>
</ul>
<a name="returnBlocks-boolean-">
@@ -707,7 +707,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>returnBlocks</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.549">returnBlocks</a>(boolean returnAll)</pre>
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.552">returnBlocks</a>(boolean returnAll)</pre>
</li>
</ul>
<a name="isSeeked--">
@@ -716,7 +716,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>isSeeked</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.560">isSeeked</a>()</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.563">isSeeked</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#isSeeked--">isSeeked</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileScanner</a></code></dd>
@@ -733,7 +733,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.565">toString</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.568">toString</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code> in class <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -746,7 +746,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>assertSeeked</h4>
-<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.569">assertSeeked</a>()</pre>
+<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.572">assertSeeked</a>()</pre>
</li>
</ul>
<a name="getReader--">
@@ -755,7 +755,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>getReader</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.575">getReader</a>()</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.578">getReader</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#getReader--">getReader</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileScanner</a></code></dd>
@@ -770,7 +770,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>getKVBufSize</h4>
-<pre>private int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.582">getKVBufSize</a>()</pre>
+<pre>private int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.585">getKVBufSize</a>()</pre>
</li>
</ul>
<a name="close--">
@@ -779,7 +779,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.591">close</a>()</pre>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.594">close</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#close--">HFileScanner</a></code></span></div>
<div class="block">Close this HFile scanner and do necessary cleanup.</div>
<dl>
@@ -798,7 +798,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>getCurCellSerializedSize</h4>
-<pre>private int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.601">getCurCellSerializedSize</a>()</pre>
+<pre>private int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.604">getCurCellSerializedSize</a>()</pre>
</li>
</ul>
<a name="readKeyValueLen--">
@@ -807,7 +807,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>readKeyValueLen</h4>
-<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.610">readKeyValueLen</a>()</pre>
+<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.613">readKeyValueLen</a>()</pre>
</li>
</ul>
<a name="checkTagsLen--">
@@ -816,7 +816,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>checkTagsLen</h4>
-<pre>private final void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.636">checkTagsLen</a>()</pre>
+<pre>private final void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.639">checkTagsLen</a>()</pre>
</li>
</ul>
<a name="readMvccVersion-int-">
@@ -825,7 +825,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>readMvccVersion</h4>
-<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.649">readMvccVersion</a>(int offsetFromPos)</pre>
+<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.652">readMvccVersion</a>(int offsetFromPos)</pre>
<div class="block">Read mvcc. Does checks to see if we even need to read the mvcc at all.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -839,7 +839,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>_readMvccVersion</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.664">_readMvccVersion</a>(int offsetFromPos)</pre>
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.667">_readMvccVersion</a>(int offsetFromPos)</pre>
<div class="block">Actually do the mvcc read. Does no checks.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -853,7 +853,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>blockSeek</h4>
-<pre>protected int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.714">blockSeek</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> key,
+<pre>protected int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.717">blockSeek</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> key,
boolean seekBefore)</pre>
<div class="block">Within a loaded block, seek looking for the last key that is smaller than
(or equal to?) the key we are interested in.
@@ -878,7 +878,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>getNextIndexedKey</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.796">getNextIndexedKey</a>()</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.799">getNextIndexedKey</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#getNextIndexedKey--">getNextIndexedKey</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileScanner</a></code></dd>
@@ -893,7 +893,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>seekTo</h4>
-<pre>public int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.801">seekTo</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> key)
+<pre>public int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.804">seekTo</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> key)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#seekTo-org.apache.hadoop.hbase.Cell-">HFileScanner</a></code></span></div>
<div class="block">SeekTo or just before the passed <code>cell</code>. Examine the return
@@ -923,7 +923,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>reseekTo</h4>
-<pre>public int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.806">reseekTo</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> key)
+<pre>public int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.809">reseekTo</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> key)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#reseekTo-org.apache.hadoop.hbase.Cell-">HFileScanner</a></code></span></div>
<div class="block">Reseek to or just before the passed <code>cell</code>. Similar to seekTo
@@ -959,7 +959,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>seekTo</h4>
-<pre>public int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.850">seekTo</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> key,
+<pre>public int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.853">seekTo</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> key,
boolean rewind)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">An internal API function. Seek to the given key, optionally rewinding to
@@ -986,7 +986,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>seekBefore</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.864">seekBefore</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> key)
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.867">seekBefore</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> key)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#seekBefore-org.apache.hadoop.hbase.Cell-">HFileScanner</a></code></span></div>
<div class="block">Consider the cell stream of all the cells in the file,
@@ -1012,7 +1012,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>readNextDataBlock</h4>
-<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.908">readNextDataBlock</a>()
+<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.911">readNextDataBlock</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Scans blocks in the "scanned" section of the <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.html" title="class in org.apache.hadoop.hbase.io.hfile"><code>HFile</code></a> until the next
data block is found.</div>
@@ -1030,7 +1030,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>getEffectiveDataBlockEncoding</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html" title="enum in org.apache.hadoop.hbase.io.encoding">DataBlockEncoding</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.939">getEffectiveDataBlockEncoding</a>()</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html" title="enum in org.apache.hadoop.hbase.io.encoding">DataBlockEncoding</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.942">getEffectiveDataBlockEncoding</a>()</pre>
</li>
</ul>
<a name="getCell--">
@@ -1039,7 +1039,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>getCell</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.944">getCell</a>()</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.947">getCell</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#getCell--">getCell</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileScanner</a></code></dd>
@@ -1054,7 +1054,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>getKey</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.982">getKey</a>()</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.985">getKey</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#getKey--">HFileScanner</a></code></span></div>
<div class="block">Gets the current key in the form of a cell. You must call
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#seekTo-org.apache.hadoop.hbase.Cell-"><code>HFileScanner.seekTo(Cell)</code></a> before this method.</div>
@@ -1072,7 +1072,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>getValue</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1003">getValue</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1006">getValue</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#getValue--">HFileScanner</a></code></span></div>
<div class="block">Gets a buffer view to the current value. You must call
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#seekTo-org.apache.hadoop.hbase.Cell-"><code>HFileScanner.seekTo(Cell)</code></a> before this method.</div>
@@ -1091,7 +1091,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>setNonSeekedState</h4>
-<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1015">setNonSeekedState</a>()</pre>
+<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1018">setNonSeekedState</a>()</pre>
</li>
</ul>
<a name="positionThisBlockBuffer--">
@@ -1100,7 +1100,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>positionThisBlockBuffer</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1028">positionThisBlockBuffer</a>()</pre>
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1031">positionThisBlockBuffer</a>()</pre>
<div class="block">Set the position on current backing blockBuffer.</div>
</li>
</ul>
@@ -1110,7 +1110,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>positionForNextBlock</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1046">positionForNextBlock</a>()
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1049">positionForNextBlock</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Set our selves up for the next 'next' invocation, set up next block.</div>
<dl>
@@ -1127,7 +1127,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>isNextBlock</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1057">isNextBlock</a>()
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1060">isNextBlock</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -1141,7 +1141,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>_next</h4>
-<pre>private final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1068">_next</a>()
+<pre>private final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1071">_next</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -1155,7 +1155,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>next</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1087">next</a>()
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1090">next</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Go to the next key/value in the block section. Loads the next block if
necessary. If successful, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#getKey--"><code>getKey()</code></a> and <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#getValue--"><code>getValue()</code></a> can
@@ -1176,7 +1176,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>seekTo</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1103">seekTo</a>()
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1106">seekTo</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Positions this scanner at the start of the file.</div>
<dl>
@@ -1196,7 +1196,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>processFirstDataBlock</h4>
-<pre>protected boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1123">processFirstDataBlock</a>()
+<pre>protected boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1126">processFirstDataBlock</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -1210,7 +1210,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>readAndUpdateNewBlock</h4>
-<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1129">readAndUpdateNewBlock</a>(long firstDataBlockOffset)
+<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1132">readAndUpdateNewBlock</a>(long firstDataBlockOffset)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CorruptHFileException.html" title="class in org.apache.hadoop.hbase.io.hfile">CorruptHFileException</a></pre>
<dl>
@@ -1226,7 +1226,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>loadBlockAndSeekToKey</h4>
-<pre>protected int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1139">loadBlockAndSeekToKey</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> seekToBlock,
+<pre>protected int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1142">loadBlockAndSeekToKey</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> seekToBlock,
<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> nextIndexedKey,
boolean rewind,
<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> key,
@@ -1244,7 +1244,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>checkKeyLen</h4>
-<pre>protected final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1157">checkKeyLen</a>(int v)</pre>
+<pre>protected final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1160">checkKeyLen</a>(int v)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>v</code> - </dd>
@@ -1259,7 +1259,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>checkLen</h4>
-<pre>protected final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1165">checkLen</a>(int v)</pre>
+<pre>protected final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1168">checkLen</a>(int v)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>v</code> - </dd>
@@ -1274,7 +1274,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>checkKeyValueLen</h4>
-<pre>protected final void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1172">checkKeyValueLen</a>()</pre>
+<pre>protected final void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1175">checkKeyValueLen</a>()</pre>
<div class="block">Check key and value lengths are wholesome.</div>
</li>
</ul>
@@ -1284,7 +1284,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>updateCurrentBlock</h4>
-<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1188">updateCurrentBlock</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> newBlock)
+<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1191">updateCurrentBlock</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> newBlock)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Updates the current block to be the given <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile"><code>HFileBlock</code></a>. Seeks to
the the first key/value pair.</div>
@@ -1302,7 +1302,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>getFirstKeyCellInBlock</h4>
-<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1207">getFirstKeyCellInBlock</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> curBlock)</pre>
+<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1210">getFirstKeyCellInBlock</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> curBlock)</pre>
</li>
</ul>
<a name="getKeyString--">
@@ -1311,7 +1311,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>getKeyString</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1223">getKeyString</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1226">getKeyString</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#getKeyString--">HFileScanner</a></code></span></div>
<div class="block">Convenience method to get a copy of the key as a string - interpreting the
bytes as UTF8. You must call <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#seekTo-org.apache.hadoop.hbase.Cell-"><code>HFileScanner.seekTo(Cell)</code></a> before this method.</div>
@@ -1329,7 +1329,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>getValueString</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1228">getValueString</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1231">getValueString</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#getValueString--">HFileScanner</a></code></span></div>
<div class="block">Convenience method to get a copy of the value as a string - interpreting
the bytes as UTF8. You must call <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#seekTo-org.apache.hadoop.hbase.Cell-"><code>HFileScanner.seekTo(Cell)</code></a> before this method.</div>
@@ -1347,7 +1347,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockList">
<li class="blockList">
<h4>compareKey</h4>
-<pre>public int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1232">compareKey</a>(<a href="../../../../../../org/apache/hadoop/hbase/CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a> comparator,
+<pre>public int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1235">compareKey</a>(<a href="../../../../../../org/apache/hadoop/hbase/CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a> comparator,
<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> key)</pre>
</li>
</ul>
@@ -1357,7 +1357,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScan
<ul class="blockListLast">
<li class="blockList">
<h4>shipped</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1239">shipped</a>()
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html#line.1242">shipped</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/Shipper.html#shipped--">Shipper</a></code></span></div>
<div class="block">Called after a batch of rows scanned and set to be returned to client. Any in between cleanup
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.NotSeekedException.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.NotSeekedException.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.NotSeekedException.html
index e83f2ee..c0a80ec 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.NotSeekedException.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.NotSeekedException.html
@@ -131,7 +131,7 @@
</dl>
<hr>
<br>
-<pre>public static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.477">HFileReaderImpl.NotSeekedException</a>
+<pre>public static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.480">HFileReaderImpl.NotSeekedException</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></pre>
<div class="block">An exception thrown when an operation requiring a scanner to be seeked
is invoked on a scanner that is not seeked.</div>
@@ -202,7 +202,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStat
<ul class="blockListLast">
<li class="blockList">
<h4>NotSeekedException</h4>
-<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.NotSeekedException.html#line.478">NotSeekedException</a>()</pre>
+<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.NotSeekedException.html#line.481">NotSeekedException</a>()</pre>
</li>
</ul>
</li>
[03/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html
index 93aa689..8634180 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html
@@ -550,301 +550,302 @@
<span class="sourceLineNo">542</span> * the cache key.<a name="line.542"></a>
<span class="sourceLineNo">543</span> */<a name="line.543"></a>
<span class="sourceLineNo">544</span> private void doCacheOnWrite(long offset) {<a name="line.544"></a>
-<span class="sourceLineNo">545</span> HFileBlock cacheFormatBlock = blockWriter.getBlockForCaching(cacheConf);<a name="line.545"></a>
-<span class="sourceLineNo">546</span> cacheConf.getBlockCache().cacheBlock(<a name="line.546"></a>
-<span class="sourceLineNo">547</span> new BlockCacheKey(name, offset, true, cacheFormatBlock.getBlockType()),<a name="line.547"></a>
-<span class="sourceLineNo">548</span> cacheFormatBlock);<a name="line.548"></a>
-<span class="sourceLineNo">549</span> }<a name="line.549"></a>
-<span class="sourceLineNo">550</span><a name="line.550"></a>
-<span class="sourceLineNo">551</span> /**<a name="line.551"></a>
-<span class="sourceLineNo">552</span> * Ready a new block for writing.<a name="line.552"></a>
-<span class="sourceLineNo">553</span> *<a name="line.553"></a>
-<span class="sourceLineNo">554</span> * @throws IOException<a name="line.554"></a>
-<span class="sourceLineNo">555</span> */<a name="line.555"></a>
-<span class="sourceLineNo">556</span> protected void newBlock() throws IOException {<a name="line.556"></a>
-<span class="sourceLineNo">557</span> // This is where the next block begins.<a name="line.557"></a>
-<span class="sourceLineNo">558</span> blockWriter.startWriting(BlockType.DATA);<a name="line.558"></a>
-<span class="sourceLineNo">559</span> firstCellInBlock = null;<a name="line.559"></a>
-<span class="sourceLineNo">560</span> if (lastCell != null) {<a name="line.560"></a>
-<span class="sourceLineNo">561</span> lastCellOfPreviousBlock = lastCell;<a name="line.561"></a>
-<span class="sourceLineNo">562</span> }<a name="line.562"></a>
-<span class="sourceLineNo">563</span> }<a name="line.563"></a>
-<span class="sourceLineNo">564</span><a name="line.564"></a>
-<span class="sourceLineNo">565</span> /**<a name="line.565"></a>
-<span class="sourceLineNo">566</span> * Add a meta block to the end of the file. Call before close(). Metadata<a name="line.566"></a>
-<span class="sourceLineNo">567</span> * blocks are expensive. Fill one with a bunch of serialized data rather than<a name="line.567"></a>
-<span class="sourceLineNo">568</span> * do a metadata block per metadata instance. If metadata is small, consider<a name="line.568"></a>
-<span class="sourceLineNo">569</span> * adding to file info using {@link #appendFileInfo(byte[], byte[])}<a name="line.569"></a>
-<span class="sourceLineNo">570</span> *<a name="line.570"></a>
-<span class="sourceLineNo">571</span> * @param metaBlockName<a name="line.571"></a>
-<span class="sourceLineNo">572</span> * name of the block<a name="line.572"></a>
-<span class="sourceLineNo">573</span> * @param content<a name="line.573"></a>
-<span class="sourceLineNo">574</span> * will call readFields to get data later (DO NOT REUSE)<a name="line.574"></a>
-<span class="sourceLineNo">575</span> */<a name="line.575"></a>
-<span class="sourceLineNo">576</span> @Override<a name="line.576"></a>
-<span class="sourceLineNo">577</span> public void appendMetaBlock(String metaBlockName, Writable content) {<a name="line.577"></a>
-<span class="sourceLineNo">578</span> byte[] key = Bytes.toBytes(metaBlockName);<a name="line.578"></a>
-<span class="sourceLineNo">579</span> int i;<a name="line.579"></a>
-<span class="sourceLineNo">580</span> for (i = 0; i < metaNames.size(); ++i) {<a name="line.580"></a>
-<span class="sourceLineNo">581</span> // stop when the current key is greater than our own<a name="line.581"></a>
-<span class="sourceLineNo">582</span> byte[] cur = metaNames.get(i);<a name="line.582"></a>
-<span class="sourceLineNo">583</span> if (Bytes.BYTES_RAWCOMPARATOR.compare(cur, 0, cur.length, key, 0,<a name="line.583"></a>
-<span class="sourceLineNo">584</span> key.length) > 0) {<a name="line.584"></a>
-<span class="sourceLineNo">585</span> break;<a name="line.585"></a>
-<span class="sourceLineNo">586</span> }<a name="line.586"></a>
-<span class="sourceLineNo">587</span> }<a name="line.587"></a>
-<span class="sourceLineNo">588</span> metaNames.add(i, key);<a name="line.588"></a>
-<span class="sourceLineNo">589</span> metaData.add(i, content);<a name="line.589"></a>
-<span class="sourceLineNo">590</span> }<a name="line.590"></a>
-<span class="sourceLineNo">591</span><a name="line.591"></a>
-<span class="sourceLineNo">592</span> @Override<a name="line.592"></a>
-<span class="sourceLineNo">593</span> public void close() throws IOException {<a name="line.593"></a>
-<span class="sourceLineNo">594</span> if (outputStream == null) {<a name="line.594"></a>
-<span class="sourceLineNo">595</span> return;<a name="line.595"></a>
-<span class="sourceLineNo">596</span> }<a name="line.596"></a>
-<span class="sourceLineNo">597</span> // Save data block encoder metadata in the file info.<a name="line.597"></a>
-<span class="sourceLineNo">598</span> blockEncoder.saveMetadata(this);<a name="line.598"></a>
-<span class="sourceLineNo">599</span> // Write out the end of the data blocks, then write meta data blocks.<a name="line.599"></a>
-<span class="sourceLineNo">600</span> // followed by fileinfo, data block index and meta block index.<a name="line.600"></a>
-<span class="sourceLineNo">601</span><a name="line.601"></a>
-<span class="sourceLineNo">602</span> finishBlock();<a name="line.602"></a>
-<span class="sourceLineNo">603</span> writeInlineBlocks(true);<a name="line.603"></a>
-<span class="sourceLineNo">604</span><a name="line.604"></a>
-<span class="sourceLineNo">605</span> FixedFileTrailer trailer = new FixedFileTrailer(getMajorVersion(), getMinorVersion());<a name="line.605"></a>
-<span class="sourceLineNo">606</span><a name="line.606"></a>
-<span class="sourceLineNo">607</span> // Write out the metadata blocks if any.<a name="line.607"></a>
-<span class="sourceLineNo">608</span> if (!metaNames.isEmpty()) {<a name="line.608"></a>
-<span class="sourceLineNo">609</span> for (int i = 0; i < metaNames.size(); ++i) {<a name="line.609"></a>
-<span class="sourceLineNo">610</span> // store the beginning offset<a name="line.610"></a>
-<span class="sourceLineNo">611</span> long offset = outputStream.getPos();<a name="line.611"></a>
-<span class="sourceLineNo">612</span> // write the metadata content<a name="line.612"></a>
-<span class="sourceLineNo">613</span> DataOutputStream dos = blockWriter.startWriting(BlockType.META);<a name="line.613"></a>
-<span class="sourceLineNo">614</span> metaData.get(i).write(dos);<a name="line.614"></a>
-<span class="sourceLineNo">615</span><a name="line.615"></a>
-<span class="sourceLineNo">616</span> blockWriter.writeHeaderAndData(outputStream);<a name="line.616"></a>
-<span class="sourceLineNo">617</span> totalUncompressedBytes += blockWriter.getUncompressedSizeWithHeader();<a name="line.617"></a>
-<span class="sourceLineNo">618</span><a name="line.618"></a>
-<span class="sourceLineNo">619</span> // Add the new meta block to the meta index.<a name="line.619"></a>
-<span class="sourceLineNo">620</span> metaBlockIndexWriter.addEntry(metaNames.get(i), offset,<a name="line.620"></a>
-<span class="sourceLineNo">621</span> blockWriter.getOnDiskSizeWithHeader());<a name="line.621"></a>
-<span class="sourceLineNo">622</span> }<a name="line.622"></a>
-<span class="sourceLineNo">623</span> }<a name="line.623"></a>
-<span class="sourceLineNo">624</span><a name="line.624"></a>
-<span class="sourceLineNo">625</span> // Load-on-open section.<a name="line.625"></a>
-<span class="sourceLineNo">626</span><a name="line.626"></a>
-<span class="sourceLineNo">627</span> // Data block index.<a name="line.627"></a>
-<span class="sourceLineNo">628</span> //<a name="line.628"></a>
-<span class="sourceLineNo">629</span> // In version 2, this section of the file starts with the root level data<a name="line.629"></a>
-<span class="sourceLineNo">630</span> // block index. We call a function that writes intermediate-level blocks<a name="line.630"></a>
-<span class="sourceLineNo">631</span> // first, then root level, and returns the offset of the root level block<a name="line.631"></a>
-<span class="sourceLineNo">632</span> // index.<a name="line.632"></a>
-<span class="sourceLineNo">633</span><a name="line.633"></a>
-<span class="sourceLineNo">634</span> long rootIndexOffset = dataBlockIndexWriter.writeIndexBlocks(outputStream);<a name="line.634"></a>
-<span class="sourceLineNo">635</span> trailer.setLoadOnOpenOffset(rootIndexOffset);<a name="line.635"></a>
-<span class="sourceLineNo">636</span><a name="line.636"></a>
-<span class="sourceLineNo">637</span> // Meta block index.<a name="line.637"></a>
-<span class="sourceLineNo">638</span> metaBlockIndexWriter.writeSingleLevelIndex(blockWriter.startWriting(<a name="line.638"></a>
-<span class="sourceLineNo">639</span> BlockType.ROOT_INDEX), "meta");<a name="line.639"></a>
-<span class="sourceLineNo">640</span> blockWriter.writeHeaderAndData(outputStream);<a name="line.640"></a>
-<span class="sourceLineNo">641</span> totalUncompressedBytes += blockWriter.getUncompressedSizeWithHeader();<a name="line.641"></a>
-<span class="sourceLineNo">642</span><a name="line.642"></a>
-<span class="sourceLineNo">643</span> if (this.hFileContext.isIncludesMvcc()) {<a name="line.643"></a>
-<span class="sourceLineNo">644</span> appendFileInfo(MAX_MEMSTORE_TS_KEY, Bytes.toBytes(maxMemstoreTS));<a name="line.644"></a>
-<span class="sourceLineNo">645</span> appendFileInfo(KEY_VALUE_VERSION, Bytes.toBytes(KEY_VALUE_VER_WITH_MEMSTORE));<a name="line.645"></a>
-<span class="sourceLineNo">646</span> }<a name="line.646"></a>
-<span class="sourceLineNo">647</span><a name="line.647"></a>
-<span class="sourceLineNo">648</span> // File info<a name="line.648"></a>
-<span class="sourceLineNo">649</span> writeFileInfo(trailer, blockWriter.startWriting(BlockType.FILE_INFO));<a name="line.649"></a>
-<span class="sourceLineNo">650</span> blockWriter.writeHeaderAndData(outputStream);<a name="line.650"></a>
-<span class="sourceLineNo">651</span> totalUncompressedBytes += blockWriter.getUncompressedSizeWithHeader();<a name="line.651"></a>
-<span class="sourceLineNo">652</span><a name="line.652"></a>
-<span class="sourceLineNo">653</span> // Load-on-open data supplied by higher levels, e.g. Bloom filters.<a name="line.653"></a>
-<span class="sourceLineNo">654</span> for (BlockWritable w : additionalLoadOnOpenData){<a name="line.654"></a>
-<span class="sourceLineNo">655</span> blockWriter.writeBlock(w, outputStream);<a name="line.655"></a>
-<span class="sourceLineNo">656</span> totalUncompressedBytes += blockWriter.getUncompressedSizeWithHeader();<a name="line.656"></a>
-<span class="sourceLineNo">657</span> }<a name="line.657"></a>
-<span class="sourceLineNo">658</span><a name="line.658"></a>
-<span class="sourceLineNo">659</span> // Now finish off the trailer.<a name="line.659"></a>
-<span class="sourceLineNo">660</span> trailer.setNumDataIndexLevels(dataBlockIndexWriter.getNumLevels());<a name="line.660"></a>
-<span class="sourceLineNo">661</span> trailer.setUncompressedDataIndexSize(<a name="line.661"></a>
-<span class="sourceLineNo">662</span> dataBlockIndexWriter.getTotalUncompressedSize());<a name="line.662"></a>
-<span class="sourceLineNo">663</span> trailer.setFirstDataBlockOffset(firstDataBlockOffset);<a name="line.663"></a>
-<span class="sourceLineNo">664</span> trailer.setLastDataBlockOffset(lastDataBlockOffset);<a name="line.664"></a>
-<span class="sourceLineNo">665</span> trailer.setComparatorClass(comparator.getClass());<a name="line.665"></a>
-<span class="sourceLineNo">666</span> trailer.setDataIndexCount(dataBlockIndexWriter.getNumRootEntries());<a name="line.666"></a>
-<span class="sourceLineNo">667</span><a name="line.667"></a>
+<span class="sourceLineNo">545</span> cacheConf.getBlockCache().ifPresent(cache -> {<a name="line.545"></a>
+<span class="sourceLineNo">546</span> HFileBlock cacheFormatBlock = blockWriter.getBlockForCaching(cacheConf);<a name="line.546"></a>
+<span class="sourceLineNo">547</span> cache.cacheBlock(new BlockCacheKey(name, offset, true, cacheFormatBlock.getBlockType()),<a name="line.547"></a>
+<span class="sourceLineNo">548</span> cacheFormatBlock);<a name="line.548"></a>
+<span class="sourceLineNo">549</span> });<a name="line.549"></a>
+<span class="sourceLineNo">550</span> }<a name="line.550"></a>
+<span class="sourceLineNo">551</span><a name="line.551"></a>
+<span class="sourceLineNo">552</span> /**<a name="line.552"></a>
+<span class="sourceLineNo">553</span> * Ready a new block for writing.<a name="line.553"></a>
+<span class="sourceLineNo">554</span> *<a name="line.554"></a>
+<span class="sourceLineNo">555</span> * @throws IOException<a name="line.555"></a>
+<span class="sourceLineNo">556</span> */<a name="line.556"></a>
+<span class="sourceLineNo">557</span> protected void newBlock() throws IOException {<a name="line.557"></a>
+<span class="sourceLineNo">558</span> // This is where the next block begins.<a name="line.558"></a>
+<span class="sourceLineNo">559</span> blockWriter.startWriting(BlockType.DATA);<a name="line.559"></a>
+<span class="sourceLineNo">560</span> firstCellInBlock = null;<a name="line.560"></a>
+<span class="sourceLineNo">561</span> if (lastCell != null) {<a name="line.561"></a>
+<span class="sourceLineNo">562</span> lastCellOfPreviousBlock = lastCell;<a name="line.562"></a>
+<span class="sourceLineNo">563</span> }<a name="line.563"></a>
+<span class="sourceLineNo">564</span> }<a name="line.564"></a>
+<span class="sourceLineNo">565</span><a name="line.565"></a>
+<span class="sourceLineNo">566</span> /**<a name="line.566"></a>
+<span class="sourceLineNo">567</span> * Add a meta block to the end of the file. Call before close(). Metadata<a name="line.567"></a>
+<span class="sourceLineNo">568</span> * blocks are expensive. Fill one with a bunch of serialized data rather than<a name="line.568"></a>
+<span class="sourceLineNo">569</span> * do a metadata block per metadata instance. If metadata is small, consider<a name="line.569"></a>
+<span class="sourceLineNo">570</span> * adding to file info using {@link #appendFileInfo(byte[], byte[])}<a name="line.570"></a>
+<span class="sourceLineNo">571</span> *<a name="line.571"></a>
+<span class="sourceLineNo">572</span> * @param metaBlockName<a name="line.572"></a>
+<span class="sourceLineNo">573</span> * name of the block<a name="line.573"></a>
+<span class="sourceLineNo">574</span> * @param content<a name="line.574"></a>
+<span class="sourceLineNo">575</span> * will call readFields to get data later (DO NOT REUSE)<a name="line.575"></a>
+<span class="sourceLineNo">576</span> */<a name="line.576"></a>
+<span class="sourceLineNo">577</span> @Override<a name="line.577"></a>
+<span class="sourceLineNo">578</span> public void appendMetaBlock(String metaBlockName, Writable content) {<a name="line.578"></a>
+<span class="sourceLineNo">579</span> byte[] key = Bytes.toBytes(metaBlockName);<a name="line.579"></a>
+<span class="sourceLineNo">580</span> int i;<a name="line.580"></a>
+<span class="sourceLineNo">581</span> for (i = 0; i < metaNames.size(); ++i) {<a name="line.581"></a>
+<span class="sourceLineNo">582</span> // stop when the current key is greater than our own<a name="line.582"></a>
+<span class="sourceLineNo">583</span> byte[] cur = metaNames.get(i);<a name="line.583"></a>
+<span class="sourceLineNo">584</span> if (Bytes.BYTES_RAWCOMPARATOR.compare(cur, 0, cur.length, key, 0,<a name="line.584"></a>
+<span class="sourceLineNo">585</span> key.length) > 0) {<a name="line.585"></a>
+<span class="sourceLineNo">586</span> break;<a name="line.586"></a>
+<span class="sourceLineNo">587</span> }<a name="line.587"></a>
+<span class="sourceLineNo">588</span> }<a name="line.588"></a>
+<span class="sourceLineNo">589</span> metaNames.add(i, key);<a name="line.589"></a>
+<span class="sourceLineNo">590</span> metaData.add(i, content);<a name="line.590"></a>
+<span class="sourceLineNo">591</span> }<a name="line.591"></a>
+<span class="sourceLineNo">592</span><a name="line.592"></a>
+<span class="sourceLineNo">593</span> @Override<a name="line.593"></a>
+<span class="sourceLineNo">594</span> public void close() throws IOException {<a name="line.594"></a>
+<span class="sourceLineNo">595</span> if (outputStream == null) {<a name="line.595"></a>
+<span class="sourceLineNo">596</span> return;<a name="line.596"></a>
+<span class="sourceLineNo">597</span> }<a name="line.597"></a>
+<span class="sourceLineNo">598</span> // Save data block encoder metadata in the file info.<a name="line.598"></a>
+<span class="sourceLineNo">599</span> blockEncoder.saveMetadata(this);<a name="line.599"></a>
+<span class="sourceLineNo">600</span> // Write out the end of the data blocks, then write meta data blocks.<a name="line.600"></a>
+<span class="sourceLineNo">601</span> // followed by fileinfo, data block index and meta block index.<a name="line.601"></a>
+<span class="sourceLineNo">602</span><a name="line.602"></a>
+<span class="sourceLineNo">603</span> finishBlock();<a name="line.603"></a>
+<span class="sourceLineNo">604</span> writeInlineBlocks(true);<a name="line.604"></a>
+<span class="sourceLineNo">605</span><a name="line.605"></a>
+<span class="sourceLineNo">606</span> FixedFileTrailer trailer = new FixedFileTrailer(getMajorVersion(), getMinorVersion());<a name="line.606"></a>
+<span class="sourceLineNo">607</span><a name="line.607"></a>
+<span class="sourceLineNo">608</span> // Write out the metadata blocks if any.<a name="line.608"></a>
+<span class="sourceLineNo">609</span> if (!metaNames.isEmpty()) {<a name="line.609"></a>
+<span class="sourceLineNo">610</span> for (int i = 0; i < metaNames.size(); ++i) {<a name="line.610"></a>
+<span class="sourceLineNo">611</span> // store the beginning offset<a name="line.611"></a>
+<span class="sourceLineNo">612</span> long offset = outputStream.getPos();<a name="line.612"></a>
+<span class="sourceLineNo">613</span> // write the metadata content<a name="line.613"></a>
+<span class="sourceLineNo">614</span> DataOutputStream dos = blockWriter.startWriting(BlockType.META);<a name="line.614"></a>
+<span class="sourceLineNo">615</span> metaData.get(i).write(dos);<a name="line.615"></a>
+<span class="sourceLineNo">616</span><a name="line.616"></a>
+<span class="sourceLineNo">617</span> blockWriter.writeHeaderAndData(outputStream);<a name="line.617"></a>
+<span class="sourceLineNo">618</span> totalUncompressedBytes += blockWriter.getUncompressedSizeWithHeader();<a name="line.618"></a>
+<span class="sourceLineNo">619</span><a name="line.619"></a>
+<span class="sourceLineNo">620</span> // Add the new meta block to the meta index.<a name="line.620"></a>
+<span class="sourceLineNo">621</span> metaBlockIndexWriter.addEntry(metaNames.get(i), offset,<a name="line.621"></a>
+<span class="sourceLineNo">622</span> blockWriter.getOnDiskSizeWithHeader());<a name="line.622"></a>
+<span class="sourceLineNo">623</span> }<a name="line.623"></a>
+<span class="sourceLineNo">624</span> }<a name="line.624"></a>
+<span class="sourceLineNo">625</span><a name="line.625"></a>
+<span class="sourceLineNo">626</span> // Load-on-open section.<a name="line.626"></a>
+<span class="sourceLineNo">627</span><a name="line.627"></a>
+<span class="sourceLineNo">628</span> // Data block index.<a name="line.628"></a>
+<span class="sourceLineNo">629</span> //<a name="line.629"></a>
+<span class="sourceLineNo">630</span> // In version 2, this section of the file starts with the root level data<a name="line.630"></a>
+<span class="sourceLineNo">631</span> // block index. We call a function that writes intermediate-level blocks<a name="line.631"></a>
+<span class="sourceLineNo">632</span> // first, then root level, and returns the offset of the root level block<a name="line.632"></a>
+<span class="sourceLineNo">633</span> // index.<a name="line.633"></a>
+<span class="sourceLineNo">634</span><a name="line.634"></a>
+<span class="sourceLineNo">635</span> long rootIndexOffset = dataBlockIndexWriter.writeIndexBlocks(outputStream);<a name="line.635"></a>
+<span class="sourceLineNo">636</span> trailer.setLoadOnOpenOffset(rootIndexOffset);<a name="line.636"></a>
+<span class="sourceLineNo">637</span><a name="line.637"></a>
+<span class="sourceLineNo">638</span> // Meta block index.<a name="line.638"></a>
+<span class="sourceLineNo">639</span> metaBlockIndexWriter.writeSingleLevelIndex(blockWriter.startWriting(<a name="line.639"></a>
+<span class="sourceLineNo">640</span> BlockType.ROOT_INDEX), "meta");<a name="line.640"></a>
+<span class="sourceLineNo">641</span> blockWriter.writeHeaderAndData(outputStream);<a name="line.641"></a>
+<span class="sourceLineNo">642</span> totalUncompressedBytes += blockWriter.getUncompressedSizeWithHeader();<a name="line.642"></a>
+<span class="sourceLineNo">643</span><a name="line.643"></a>
+<span class="sourceLineNo">644</span> if (this.hFileContext.isIncludesMvcc()) {<a name="line.644"></a>
+<span class="sourceLineNo">645</span> appendFileInfo(MAX_MEMSTORE_TS_KEY, Bytes.toBytes(maxMemstoreTS));<a name="line.645"></a>
+<span class="sourceLineNo">646</span> appendFileInfo(KEY_VALUE_VERSION, Bytes.toBytes(KEY_VALUE_VER_WITH_MEMSTORE));<a name="line.646"></a>
+<span class="sourceLineNo">647</span> }<a name="line.647"></a>
+<span class="sourceLineNo">648</span><a name="line.648"></a>
+<span class="sourceLineNo">649</span> // File info<a name="line.649"></a>
+<span class="sourceLineNo">650</span> writeFileInfo(trailer, blockWriter.startWriting(BlockType.FILE_INFO));<a name="line.650"></a>
+<span class="sourceLineNo">651</span> blockWriter.writeHeaderAndData(outputStream);<a name="line.651"></a>
+<span class="sourceLineNo">652</span> totalUncompressedBytes += blockWriter.getUncompressedSizeWithHeader();<a name="line.652"></a>
+<span class="sourceLineNo">653</span><a name="line.653"></a>
+<span class="sourceLineNo">654</span> // Load-on-open data supplied by higher levels, e.g. Bloom filters.<a name="line.654"></a>
+<span class="sourceLineNo">655</span> for (BlockWritable w : additionalLoadOnOpenData){<a name="line.655"></a>
+<span class="sourceLineNo">656</span> blockWriter.writeBlock(w, outputStream);<a name="line.656"></a>
+<span class="sourceLineNo">657</span> totalUncompressedBytes += blockWriter.getUncompressedSizeWithHeader();<a name="line.657"></a>
+<span class="sourceLineNo">658</span> }<a name="line.658"></a>
+<span class="sourceLineNo">659</span><a name="line.659"></a>
+<span class="sourceLineNo">660</span> // Now finish off the trailer.<a name="line.660"></a>
+<span class="sourceLineNo">661</span> trailer.setNumDataIndexLevels(dataBlockIndexWriter.getNumLevels());<a name="line.661"></a>
+<span class="sourceLineNo">662</span> trailer.setUncompressedDataIndexSize(<a name="line.662"></a>
+<span class="sourceLineNo">663</span> dataBlockIndexWriter.getTotalUncompressedSize());<a name="line.663"></a>
+<span class="sourceLineNo">664</span> trailer.setFirstDataBlockOffset(firstDataBlockOffset);<a name="line.664"></a>
+<span class="sourceLineNo">665</span> trailer.setLastDataBlockOffset(lastDataBlockOffset);<a name="line.665"></a>
+<span class="sourceLineNo">666</span> trailer.setComparatorClass(comparator.getClass());<a name="line.666"></a>
+<span class="sourceLineNo">667</span> trailer.setDataIndexCount(dataBlockIndexWriter.getNumRootEntries());<a name="line.667"></a>
<span class="sourceLineNo">668</span><a name="line.668"></a>
-<span class="sourceLineNo">669</span> finishClose(trailer);<a name="line.669"></a>
-<span class="sourceLineNo">670</span><a name="line.670"></a>
-<span class="sourceLineNo">671</span> blockWriter.release();<a name="line.671"></a>
-<span class="sourceLineNo">672</span> }<a name="line.672"></a>
-<span class="sourceLineNo">673</span><a name="line.673"></a>
-<span class="sourceLineNo">674</span> @Override<a name="line.674"></a>
-<span class="sourceLineNo">675</span> public void addInlineBlockWriter(InlineBlockWriter ibw) {<a name="line.675"></a>
-<span class="sourceLineNo">676</span> inlineBlockWriters.add(ibw);<a name="line.676"></a>
-<span class="sourceLineNo">677</span> }<a name="line.677"></a>
-<span class="sourceLineNo">678</span><a name="line.678"></a>
-<span class="sourceLineNo">679</span> @Override<a name="line.679"></a>
-<span class="sourceLineNo">680</span> public void addGeneralBloomFilter(final BloomFilterWriter bfw) {<a name="line.680"></a>
-<span class="sourceLineNo">681</span> this.addBloomFilter(bfw, BlockType.GENERAL_BLOOM_META);<a name="line.681"></a>
-<span class="sourceLineNo">682</span> }<a name="line.682"></a>
-<span class="sourceLineNo">683</span><a name="line.683"></a>
-<span class="sourceLineNo">684</span> @Override<a name="line.684"></a>
-<span class="sourceLineNo">685</span> public void addDeleteFamilyBloomFilter(final BloomFilterWriter bfw) {<a name="line.685"></a>
-<span class="sourceLineNo">686</span> this.addBloomFilter(bfw, BlockType.DELETE_FAMILY_BLOOM_META);<a name="line.686"></a>
-<span class="sourceLineNo">687</span> }<a name="line.687"></a>
-<span class="sourceLineNo">688</span><a name="line.688"></a>
-<span class="sourceLineNo">689</span> private void addBloomFilter(final BloomFilterWriter bfw,<a name="line.689"></a>
-<span class="sourceLineNo">690</span> final BlockType blockType) {<a name="line.690"></a>
-<span class="sourceLineNo">691</span> if (bfw.getKeyCount() <= 0)<a name="line.691"></a>
-<span class="sourceLineNo">692</span> return;<a name="line.692"></a>
-<span class="sourceLineNo">693</span><a name="line.693"></a>
-<span class="sourceLineNo">694</span> if (blockType != BlockType.GENERAL_BLOOM_META &&<a name="line.694"></a>
-<span class="sourceLineNo">695</span> blockType != BlockType.DELETE_FAMILY_BLOOM_META) {<a name="line.695"></a>
-<span class="sourceLineNo">696</span> throw new RuntimeException("Block Type: " + blockType.toString() +<a name="line.696"></a>
-<span class="sourceLineNo">697</span> "is not supported");<a name="line.697"></a>
-<span class="sourceLineNo">698</span> }<a name="line.698"></a>
-<span class="sourceLineNo">699</span> additionalLoadOnOpenData.add(new BlockWritable() {<a name="line.699"></a>
-<span class="sourceLineNo">700</span> @Override<a name="line.700"></a>
-<span class="sourceLineNo">701</span> public BlockType getBlockType() {<a name="line.701"></a>
-<span class="sourceLineNo">702</span> return blockType;<a name="line.702"></a>
-<span class="sourceLineNo">703</span> }<a name="line.703"></a>
-<span class="sourceLineNo">704</span><a name="line.704"></a>
-<span class="sourceLineNo">705</span> @Override<a name="line.705"></a>
-<span class="sourceLineNo">706</span> public void writeToBlock(DataOutput out) throws IOException {<a name="line.706"></a>
-<span class="sourceLineNo">707</span> bfw.getMetaWriter().write(out);<a name="line.707"></a>
-<span class="sourceLineNo">708</span> Writable dataWriter = bfw.getDataWriter();<a name="line.708"></a>
-<span class="sourceLineNo">709</span> if (dataWriter != null)<a name="line.709"></a>
-<span class="sourceLineNo">710</span> dataWriter.write(out);<a name="line.710"></a>
-<span class="sourceLineNo">711</span> }<a name="line.711"></a>
-<span class="sourceLineNo">712</span> });<a name="line.712"></a>
-<span class="sourceLineNo">713</span> }<a name="line.713"></a>
-<span class="sourceLineNo">714</span><a name="line.714"></a>
-<span class="sourceLineNo">715</span> @Override<a name="line.715"></a>
-<span class="sourceLineNo">716</span> public HFileContext getFileContext() {<a name="line.716"></a>
-<span class="sourceLineNo">717</span> return hFileContext;<a name="line.717"></a>
-<span class="sourceLineNo">718</span> }<a name="line.718"></a>
-<span class="sourceLineNo">719</span><a name="line.719"></a>
-<span class="sourceLineNo">720</span> /**<a name="line.720"></a>
-<span class="sourceLineNo">721</span> * Add key/value to file. Keys must be added in an order that agrees with the<a name="line.721"></a>
-<span class="sourceLineNo">722</span> * Comparator passed on construction.<a name="line.722"></a>
-<span class="sourceLineNo">723</span> *<a name="line.723"></a>
-<span class="sourceLineNo">724</span> * @param cell<a name="line.724"></a>
-<span class="sourceLineNo">725</span> * Cell to add. Cannot be empty nor null.<a name="line.725"></a>
-<span class="sourceLineNo">726</span> * @throws IOException<a name="line.726"></a>
-<span class="sourceLineNo">727</span> */<a name="line.727"></a>
-<span class="sourceLineNo">728</span> @Override<a name="line.728"></a>
-<span class="sourceLineNo">729</span> public void append(final Cell cell) throws IOException {<a name="line.729"></a>
-<span class="sourceLineNo">730</span> // checkKey uses comparator to check we are writing in order.<a name="line.730"></a>
-<span class="sourceLineNo">731</span> boolean dupKey = checkKey(cell);<a name="line.731"></a>
-<span class="sourceLineNo">732</span> if (!dupKey) {<a name="line.732"></a>
-<span class="sourceLineNo">733</span> checkBlockBoundary();<a name="line.733"></a>
-<span class="sourceLineNo">734</span> }<a name="line.734"></a>
-<span class="sourceLineNo">735</span><a name="line.735"></a>
-<span class="sourceLineNo">736</span> if (!blockWriter.isWriting()) {<a name="line.736"></a>
-<span class="sourceLineNo">737</span> newBlock();<a name="line.737"></a>
-<span class="sourceLineNo">738</span> }<a name="line.738"></a>
-<span class="sourceLineNo">739</span><a name="line.739"></a>
-<span class="sourceLineNo">740</span> blockWriter.write(cell);<a name="line.740"></a>
-<span class="sourceLineNo">741</span><a name="line.741"></a>
-<span class="sourceLineNo">742</span> totalKeyLength += PrivateCellUtil.estimatedSerializedSizeOfKey(cell);<a name="line.742"></a>
-<span class="sourceLineNo">743</span> totalValueLength += cell.getValueLength();<a name="line.743"></a>
-<span class="sourceLineNo">744</span><a name="line.744"></a>
-<span class="sourceLineNo">745</span> // Are we the first key in this block?<a name="line.745"></a>
-<span class="sourceLineNo">746</span> if (firstCellInBlock == null) {<a name="line.746"></a>
-<span class="sourceLineNo">747</span> // If cell is big, block will be closed and this firstCellInBlock reference will only last<a name="line.747"></a>
-<span class="sourceLineNo">748</span> // a short while.<a name="line.748"></a>
-<span class="sourceLineNo">749</span> firstCellInBlock = cell;<a name="line.749"></a>
-<span class="sourceLineNo">750</span> }<a name="line.750"></a>
-<span class="sourceLineNo">751</span><a name="line.751"></a>
-<span class="sourceLineNo">752</span> // TODO: What if cell is 10MB and we write infrequently? We hold on to cell here indefinitely?<a name="line.752"></a>
-<span class="sourceLineNo">753</span> lastCell = cell;<a name="line.753"></a>
-<span class="sourceLineNo">754</span> entryCount++;<a name="line.754"></a>
-<span class="sourceLineNo">755</span> this.maxMemstoreTS = Math.max(this.maxMemstoreTS, cell.getSequenceId());<a name="line.755"></a>
-<span class="sourceLineNo">756</span> int tagsLength = cell.getTagsLength();<a name="line.756"></a>
-<span class="sourceLineNo">757</span> if (tagsLength > this.maxTagsLength) {<a name="line.757"></a>
-<span class="sourceLineNo">758</span> this.maxTagsLength = tagsLength;<a name="line.758"></a>
-<span class="sourceLineNo">759</span> }<a name="line.759"></a>
-<span class="sourceLineNo">760</span> }<a name="line.760"></a>
-<span class="sourceLineNo">761</span><a name="line.761"></a>
-<span class="sourceLineNo">762</span> @Override<a name="line.762"></a>
-<span class="sourceLineNo">763</span> public void beforeShipped() throws IOException {<a name="line.763"></a>
-<span class="sourceLineNo">764</span> // Add clone methods for every cell<a name="line.764"></a>
-<span class="sourceLineNo">765</span> if (this.lastCell != null) {<a name="line.765"></a>
-<span class="sourceLineNo">766</span> this.lastCell = KeyValueUtil.toNewKeyCell(this.lastCell);<a name="line.766"></a>
-<span class="sourceLineNo">767</span> }<a name="line.767"></a>
-<span class="sourceLineNo">768</span> if (this.firstCellInBlock != null) {<a name="line.768"></a>
-<span class="sourceLineNo">769</span> this.firstCellInBlock = KeyValueUtil.toNewKeyCell(this.firstCellInBlock);<a name="line.769"></a>
-<span class="sourceLineNo">770</span> }<a name="line.770"></a>
-<span class="sourceLineNo">771</span> if (this.lastCellOfPreviousBlock != null) {<a name="line.771"></a>
-<span class="sourceLineNo">772</span> this.lastCellOfPreviousBlock = KeyValueUtil.toNewKeyCell(this.lastCellOfPreviousBlock);<a name="line.772"></a>
-<span class="sourceLineNo">773</span> }<a name="line.773"></a>
-<span class="sourceLineNo">774</span> }<a name="line.774"></a>
-<span class="sourceLineNo">775</span><a name="line.775"></a>
-<span class="sourceLineNo">776</span> protected void finishFileInfo() throws IOException {<a name="line.776"></a>
-<span class="sourceLineNo">777</span> if (lastCell != null) {<a name="line.777"></a>
-<span class="sourceLineNo">778</span> // Make a copy. The copy is stuffed into our fileinfo map. Needs a clean<a name="line.778"></a>
-<span class="sourceLineNo">779</span> // byte buffer. Won't take a tuple.<a name="line.779"></a>
-<span class="sourceLineNo">780</span> byte [] lastKey = PrivateCellUtil.getCellKeySerializedAsKeyValueKey(this.lastCell);<a name="line.780"></a>
-<span class="sourceLineNo">781</span> fileInfo.append(FileInfo.LASTKEY, lastKey, false);<a name="line.781"></a>
-<span class="sourceLineNo">782</span> }<a name="line.782"></a>
-<span class="sourceLineNo">783</span><a name="line.783"></a>
-<span class="sourceLineNo">784</span> // Average key length.<a name="line.784"></a>
-<span class="sourceLineNo">785</span> int avgKeyLen =<a name="line.785"></a>
-<span class="sourceLineNo">786</span> entryCount == 0 ? 0 : (int) (totalKeyLength / entryCount);<a name="line.786"></a>
-<span class="sourceLineNo">787</span> fileInfo.append(FileInfo.AVG_KEY_LEN, Bytes.toBytes(avgKeyLen), false);<a name="line.787"></a>
-<span class="sourceLineNo">788</span> fileInfo.append(FileInfo.CREATE_TIME_TS, Bytes.toBytes(hFileContext.getFileCreateTime()),<a name="line.788"></a>
-<span class="sourceLineNo">789</span> false);<a name="line.789"></a>
-<span class="sourceLineNo">790</span><a name="line.790"></a>
-<span class="sourceLineNo">791</span> // Average value length.<a name="line.791"></a>
-<span class="sourceLineNo">792</span> int avgValueLen =<a name="line.792"></a>
-<span class="sourceLineNo">793</span> entryCount == 0 ? 0 : (int) (totalValueLength / entryCount);<a name="line.793"></a>
-<span class="sourceLineNo">794</span> fileInfo.append(FileInfo.AVG_VALUE_LEN, Bytes.toBytes(avgValueLen), false);<a name="line.794"></a>
-<span class="sourceLineNo">795</span> if (hFileContext.isIncludesTags()) {<a name="line.795"></a>
-<span class="sourceLineNo">796</span> // When tags are not being written in this file, MAX_TAGS_LEN is excluded<a name="line.796"></a>
-<span class="sourceLineNo">797</span> // from the FileInfo<a name="line.797"></a>
-<span class="sourceLineNo">798</span> fileInfo.append(FileInfo.MAX_TAGS_LEN, Bytes.toBytes(this.maxTagsLength), false);<a name="line.798"></a>
-<span class="sourceLineNo">799</span> boolean tagsCompressed = (hFileContext.getDataBlockEncoding() != DataBlockEncoding.NONE)<a name="line.799"></a>
-<span class="sourceLineNo">800</span> && hFileContext.isCompressTags();<a name="line.800"></a>
-<span class="sourceLineNo">801</span> fileInfo.append(FileInfo.TAGS_COMPRESSED, Bytes.toBytes(tagsCompressed), false);<a name="line.801"></a>
-<span class="sourceLineNo">802</span> }<a name="line.802"></a>
-<span class="sourceLineNo">803</span> }<a name="line.803"></a>
-<span class="sourceLineNo">804</span><a name="line.804"></a>
-<span class="sourceLineNo">805</span> protected int getMajorVersion() {<a name="line.805"></a>
-<span class="sourceLineNo">806</span> return 3;<a name="line.806"></a>
-<span class="sourceLineNo">807</span> }<a name="line.807"></a>
-<span class="sourceLineNo">808</span><a name="line.808"></a>
-<span class="sourceLineNo">809</span> protected int getMinorVersion() {<a name="line.809"></a>
-<span class="sourceLineNo">810</span> return HFileReaderImpl.MAX_MINOR_VERSION;<a name="line.810"></a>
-<span class="sourceLineNo">811</span> }<a name="line.811"></a>
-<span class="sourceLineNo">812</span><a name="line.812"></a>
-<span class="sourceLineNo">813</span> protected void finishClose(FixedFileTrailer trailer) throws IOException {<a name="line.813"></a>
-<span class="sourceLineNo">814</span> // Write out encryption metadata before finalizing if we have a valid crypto context<a name="line.814"></a>
-<span class="sourceLineNo">815</span> Encryption.Context cryptoContext = hFileContext.getEncryptionContext();<a name="line.815"></a>
-<span class="sourceLineNo">816</span> if (cryptoContext != Encryption.Context.NONE) {<a name="line.816"></a>
-<span class="sourceLineNo">817</span> // Wrap the context's key and write it as the encryption metadata, the wrapper includes<a name="line.817"></a>
-<span class="sourceLineNo">818</span> // all information needed for decryption<a name="line.818"></a>
-<span class="sourceLineNo">819</span> trailer.setEncryptionKey(EncryptionUtil.wrapKey(cryptoContext.getConf(),<a name="line.819"></a>
-<span class="sourceLineNo">820</span> cryptoContext.getConf().get(HConstants.CRYPTO_MASTERKEY_NAME_CONF_KEY,<a name="line.820"></a>
-<span class="sourceLineNo">821</span> User.getCurrent().getShortName()),<a name="line.821"></a>
-<span class="sourceLineNo">822</span> cryptoContext.getKey()));<a name="line.822"></a>
-<span class="sourceLineNo">823</span> }<a name="line.823"></a>
-<span class="sourceLineNo">824</span> // Now we can finish the close<a name="line.824"></a>
-<span class="sourceLineNo">825</span> trailer.setMetaIndexCount(metaNames.size());<a name="line.825"></a>
-<span class="sourceLineNo">826</span> trailer.setTotalUncompressedBytes(totalUncompressedBytes+ trailer.getTrailerSize());<a name="line.826"></a>
-<span class="sourceLineNo">827</span> trailer.setEntryCount(entryCount);<a name="line.827"></a>
-<span class="sourceLineNo">828</span> trailer.setCompressionCodec(hFileContext.getCompression());<a name="line.828"></a>
-<span class="sourceLineNo">829</span><a name="line.829"></a>
-<span class="sourceLineNo">830</span> long startTime = System.currentTimeMillis();<a name="line.830"></a>
-<span class="sourceLineNo">831</span> trailer.serialize(outputStream);<a name="line.831"></a>
-<span class="sourceLineNo">832</span> HFile.updateWriteLatency(System.currentTimeMillis() - startTime);<a name="line.832"></a>
-<span class="sourceLineNo">833</span><a name="line.833"></a>
-<span class="sourceLineNo">834</span> if (closeOutputStream) {<a name="line.834"></a>
-<span class="sourceLineNo">835</span> outputStream.close();<a name="line.835"></a>
-<span class="sourceLineNo">836</span> outputStream = null;<a name="line.836"></a>
-<span class="sourceLineNo">837</span> }<a name="line.837"></a>
-<span class="sourceLineNo">838</span> }<a name="line.838"></a>
-<span class="sourceLineNo">839</span>}<a name="line.839"></a>
+<span class="sourceLineNo">669</span><a name="line.669"></a>
+<span class="sourceLineNo">670</span> finishClose(trailer);<a name="line.670"></a>
+<span class="sourceLineNo">671</span><a name="line.671"></a>
+<span class="sourceLineNo">672</span> blockWriter.release();<a name="line.672"></a>
+<span class="sourceLineNo">673</span> }<a name="line.673"></a>
+<span class="sourceLineNo">674</span><a name="line.674"></a>
+<span class="sourceLineNo">675</span> @Override<a name="line.675"></a>
+<span class="sourceLineNo">676</span> public void addInlineBlockWriter(InlineBlockWriter ibw) {<a name="line.676"></a>
+<span class="sourceLineNo">677</span> inlineBlockWriters.add(ibw);<a name="line.677"></a>
+<span class="sourceLineNo">678</span> }<a name="line.678"></a>
+<span class="sourceLineNo">679</span><a name="line.679"></a>
+<span class="sourceLineNo">680</span> @Override<a name="line.680"></a>
+<span class="sourceLineNo">681</span> public void addGeneralBloomFilter(final BloomFilterWriter bfw) {<a name="line.681"></a>
+<span class="sourceLineNo">682</span> this.addBloomFilter(bfw, BlockType.GENERAL_BLOOM_META);<a name="line.682"></a>
+<span class="sourceLineNo">683</span> }<a name="line.683"></a>
+<span class="sourceLineNo">684</span><a name="line.684"></a>
+<span class="sourceLineNo">685</span> @Override<a name="line.685"></a>
+<span class="sourceLineNo">686</span> public void addDeleteFamilyBloomFilter(final BloomFilterWriter bfw) {<a name="line.686"></a>
+<span class="sourceLineNo">687</span> this.addBloomFilter(bfw, BlockType.DELETE_FAMILY_BLOOM_META);<a name="line.687"></a>
+<span class="sourceLineNo">688</span> }<a name="line.688"></a>
+<span class="sourceLineNo">689</span><a name="line.689"></a>
+<span class="sourceLineNo">690</span> private void addBloomFilter(final BloomFilterWriter bfw,<a name="line.690"></a>
+<span class="sourceLineNo">691</span> final BlockType blockType) {<a name="line.691"></a>
+<span class="sourceLineNo">692</span> if (bfw.getKeyCount() <= 0)<a name="line.692"></a>
+<span class="sourceLineNo">693</span> return;<a name="line.693"></a>
+<span class="sourceLineNo">694</span><a name="line.694"></a>
+<span class="sourceLineNo">695</span> if (blockType != BlockType.GENERAL_BLOOM_META &&<a name="line.695"></a>
+<span class="sourceLineNo">696</span> blockType != BlockType.DELETE_FAMILY_BLOOM_META) {<a name="line.696"></a>
+<span class="sourceLineNo">697</span> throw new RuntimeException("Block Type: " + blockType.toString() +<a name="line.697"></a>
+<span class="sourceLineNo">698</span> "is not supported");<a name="line.698"></a>
+<span class="sourceLineNo">699</span> }<a name="line.699"></a>
+<span class="sourceLineNo">700</span> additionalLoadOnOpenData.add(new BlockWritable() {<a name="line.700"></a>
+<span class="sourceLineNo">701</span> @Override<a name="line.701"></a>
+<span class="sourceLineNo">702</span> public BlockType getBlockType() {<a name="line.702"></a>
+<span class="sourceLineNo">703</span> return blockType;<a name="line.703"></a>
+<span class="sourceLineNo">704</span> }<a name="line.704"></a>
+<span class="sourceLineNo">705</span><a name="line.705"></a>
+<span class="sourceLineNo">706</span> @Override<a name="line.706"></a>
+<span class="sourceLineNo">707</span> public void writeToBlock(DataOutput out) throws IOException {<a name="line.707"></a>
+<span class="sourceLineNo">708</span> bfw.getMetaWriter().write(out);<a name="line.708"></a>
+<span class="sourceLineNo">709</span> Writable dataWriter = bfw.getDataWriter();<a name="line.709"></a>
+<span class="sourceLineNo">710</span> if (dataWriter != null)<a name="line.710"></a>
+<span class="sourceLineNo">711</span> dataWriter.write(out);<a name="line.711"></a>
+<span class="sourceLineNo">712</span> }<a name="line.712"></a>
+<span class="sourceLineNo">713</span> });<a name="line.713"></a>
+<span class="sourceLineNo">714</span> }<a name="line.714"></a>
+<span class="sourceLineNo">715</span><a name="line.715"></a>
+<span class="sourceLineNo">716</span> @Override<a name="line.716"></a>
+<span class="sourceLineNo">717</span> public HFileContext getFileContext() {<a name="line.717"></a>
+<span class="sourceLineNo">718</span> return hFileContext;<a name="line.718"></a>
+<span class="sourceLineNo">719</span> }<a name="line.719"></a>
+<span class="sourceLineNo">720</span><a name="line.720"></a>
+<span class="sourceLineNo">721</span> /**<a name="line.721"></a>
+<span class="sourceLineNo">722</span> * Add key/value to file. Keys must be added in an order that agrees with the<a name="line.722"></a>
+<span class="sourceLineNo">723</span> * Comparator passed on construction.<a name="line.723"></a>
+<span class="sourceLineNo">724</span> *<a name="line.724"></a>
+<span class="sourceLineNo">725</span> * @param cell<a name="line.725"></a>
+<span class="sourceLineNo">726</span> * Cell to add. Cannot be empty nor null.<a name="line.726"></a>
+<span class="sourceLineNo">727</span> * @throws IOException<a name="line.727"></a>
+<span class="sourceLineNo">728</span> */<a name="line.728"></a>
+<span class="sourceLineNo">729</span> @Override<a name="line.729"></a>
+<span class="sourceLineNo">730</span> public void append(final Cell cell) throws IOException {<a name="line.730"></a>
+<span class="sourceLineNo">731</span> // checkKey uses comparator to check we are writing in order.<a name="line.731"></a>
+<span class="sourceLineNo">732</span> boolean dupKey = checkKey(cell);<a name="line.732"></a>
+<span class="sourceLineNo">733</span> if (!dupKey) {<a name="line.733"></a>
+<span class="sourceLineNo">734</span> checkBlockBoundary();<a name="line.734"></a>
+<span class="sourceLineNo">735</span> }<a name="line.735"></a>
+<span class="sourceLineNo">736</span><a name="line.736"></a>
+<span class="sourceLineNo">737</span> if (!blockWriter.isWriting()) {<a name="line.737"></a>
+<span class="sourceLineNo">738</span> newBlock();<a name="line.738"></a>
+<span class="sourceLineNo">739</span> }<a name="line.739"></a>
+<span class="sourceLineNo">740</span><a name="line.740"></a>
+<span class="sourceLineNo">741</span> blockWriter.write(cell);<a name="line.741"></a>
+<span class="sourceLineNo">742</span><a name="line.742"></a>
+<span class="sourceLineNo">743</span> totalKeyLength += PrivateCellUtil.estimatedSerializedSizeOfKey(cell);<a name="line.743"></a>
+<span class="sourceLineNo">744</span> totalValueLength += cell.getValueLength();<a name="line.744"></a>
+<span class="sourceLineNo">745</span><a name="line.745"></a>
+<span class="sourceLineNo">746</span> // Are we the first key in this block?<a name="line.746"></a>
+<span class="sourceLineNo">747</span> if (firstCellInBlock == null) {<a name="line.747"></a>
+<span class="sourceLineNo">748</span> // If cell is big, block will be closed and this firstCellInBlock reference will only last<a name="line.748"></a>
+<span class="sourceLineNo">749</span> // a short while.<a name="line.749"></a>
+<span class="sourceLineNo">750</span> firstCellInBlock = cell;<a name="line.750"></a>
+<span class="sourceLineNo">751</span> }<a name="line.751"></a>
+<span class="sourceLineNo">752</span><a name="line.752"></a>
+<span class="sourceLineNo">753</span> // TODO: What if cell is 10MB and we write infrequently? We hold on to cell here indefinitely?<a name="line.753"></a>
+<span class="sourceLineNo">754</span> lastCell = cell;<a name="line.754"></a>
+<span class="sourceLineNo">755</span> entryCount++;<a name="line.755"></a>
+<span class="sourceLineNo">756</span> this.maxMemstoreTS = Math.max(this.maxMemstoreTS, cell.getSequenceId());<a name="line.756"></a>
+<span class="sourceLineNo">757</span> int tagsLength = cell.getTagsLength();<a name="line.757"></a>
+<span class="sourceLineNo">758</span> if (tagsLength > this.maxTagsLength) {<a name="line.758"></a>
+<span class="sourceLineNo">759</span> this.maxTagsLength = tagsLength;<a name="line.759"></a>
+<span class="sourceLineNo">760</span> }<a name="line.760"></a>
+<span class="sourceLineNo">761</span> }<a name="line.761"></a>
+<span class="sourceLineNo">762</span><a name="line.762"></a>
+<span class="sourceLineNo">763</span> @Override<a name="line.763"></a>
+<span class="sourceLineNo">764</span> public void beforeShipped() throws IOException {<a name="line.764"></a>
+<span class="sourceLineNo">765</span> // Add clone methods for every cell<a name="line.765"></a>
+<span class="sourceLineNo">766</span> if (this.lastCell != null) {<a name="line.766"></a>
+<span class="sourceLineNo">767</span> this.lastCell = KeyValueUtil.toNewKeyCell(this.lastCell);<a name="line.767"></a>
+<span class="sourceLineNo">768</span> }<a name="line.768"></a>
+<span class="sourceLineNo">769</span> if (this.firstCellInBlock != null) {<a name="line.769"></a>
+<span class="sourceLineNo">770</span> this.firstCellInBlock = KeyValueUtil.toNewKeyCell(this.firstCellInBlock);<a name="line.770"></a>
+<span class="sourceLineNo">771</span> }<a name="line.771"></a>
+<span class="sourceLineNo">772</span> if (this.lastCellOfPreviousBlock != null) {<a name="line.772"></a>
+<span class="sourceLineNo">773</span> this.lastCellOfPreviousBlock = KeyValueUtil.toNewKeyCell(this.lastCellOfPreviousBlock);<a name="line.773"></a>
+<span class="sourceLineNo">774</span> }<a name="line.774"></a>
+<span class="sourceLineNo">775</span> }<a name="line.775"></a>
+<span class="sourceLineNo">776</span><a name="line.776"></a>
+<span class="sourceLineNo">777</span> protected void finishFileInfo() throws IOException {<a name="line.777"></a>
+<span class="sourceLineNo">778</span> if (lastCell != null) {<a name="line.778"></a>
+<span class="sourceLineNo">779</span> // Make a copy. The copy is stuffed into our fileinfo map. Needs a clean<a name="line.779"></a>
+<span class="sourceLineNo">780</span> // byte buffer. Won't take a tuple.<a name="line.780"></a>
+<span class="sourceLineNo">781</span> byte [] lastKey = PrivateCellUtil.getCellKeySerializedAsKeyValueKey(this.lastCell);<a name="line.781"></a>
+<span class="sourceLineNo">782</span> fileInfo.append(FileInfo.LASTKEY, lastKey, false);<a name="line.782"></a>
+<span class="sourceLineNo">783</span> }<a name="line.783"></a>
+<span class="sourceLineNo">784</span><a name="line.784"></a>
+<span class="sourceLineNo">785</span> // Average key length.<a name="line.785"></a>
+<span class="sourceLineNo">786</span> int avgKeyLen =<a name="line.786"></a>
+<span class="sourceLineNo">787</span> entryCount == 0 ? 0 : (int) (totalKeyLength / entryCount);<a name="line.787"></a>
+<span class="sourceLineNo">788</span> fileInfo.append(FileInfo.AVG_KEY_LEN, Bytes.toBytes(avgKeyLen), false);<a name="line.788"></a>
+<span class="sourceLineNo">789</span> fileInfo.append(FileInfo.CREATE_TIME_TS, Bytes.toBytes(hFileContext.getFileCreateTime()),<a name="line.789"></a>
+<span class="sourceLineNo">790</span> false);<a name="line.790"></a>
+<span class="sourceLineNo">791</span><a name="line.791"></a>
+<span class="sourceLineNo">792</span> // Average value length.<a name="line.792"></a>
+<span class="sourceLineNo">793</span> int avgValueLen =<a name="line.793"></a>
+<span class="sourceLineNo">794</span> entryCount == 0 ? 0 : (int) (totalValueLength / entryCount);<a name="line.794"></a>
+<span class="sourceLineNo">795</span> fileInfo.append(FileInfo.AVG_VALUE_LEN, Bytes.toBytes(avgValueLen), false);<a name="line.795"></a>
+<span class="sourceLineNo">796</span> if (hFileContext.isIncludesTags()) {<a name="line.796"></a>
+<span class="sourceLineNo">797</span> // When tags are not being written in this file, MAX_TAGS_LEN is excluded<a name="line.797"></a>
+<span class="sourceLineNo">798</span> // from the FileInfo<a name="line.798"></a>
+<span class="sourceLineNo">799</span> fileInfo.append(FileInfo.MAX_TAGS_LEN, Bytes.toBytes(this.maxTagsLength), false);<a name="line.799"></a>
+<span class="sourceLineNo">800</span> boolean tagsCompressed = (hFileContext.getDataBlockEncoding() != DataBlockEncoding.NONE)<a name="line.800"></a>
+<span class="sourceLineNo">801</span> && hFileContext.isCompressTags();<a name="line.801"></a>
+<span class="sourceLineNo">802</span> fileInfo.append(FileInfo.TAGS_COMPRESSED, Bytes.toBytes(tagsCompressed), false);<a name="line.802"></a>
+<span class="sourceLineNo">803</span> }<a name="line.803"></a>
+<span class="sourceLineNo">804</span> }<a name="line.804"></a>
+<span class="sourceLineNo">805</span><a name="line.805"></a>
+<span class="sourceLineNo">806</span> protected int getMajorVersion() {<a name="line.806"></a>
+<span class="sourceLineNo">807</span> return 3;<a name="line.807"></a>
+<span class="sourceLineNo">808</span> }<a name="line.808"></a>
+<span class="sourceLineNo">809</span><a name="line.809"></a>
+<span class="sourceLineNo">810</span> protected int getMinorVersion() {<a name="line.810"></a>
+<span class="sourceLineNo">811</span> return HFileReaderImpl.MAX_MINOR_VERSION;<a name="line.811"></a>
+<span class="sourceLineNo">812</span> }<a name="line.812"></a>
+<span class="sourceLineNo">813</span><a name="line.813"></a>
+<span class="sourceLineNo">814</span> protected void finishClose(FixedFileTrailer trailer) throws IOException {<a name="line.814"></a>
+<span class="sourceLineNo">815</span> // Write out encryption metadata before finalizing if we have a valid crypto context<a name="line.815"></a>
+<span class="sourceLineNo">816</span> Encryption.Context cryptoContext = hFileContext.getEncryptionContext();<a name="line.816"></a>
+<span class="sourceLineNo">817</span> if (cryptoContext != Encryption.Context.NONE) {<a name="line.817"></a>
+<span class="sourceLineNo">818</span> // Wrap the context's key and write it as the encryption metadata, the wrapper includes<a name="line.818"></a>
+<span class="sourceLineNo">819</span> // all information needed for decryption<a name="line.819"></a>
+<span class="sourceLineNo">820</span> trailer.setEncryptionKey(EncryptionUtil.wrapKey(cryptoContext.getConf(),<a name="line.820"></a>
+<span class="sourceLineNo">821</span> cryptoContext.getConf().get(HConstants.CRYPTO_MASTERKEY_NAME_CONF_KEY,<a name="line.821"></a>
+<span class="sourceLineNo">822</span> User.getCurrent().getShortName()),<a name="line.822"></a>
+<span class="sourceLineNo">823</span> cryptoContext.getKey()));<a name="line.823"></a>
+<span class="sourceLineNo">824</span> }<a name="line.824"></a>
+<span class="sourceLineNo">825</span> // Now we can finish the close<a name="line.825"></a>
+<span class="sourceLineNo">826</span> trailer.setMetaIndexCount(metaNames.size());<a name="line.826"></a>
+<span class="sourceLineNo">827</span> trailer.setTotalUncompressedBytes(totalUncompressedBytes+ trailer.getTrailerSize());<a name="line.827"></a>
+<span class="sourceLineNo">828</span> trailer.setEntryCount(entryCount);<a name="line.828"></a>
+<span class="sourceLineNo">829</span> trailer.setCompressionCodec(hFileContext.getCompression());<a name="line.829"></a>
+<span class="sourceLineNo">830</span><a name="line.830"></a>
+<span class="sourceLineNo">831</span> long startTime = System.currentTimeMillis();<a name="line.831"></a>
+<span class="sourceLineNo">832</span> trailer.serialize(outputStream);<a name="line.832"></a>
+<span class="sourceLineNo">833</span> HFile.updateWriteLatency(System.currentTimeMillis() - startTime);<a name="line.833"></a>
+<span class="sourceLineNo">834</span><a name="line.834"></a>
+<span class="sourceLineNo">835</span> if (closeOutputStream) {<a name="line.835"></a>
+<span class="sourceLineNo">836</span> outputStream.close();<a name="line.836"></a>
+<span class="sourceLineNo">837</span> outputStream = null;<a name="line.837"></a>
+<span class="sourceLineNo">838</span> }<a name="line.838"></a>
+<span class="sourceLineNo">839</span> }<a name="line.839"></a>
+<span class="sourceLineNo">840</span>}<a name="line.840"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.Bucket.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.Bucket.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.Bucket.html
index 29f1b92..65b7a57 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.Bucket.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.Bucket.html
@@ -37,11 +37,11 @@
<span class="sourceLineNo">029</span>import java.util.Set;<a name="line.29"></a>
<span class="sourceLineNo">030</span>import java.util.concurrent.atomic.LongAdder;<a name="line.30"></a>
<span class="sourceLineNo">031</span><a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.slf4j.Logger;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.slf4j.LoggerFactory;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheKey;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.io.hfile.CacheConfig;<a name="line.36"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheFactory;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.slf4j.Logger;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.slf4j.LoggerFactory;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheKey;<a name="line.36"></a>
<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.BucketEntry;<a name="line.37"></a>
<span class="sourceLineNo">038</span>import com.fasterxml.jackson.annotation.JsonIgnoreProperties;<a name="line.38"></a>
<span class="sourceLineNo">039</span><a name="line.39"></a>
@@ -459,7 +459,7 @@
<span class="sourceLineNo">451</span> BucketSizeInfo bsi = roundUpToBucketSizeInfo(blockSize);<a name="line.451"></a>
<span class="sourceLineNo">452</span> if (bsi == null) {<a name="line.452"></a>
<span class="sourceLineNo">453</span> throw new BucketAllocatorException("Allocation too big size=" + blockSize +<a name="line.453"></a>
-<span class="sourceLineNo">454</span> "; adjust BucketCache sizes " + CacheConfig.BUCKET_CACHE_BUCKETS_KEY +<a name="line.454"></a>
+<span class="sourceLineNo">454</span> "; adjust BucketCache sizes " + BlockCacheFactory.BUCKET_CACHE_BUCKETS_KEY +<a name="line.454"></a>
<span class="sourceLineNo">455</span> " to accomodate if size seems reasonable and you want it cached.");<a name="line.455"></a>
<span class="sourceLineNo">456</span> }<a name="line.456"></a>
<span class="sourceLineNo">457</span> long offset = bsi.allocateBlock();<a name="line.457"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.BucketSizeInfo.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.BucketSizeInfo.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.BucketSizeInfo.html
index 29f1b92..65b7a57 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.BucketSizeInfo.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.BucketSizeInfo.html
@@ -37,11 +37,11 @@
<span class="sourceLineNo">029</span>import java.util.Set;<a name="line.29"></a>
<span class="sourceLineNo">030</span>import java.util.concurrent.atomic.LongAdder;<a name="line.30"></a>
<span class="sourceLineNo">031</span><a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.slf4j.Logger;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.slf4j.LoggerFactory;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheKey;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.io.hfile.CacheConfig;<a name="line.36"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheFactory;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.slf4j.Logger;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.slf4j.LoggerFactory;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheKey;<a name="line.36"></a>
<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.BucketEntry;<a name="line.37"></a>
<span class="sourceLineNo">038</span>import com.fasterxml.jackson.annotation.JsonIgnoreProperties;<a name="line.38"></a>
<span class="sourceLineNo">039</span><a name="line.39"></a>
@@ -459,7 +459,7 @@
<span class="sourceLineNo">451</span> BucketSizeInfo bsi = roundUpToBucketSizeInfo(blockSize);<a name="line.451"></a>
<span class="sourceLineNo">452</span> if (bsi == null) {<a name="line.452"></a>
<span class="sourceLineNo">453</span> throw new BucketAllocatorException("Allocation too big size=" + blockSize +<a name="line.453"></a>
-<span class="sourceLineNo">454</span> "; adjust BucketCache sizes " + CacheConfig.BUCKET_CACHE_BUCKETS_KEY +<a name="line.454"></a>
+<span class="sourceLineNo">454</span> "; adjust BucketCache sizes " + BlockCacheFactory.BUCKET_CACHE_BUCKETS_KEY +<a name="line.454"></a>
<span class="sourceLineNo">455</span> " to accomodate if size seems reasonable and you want it cached.");<a name="line.455"></a>
<span class="sourceLineNo">456</span> }<a name="line.456"></a>
<span class="sourceLineNo">457</span> long offset = bsi.allocateBlock();<a name="line.457"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.IndexStatistics.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.IndexStatistics.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.IndexStatistics.html
index 29f1b92..65b7a57 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.IndexStatistics.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.IndexStatistics.html
@@ -37,11 +37,11 @@
<span class="sourceLineNo">029</span>import java.util.Set;<a name="line.29"></a>
<span class="sourceLineNo">030</span>import java.util.concurrent.atomic.LongAdder;<a name="line.30"></a>
<span class="sourceLineNo">031</span><a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.slf4j.Logger;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.slf4j.LoggerFactory;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheKey;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.io.hfile.CacheConfig;<a name="line.36"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheFactory;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.slf4j.Logger;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.slf4j.LoggerFactory;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheKey;<a name="line.36"></a>
<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.BucketEntry;<a name="line.37"></a>
<span class="sourceLineNo">038</span>import com.fasterxml.jackson.annotation.JsonIgnoreProperties;<a name="line.38"></a>
<span class="sourceLineNo">039</span><a name="line.39"></a>
@@ -459,7 +459,7 @@
<span class="sourceLineNo">451</span> BucketSizeInfo bsi = roundUpToBucketSizeInfo(blockSize);<a name="line.451"></a>
<span class="sourceLineNo">452</span> if (bsi == null) {<a name="line.452"></a>
<span class="sourceLineNo">453</span> throw new BucketAllocatorException("Allocation too big size=" + blockSize +<a name="line.453"></a>
-<span class="sourceLineNo">454</span> "; adjust BucketCache sizes " + CacheConfig.BUCKET_CACHE_BUCKETS_KEY +<a name="line.454"></a>
+<span class="sourceLineNo">454</span> "; adjust BucketCache sizes " + BlockCacheFactory.BUCKET_CACHE_BUCKETS_KEY +<a name="line.454"></a>
<span class="sourceLineNo">455</span> " to accomodate if size seems reasonable and you want it cached.");<a name="line.455"></a>
<span class="sourceLineNo">456</span> }<a name="line.456"></a>
<span class="sourceLineNo">457</span> long offset = bsi.allocateBlock();<a name="line.457"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.html
index 29f1b92..65b7a57 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.html
@@ -37,11 +37,11 @@
<span class="sourceLineNo">029</span>import java.util.Set;<a name="line.29"></a>
<span class="sourceLineNo">030</span>import java.util.concurrent.atomic.LongAdder;<a name="line.30"></a>
<span class="sourceLineNo">031</span><a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.slf4j.Logger;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.slf4j.LoggerFactory;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheKey;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.io.hfile.CacheConfig;<a name="line.36"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheFactory;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.slf4j.Logger;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.slf4j.LoggerFactory;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheKey;<a name="line.36"></a>
<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.BucketEntry;<a name="line.37"></a>
<span class="sourceLineNo">038</span>import com.fasterxml.jackson.annotation.JsonIgnoreProperties;<a name="line.38"></a>
<span class="sourceLineNo">039</span><a name="line.39"></a>
@@ -459,7 +459,7 @@
<span class="sourceLineNo">451</span> BucketSizeInfo bsi = roundUpToBucketSizeInfo(blockSize);<a name="line.451"></a>
<span class="sourceLineNo">452</span> if (bsi == null) {<a name="line.452"></a>
<span class="sourceLineNo">453</span> throw new BucketAllocatorException("Allocation too big size=" + blockSize +<a name="line.453"></a>
-<span class="sourceLineNo">454</span> "; adjust BucketCache sizes " + CacheConfig.BUCKET_CACHE_BUCKETS_KEY +<a name="line.454"></a>
+<span class="sourceLineNo">454</span> "; adjust BucketCache sizes " + BlockCacheFactory.BUCKET_CACHE_BUCKETS_KEY +<a name="line.454"></a>
<span class="sourceLineNo">455</span> " to accomodate if size seems reasonable and you want it cached.");<a name="line.455"></a>
<span class="sourceLineNo">456</span> }<a name="line.456"></a>
<span class="sourceLineNo">457</span> long offset = bsi.allocateBlock();<a name="line.457"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/src-html/org/apache/hadoop/hbase/master/RegionServerTracker.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/RegionServerTracker.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/RegionServerTracker.html
index abfa74b..11f49fa 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/RegionServerTracker.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/RegionServerTracker.html
@@ -136,72 +136,75 @@
<span class="sourceLineNo">128</span> // '-SPLITTING'. Each splitting server should have a corresponding SCP. Log if not.<a name="line.128"></a>
<span class="sourceLineNo">129</span> splittingServersFromWALDir.stream().filter(s -> !deadServersFromPE.contains(s)).<a name="line.129"></a>
<span class="sourceLineNo">130</span> forEach(s -> LOG.error("{} has no matching ServerCrashProcedure", s));<a name="line.130"></a>
-<span class="sourceLineNo">131</span> watcher.registerListener(this);<a name="line.131"></a>
-<span class="sourceLineNo">132</span> synchronized (this) {<a name="line.132"></a>
-<span class="sourceLineNo">133</span> List<String> servers =<a name="line.133"></a>
-<span class="sourceLineNo">134</span> ZKUtil.listChildrenAndWatchForNewChildren(watcher, watcher.getZNodePaths().rsZNode);<a name="line.134"></a>
-<span class="sourceLineNo">135</span> for (String n : servers) {<a name="line.135"></a>
-<span class="sourceLineNo">136</span> Pair<ServerName, RegionServerInfo> pair = getServerInfo(n);<a name="line.136"></a>
-<span class="sourceLineNo">137</span> ServerName serverName = pair.getFirst();<a name="line.137"></a>
-<span class="sourceLineNo">138</span> RegionServerInfo info = pair.getSecond();<a name="line.138"></a>
-<span class="sourceLineNo">139</span> regionServers.add(serverName);<a name="line.139"></a>
-<span class="sourceLineNo">140</span> ServerMetrics serverMetrics = info != null ? ServerMetricsBuilder.of(serverName,<a name="line.140"></a>
-<span class="sourceLineNo">141</span> VersionInfoUtil.getVersionNumber(info.getVersionInfo()),<a name="line.141"></a>
-<span class="sourceLineNo">142</span> info.getVersionInfo().getVersion()) : ServerMetricsBuilder.of(serverName);<a name="line.142"></a>
-<span class="sourceLineNo">143</span> serverManager.checkAndRecordNewServer(serverName, serverMetrics);<a name="line.143"></a>
-<span class="sourceLineNo">144</span> }<a name="line.144"></a>
-<span class="sourceLineNo">145</span> serverManager.findDeadServersAndProcess(deadServersFromPE, liveServersFromWALDir);<a name="line.145"></a>
-<span class="sourceLineNo">146</span> }<a name="line.146"></a>
-<span class="sourceLineNo">147</span> }<a name="line.147"></a>
-<span class="sourceLineNo">148</span><a name="line.148"></a>
-<span class="sourceLineNo">149</span> public void stop() {<a name="line.149"></a>
-<span class="sourceLineNo">150</span> executor.shutdownNow();<a name="line.150"></a>
-<span class="sourceLineNo">151</span> }<a name="line.151"></a>
-<span class="sourceLineNo">152</span><a name="line.152"></a>
-<span class="sourceLineNo">153</span> private synchronized void refresh() {<a name="line.153"></a>
-<span class="sourceLineNo">154</span> List<String> names;<a name="line.154"></a>
-<span class="sourceLineNo">155</span> try {<a name="line.155"></a>
-<span class="sourceLineNo">156</span> names = ZKUtil.listChildrenAndWatchForNewChildren(watcher, watcher.getZNodePaths().rsZNode);<a name="line.156"></a>
-<span class="sourceLineNo">157</span> } catch (KeeperException e) {<a name="line.157"></a>
-<span class="sourceLineNo">158</span> // here we need to abort as we failed to set watcher on the rs node which means that we can<a name="line.158"></a>
-<span class="sourceLineNo">159</span> // not track the node deleted evetnt any more.<a name="line.159"></a>
-<span class="sourceLineNo">160</span> server.abort("Unexpected zk exception getting RS nodes", e);<a name="line.160"></a>
-<span class="sourceLineNo">161</span> return;<a name="line.161"></a>
-<span class="sourceLineNo">162</span> }<a name="line.162"></a>
-<span class="sourceLineNo">163</span> Set<ServerName> servers =<a name="line.163"></a>
-<span class="sourceLineNo">164</span> names.stream().map(ServerName::parseServerName).collect(Collectors.toSet());<a name="line.164"></a>
-<span class="sourceLineNo">165</span> for (Iterator<ServerName> iter = regionServers.iterator(); iter.hasNext();) {<a name="line.165"></a>
-<span class="sourceLineNo">166</span> ServerName sn = iter.next();<a name="line.166"></a>
-<span class="sourceLineNo">167</span> if (!servers.contains(sn)) {<a name="line.167"></a>
-<span class="sourceLineNo">168</span> LOG.info("RegionServer ephemeral node deleted, processing expiration [{}]", sn);<a name="line.168"></a>
-<span class="sourceLineNo">169</span> serverManager.expireServer(sn);<a name="line.169"></a>
-<span class="sourceLineNo">170</span> iter.remove();<a name="line.170"></a>
-<span class="sourceLineNo">171</span> }<a name="line.171"></a>
-<span class="sourceLineNo">172</span> }<a name="line.172"></a>
-<span class="sourceLineNo">173</span> // here we do not need to parse the region server info as it is useless now, we only need the<a name="line.173"></a>
-<span class="sourceLineNo">174</span> // server name.<a name="line.174"></a>
-<span class="sourceLineNo">175</span> boolean newServerAdded = false;<a name="line.175"></a>
-<span class="sourceLineNo">176</span> for (ServerName sn : servers) {<a name="line.176"></a>
-<span class="sourceLineNo">177</span> if (regionServers.add(sn)) {<a name="line.177"></a>
-<span class="sourceLineNo">178</span> newServerAdded = true;<a name="line.178"></a>
-<span class="sourceLineNo">179</span> LOG.info("RegionServer ephemeral node created, adding [" + sn + "]");<a name="line.179"></a>
-<span class="sourceLineNo">180</span> }<a name="line.180"></a>
-<span class="sourceLineNo">181</span> }<a name="line.181"></a>
-<span class="sourceLineNo">182</span> if (newServerAdded && server.isInitialized()) {<a name="line.182"></a>
-<span class="sourceLineNo">183</span> // Only call the check to move servers if a RegionServer was added to the cluster; in this<a name="line.183"></a>
-<span class="sourceLineNo">184</span> // case it could be a server with a new version so it makes sense to run the check.<a name="line.184"></a>
-<span class="sourceLineNo">185</span> server.checkIfShouldMoveSystemRegionAsync();<a name="line.185"></a>
-<span class="sourceLineNo">186</span> }<a name="line.186"></a>
-<span class="sourceLineNo">187</span> }<a name="line.187"></a>
-<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span> @Override<a name="line.189"></a>
-<span class="sourceLineNo">190</span> public void nodeChildrenChanged(String path) {<a name="line.190"></a>
-<span class="sourceLineNo">191</span> if (path.equals(watcher.getZNodePaths().rsZNode) && !server.isAborted() &&<a name="line.191"></a>
-<span class="sourceLineNo">192</span> !server.isStopped()) {<a name="line.192"></a>
-<span class="sourceLineNo">193</span> executor.execute(this::refresh);<a name="line.193"></a>
-<span class="sourceLineNo">194</span> }<a name="line.194"></a>
-<span class="sourceLineNo">195</span> }<a name="line.195"></a>
-<span class="sourceLineNo">196</span>}<a name="line.196"></a>
+<span class="sourceLineNo">131</span> //create ServerNode for all possible live servers from wal directory<a name="line.131"></a>
+<span class="sourceLineNo">132</span> liveServersFromWALDir.stream()<a name="line.132"></a>
+<span class="sourceLineNo">133</span> .forEach(sn -> server.getAssignmentManager().getRegionStates().getOrCreateServer(sn));<a name="line.133"></a>
+<span class="sourceLineNo">134</span> watcher.registerListener(this);<a name="line.134"></a>
+<span class="sourceLineNo">135</span> synchronized (this) {<a name="line.135"></a>
+<span class="sourceLineNo">136</span> List<String> servers =<a name="line.136"></a>
+<span class="sourceLineNo">137</span> ZKUtil.listChildrenAndWatchForNewChildren(watcher, watcher.getZNodePaths().rsZNode);<a name="line.137"></a>
+<span class="sourceLineNo">138</span> for (String n : servers) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span> Pair<ServerName, RegionServerInfo> pair = getServerInfo(n);<a name="line.139"></a>
+<span class="sourceLineNo">140</span> ServerName serverName = pair.getFirst();<a name="line.140"></a>
+<span class="sourceLineNo">141</span> RegionServerInfo info = pair.getSecond();<a name="line.141"></a>
+<span class="sourceLineNo">142</span> regionServers.add(serverName);<a name="line.142"></a>
+<span class="sourceLineNo">143</span> ServerMetrics serverMetrics = info != null ? ServerMetricsBuilder.of(serverName,<a name="line.143"></a>
+<span class="sourceLineNo">144</span> VersionInfoUtil.getVersionNumber(info.getVersionInfo()),<a name="line.144"></a>
+<span class="sourceLineNo">145</span> info.getVersionInfo().getVersion()) : ServerMetricsBuilder.of(serverName);<a name="line.145"></a>
+<span class="sourceLineNo">146</span> serverManager.checkAndRecordNewServer(serverName, serverMetrics);<a name="line.146"></a>
+<span class="sourceLineNo">147</span> }<a name="line.147"></a>
+<span class="sourceLineNo">148</span> serverManager.findDeadServersAndProcess(deadServersFromPE, liveServersFromWALDir);<a name="line.148"></a>
+<span class="sourceLineNo">149</span> }<a name="line.149"></a>
+<span class="sourceLineNo">150</span> }<a name="line.150"></a>
+<span class="sourceLineNo">151</span><a name="line.151"></a>
+<span class="sourceLineNo">152</span> public void stop() {<a name="line.152"></a>
+<span class="sourceLineNo">153</span> executor.shutdownNow();<a name="line.153"></a>
+<span class="sourceLineNo">154</span> }<a name="line.154"></a>
+<span class="sourceLineNo">155</span><a name="line.155"></a>
+<span class="sourceLineNo">156</span> private synchronized void refresh() {<a name="line.156"></a>
+<span class="sourceLineNo">157</span> List<String> names;<a name="line.157"></a>
+<span class="sourceLineNo">158</span> try {<a name="line.158"></a>
+<span class="sourceLineNo">159</span> names = ZKUtil.listChildrenAndWatchForNewChildren(watcher, watcher.getZNodePaths().rsZNode);<a name="line.159"></a>
+<span class="sourceLineNo">160</span> } catch (KeeperException e) {<a name="line.160"></a>
+<span class="sourceLineNo">161</span> // here we need to abort as we failed to set watcher on the rs node which means that we can<a name="line.161"></a>
+<span class="sourceLineNo">162</span> // not track the node deleted evetnt any more.<a name="line.162"></a>
+<span class="sourceLineNo">163</span> server.abort("Unexpected zk exception getting RS nodes", e);<a name="line.163"></a>
+<span class="sourceLineNo">164</span> return;<a name="line.164"></a>
+<span class="sourceLineNo">165</span> }<a name="line.165"></a>
+<span class="sourceLineNo">166</span> Set<ServerName> servers =<a name="line.166"></a>
+<span class="sourceLineNo">167</span> names.stream().map(ServerName::parseServerName).collect(Collectors.toSet());<a name="line.167"></a>
+<span class="sourceLineNo">168</span> for (Iterator<ServerName> iter = regionServers.iterator(); iter.hasNext();) {<a name="line.168"></a>
+<span class="sourceLineNo">169</span> ServerName sn = iter.next();<a name="line.169"></a>
+<span class="sourceLineNo">170</span> if (!servers.contains(sn)) {<a name="line.170"></a>
+<span class="sourceLineNo">171</span> LOG.info("RegionServer ephemeral node deleted, processing expiration [{}]", sn);<a name="line.171"></a>
+<span class="sourceLineNo">172</span> serverManager.expireServer(sn);<a name="line.172"></a>
+<span class="sourceLineNo">173</span> iter.remove();<a name="line.173"></a>
+<span class="sourceLineNo">174</span> }<a name="line.174"></a>
+<span class="sourceLineNo">175</span> }<a name="line.175"></a>
+<span class="sourceLineNo">176</span> // here we do not need to parse the region server info as it is useless now, we only need the<a name="line.176"></a>
+<span class="sourceLineNo">177</span> // server name.<a name="line.177"></a>
+<span class="sourceLineNo">178</span> boolean newServerAdded = false;<a name="line.178"></a>
+<span class="sourceLineNo">179</span> for (ServerName sn : servers) {<a name="line.179"></a>
+<span class="sourceLineNo">180</span> if (regionServers.add(sn)) {<a name="line.180"></a>
+<span class="sourceLineNo">181</span> newServerAdded = true;<a name="line.181"></a>
+<span class="sourceLineNo">182</span> LOG.info("RegionServer ephemeral node created, adding [" + sn + "]");<a name="line.182"></a>
+<span class="sourceLineNo">183</span> }<a name="line.183"></a>
+<span class="sourceLineNo">184</span> }<a name="line.184"></a>
+<span class="sourceLineNo">185</span> if (newServerAdded && server.isInitialized()) {<a name="line.185"></a>
+<span class="sourceLineNo">186</span> // Only call the check to move servers if a RegionServer was added to the cluster; in this<a name="line.186"></a>
+<span class="sourceLineNo">187</span> // case it could be a server with a new version so it makes sense to run the check.<a name="line.187"></a>
+<span class="sourceLineNo">188</span> server.checkIfShouldMoveSystemRegionAsync();<a name="line.188"></a>
+<span class="sourceLineNo">189</span> }<a name="line.189"></a>
+<span class="sourceLineNo">190</span> }<a name="line.190"></a>
+<span class="sourceLineNo">191</span><a name="line.191"></a>
+<span class="sourceLineNo">192</span> @Override<a name="line.192"></a>
+<span class="sourceLineNo">193</span> public void nodeChildrenChanged(String path) {<a name="line.193"></a>
+<span class="sourceLineNo">194</span> if (path.equals(watcher.getZNodePaths().rsZNode) && !server.isAborted() &&<a name="line.194"></a>
+<span class="sourceLineNo">195</span> !server.isStopped()) {<a name="line.195"></a>
+<span class="sourceLineNo">196</span> executor.execute(this::refresh);<a name="line.196"></a>
+<span class="sourceLineNo">197</span> }<a name="line.197"></a>
+<span class="sourceLineNo">198</span> }<a name="line.198"></a>
+<span class="sourceLineNo">199</span>}<a name="line.199"></a>
[12/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html
index 1124f8b..0c29054 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html
@@ -1111,587 +1111,592 @@
<span class="sourceLineNo">1103</span> blockStream.write(midKeyMetadata);<a name="line.1103"></a>
<span class="sourceLineNo">1104</span> blockWriter.writeHeaderAndData(out);<a name="line.1104"></a>
<span class="sourceLineNo">1105</span> if (cacheConf != null) {<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span> HFileBlock blockForCaching = blockWriter.getBlockForCaching(cacheConf);<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span> cacheConf.getBlockCache().cacheBlock(new BlockCacheKey(nameForCaching,<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span> rootLevelIndexPos, true, blockForCaching.getBlockType()), blockForCaching);<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span> }<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span> }<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span><a name="line.1111"></a>
-<span class="sourceLineNo">1112</span> // Add root index block size<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span> totalBlockOnDiskSize += blockWriter.getOnDiskSizeWithoutHeader();<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span> totalBlockUncompressedSize +=<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span> blockWriter.getUncompressedSizeWithoutHeader();<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span><a name="line.1116"></a>
-<span class="sourceLineNo">1117</span> if (LOG.isTraceEnabled()) {<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span> LOG.trace("Wrote a " + numLevels + "-level index with root level at pos "<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span> + rootLevelIndexPos + ", " + rootChunk.getNumEntries()<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span> + " root-level entries, " + totalNumEntries + " total entries, "<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span> + StringUtils.humanReadableInt(this.totalBlockOnDiskSize) +<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span> " on-disk size, "<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span> + StringUtils.humanReadableInt(totalBlockUncompressedSize) +<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span> " total uncompressed size.");<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span> }<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span> return rootLevelIndexPos;<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span> }<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span><a name="line.1128"></a>
-<span class="sourceLineNo">1129</span> /**<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span> * Writes the block index data as a single level only. Does not do any<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span> * block framing.<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span> *<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span> * @param out the buffered output stream to write the index to. Typically a<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span> * stream writing into an {@link HFile} block.<a name="line.1134"></a>
-<span class="sourceLineNo">1135</span> * @param description a short description of the index being written. Used<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span> * in a log message.<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span> * @throws IOException<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span> */<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span> public void writeSingleLevelIndex(DataOutput out, String description)<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span> throws IOException {<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span> expectNumLevels(1);<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span><a name="line.1142"></a>
-<span class="sourceLineNo">1143</span> if (!singleLevelOnly)<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span> throw new IOException("Single-level mode is turned off");<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span><a name="line.1145"></a>
-<span class="sourceLineNo">1146</span> if (rootChunk.getNumEntries() > 0)<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span> throw new IOException("Root-level entries already added in " +<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span> "single-level mode");<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span><a name="line.1149"></a>
-<span class="sourceLineNo">1150</span> rootChunk = curInlineChunk;<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span> curInlineChunk = new BlockIndexChunk();<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span><a name="line.1152"></a>
-<span class="sourceLineNo">1153</span> if (LOG.isTraceEnabled()) {<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span> LOG.trace("Wrote a single-level " + description + " index with "<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span> + rootChunk.getNumEntries() + " entries, " + rootChunk.getRootSize()<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span> + " bytes");<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span> }<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span> rootChunk.writeRoot(out);<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span> }<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span><a name="line.1160"></a>
-<span class="sourceLineNo">1161</span> /**<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span> * Split the current level of the block index into intermediate index<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span> * blocks of permitted size and write those blocks to disk. Return the next<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span> * level of the block index referencing those intermediate-level blocks.<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span> *<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span> * @param out<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span> * @param currentLevel the current level of the block index, such as the a<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span> * chunk referencing all leaf-level index blocks<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span> * @return the parent level block index, which becomes the root index after<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span> * a few (usually zero) iterations<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span> * @throws IOException<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span> */<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span> private BlockIndexChunk writeIntermediateLevel(FSDataOutputStream out,<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span> BlockIndexChunk currentLevel) throws IOException {<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span> // Entries referencing intermediate-level blocks we are about to create.<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span> BlockIndexChunk parent = new BlockIndexChunk();<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span><a name="line.1177"></a>
-<span class="sourceLineNo">1178</span> // The current intermediate-level block index chunk.<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span> BlockIndexChunk curChunk = new BlockIndexChunk();<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span><a name="line.1180"></a>
-<span class="sourceLineNo">1181</span> for (int i = 0; i < currentLevel.getNumEntries(); ++i) {<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span> curChunk.add(currentLevel.getBlockKey(i),<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span> currentLevel.getBlockOffset(i), currentLevel.getOnDiskDataSize(i));<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span><a name="line.1184"></a>
-<span class="sourceLineNo">1185</span> // HBASE-16288: We have to have at least minIndexNumEntries(16) items in the index so that<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span> // we won't end up with too-many levels for a index with very large rowKeys. Also, if the<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span> // first key is larger than maxChunkSize this will cause infinite recursion.<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span> if (i >= minIndexNumEntries && curChunk.getRootSize() >= maxChunkSize) {<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span> writeIntermediateBlock(out, parent, curChunk);<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span> }<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span> }<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span><a name="line.1192"></a>
-<span class="sourceLineNo">1193</span> if (curChunk.getNumEntries() > 0) {<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span> writeIntermediateBlock(out, parent, curChunk);<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span> }<a name="line.1195"></a>
-<span class="sourceLineNo">1196</span><a name="line.1196"></a>
-<span class="sourceLineNo">1197</span> return parent;<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span> }<a name="line.1198"></a>
-<span class="sourceLineNo">1199</span><a name="line.1199"></a>
-<span class="sourceLineNo">1200</span> private void writeIntermediateBlock(FSDataOutputStream out,<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span> BlockIndexChunk parent, BlockIndexChunk curChunk) throws IOException {<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span> long beginOffset = out.getPos();<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span> DataOutputStream dos = blockWriter.startWriting(<a name="line.1203"></a>
-<span class="sourceLineNo">1204</span> BlockType.INTERMEDIATE_INDEX);<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span> curChunk.writeNonRoot(dos);<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span> byte[] curFirstKey = curChunk.getBlockKey(0);<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span> blockWriter.writeHeaderAndData(out);<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span><a name="line.1208"></a>
-<span class="sourceLineNo">1209</span> if (getCacheOnWrite()) {<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span> HFileBlock blockForCaching = blockWriter.getBlockForCaching(cacheConf);<a name="line.1210"></a>
-<span class="sourceLineNo">1211</span> cacheConf.getBlockCache().cacheBlock(new BlockCacheKey(nameForCaching,<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span> beginOffset, true, blockForCaching.getBlockType()), blockForCaching);<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span> }<a name="line.1213"></a>
-<span class="sourceLineNo">1214</span><a name="line.1214"></a>
-<span class="sourceLineNo">1215</span> // Add intermediate index block size<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span> totalBlockOnDiskSize += blockWriter.getOnDiskSizeWithoutHeader();<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span> totalBlockUncompressedSize +=<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span> blockWriter.getUncompressedSizeWithoutHeader();<a name="line.1218"></a>
+<span class="sourceLineNo">1106</span> cacheConf.getBlockCache().ifPresent(cache -> {<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span> HFileBlock blockForCaching = blockWriter.getBlockForCaching(cacheConf);<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span> cache.cacheBlock(new BlockCacheKey(nameForCaching, rootLevelIndexPos, true,<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span> blockForCaching.getBlockType()), blockForCaching);<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span> });<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span> }<a name="line.1111"></a>
+<span class="sourceLineNo">1112</span> }<a name="line.1112"></a>
+<span class="sourceLineNo">1113</span><a name="line.1113"></a>
+<span class="sourceLineNo">1114</span> // Add root index block size<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span> totalBlockOnDiskSize += blockWriter.getOnDiskSizeWithoutHeader();<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span> totalBlockUncompressedSize +=<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span> blockWriter.getUncompressedSizeWithoutHeader();<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span><a name="line.1118"></a>
+<span class="sourceLineNo">1119</span> if (LOG.isTraceEnabled()) {<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span> LOG.trace("Wrote a " + numLevels + "-level index with root level at pos "<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span> + rootLevelIndexPos + ", " + rootChunk.getNumEntries()<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span> + " root-level entries, " + totalNumEntries + " total entries, "<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span> + StringUtils.humanReadableInt(this.totalBlockOnDiskSize) +<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span> " on-disk size, "<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span> + StringUtils.humanReadableInt(totalBlockUncompressedSize) +<a name="line.1125"></a>
+<span class="sourceLineNo">1126</span> " total uncompressed size.");<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span> }<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span> return rootLevelIndexPos;<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span> }<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span><a name="line.1130"></a>
+<span class="sourceLineNo">1131</span> /**<a name="line.1131"></a>
+<span class="sourceLineNo">1132</span> * Writes the block index data as a single level only. Does not do any<a name="line.1132"></a>
+<span class="sourceLineNo">1133</span> * block framing.<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span> *<a name="line.1134"></a>
+<span class="sourceLineNo">1135</span> * @param out the buffered output stream to write the index to. Typically a<a name="line.1135"></a>
+<span class="sourceLineNo">1136</span> * stream writing into an {@link HFile} block.<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span> * @param description a short description of the index being written. Used<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span> * in a log message.<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span> * @throws IOException<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span> */<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span> public void writeSingleLevelIndex(DataOutput out, String description)<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span> throws IOException {<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span> expectNumLevels(1);<a name="line.1143"></a>
+<span class="sourceLineNo">1144</span><a name="line.1144"></a>
+<span class="sourceLineNo">1145</span> if (!singleLevelOnly)<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span> throw new IOException("Single-level mode is turned off");<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span><a name="line.1147"></a>
+<span class="sourceLineNo">1148</span> if (rootChunk.getNumEntries() > 0)<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span> throw new IOException("Root-level entries already added in " +<a name="line.1149"></a>
+<span class="sourceLineNo">1150</span> "single-level mode");<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span><a name="line.1151"></a>
+<span class="sourceLineNo">1152</span> rootChunk = curInlineChunk;<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span> curInlineChunk = new BlockIndexChunk();<a name="line.1153"></a>
+<span class="sourceLineNo">1154</span><a name="line.1154"></a>
+<span class="sourceLineNo">1155</span> if (LOG.isTraceEnabled()) {<a name="line.1155"></a>
+<span class="sourceLineNo">1156</span> LOG.trace("Wrote a single-level " + description + " index with "<a name="line.1156"></a>
+<span class="sourceLineNo">1157</span> + rootChunk.getNumEntries() + " entries, " + rootChunk.getRootSize()<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span> + " bytes");<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span> }<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span> rootChunk.writeRoot(out);<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span> }<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span><a name="line.1162"></a>
+<span class="sourceLineNo">1163</span> /**<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span> * Split the current level of the block index into intermediate index<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span> * blocks of permitted size and write those blocks to disk. Return the next<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span> * level of the block index referencing those intermediate-level blocks.<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span> *<a name="line.1167"></a>
+<span class="sourceLineNo">1168</span> * @param out<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span> * @param currentLevel the current level of the block index, such as the a<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span> * chunk referencing all leaf-level index blocks<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span> * @return the parent level block index, which becomes the root index after<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span> * a few (usually zero) iterations<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span> * @throws IOException<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span> */<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span> private BlockIndexChunk writeIntermediateLevel(FSDataOutputStream out,<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span> BlockIndexChunk currentLevel) throws IOException {<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span> // Entries referencing intermediate-level blocks we are about to create.<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span> BlockIndexChunk parent = new BlockIndexChunk();<a name="line.1178"></a>
+<span class="sourceLineNo">1179</span><a name="line.1179"></a>
+<span class="sourceLineNo">1180</span> // The current intermediate-level block index chunk.<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span> BlockIndexChunk curChunk = new BlockIndexChunk();<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span><a name="line.1182"></a>
+<span class="sourceLineNo">1183</span> for (int i = 0; i < currentLevel.getNumEntries(); ++i) {<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span> curChunk.add(currentLevel.getBlockKey(i),<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span> currentLevel.getBlockOffset(i), currentLevel.getOnDiskDataSize(i));<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span><a name="line.1186"></a>
+<span class="sourceLineNo">1187</span> // HBASE-16288: We have to have at least minIndexNumEntries(16) items in the index so that<a name="line.1187"></a>
+<span class="sourceLineNo">1188</span> // we won't end up with too-many levels for a index with very large rowKeys. Also, if the<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span> // first key is larger than maxChunkSize this will cause infinite recursion.<a name="line.1189"></a>
+<span class="sourceLineNo">1190</span> if (i >= minIndexNumEntries && curChunk.getRootSize() >= maxChunkSize) {<a name="line.1190"></a>
+<span class="sourceLineNo">1191</span> writeIntermediateBlock(out, parent, curChunk);<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span> }<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span> }<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span><a name="line.1194"></a>
+<span class="sourceLineNo">1195</span> if (curChunk.getNumEntries() > 0) {<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span> writeIntermediateBlock(out, parent, curChunk);<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span> }<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span><a name="line.1198"></a>
+<span class="sourceLineNo">1199</span> return parent;<a name="line.1199"></a>
+<span class="sourceLineNo">1200</span> }<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span><a name="line.1201"></a>
+<span class="sourceLineNo">1202</span> private void writeIntermediateBlock(FSDataOutputStream out,<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span> BlockIndexChunk parent, BlockIndexChunk curChunk) throws IOException {<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span> long beginOffset = out.getPos();<a name="line.1204"></a>
+<span class="sourceLineNo">1205</span> DataOutputStream dos = blockWriter.startWriting(<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span> BlockType.INTERMEDIATE_INDEX);<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span> curChunk.writeNonRoot(dos);<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span> byte[] curFirstKey = curChunk.getBlockKey(0);<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span> blockWriter.writeHeaderAndData(out);<a name="line.1209"></a>
+<span class="sourceLineNo">1210</span><a name="line.1210"></a>
+<span class="sourceLineNo">1211</span> if (getCacheOnWrite()) {<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span> cacheConf.getBlockCache().ifPresent(cache -> {<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span> HFileBlock blockForCaching = blockWriter.getBlockForCaching(cacheConf);<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span> cache.cacheBlock(<a name="line.1214"></a>
+<span class="sourceLineNo">1215</span> new BlockCacheKey(nameForCaching, beginOffset, true, blockForCaching.getBlockType()),<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span> blockForCaching);<a name="line.1216"></a>
+<span class="sourceLineNo">1217</span> });<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span> }<a name="line.1218"></a>
<span class="sourceLineNo">1219</span><a name="line.1219"></a>
-<span class="sourceLineNo">1220</span> // OFFSET is the beginning offset the chunk of block index entries.<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span> // SIZE is the total byte size of the chunk of block index entries<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span> // + the secondary index size<a name="line.1222"></a>
-<span class="sourceLineNo">1223</span> // FIRST_KEY is the first key in the chunk of block index<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span> // entries.<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span> parent.add(curFirstKey, beginOffset,<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span> blockWriter.getOnDiskSizeWithHeader());<a name="line.1226"></a>
-<span class="sourceLineNo">1227</span><a name="line.1227"></a>
-<span class="sourceLineNo">1228</span> // clear current block index chunk<a name="line.1228"></a>
-<span class="sourceLineNo">1229</span> curChunk.clear();<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span> curFirstKey = null;<a name="line.1230"></a>
-<span class="sourceLineNo">1231</span> }<a name="line.1231"></a>
+<span class="sourceLineNo">1220</span> // Add intermediate index block size<a name="line.1220"></a>
+<span class="sourceLineNo">1221</span> totalBlockOnDiskSize += blockWriter.getOnDiskSizeWithoutHeader();<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span> totalBlockUncompressedSize +=<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span> blockWriter.getUncompressedSizeWithoutHeader();<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span><a name="line.1224"></a>
+<span class="sourceLineNo">1225</span> // OFFSET is the beginning offset the chunk of block index entries.<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span> // SIZE is the total byte size of the chunk of block index entries<a name="line.1226"></a>
+<span class="sourceLineNo">1227</span> // + the secondary index size<a name="line.1227"></a>
+<span class="sourceLineNo">1228</span> // FIRST_KEY is the first key in the chunk of block index<a name="line.1228"></a>
+<span class="sourceLineNo">1229</span> // entries.<a name="line.1229"></a>
+<span class="sourceLineNo">1230</span> parent.add(curFirstKey, beginOffset,<a name="line.1230"></a>
+<span class="sourceLineNo">1231</span> blockWriter.getOnDiskSizeWithHeader());<a name="line.1231"></a>
<span class="sourceLineNo">1232</span><a name="line.1232"></a>
-<span class="sourceLineNo">1233</span> /**<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span> * @return how many block index entries there are in the root level<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span> */<a name="line.1235"></a>
-<span class="sourceLineNo">1236</span> public final int getNumRootEntries() {<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span> return rootChunk.getNumEntries();<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span> }<a name="line.1238"></a>
-<span class="sourceLineNo">1239</span><a name="line.1239"></a>
-<span class="sourceLineNo">1240</span> /**<a name="line.1240"></a>
-<span class="sourceLineNo">1241</span> * @return the number of levels in this block index.<a name="line.1241"></a>
-<span class="sourceLineNo">1242</span> */<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span> public int getNumLevels() {<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span> return numLevels;<a name="line.1244"></a>
-<span class="sourceLineNo">1245</span> }<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span><a name="line.1246"></a>
-<span class="sourceLineNo">1247</span> private void expectNumLevels(int expectedNumLevels) {<a name="line.1247"></a>
-<span class="sourceLineNo">1248</span> if (numLevels != expectedNumLevels) {<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span> throw new IllegalStateException("Number of block index levels is "<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span> + numLevels + "but is expected to be " + expectedNumLevels);<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span> }<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span> }<a name="line.1252"></a>
-<span class="sourceLineNo">1253</span><a name="line.1253"></a>
-<span class="sourceLineNo">1254</span> /**<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span> * Whether there is an inline block ready to be written. In general, we<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span> * write an leaf-level index block as an inline block as soon as its size<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span> * as serialized in the non-root format reaches a certain threshold.<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span> */<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span> @Override<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span> public boolean shouldWriteBlock(boolean closing) {<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span> if (singleLevelOnly) {<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1262"></a>
-<span class="sourceLineNo">1263</span> }<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span><a name="line.1264"></a>
-<span class="sourceLineNo">1265</span> if (curInlineChunk == null) {<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span> throw new IllegalStateException("curInlineChunk is null; has shouldWriteBlock been " +<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span> "called with closing=true and then called again?");<a name="line.1267"></a>
+<span class="sourceLineNo">1233</span> // clear current block index chunk<a name="line.1233"></a>
+<span class="sourceLineNo">1234</span> curChunk.clear();<a name="line.1234"></a>
+<span class="sourceLineNo">1235</span> curFirstKey = null;<a name="line.1235"></a>
+<span class="sourceLineNo">1236</span> }<a name="line.1236"></a>
+<span class="sourceLineNo">1237</span><a name="line.1237"></a>
+<span class="sourceLineNo">1238</span> /**<a name="line.1238"></a>
+<span class="sourceLineNo">1239</span> * @return how many block index entries there are in the root level<a name="line.1239"></a>
+<span class="sourceLineNo">1240</span> */<a name="line.1240"></a>
+<span class="sourceLineNo">1241</span> public final int getNumRootEntries() {<a name="line.1241"></a>
+<span class="sourceLineNo">1242</span> return rootChunk.getNumEntries();<a name="line.1242"></a>
+<span class="sourceLineNo">1243</span> }<a name="line.1243"></a>
+<span class="sourceLineNo">1244</span><a name="line.1244"></a>
+<span class="sourceLineNo">1245</span> /**<a name="line.1245"></a>
+<span class="sourceLineNo">1246</span> * @return the number of levels in this block index.<a name="line.1246"></a>
+<span class="sourceLineNo">1247</span> */<a name="line.1247"></a>
+<span class="sourceLineNo">1248</span> public int getNumLevels() {<a name="line.1248"></a>
+<span class="sourceLineNo">1249</span> return numLevels;<a name="line.1249"></a>
+<span class="sourceLineNo">1250</span> }<a name="line.1250"></a>
+<span class="sourceLineNo">1251</span><a name="line.1251"></a>
+<span class="sourceLineNo">1252</span> private void expectNumLevels(int expectedNumLevels) {<a name="line.1252"></a>
+<span class="sourceLineNo">1253</span> if (numLevels != expectedNumLevels) {<a name="line.1253"></a>
+<span class="sourceLineNo">1254</span> throw new IllegalStateException("Number of block index levels is "<a name="line.1254"></a>
+<span class="sourceLineNo">1255</span> + numLevels + "but is expected to be " + expectedNumLevels);<a name="line.1255"></a>
+<span class="sourceLineNo">1256</span> }<a name="line.1256"></a>
+<span class="sourceLineNo">1257</span> }<a name="line.1257"></a>
+<span class="sourceLineNo">1258</span><a name="line.1258"></a>
+<span class="sourceLineNo">1259</span> /**<a name="line.1259"></a>
+<span class="sourceLineNo">1260</span> * Whether there is an inline block ready to be written. In general, we<a name="line.1260"></a>
+<span class="sourceLineNo">1261</span> * write an leaf-level index block as an inline block as soon as its size<a name="line.1261"></a>
+<span class="sourceLineNo">1262</span> * as serialized in the non-root format reaches a certain threshold.<a name="line.1262"></a>
+<span class="sourceLineNo">1263</span> */<a name="line.1263"></a>
+<span class="sourceLineNo">1264</span> @Override<a name="line.1264"></a>
+<span class="sourceLineNo">1265</span> public boolean shouldWriteBlock(boolean closing) {<a name="line.1265"></a>
+<span class="sourceLineNo">1266</span> if (singleLevelOnly) {<a name="line.1266"></a>
+<span class="sourceLineNo">1267</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1267"></a>
<span class="sourceLineNo">1268</span> }<a name="line.1268"></a>
<span class="sourceLineNo">1269</span><a name="line.1269"></a>
-<span class="sourceLineNo">1270</span> if (curInlineChunk.getNumEntries() == 0) {<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span> return false;<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span> }<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span><a name="line.1273"></a>
-<span class="sourceLineNo">1274</span> // We do have some entries in the current inline chunk.<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span> if (closing) {<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span> if (rootChunk.getNumEntries() == 0) {<a name="line.1276"></a>
-<span class="sourceLineNo">1277</span> // We did not add any leaf-level blocks yet. Instead of creating a<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span> // leaf level with one block, move these entries to the root level.<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span><a name="line.1279"></a>
-<span class="sourceLineNo">1280</span> expectNumLevels(1);<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span> rootChunk = curInlineChunk;<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span> curInlineChunk = null; // Disallow adding any more index entries.<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span> return false;<a name="line.1283"></a>
-<span class="sourceLineNo">1284</span> }<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span><a name="line.1285"></a>
-<span class="sourceLineNo">1286</span> return true;<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span> } else {<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span> return curInlineChunk.getNonRootSize() >= maxChunkSize;<a name="line.1288"></a>
-<span class="sourceLineNo">1289</span> }<a name="line.1289"></a>
-<span class="sourceLineNo">1290</span> }<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span><a name="line.1291"></a>
-<span class="sourceLineNo">1292</span> /**<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span> * Write out the current inline index block. Inline blocks are non-root<a name="line.1293"></a>
-<span class="sourceLineNo">1294</span> * blocks, so the non-root index format is used.<a name="line.1294"></a>
-<span class="sourceLineNo">1295</span> *<a name="line.1295"></a>
-<span class="sourceLineNo">1296</span> * @param out<a name="line.1296"></a>
-<span class="sourceLineNo">1297</span> */<a name="line.1297"></a>
-<span class="sourceLineNo">1298</span> @Override<a name="line.1298"></a>
-<span class="sourceLineNo">1299</span> public void writeInlineBlock(DataOutput out) throws IOException {<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span> if (singleLevelOnly)<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1301"></a>
-<span class="sourceLineNo">1302</span><a name="line.1302"></a>
-<span class="sourceLineNo">1303</span> // Write the inline block index to the output stream in the non-root<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span> // index block format.<a name="line.1304"></a>
-<span class="sourceLineNo">1305</span> curInlineChunk.writeNonRoot(out);<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span><a name="line.1306"></a>
-<span class="sourceLineNo">1307</span> // Save the first key of the inline block so that we can add it to the<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span> // parent-level index.<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span> firstKey = curInlineChunk.getBlockKey(0);<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span><a name="line.1310"></a>
-<span class="sourceLineNo">1311</span> // Start a new inline index block<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span> curInlineChunk.clear();<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span> }<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span><a name="line.1314"></a>
-<span class="sourceLineNo">1315</span> /**<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span> * Called after an inline block has been written so that we can add an<a name="line.1316"></a>
-<span class="sourceLineNo">1317</span> * entry referring to that block to the parent-level index.<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span> */<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span> @Override<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span> public void blockWritten(long offset, int onDiskSize, int uncompressedSize) {<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span> // Add leaf index block size<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span> totalBlockOnDiskSize += onDiskSize;<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span> totalBlockUncompressedSize += uncompressedSize;<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span><a name="line.1324"></a>
-<span class="sourceLineNo">1325</span> if (singleLevelOnly)<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span><a name="line.1327"></a>
-<span class="sourceLineNo">1328</span> if (firstKey == null) {<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span> throw new IllegalStateException("Trying to add second-level index " +<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span> "entry with offset=" + offset + " and onDiskSize=" + onDiskSize +<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span> "but the first key was not set in writeInlineBlock");<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span> }<a name="line.1332"></a>
-<span class="sourceLineNo">1333</span><a name="line.1333"></a>
-<span class="sourceLineNo">1334</span> if (rootChunk.getNumEntries() == 0) {<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span> // We are writing the first leaf block, so increase index level.<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span> expectNumLevels(1);<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span> numLevels = 2;<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span> }<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span><a name="line.1339"></a>
-<span class="sourceLineNo">1340</span> // Add another entry to the second-level index. Include the number of<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span> // entries in all previous leaf-level chunks for mid-key calculation.<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span> rootChunk.add(firstKey, offset, onDiskSize, totalNumEntries);<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span> firstKey = null;<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span> }<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span><a name="line.1345"></a>
-<span class="sourceLineNo">1346</span> @Override<a name="line.1346"></a>
-<span class="sourceLineNo">1347</span> public BlockType getInlineBlockType() {<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span> return BlockType.LEAF_INDEX;<a name="line.1348"></a>
+<span class="sourceLineNo">1270</span> if (curInlineChunk == null) {<a name="line.1270"></a>
+<span class="sourceLineNo">1271</span> throw new IllegalStateException("curInlineChunk is null; has shouldWriteBlock been " +<a name="line.1271"></a>
+<span class="sourceLineNo">1272</span> "called with closing=true and then called again?");<a name="line.1272"></a>
+<span class="sourceLineNo">1273</span> }<a name="line.1273"></a>
+<span class="sourceLineNo">1274</span><a name="line.1274"></a>
+<span class="sourceLineNo">1275</span> if (curInlineChunk.getNumEntries() == 0) {<a name="line.1275"></a>
+<span class="sourceLineNo">1276</span> return false;<a name="line.1276"></a>
+<span class="sourceLineNo">1277</span> }<a name="line.1277"></a>
+<span class="sourceLineNo">1278</span><a name="line.1278"></a>
+<span class="sourceLineNo">1279</span> // We do have some entries in the current inline chunk.<a name="line.1279"></a>
+<span class="sourceLineNo">1280</span> if (closing) {<a name="line.1280"></a>
+<span class="sourceLineNo">1281</span> if (rootChunk.getNumEntries() == 0) {<a name="line.1281"></a>
+<span class="sourceLineNo">1282</span> // We did not add any leaf-level blocks yet. Instead of creating a<a name="line.1282"></a>
+<span class="sourceLineNo">1283</span> // leaf level with one block, move these entries to the root level.<a name="line.1283"></a>
+<span class="sourceLineNo">1284</span><a name="line.1284"></a>
+<span class="sourceLineNo">1285</span> expectNumLevels(1);<a name="line.1285"></a>
+<span class="sourceLineNo">1286</span> rootChunk = curInlineChunk;<a name="line.1286"></a>
+<span class="sourceLineNo">1287</span> curInlineChunk = null; // Disallow adding any more index entries.<a name="line.1287"></a>
+<span class="sourceLineNo">1288</span> return false;<a name="line.1288"></a>
+<span class="sourceLineNo">1289</span> }<a name="line.1289"></a>
+<span class="sourceLineNo">1290</span><a name="line.1290"></a>
+<span class="sourceLineNo">1291</span> return true;<a name="line.1291"></a>
+<span class="sourceLineNo">1292</span> } else {<a name="line.1292"></a>
+<span class="sourceLineNo">1293</span> return curInlineChunk.getNonRootSize() >= maxChunkSize;<a name="line.1293"></a>
+<span class="sourceLineNo">1294</span> }<a name="line.1294"></a>
+<span class="sourceLineNo">1295</span> }<a name="line.1295"></a>
+<span class="sourceLineNo">1296</span><a name="line.1296"></a>
+<span class="sourceLineNo">1297</span> /**<a name="line.1297"></a>
+<span class="sourceLineNo">1298</span> * Write out the current inline index block. Inline blocks are non-root<a name="line.1298"></a>
+<span class="sourceLineNo">1299</span> * blocks, so the non-root index format is used.<a name="line.1299"></a>
+<span class="sourceLineNo">1300</span> *<a name="line.1300"></a>
+<span class="sourceLineNo">1301</span> * @param out<a name="line.1301"></a>
+<span class="sourceLineNo">1302</span> */<a name="line.1302"></a>
+<span class="sourceLineNo">1303</span> @Override<a name="line.1303"></a>
+<span class="sourceLineNo">1304</span> public void writeInlineBlock(DataOutput out) throws IOException {<a name="line.1304"></a>
+<span class="sourceLineNo">1305</span> if (singleLevelOnly)<a name="line.1305"></a>
+<span class="sourceLineNo">1306</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1306"></a>
+<span class="sourceLineNo">1307</span><a name="line.1307"></a>
+<span class="sourceLineNo">1308</span> // Write the inline block index to the output stream in the non-root<a name="line.1308"></a>
+<span class="sourceLineNo">1309</span> // index block format.<a name="line.1309"></a>
+<span class="sourceLineNo">1310</span> curInlineChunk.writeNonRoot(out);<a name="line.1310"></a>
+<span class="sourceLineNo">1311</span><a name="line.1311"></a>
+<span class="sourceLineNo">1312</span> // Save the first key of the inline block so that we can add it to the<a name="line.1312"></a>
+<span class="sourceLineNo">1313</span> // parent-level index.<a name="line.1313"></a>
+<span class="sourceLineNo">1314</span> firstKey = curInlineChunk.getBlockKey(0);<a name="line.1314"></a>
+<span class="sourceLineNo">1315</span><a name="line.1315"></a>
+<span class="sourceLineNo">1316</span> // Start a new inline index block<a name="line.1316"></a>
+<span class="sourceLineNo">1317</span> curInlineChunk.clear();<a name="line.1317"></a>
+<span class="sourceLineNo">1318</span> }<a name="line.1318"></a>
+<span class="sourceLineNo">1319</span><a name="line.1319"></a>
+<span class="sourceLineNo">1320</span> /**<a name="line.1320"></a>
+<span class="sourceLineNo">1321</span> * Called after an inline block has been written so that we can add an<a name="line.1321"></a>
+<span class="sourceLineNo">1322</span> * entry referring to that block to the parent-level index.<a name="line.1322"></a>
+<span class="sourceLineNo">1323</span> */<a name="line.1323"></a>
+<span class="sourceLineNo">1324</span> @Override<a name="line.1324"></a>
+<span class="sourceLineNo">1325</span> public void blockWritten(long offset, int onDiskSize, int uncompressedSize) {<a name="line.1325"></a>
+<span class="sourceLineNo">1326</span> // Add leaf index block size<a name="line.1326"></a>
+<span class="sourceLineNo">1327</span> totalBlockOnDiskSize += onDiskSize;<a name="line.1327"></a>
+<span class="sourceLineNo">1328</span> totalBlockUncompressedSize += uncompressedSize;<a name="line.1328"></a>
+<span class="sourceLineNo">1329</span><a name="line.1329"></a>
+<span class="sourceLineNo">1330</span> if (singleLevelOnly)<a name="line.1330"></a>
+<span class="sourceLineNo">1331</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1331"></a>
+<span class="sourceLineNo">1332</span><a name="line.1332"></a>
+<span class="sourceLineNo">1333</span> if (firstKey == null) {<a name="line.1333"></a>
+<span class="sourceLineNo">1334</span> throw new IllegalStateException("Trying to add second-level index " +<a name="line.1334"></a>
+<span class="sourceLineNo">1335</span> "entry with offset=" + offset + " and onDiskSize=" + onDiskSize +<a name="line.1335"></a>
+<span class="sourceLineNo">1336</span> "but the first key was not set in writeInlineBlock");<a name="line.1336"></a>
+<span class="sourceLineNo">1337</span> }<a name="line.1337"></a>
+<span class="sourceLineNo">1338</span><a name="line.1338"></a>
+<span class="sourceLineNo">1339</span> if (rootChunk.getNumEntries() == 0) {<a name="line.1339"></a>
+<span class="sourceLineNo">1340</span> // We are writing the first leaf block, so increase index level.<a name="line.1340"></a>
+<span class="sourceLineNo">1341</span> expectNumLevels(1);<a name="line.1341"></a>
+<span class="sourceLineNo">1342</span> numLevels = 2;<a name="line.1342"></a>
+<span class="sourceLineNo">1343</span> }<a name="line.1343"></a>
+<span class="sourceLineNo">1344</span><a name="line.1344"></a>
+<span class="sourceLineNo">1345</span> // Add another entry to the second-level index. Include the number of<a name="line.1345"></a>
+<span class="sourceLineNo">1346</span> // entries in all previous leaf-level chunks for mid-key calculation.<a name="line.1346"></a>
+<span class="sourceLineNo">1347</span> rootChunk.add(firstKey, offset, onDiskSize, totalNumEntries);<a name="line.1347"></a>
+<span class="sourceLineNo">1348</span> firstKey = null;<a name="line.1348"></a>
<span class="sourceLineNo">1349</span> }<a name="line.1349"></a>
<span class="sourceLineNo">1350</span><a name="line.1350"></a>
-<span class="sourceLineNo">1351</span> /**<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span> * Add one index entry to the current leaf-level block. When the leaf-level<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span> * block gets large enough, it will be flushed to disk as an inline block.<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span> *<a name="line.1354"></a>
-<span class="sourceLineNo">1355</span> * @param firstKey the first key of the data block<a name="line.1355"></a>
-<span class="sourceLineNo">1356</span> * @param blockOffset the offset of the data block<a name="line.1356"></a>
-<span class="sourceLineNo">1357</span> * @param blockDataSize the on-disk size of the data block ({@link HFile}<a name="line.1357"></a>
-<span class="sourceLineNo">1358</span> * format version 2), or the uncompressed size of the data block (<a name="line.1358"></a>
-<span class="sourceLineNo">1359</span> * {@link HFile} format version 1).<a name="line.1359"></a>
-<span class="sourceLineNo">1360</span> */<a name="line.1360"></a>
-<span class="sourceLineNo">1361</span> public void addEntry(byte[] firstKey, long blockOffset, int blockDataSize) {<a name="line.1361"></a>
-<span class="sourceLineNo">1362</span> curInlineChunk.add(firstKey, blockOffset, blockDataSize);<a name="line.1362"></a>
-<span class="sourceLineNo">1363</span> ++totalNumEntries;<a name="line.1363"></a>
-<span class="sourceLineNo">1364</span> }<a name="line.1364"></a>
-<span class="sourceLineNo">1365</span><a name="line.1365"></a>
-<span class="sourceLineNo">1366</span> /**<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span> * @throws IOException if we happened to write a multi-level index.<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span> */<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span> public void ensureSingleLevel() throws IOException {<a name="line.1369"></a>
-<span class="sourceLineNo">1370</span> if (numLevels > 1) {<a name="line.1370"></a>
-<span class="sourceLineNo">1371</span> throw new IOException ("Wrote a " + numLevels + "-level index with " +<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span> rootChunk.getNumEntries() + " root-level entries, but " +<a name="line.1372"></a>
-<span class="sourceLineNo">1373</span> "this is expected to be a single-level block index.");<a name="line.1373"></a>
-<span class="sourceLineNo">1374</span> }<a name="line.1374"></a>
-<span class="sourceLineNo">1375</span> }<a name="line.1375"></a>
-<span class="sourceLineNo">1376</span><a name="line.1376"></a>
-<span class="sourceLineNo">1377</span> /**<a name="line.1377"></a>
-<span class="sourceLineNo">1378</span> * @return true if we are using cache-on-write. This is configured by the<a name="line.1378"></a>
-<span class="sourceLineNo">1379</span> * caller of the constructor by either passing a valid block cache<a name="line.1379"></a>
-<span class="sourceLineNo">1380</span> * or null.<a name="line.1380"></a>
-<span class="sourceLineNo">1381</span> */<a name="line.1381"></a>
-<span class="sourceLineNo">1382</span> @Override<a name="line.1382"></a>
-<span class="sourceLineNo">1383</span> public boolean getCacheOnWrite() {<a name="line.1383"></a>
-<span class="sourceLineNo">1384</span> return cacheConf != null && cacheConf.shouldCacheIndexesOnWrite();<a name="line.1384"></a>
-<span class="sourceLineNo">1385</span> }<a name="line.1385"></a>
-<span class="sourceLineNo">1386</span><a name="line.1386"></a>
-<span class="sourceLineNo">1387</span> /**<a name="line.1387"></a>
-<span class="sourceLineNo">1388</span> * The total uncompressed size of the root index block, intermediate-level<a name="line.1388"></a>
-<span class="sourceLineNo">1389</span> * index blocks, and leaf-level index blocks.<a name="line.1389"></a>
-<span class="sourceLineNo">1390</span> *<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span> * @return the total uncompressed size of all index blocks<a name="line.1391"></a>
-<span class="sourceLineNo">1392</span> */<a name="line.1392"></a>
-<span class="sourceLineNo">1393</span> public long getTotalUncompressedSize() {<a name="line.1393"></a>
-<span class="sourceLineNo">1394</span> return totalBlockUncompressedSize;<a name="line.1394"></a>
-<span class="sourceLineNo">1395</span> }<a name="line.1395"></a>
-<span class="sourceLineNo">1396</span><a name="line.1396"></a>
-<span class="sourceLineNo">1397</span> }<a name="line.1397"></a>
-<span class="sourceLineNo">1398</span><a name="line.1398"></a>
-<span class="sourceLineNo">1399</span> /**<a name="line.1399"></a>
-<span class="sourceLineNo">1400</span> * A single chunk of the block index in the process of writing. The data in<a name="line.1400"></a>
-<span class="sourceLineNo">1401</span> * this chunk can become a leaf-level, intermediate-level, or root index<a name="line.1401"></a>
-<span class="sourceLineNo">1402</span> * block.<a name="line.1402"></a>
-<span class="sourceLineNo">1403</span> */<a name="line.1403"></a>
-<span class="sourceLineNo">1404</span> static class BlockIndexChunk {<a name="line.1404"></a>
-<span class="sourceLineNo">1405</span><a name="line.1405"></a>
-<span class="sourceLineNo">1406</span> /** First keys of the key range corresponding to each index entry. */<a name="line.1406"></a>
-<span class="sourceLineNo">1407</span> private final List<byte[]> blockKeys = new ArrayList<>();<a name="line.1407"></a>
-<span class="sourceLineNo">1408</span><a name="line.1408"></a>
-<span class="sourceLineNo">1409</span> /** Block offset in backing stream. */<a name="line.1409"></a>
-<span class="sourceLineNo">1410</span> private final List<Long> blockOffsets = new ArrayList<>();<a name="line.1410"></a>
-<span class="sourceLineNo">1411</span><a name="line.1411"></a>
-<span class="sourceLineNo">1412</span> /** On-disk data sizes of lower-level data or index blocks. */<a name="line.1412"></a>
-<span class="sourceLineNo">1413</span> private final List<Integer> onDiskDataSizes = new ArrayList<>();<a name="line.1413"></a>
-<span class="sourceLineNo">1414</span><a name="line.1414"></a>
-<span class="sourceLineNo">1415</span> /**<a name="line.1415"></a>
-<span class="sourceLineNo">1416</span> * The cumulative number of sub-entries, i.e. entries on deeper-level block<a name="line.1416"></a>
-<span class="sourceLineNo">1417</span> * index entries. numSubEntriesAt[i] is the number of sub-entries in the<a name="line.1417"></a>
-<span class="sourceLineNo">1418</span> * blocks corresponding to this chunk's entries #0 through #i inclusively.<a name="line.1418"></a>
-<span class="sourceLineNo">1419</span> */<a name="line.1419"></a>
-<span class="sourceLineNo">1420</span> private final List<Long> numSubEntriesAt = new ArrayList<>();<a name="line.1420"></a>
-<span class="sourceLineNo">1421</span><a name="line.1421"></a>
-<span class="sourceLineNo">1422</span> /**<a name="line.1422"></a>
-<span class="sourceLineNo">1423</span> * The offset of the next entry to be added, relative to the end of the<a name="line.1423"></a>
-<span class="sourceLineNo">1424</span> * "secondary index" in the "non-root" format representation of this index<a name="line.1424"></a>
-<span class="sourceLineNo">1425</span> * chunk. This is the next value to be added to the secondary index.<a name="line.1425"></a>
-<span class="sourceLineNo">1426</span> */<a name="line.1426"></a>
-<span class="sourceLineNo">1427</span> private int curTotalNonRootEntrySize = 0;<a name="line.1427"></a>
-<span class="sourceLineNo">1428</span><a name="line.1428"></a>
-<span class="sourceLineNo">1429</span> /**<a name="line.1429"></a>
-<span class="sourceLineNo">1430</span> * The accumulated size of this chunk if stored in the root index format.<a name="line.1430"></a>
+<span class="sourceLineNo">1351</span> @Override<a name="line.1351"></a>
+<span class="sourceLineNo">1352</span> public BlockType getInlineBlockType() {<a name="line.1352"></a>
+<span class="sourceLineNo">1353</span> return BlockType.LEAF_INDEX;<a name="line.1353"></a>
+<span class="sourceLineNo">1354</span> }<a name="line.1354"></a>
+<span class="sourceLineNo">1355</span><a name="line.1355"></a>
+<span class="sourceLineNo">1356</span> /**<a name="line.1356"></a>
+<span class="sourceLineNo">1357</span> * Add one index entry to the current leaf-level block. When the leaf-level<a name="line.1357"></a>
+<span class="sourceLineNo">1358</span> * block gets large enough, it will be flushed to disk as an inline block.<a name="line.1358"></a>
+<span class="sourceLineNo">1359</span> *<a name="line.1359"></a>
+<span class="sourceLineNo">1360</span> * @param firstKey the first key of the data block<a name="line.1360"></a>
+<span class="sourceLineNo">1361</span> * @param blockOffset the offset of the data block<a name="line.1361"></a>
+<span class="sourceLineNo">1362</span> * @param blockDataSize the on-disk size of the data block ({@link HFile}<a name="line.1362"></a>
+<span class="sourceLineNo">1363</span> * format version 2), or the uncompressed size of the data block (<a name="line.1363"></a>
+<span class="sourceLineNo">1364</span> * {@link HFile} format version 1).<a name="line.1364"></a>
+<span class="sourceLineNo">1365</span> */<a name="line.1365"></a>
+<span class="sourceLineNo">1366</span> public void addEntry(byte[] firstKey, long blockOffset, int blockDataSize) {<a name="line.1366"></a>
+<span class="sourceLineNo">1367</span> curInlineChunk.add(firstKey, blockOffset, blockDataSize);<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span> ++totalNumEntries;<a name="line.1368"></a>
+<span class="sourceLineNo">1369</span> }<a name="line.1369"></a>
+<span class="sourceLineNo">1370</span><a name="line.1370"></a>
+<span class="sourceLineNo">1371</span> /**<a name="line.1371"></a>
+<span class="sourceLineNo">1372</span> * @throws IOException if we happened to write a multi-level index.<a name="line.1372"></a>
+<span class="sourceLineNo">1373</span> */<a name="line.1373"></a>
+<span class="sourceLineNo">1374</span> public void ensureSingleLevel() throws IOException {<a name="line.1374"></a>
+<span class="sourceLineNo">1375</span> if (numLevels > 1) {<a name="line.1375"></a>
+<span class="sourceLineNo">1376</span> throw new IOException ("Wrote a " + numLevels + "-level index with " +<a name="line.1376"></a>
+<span class="sourceLineNo">1377</span> rootChunk.getNumEntries() + " root-level entries, but " +<a name="line.1377"></a>
+<span class="sourceLineNo">1378</span> "this is expected to be a single-level block index.");<a name="line.1378"></a>
+<span class="sourceLineNo">1379</span> }<a name="line.1379"></a>
+<span class="sourceLineNo">1380</span> }<a name="line.1380"></a>
+<span class="sourceLineNo">1381</span><a name="line.1381"></a>
+<span class="sourceLineNo">1382</span> /**<a name="line.1382"></a>
+<span class="sourceLineNo">1383</span> * @return true if we are using cache-on-write. This is configured by the<a name="line.1383"></a>
+<span class="sourceLineNo">1384</span> * caller of the constructor by either passing a valid block cache<a name="line.1384"></a>
+<span class="sourceLineNo">1385</span> * or null.<a name="line.1385"></a>
+<span class="sourceLineNo">1386</span> */<a name="line.1386"></a>
+<span class="sourceLineNo">1387</span> @Override<a name="line.1387"></a>
+<span class="sourceLineNo">1388</span> public boolean getCacheOnWrite() {<a name="line.1388"></a>
+<span class="sourceLineNo">1389</span> return cacheConf != null && cacheConf.shouldCacheIndexesOnWrite();<a name="line.1389"></a>
+<span class="sourceLineNo">1390</span> }<a name="line.1390"></a>
+<span class="sourceLineNo">1391</span><a name="line.1391"></a>
+<span class="sourceLineNo">1392</span> /**<a name="line.1392"></a>
+<span class="sourceLineNo">1393</span> * The total uncompressed size of the root index block, intermediate-level<a name="line.1393"></a>
+<span class="sourceLineNo">1394</span> * index blocks, and leaf-level index blocks.<a name="line.1394"></a>
+<span class="sourceLineNo">1395</span> *<a name="line.1395"></a>
+<span class="sourceLineNo">1396</span> * @return the total uncompressed size of all index blocks<a name="line.1396"></a>
+<span class="sourceLineNo">1397</span> */<a name="line.1397"></a>
+<span class="sourceLineNo">1398</span> public long getTotalUncompressedSize() {<a name="line.1398"></a>
+<span class="sourceLineNo">1399</span> return totalBlockUncompressedSize;<a name="line.1399"></a>
+<span class="sourceLineNo">1400</span> }<a name="line.1400"></a>
+<span class="sourceLineNo">1401</span><a name="line.1401"></a>
+<span class="sourceLineNo">1402</span> }<a name="line.1402"></a>
+<span class="sourceLineNo">1403</span><a name="line.1403"></a>
+<span class="sourceLineNo">1404</span> /**<a name="line.1404"></a>
+<span class="sourceLineNo">1405</span> * A single chunk of the block index in the process of writing. The data in<a name="line.1405"></a>
+<span class="sourceLineNo">1406</span> * this chunk can become a leaf-level, intermediate-level, or root index<a name="line.1406"></a>
+<span class="sourceLineNo">1407</span> * block.<a name="line.1407"></a>
+<span class="sourceLineNo">1408</span> */<a name="line.1408"></a>
+<span class="sourceLineNo">1409</span> static class BlockIndexChunk {<a name="line.1409"></a>
+<span class="sourceLineNo">1410</span><a name="line.1410"></a>
+<span class="sourceLineNo">1411</span> /** First keys of the key range corresponding to each index entry. */<a name="line.1411"></a>
+<span class="sourceLineNo">1412</span> private final List<byte[]> blockKeys = new ArrayList<>();<a name="line.1412"></a>
+<span class="sourceLineNo">1413</span><a name="line.1413"></a>
+<span class="sourceLineNo">1414</span> /** Block offset in backing stream. */<a name="line.1414"></a>
+<span class="sourceLineNo">1415</span> private final List<Long> blockOffsets = new ArrayList<>();<a name="line.1415"></a>
+<span class="sourceLineNo">1416</span><a name="line.1416"></a>
+<span class="sourceLineNo">1417</span> /** On-disk data sizes of lower-level data or index blocks. */<a name="line.1417"></a>
+<span class="sourceLineNo">1418</span> private final List<Integer> onDiskDataSizes = new ArrayList<>();<a name="line.1418"></a>
+<span class="sourceLineNo">1419</span><a name="line.1419"></a>
+<span class="sourceLineNo">1420</span> /**<a name="line.1420"></a>
+<span class="sourceLineNo">1421</span> * The cumulative number of sub-entries, i.e. entries on deeper-level block<a name="line.1421"></a>
+<span class="sourceLineNo">1422</span> * index entries. numSubEntriesAt[i] is the number of sub-entries in the<a name="line.1422"></a>
+<span class="sourceLineNo">1423</span> * blocks corresponding to this chunk's entries #0 through #i inclusively.<a name="line.1423"></a>
+<span class="sourceLineNo">1424</span> */<a name="line.1424"></a>
+<span class="sourceLineNo">1425</span> private final List<Long> numSubEntriesAt = new ArrayList<>();<a name="line.1425"></a>
+<span class="sourceLineNo">1426</span><a name="line.1426"></a>
+<span class="sourceLineNo">1427</span> /**<a name="line.1427"></a>
+<span class="sourceLineNo">1428</span> * The offset of the next entry to be added, relative to the end of the<a name="line.1428"></a>
+<span class="sourceLineNo">1429</span> * "secondary index" in the "non-root" format representation of this index<a name="line.1429"></a>
+<span class="sourceLineNo">1430</span> * chunk. This is the next value to be added to the secondary index.<a name="line.1430"></a>
<span class="sourceLineNo">1431</span> */<a name="line.1431"></a>
-<span class="sourceLineNo">1432</span> private int curTotalRootSize = 0;<a name="line.1432"></a>
+<span class="sourceLineNo">1432</span> private int curTotalNonRootEntrySize = 0;<a name="line.1432"></a>
<span class="sourceLineNo">1433</span><a name="line.1433"></a>
<span class="sourceLineNo">1434</span> /**<a name="line.1434"></a>
-<span class="sourceLineNo">1435</span> * The "secondary index" used for binary search over variable-length<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span> * records in a "non-root" format block. These offsets are relative to the<a name="line.1436"></a>
-<span class="sourceLineNo">1437</span> * end of this secondary index.<a name="line.1437"></a>
-<span class="sourceLineNo">1438</span> */<a name="line.1438"></a>
-<span class="sourceLineNo">1439</span> private final List<Integer> secondaryIndexOffsetMarks = new ArrayList<>();<a name="line.1439"></a>
-<span class="sourceLineNo">1440</span><a name="line.1440"></a>
-<span class="sourceLineNo">1441</span> /**<a name="line.1441"></a>
-<span class="sourceLineNo">1442</span> * Adds a new entry to this block index chunk.<a name="line.1442"></a>
-<span class="sourceLineNo">1443</span> *<a name="line.1443"></a>
-<span class="sourceLineNo">1444</span> * @param firstKey the first key in the block pointed to by this entry<a name="line.1444"></a>
-<span class="sourceLineNo">1445</span> * @param blockOffset the offset of the next-level block pointed to by this<a name="line.1445"></a>
-<span class="sourceLineNo">1446</span> * entry<a name="line.1446"></a>
-<span class="sourceLineNo">1447</span> * @param onDiskDataSize the on-disk data of the block pointed to by this<a name="line.1447"></a>
-<span class="sourceLineNo">1448</span> * entry, including header size<a name="line.1448"></a>
-<span class="sourceLineNo">1449</span> * @param curTotalNumSubEntries if this chunk is the root index chunk under<a name="line.1449"></a>
-<span class="sourceLineNo">1450</span> * construction, this specifies the current total number of<a name="line.1450"></a>
-<span class="sourceLineNo">1451</span> * sub-entries in all leaf-level chunks, including the one<a name="line.1451"></a>
-<span class="sourceLineNo">1452</span> * corresponding to the second-level entry being added.<a name="line.1452"></a>
-<span class="sourceLineNo">1453</span> */<a name="line.1453"></a>
-<span class="sourceLineNo">1454</span> void add(byte[] firstKey, long blockOffset, int onDiskDataSize,<a name="line.1454"></a>
-<span class="sourceLineNo">1455</span> long curTotalNumSubEntries) {<a name="line.1455"></a>
-<span class="sourceLineNo">1456</span> // Record the offset for the secondary index<a name="line.1456"></a>
-<span class="sourceLineNo">1457</span> secondaryIndexOffsetMarks.add(curTotalNonRootEntrySize);<a name="line.1457"></a>
-<span class="sourceLineNo">1458</span> curTotalNonRootEntrySize += SECONDARY_INDEX_ENTRY_OVERHEAD<a name="line.1458"></a>
-<span class="sourceLineNo">1459</span> + firstKey.length;<a name="line.1459"></a>
-<span class="sourceLineNo">1460</span><a name="line.1460"></a>
-<span class="sourceLineNo">1461</span> curTotalRootSize += Bytes.SIZEOF_LONG + Bytes.SIZEOF_INT<a name="line.1461"></a>
-<span class="sourceLineNo">1462</span> + WritableUtils.getVIntSize(firstKey.length) + firstKey.length;<a name="line.1462"></a>
-<span class="sourceLineNo">1463</span><a name="line.1463"></a>
-<span class="sourceLineNo">1464</span> blockKeys.add(firstKey);<a name="line.1464"></a>
-<span class="sourceLineNo">1465</span> blockOffsets.add(blockOffset);<a name="line.1465"></a>
-<span class="sourceLineNo">1466</span> onDiskDataSizes.add(onDiskDataSize);<a name="line.1466"></a>
-<span class="sourceLineNo">1467</span><a name="line.1467"></a>
-<span class="sourceLineNo">1468</span> if (curTotalNumSubEntries != -1) {<a name="line.1468"></a>
-<span class="sourceLineNo">1469</span> numSubEntriesAt.add(curTotalNumSubEntries);<a name="line.1469"></a>
-<span class="sourceLineNo">1470</span><a name="line.1470"></a>
-<span class="sourceLineNo">1471</span> // Make sure the parallel arrays are in sync.<a name="line.1471"></a>
-<span class="sourceLineNo">1472</span> if (numSubEntriesAt.size() != blockKeys.size()) {<a name="line.1472"></a>
-<span class="sourceLineNo">1473</span> throw new IllegalStateException("Only have key/value count " +<a name="line.1473"></a>
-<span class="sourceLineNo">1474</span> "stats for " + numSubEntriesAt.size() + " block index " +<a name="line.1474"></a>
-<span class="sourceLineNo">1475</span> "entries out of " + blockKeys.size());<a name="line.1475"></a>
-<span class="sourceLineNo">1476</span> }<a name="line.1476"></a>
-<span class="sourceLineNo">1477</span> }<a name="line.1477"></a>
-<span class="sourceLineNo">1478</span> }<a name="line.1478"></a>
-<span class="sourceLineNo">1479</span><a name="line.1479"></a>
-<span class="sourceLineNo">1480</span> /**<a name="line.1480"></a>
-<span class="sourceLineNo">1481</span> * The same as {@link #add(byte[], long, int, long)} but does not take the<a name="line.1481"></a>
-<span class="sourceLineNo">1482</span> * key/value into account. Used for single-level indexes.<a name="line.1482"></a>
-<span class="sourceLineNo">1483</span> *<a name="line.1483"></a>
-<span class="sourceLineNo">1484</span> * @see #add(byte[], long, int, long)<a name="line.1484"></a>
-<span class="sourceLineNo">1485</span> */<a name="line.1485"></a>
-<span class="sourceLineNo">1486</span> public void add(byte[] firstKey, long blockOffset, int onDiskDataSize) {<a name="line.1486"></a>
-<span class="sourceLineNo">1487</span> add(firstKey, blockOffset, onDiskDataSize, -1);<a name="line.1487"></a>
-<span class="sourceLineNo">1488</span> }<a name="line.1488"></a>
-<span class="sourceLineNo">1489</span><a name="line.1489"></a>
-<span class="sourceLineNo">1490</span> public void clear() {<a name="line.1490"></a>
-<span class="sourceLineNo">1491</span> blockKeys.clear();<a name="line.1491"></a>
-<span class="sourceLineNo">1492</span> blockOffsets.clear();<a name="line.1492"></a>
-<span class="sourceLineNo">1493</span> onDiskDataSizes.clear();<a name="line.1493"></a>
-<span class="sourceLineNo">1494</span> secondaryIndexOffsetMarks.clear();<a name="line.1494"></a>
-<span class="sourceLineNo">1495</span> numSubEntriesAt.clear();<a name="line.1495"></a>
-<span class="sourceLineNo">1496</span> curTotalNonRootEntrySize = 0;<a name="line.1496"></a>
-<span class="sourceLineNo">1497</span> curTotalRootSize = 0;<a name="line.1497"></a>
-<span class="sourceLineNo">1498</span> }<a name="line.1498"></a>
-<span class="sourceLineNo">1499</span><a name="line.1499"></a>
-<span class="sourceLineNo">1500</span> /**<a name="line.1500"></a>
-<span class="sourceLineNo">1501</span> * Finds the entry corresponding to the deeper-level index block containing<a name="line.1501"></a>
-<span class="sourceLineNo">1502</span> * the given deeper-level entry (a "sub-entry"), assuming a global 0-based<a name="line.1502"></a>
-<span class="sourceLineNo">1503</span> * ordering of sub-entries.<a name="line.1503"></a>
-<span class="sourceLineNo">1504</span> *<a name="line.1504"></a>
-<span class="sourceLineNo">1505</span> * <p><a name="line.1505"></a>
-<span class="sourceLineNo">1506</span> * <i> Implementation note. </i> We are looking for i such that<a name="line.1506"></a>
-<span class="sourceLineNo">1507</span> * numSubEntriesAt[i - 1] <= k < numSubEntriesAt[i], because a deeper-level<a name="line.1507"></a>
-<span class="sourceLineNo">1508</span> * block #i (0-based) contains sub-entries # numSubEntriesAt[i - 1]'th<a name="line.1508"></a>
-<span class="sourceLineNo">1509</span> * through numSubEntriesAt[i] - 1, assuming a global 0-based ordering of<a name="line.1509"></a>
-<span class="sourceLineNo">1510</span> * sub-entries. i is by definition the insertion point of k in<a name="line.1510"></a>
-<span class="sourceLineNo">1511</span> * numSubEntriesAt.<a name="line.1511"></a>
-<span class="sourceLineNo">1512</span> *<a name="line.1512"></a>
-<span class="sourceLineNo">1513</span> * @param k sub-entry index, from 0 to the total number sub-entries - 1<a name="line.1513"></a>
-<span class="sourceLineNo">1514</span> * @return the 0-based index of the entry corresponding to the given<a name="line.1514"></a>
-<span class="sourceLineNo">1515</span> * sub-entry<a name="line.1515"></a>
-<span class="sourceLineNo">1516</span> */<a name="line.1516"></a>
-<span class="sourceLineNo">1517</span> public int getEntryBySubEntry(long k) {<a name="line.1517"></a>
-<span class="sourceLineNo">1518</span> // We define mid-key as the key corresponding to k'th sub-entry<a name="line.1518"></a>
-<span class="sourceLineNo">1519</span> // (0-based).<a name="line.1519"></a>
-<span class="sourceLineNo">1520</span><a name="line.1520"></a>
-<span class="sourceLineNo">1521</span> int i = Collections.binarySearch(numSubEntriesAt, k);<a name="line.1521"></a>
-<span class="sourceLineNo">1522</span><a name="line.1522"></a>
-<span class="sourceLineNo">1523</span> // Exact match: cumulativeWeight[i] = k. This means chunks #0 through<a name="line.1523"></a>
-<span class="sourceLineNo">1524</span> // #i contain exactly k sub-entries, and the sub-entry #k (0-based)<a name="line.1524"></a>
-<span class="sourceLineNo">1525</span> // is in the (i + 1)'th chunk.<a name="line.1525"></a>
-<span class="sourceLineNo">1526</span> if (i >= 0)<a name="line.1526"></a>
-<span class="sourceLineNo">1527</span> return i + 1;<a name="line.1527"></a>
-<span class="sourceLineNo">1528</span><a name="line.1528"></a>
-<span class="sourceLineNo">1529</span> // Inexact match. Return the insertion point.<a name="line.1529"></a>
-<span class="sourceLineNo">1530</span> return -i - 1;<a name="line.1530"></a>
-<span class="sourceLineNo">1531</span> }<a name="line.1531"></a>
-<span class="sourceLineNo">1532</span><a name="line.1532"></a>
-<span class="sourceLineNo">1533</span> /**<a name="line.1533"></a>
-<span class="sourceLineNo">1534</span> * Used when writing the root block index of a multi-level block index.<a name="line.1534"></a>
-<span class="sourceLineNo">1535</span> * Serializes additional information allowing to efficiently identify the<a name="line.1535"></a>
-<span class="sourceLineNo">1536</span> * mid-key.<a name="line.1536"></a>
-<span class="sourceLineNo">1537</span> *<a name="line.1537"></a>
-<span class="sourceLineNo">1538</span> * @return a few serialized fields for finding the mid-key<a name="line.1538"></a>
-<span class="sourceLineNo">1539</span> * @throws IOException if could not create metadata for computing mid-key<a name="line.1539"></a>
-<span class="sourceLineNo">1540</span> */<a name="line.1540"></a>
-<span class="sourceLineNo">1541</span> public byte[] getMidKeyMetadata() throws IOException {<a name="line.1541"></a>
-<span class="sourceLineNo">1542</span> ByteArrayOutputStream baos = new ByteArrayOutputStream(<a name="line.1542"></a>
-<span class="sourceLineNo">1543</span> MID_KEY_METADATA_SIZE);<a name="line.1543"></a>
-<span class="sourceLineNo">1544</span> DataOutputStream baosDos = new DataOutputStream(baos);<a name="line.1544"></a>
-<span class="sourceLineNo">1545</span> long totalNumSubEntries = numSubEntriesAt.get(blockKeys.size() - 1);<a name="line.1545"></a>
-<span class="sourceLineNo">1546</span> if (totalNumSubEntries == 0) {<a name="line.1546"></a>
-<span class="sourceLineNo">1547</span> throw new IOException("No leaf-level entries, mid-key unavailable");<a name="line.1547"></a>
-<span class="sourceLineNo">1548</span> }<a name="line.1548"></a>
-<span class="sourceLineNo">1549</span> long midKeySubEntry = (totalNumSubEntries - 1) / 2;<a name="line.1549"></a>
-<span class="sourceLineNo">1550</span> int midKeyEntry = getEntryBySubEntry(midKeySubEntry);<a name="line.1550"></a>
-<span class="sourceLineNo">1551</span><a name="line.1551"></a>
-<span class="sourceLineNo">1552</span> baosDos.writeLong(blockOffsets.get(midKeyEntry));<a name="line.1552"></a>
-<span class="sourceLineNo">1553</span> baosDos.writeInt(onDiskDataSizes.get(midKeyEntry));<a name="line.1553"></a>
-<span class="sourceLineNo">1554</span><a name="line.1554"></a>
-<span class="sourceLineNo">1555</span> long numSubEntriesBefore = midKeyEntry > 0<a name="line.1555"></a>
-<span class="sourceLineNo">1556</span> ? numSubEntriesAt.get(midKeyEntry - 1) : 0;<a name="line.1556"></a>
-<span class="sourceLineNo">1557</span> long subEntryWithinEntry = midKeySubEntry - numSubEntriesBefore;<a name="line.1557"></a>
-<span class="sourceLineNo">1558</span> if (subEntryWithinEntry < 0 || subEntryWithinEntry > Integer.MAX_VALUE)<a name="line.1558"></a>
-<span class="sourceLineNo">1559</span> {<a name="line.1559"></a>
-<span class="sourceLineNo">1560</span> throw new IOException("Could not identify mid-key index within the "<a name="line.1560"></a>
-<span class="sourceLineNo">1561</span> + "leaf-level block containing mid-key: out of range ("<a name="line.1561"></a>
-<span class="sourceLineNo">1562</span> + subEntryWithinEntry + ", numSubEntriesBefore="<a name="line.1562"></a>
-<span class="sourceLineNo">1563</span> + numSubEntriesBefore + ", midKeySubEntry=" + midKeySubEntry<a name="line.1563"></a>
-<span class="sourceLineNo">1564</span> + ")");<a name="line.1564"></a>
-<span class="sourceLineNo">1565</span> }<a name="line.1565"></a>
-<span class="sourceLineNo">1566</span><a name="line.1566"></a>
-<span class="sourceLineNo">1567</span> baosDos.writeInt((int) subEntryWithinEntry);<a name="line.1567"></a>
-<span class="sourceLineNo">1568</span><a name="line.1568"></a>
-<span class="sourceLineNo">1569</span> if (baosDos.size() != MID_KEY_METADATA_SIZE) {<a name="line.1569"></a>
-<span class="sourceLineNo">1570</span> throw new IOException("Could not write mid-key metadata: size=" +<a name="line.1570"></a>
-<span class="sourceLineNo">1571</span> baosDos.size() + ", correct size: " + MID_KEY_METADATA_SIZE);<a name="line.1571"></a>
-<span class="sourceLineNo">1572</span> }<a name="line.1572"></a>
+<span class="sourceLineNo">1435</span> * The accumulated size of this chunk if stored in the root index format.<a name="line.1435"></a>
+<span class="sourceLineNo">1436</span> */<a name="line.1436"></a>
+<span class="sourceLineNo">1437</span> private int curTotalRootSize = 0;<a name="line.1437"></a>
+<span class="sourceLineNo">1438</span><a name="line.1438"></a>
+<span class="sourceLineNo">1439</span> /**<a name="line.1439"></a>
+<span class="sourceLineNo">1440</span> * The "secondary index" used for binary search over variable-length<a name="line.1440"></a>
+<span class="sourceLineNo">1441</span> * records in a "non-root" format block. These offsets are relative to the<a name="line.1441"></a>
+<span class="sourceLineNo">1442</span> * end of this secondary index.<a name="line.1442"></a>
+<span class="sourceLineNo">1443</span> */<a name="line.1443"></a>
+<span class="sourceLineNo">1444</span> private final List<Integer> secondaryIndexOffsetMarks = new ArrayList<>();<a name="line.1444"></a>
+<span class="sourceLineNo">1445</span><a name="line.1445"></a>
+<span class="sourceLineNo">1446</span> /**<a name="line.1446"></a>
+<span class="sourceLineNo">1447</span> * Adds a new entry to this block index chunk.<a name="line.1447"></a>
+<span class="sourceLineNo">1448</span> *<a name="line.1448"></a>
+<span class="sourceLineNo">1449</span> * @param firstKey the first key in the block pointed to by this entry<a name="line.1449"></a>
+<span class="sourceLineNo">1450</span> * @param blockOffset the offset of the next-level block pointed to by this<a name="line.1450"></a>
+<span class="sourceLineNo">1451</span> * entry<a name="line.1451"></a>
+<span class="sourceLineNo">1452</span> * @param onDiskDataSize the on-disk data of the block pointed to by this<a name="line.1452"></a>
+<span class="sourceLineNo">1453</span> * entry, including header size<a name="line.1453"></a>
+<span class="sourceLineNo">1454</span> * @param curTotalNumSubEntries if this chunk is the root index chunk under<a name="line.1454"></a>
+<span class="sourceLineNo">1455</span> * construction, this specifies the current total number of<a name="line.1455"></a>
+<span class="sourceLineNo">1456</span> * sub-entries in all leaf-level chunks, including the one<a name="line.1456"></a>
+<span class="sourceLineNo">1457</span> * corresponding to the second-level entry being added.<a name="line.1457"></a>
+<span class="sourceLineNo">1458</span> */<a name="line.1458"></a>
+<span class="sourceLineNo">1459</span> void add(byte[] firstKey, long blockOffset, int onDiskDataSize,<a name="line.1459"></a>
+<span class="sourceLineNo">1460</span> long curTotalNumSubEntries) {<a name="line.1460"></a>
+<span class="sourceLineNo">1461</span> // Record the offset for the secondary index<a name="line.1461"></a>
+<span class="sourceLineNo">1462</span> secondaryIndexOffsetMarks.add(curTotalNonRootEntrySize);<a name="line.1462"></a>
+<span class="sourceLineNo">1463</span> curTotalNonRootEntrySize += SECONDARY_INDEX_ENTRY_OVERHEAD<a name="line.1463"></a>
+<span class="sourceLineNo">1464</span> + firstKey.length;<a name="line.1464"></a>
+<span class="sourceLineNo">1465</span><a name="line.1465"></a>
+<span class="sourceLineNo">1466</span> curTotalRootSize += Bytes.SIZEOF_LONG + Bytes.SIZEOF_INT<a name="line.1466"></a>
+<span class="sourceLineNo">1467</span> + WritableUtils.getVIntSize(firstKey.length) + firstKey.length;<a name="line.1467"></a>
+<span class="sourceLineNo">1468</span><a name="line.1468"></a>
+<span class="sourceLineNo">1469</span> blockKeys.add(firstKey);<a name="line.1469"></a>
+<span class="sourceLineNo">1470</span> blockOffsets.add(blockOffset);<a name="line.1470"></a>
+<span class="sourceLineNo">1471</span> onDiskDataSizes.add(onDiskDataSize);<a name="line.1471"></a>
+<span class="sourceLineNo">1472</span><a name="line.1472"></a>
+<span class="sourceLineNo">1473</span> if (curTotalNumSubEntries != -1) {<a name="line.1473"></a>
+<span class="sourceLineNo">1474</span> numSubEntriesAt.add(curTotalNumSubEntries);<a name="line.1474"></a>
+<span class="sourceLineNo">1475</span><a name="line.1475"></a>
+<span class="sourceLineNo">1476</span> // Make sure the parallel arrays are in sync.<a name="line.1476"></a>
+<span class="sourceLineNo">1477</span> if (numSubEntriesAt.size() != blockKeys.size()) {<a name="line.1477"></a>
+<span class="sourceLineNo">1478</span> throw new IllegalStateException("Only have key/value count " +<a name="line.1478"></a>
+<span class="sourceLineNo">1479</span> "stats for " + numSubEntriesAt.size() + " block index " +<a name="line.1479"></a>
+<span class="sourceLineNo">1480</span> "entries out of " + blockKeys.size());<a name="line.1480"></a>
+<span class="sourceLineNo">1481</span> }<a name="line.1481"></a>
+<span class="sourceLineNo">1482</span> }<a name="line.1482"></a>
+<span class="sourceLineNo">1483</span> }<a name="line.1483"></a>
+<span class="sourceLineNo">1484</span><a name="line.1484"></a>
+<span class="sourceLineNo">1485</span> /**<a name="line.1485"></a>
+<span class="sourceLineNo">1486</span> * The same as {@link #add(byte[], long, int, long)} but does not take the<a name="line.1486"></a>
+<span class="sourceLineNo">1487</span> * key/value into account. Used for single-level indexes.<a name="line.1487"></a>
+<span class="sourceLineNo">1488</span> *<a name="line.1488"></a>
+<span class="sourceLineNo">1489</span> * @see #add(byte[], long, int, long)<a name="line.1489"></a>
+<span class="sourceLineNo">1490</span> */<a name="line.1490"></a>
+<span class="sourceLineNo">1491</span> public void add(byte[] firstKey, long blockOffset, int onDiskDataSize) {<a name="line.1491"></a>
+<span class="sourceLineNo">1492</span> add(firstKey, blockOffset, onDiskDataSize, -1);<a name="line.1492"></a>
+<span class="sourceLineNo">1493</span> }<a name="line.1493"></a>
+<span class="sourceLineNo">1494</span><a name="line.1494"></a>
+<span class="sourceLineNo">1495</span> public void clear() {<a name="line.1495"></a>
+<span class="sourceLineNo">1496</span> blockKeys.clear();<a name="line.1496"></a>
+<span class="sourceLineNo">1497</span> blockOffsets.clear();<a name="line.1497"></a>
+<span class="sourceLineNo">1498</span> onDiskDataSizes.clear();<a name="line.1498"></a>
+<span class="sourceLineNo">1499</span> secondaryIndexOffsetMarks.clear();<a name="line.1499"></a>
+<span class="sourceLineNo">1500</span> numSubEntriesAt.clear();<a name="line.1500"></a>
+<span class="sourceLineNo">1501</span> curTotalNonRootEntrySize = 0;<a name="line.1501"></a>
+<span class="sourceLineNo">1502</span> curTotalRootSize = 0;<a name="line.1502"></a>
+<span class="sourceLineNo">1503</span> }<a name="line.1503"></a>
+<span class="sourceLineNo">1504</span><a name="line.1504"></a>
+<span class="sourceLineNo">1505</span> /**<a name="line.1505"></a>
+<span class="sourceLineNo">1506</span> * Finds the entry corresponding to the deeper-level index block containing<a name="line.1506"></a>
+<span class="sourceLineNo">1507</span> * the given deeper-level entry (a "sub-entry"), assuming a global 0-based<a name="line.1507"></a>
+<span class="sourceLineNo">1508</span> * ordering of sub-entries.<a name="line.1508"></a>
+<span class="sourceLineNo">1509</span> *<a name="line.1509"></a>
+<span class="sourceLineNo">1510</span> * <p><a name="line.1510"></a>
+<span class="sourceLineNo">1511</span> * <i> Implementation note. </i> We are looking for i such that<a name="line.1511"></a>
+<span class="sourceLineNo">1512</span> * numSubEntriesAt[i - 1] <= k < numSubEntriesAt[i], because a deeper-level<a name="line.1512"></a>
+<span class="sourceLineNo">1513</span> * block #i (0-based) contains sub-entries # numSubEntriesAt[i - 1]'th<a name="line.1513"></a>
+<span class="sourceLineNo">1514</span> * through numSubEntriesAt[i] - 1, assuming a global 0-based ordering of<a name="line.1514"></a>
+<span class="sourceLineNo">1515</span> * sub-entries. i is by definition the insertion point of k in<a name="line.1515"></a>
+<span class="sourceLineNo">1516</span> * numSubEntriesAt.<a name="line.1516"></a>
+<span class="sourceLineNo">1517</span> *<a name="line.1517"></a>
+<span class="sourceLineNo">1518</span> * @param k sub-entry index, from 0 to the total number sub-entries - 1<a name="line.1518"></a>
+<span class="sourceLineNo">1519</span> * @return the 0-based index of the entry corresponding to the given<a name="line.1519"></a>
+<span class="sourceLineNo">1520</span> *
<TRUNCATED>
[26/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html
index cd14215..07384a0 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html
@@ -18,7 +18,7 @@
catch(err) {
}
//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":9,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":9,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":9,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":10,"i101":10,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i109
":10,"i110":10,"i111":10,"i112":10,"i113":10,"i114":10,"i115":10,"i116":10,"i117":10,"i118":10,"i119":10,"i120":10,"i121":10,"i122":10,"i123":10,"i124":10,"i125":10,"i126":10,"i127":10,"i128":10,"i129":10,"i130":9,"i131":10,"i132":9,"i133":10,"i134":10,"i135":10,"i136":10,"i137":10,"i138":10,"i139":10,"i140":10,"i141":10,"i142":10,"i143":10,"i144":10,"i145":10,"i146":10,"i147":10,"i148":10,"i149":10,"i150":10,"i151":9,"i152":10,"i153":9,"i154":10,"i155":10,"i156":10,"i157":10,"i158":10,"i159":10,"i160":10,"i161":10,"i162":10,"i163":10,"i164":10,"i165":10,"i166":10,"i167":10,"i168":10,"i169":10,"i170":10,"i171":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":9,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":9,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":9,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":10,"i101":10,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i109
":10,"i110":10,"i111":10,"i112":10,"i113":10,"i114":10,"i115":10,"i116":10,"i117":10,"i118":10,"i119":10,"i120":10,"i121":10,"i122":10,"i123":10,"i124":10,"i125":10,"i126":10,"i127":10,"i128":10,"i129":10,"i130":10,"i131":9,"i132":10,"i133":9,"i134":10,"i135":10,"i136":10,"i137":10,"i138":10,"i139":10,"i140":10,"i141":10,"i142":10,"i143":10,"i144":10,"i145":10,"i146":10,"i147":10,"i148":10,"i149":10,"i150":10,"i151":10,"i152":9,"i153":10,"i154":9,"i155":10,"i156":10,"i157":10,"i158":10,"i159":10,"i160":10,"i161":10,"i162":10,"i163":10,"i164":10,"i165":10,"i166":10,"i167":10,"i168":10,"i169":10,"i170":10,"i171":10,"i172":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -123,7 +123,7 @@ var activeTableTab = "activeTableTab";
<hr>
<br>
<pre>@InterfaceAudience.LimitedPrivate(value="Tools")
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.229">HRegionServer</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.230">HRegionServer</a>
extends <a href="../../../../../org/apache/hadoop/hbase/util/HasThread.html" title="class in org.apache.hadoop.hbase.util">HasThread</a>
implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/LastSequenceId.html" title="interface in org.apache.hadoop.hbase.regionserver">LastSequenceId</a>, <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserver.html" title="interface in org.apache.hadoop.hbase.conf">ConfigurationObserver</a></pre>
<div class="block">HRegionServer makes a set of HRegions available to clients. It checks in with
@@ -205,8 +205,8 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#abortRequested">abortRequested</a></span></code> </td>
</tr>
<tr class="rowColor">
-<td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#cacheConfig">cacheConfig</a></span></code> </td>
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#blockCache">blockCache</a></span></code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreFlusher.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreFlusher</a></code></td>
@@ -359,8 +359,8 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#metricsTable">metricsTable</a></span></code> </td>
</tr>
<tr class="altColor">
-<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob">MobCacheConfig</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#mobCacheConfig">mobCacheConfig</a></span></code> </td>
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#mobFileCache">mobFileCache</a></span></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer.MovedRegionInfo</a>></code></td>
@@ -867,8 +867,10 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<a href="../../../../../org/apache/hadoop/hbase/procedure2/RSProcedureCallable.html" title="interface in org.apache.hadoop.hbase.procedure2">RSProcedureCallable</a> callable)</code> </td>
</tr>
<tr id="i40" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getCacheConfig--">getCacheConfig</a></span>()</code> </td>
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getBlockCache--">getBlockCache</a></span>()</code>
+<div class="block">May be null if this is a master which not carry table.</div>
+</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/ChoreService.html" title="class in org.apache.hadoop.hbase">ChoreService</a></code></td>
@@ -993,292 +995,298 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getMetrics--">getMetrics</a></span>()</code> </td>
</tr>
<tr id="i69" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getMobFileCache--">getMobFileCache</a></span>()</code>
+<div class="block">May be null if this is a master which not carry table.</div>
+</td>
+</tr>
+<tr id="i70" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getMostLoadedRegions--">getMostLoadedRegions</a></span>()</code>
<div class="block">Get the top N most loaded regions this server is serving so we can tell the
master which regions it can reallocate if we're overloaded.</div>
</td>
</tr>
-<tr id="i70" class="altColor">
+<tr id="i71" class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer.MovedRegionInfo</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getMovedRegion-java.lang.String-">getMovedRegion</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> encodedRegionName)</code> </td>
</tr>
-<tr id="i71" class="rowColor">
+<tr id="i72" class="altColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getMyEphemeralNodePath--">getMyEphemeralNodePath</a></span>()</code> </td>
</tr>
-<tr id="i72" class="altColor">
+<tr id="i73" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/ServerNonceManager.html" title="class in org.apache.hadoop.hbase.regionserver">ServerNonceManager</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getNonceManager--">getNonceManager</a></span>()</code>
<div class="block">Only required for "old" log replay; if it's removed, remove this.</div>
</td>
</tr>
-<tr id="i73" class="rowColor">
+<tr id="i74" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getNumberOfOnlineRegions--">getNumberOfOnlineRegions</a></span>()</code> </td>
</tr>
-<tr id="i74" class="altColor">
+<tr id="i75" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getOnlineRegion-byte:A-">getOnlineRegion</a></span>(byte[] regionName)</code> </td>
</tr>
-<tr id="i75" class="rowColor">
+<tr id="i76" class="altColor">
<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getOnlineRegionsAsPrintableString--">getOnlineRegionsAsPrintableString</a></span>()</code> </td>
</tr>
-<tr id="i76" class="altColor">
+<tr id="i77" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getOnlineRegionsLocalContext--">getOnlineRegionsLocalContext</a></span>()</code>
<div class="block">For tests, web ui and metrics.</div>
</td>
</tr>
-<tr id="i77" class="rowColor">
+<tr id="i78" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getOnlineTables--">getOnlineTables</a></span>()</code>
<div class="block">Gets the online tables in this RS.</div>
</td>
</tr>
-<tr id="i78" class="altColor">
+<tr id="i79" class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getProcessName--">getProcessName</a></span>()</code> </td>
</tr>
-<tr id="i79" class="rowColor">
+<tr id="i80" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegion-byte:A-">getRegion</a></span>(byte[] regionName)</code>
<div class="block">Protected Utility method for safely obtaining an HRegion handle.</div>
</td>
</tr>
-<tr id="i80" class="altColor">
+<tr id="i81" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegion-java.lang.String-">getRegion</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> encodedRegionName)</code>
<div class="block">Return <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver"><code>Region</code></a> instance.</div>
</td>
</tr>
-<tr id="i81" class="rowColor">
+<tr id="i82" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionBlockLocations-java.lang.String-">getRegionBlockLocations</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> encodedRegionName)</code> </td>
</tr>
-<tr id="i82" class="altColor">
+<tr id="i83" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionByEncodedName-byte:A-java.lang.String-">getRegionByEncodedName</a></span>(byte[] regionName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> encodedRegionName)</code> </td>
</tr>
-<tr id="i83" class="rowColor">
+<tr id="i84" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionByEncodedName-java.lang.String-">getRegionByEncodedName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> encodedRegionName)</code> </td>
</tr>
-<tr id="i84" class="altColor">
+<tr id="i85" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegions--">getRegions</a></span>()</code>
<div class="block">Get all online regions in this RS.</div>
</td>
</tr>
-<tr id="i85" class="rowColor">
+<tr id="i86" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegions-org.apache.hadoop.hbase.TableName-">getRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Gets the online regions of the specified table.</div>
</td>
</tr>
-<tr id="i86" class="altColor">
+<tr id="i87" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerAccounting--">getRegionServerAccounting</a></span>()</code> </td>
</tr>
-<tr id="i87" class="rowColor">
+<tr id="i88" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerCoprocessorHost</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerCoprocessorHost--">getRegionServerCoprocessorHost</a></span>()</code> </td>
</tr>
-<tr id="i88" class="altColor">
+<tr id="i89" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerCoprocessors--">getRegionServerCoprocessors</a></span>()</code> </td>
</tr>
-<tr id="i89" class="rowColor">
+<tr id="i90" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerMetrics--">getRegionServerMetrics</a></span>()</code> </td>
</tr>
-<tr id="i90" class="altColor">
+<tr id="i91" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerRpcQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerRpcQuotaManager</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerRpcQuotaManager--">getRegionServerRpcQuotaManager</a></span>()</code> </td>
</tr>
-<tr id="i91" class="rowColor">
+<tr id="i92" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerSpaceQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerSpaceQuotaManager</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerSpaceQuotaManager--">getRegionServerSpaceQuotaManager</a></span>()</code> </td>
</tr>
-<tr id="i92" class="altColor">
+<tr id="i93" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a><byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionsInTransitionInRS--">getRegionsInTransitionInRS</a></span>()</code>
<div class="block">Get the regions that are currently being opened or closed in the RS</div>
</td>
</tr>
-<tr id="i93" class="rowColor">
+<tr id="i94" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSinkService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSinkService</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getReplicationSinkService--">getReplicationSinkService</a></span>()</code> </td>
</tr>
-<tr id="i94" class="altColor">
+<tr id="i95" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSourceService</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getReplicationSourceService--">getReplicationSourceService</a></span>()</code> </td>
</tr>
-<tr id="i95" class="rowColor">
+<tr id="i96" class="altColor">
<td class="colFirst"><code>protected org.apache.hadoop.fs.Path</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRootDir--">getRootDir</a></span>()</code> </td>
</tr>
-<tr id="i96" class="altColor">
+<tr id="i97" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRpcServer--">getRpcServer</a></span>()</code>
<div class="block">Returns a reference to the region server's RPC server</div>
</td>
</tr>
-<tr id="i97" class="rowColor">
+<tr id="i98" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRSRpcServices--">getRSRpcServices</a></span>()</code> </td>
</tr>
-<tr id="i98" class="altColor">
+<tr id="i99" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/SecureBulkLoadManager.html" title="class in org.apache.hadoop.hbase.regionserver">SecureBulkLoadManager</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getSecureBulkLoadManager--">getSecureBulkLoadManager</a></span>()</code> </td>
</tr>
-<tr id="i99" class="rowColor">
+<tr id="i100" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getServerName--">getServerName</a></span>()</code> </td>
</tr>
-<tr id="i100" class="altColor">
+<tr id="i101" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getStartcode--">getStartcode</a></span>()</code> </td>
</tr>
-<tr id="i101" class="rowColor">
+<tr id="i102" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getTableDescriptors--">getTableDescriptors</a></span>()</code> </td>
</tr>
-<tr id="i102" class="altColor">
+<tr id="i103" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getThreadWakeFrequency--">getThreadWakeFrequency</a></span>()</code>
<div class="block">Interval at which threads should run</div>
</td>
</tr>
-<tr id="i103" class="rowColor">
+<tr id="i104" class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getUseThisHostnameInstead-org.apache.hadoop.conf.Configuration-">getUseThisHostnameInstead</a></span>(org.apache.hadoop.conf.Configuration conf)</code> </td>
</tr>
-<tr id="i104" class="altColor">
+<tr id="i105" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWAL-org.apache.hadoop.hbase.client.RegionInfo-">getWAL</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> regionInfo)</code> </td>
</tr>
-<tr id="i105" class="rowColor">
+<tr id="i106" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.fs.FileSystem</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWALFileSystem--">getWALFileSystem</a></span>()</code> </td>
</tr>
-<tr id="i106" class="altColor">
+<tr id="i107" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationStatus.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationStatus</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWalGroupsReplicationStatus--">getWalGroupsReplicationStatus</a></span>()</code> </td>
</tr>
-<tr id="i107" class="rowColor">
+<tr id="i108" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/LogRoller.html" title="class in org.apache.hadoop.hbase.regionserver">LogRoller</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWalRoller--">getWalRoller</a></span>()</code> </td>
</tr>
-<tr id="i108" class="altColor">
+<tr id="i109" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.fs.Path</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWALRootDir--">getWALRootDir</a></span>()</code> </td>
</tr>
-<tr id="i109" class="rowColor">
+<tr id="i110" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWALs--">getWALs</a></span>()</code> </td>
</tr>
-<tr id="i110" class="altColor">
+<tr id="i111" class="rowColor">
<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantReadWriteLock.WriteLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantReadWriteLock.WriteLock</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWriteLock--">getWriteLock</a></span>()</code> </td>
</tr>
-<tr id="i111" class="rowColor">
+<tr id="i112" class="altColor">
<td class="colFirst"><code>private long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWriteRequestCount--">getWriteRequestCount</a></span>()</code> </td>
</tr>
-<tr id="i112" class="altColor">
+<tr id="i113" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getZooKeeper--">getZooKeeper</a></span>()</code>
<div class="block">Gets the ZooKeeper instance for this server.</div>
</td>
</tr>
-<tr id="i113" class="rowColor">
+<tr id="i114" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#handleReportForDutyResponse-org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupResponse-">handleReportForDutyResponse</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupResponse c)</code> </td>
</tr>
-<tr id="i114" class="altColor">
+<tr id="i115" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#initializeFileSystem--">initializeFileSystem</a></span>()</code> </td>
</tr>
-<tr id="i115" class="rowColor">
+<tr id="i116" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#initializeMemStoreChunkCreator--">initializeMemStoreChunkCreator</a></span>()</code> </td>
</tr>
-<tr id="i116" class="altColor">
+<tr id="i117" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#initializeThreads--">initializeThreads</a></span>()</code> </td>
</tr>
-<tr id="i117" class="rowColor">
+<tr id="i118" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#initializeZooKeeper--">initializeZooKeeper</a></span>()</code>
<div class="block">Bring up connection to zk ensemble and then wait until a master for this cluster and then after
that, wait until cluster 'up' flag has been set.</div>
</td>
</tr>
-<tr id="i118" class="altColor">
+<tr id="i119" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isAborted--">isAborted</a></span>()</code>
<div class="block">Check if the server or client was aborted.</div>
</td>
</tr>
-<tr id="i119" class="rowColor">
+<tr id="i120" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isClusterUp--">isClusterUp</a></span>()</code> </td>
</tr>
-<tr id="i120" class="altColor">
+<tr id="i121" class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isHealthCheckerConfigured--">isHealthCheckerConfigured</a></span>()</code> </td>
</tr>
-<tr id="i121" class="rowColor">
+<tr id="i122" class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isHealthy--">isHealthy</a></span>()</code> </td>
</tr>
-<tr id="i122" class="altColor">
+<tr id="i123" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isOnline--">isOnline</a></span>()</code>
<div class="block">Report the status of the server.</div>
</td>
</tr>
-<tr id="i123" class="rowColor">
+<tr id="i124" class="altColor">
<td class="colFirst"><code>(package private) boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isOnlineRegionsEmpty--">isOnlineRegionsEmpty</a></span>()</code> </td>
</tr>
-<tr id="i124" class="altColor">
+<tr id="i125" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isShutDown--">isShutDown</a></span>()</code> </td>
</tr>
-<tr id="i125" class="rowColor">
+<tr id="i126" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isStopped--">isStopped</a></span>()</code> </td>
</tr>
-<tr id="i126" class="altColor">
+<tr id="i127" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isStopping--">isStopping</a></span>()</code> </td>
</tr>
-<tr id="i127" class="rowColor">
+<tr id="i128" class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#keepLooping--">keepLooping</a></span>()</code> </td>
</tr>
-<tr id="i128" class="altColor">
+<tr id="i129" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#kill--">kill</a></span>()</code> </td>
</tr>
-<tr id="i129" class="rowColor">
+<tr id="i130" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#login-org.apache.hadoop.hbase.security.UserProvider-java.lang.String-">login</a></span>(<a href="../../../../../org/apache/hadoop/hbase/security/UserProvider.html" title="class in org.apache.hadoop.hbase.security">UserProvider</a> user,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> host)</code> </td>
</tr>
-<tr id="i130" class="altColor">
+<tr id="i131" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#main-java.lang.String:A-">main</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[] args)</code> </td>
</tr>
-<tr id="i131" class="rowColor">
+<tr id="i132" class="altColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#movedRegionCleanerPeriod--">movedRegionCleanerPeriod</a></span>()</code> </td>
</tr>
-<tr id="i132" class="altColor">
+<tr id="i133" class="rowColor">
<td class="colFirst"><code>private static <T extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationService</a>><br>T</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#newReplicationInstance-java.lang.String-java.lang.Class-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.HRegionServer-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider-">newReplicationInstance</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> classname,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><T> xface,
@@ -1289,33 +1297,33 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
org.apache.hadoop.fs.Path oldLogDir,
<a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a> walProvider)</code> </td>
</tr>
-<tr id="i133" class="rowColor">
+<tr id="i134" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#onConfigurationChange-org.apache.hadoop.conf.Configuration-">onConfigurationChange</a></span>(org.apache.hadoop.conf.Configuration newConf)</code>
<div class="block">This method would be called by the <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf"><code>ConfigurationManager</code></a>
object when the <code>Configuration</code> object is reloaded from disk.</div>
</td>
</tr>
-<tr id="i134" class="altColor">
+<tr id="i135" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#postOpenDeployTasks-org.apache.hadoop.hbase.regionserver.RegionServerServices.PostOpenDeployContext-">postOpenDeployTasks</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.PostOpenDeployContext.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerServices.PostOpenDeployContext</a> context)</code>
<div class="block">Tasks to perform after region open to complete deploy of region on regionserver</div>
</td>
</tr>
-<tr id="i135" class="rowColor">
+<tr id="i136" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#preRegistrationInitialization--">preRegistrationInitialization</a></span>()</code>
<div class="block">All initialization needed before we go register with Master.<br>
Do bare minimum.</div>
</td>
</tr>
-<tr id="i136" class="altColor">
+<tr id="i137" class="rowColor">
<td class="colFirst"><code>private int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#putUpWebUI--">putUpWebUI</a></span>()</code>
<div class="block">Puts up the webui.</div>
</td>
</tr>
-<tr id="i137" class="rowColor">
+<tr id="i138" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/locking/EntityLock.html" title="class in org.apache.hadoop.hbase.client.locking">EntityLock</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#regionLock-java.util.List-java.lang.String-org.apache.hadoop.hbase.Abortable-">regionLock</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>> regionInfos,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> description,
@@ -1323,34 +1331,34 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<div class="block">Master based locks on namespaces/tables/regions.</div>
</td>
</tr>
-<tr id="i138" class="altColor">
+<tr id="i139" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#registerConfigurationObservers--">registerConfigurationObservers</a></span>()</code> </td>
</tr>
-<tr id="i139" class="rowColor">
+<tr id="i140" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#registerService-com.google.protobuf.Service-">registerService</a></span>(com.google.protobuf.Service instance)</code>
<div class="block">Registers a new protocol buffer <code>Service</code> subclass as a coprocessor endpoint to be
available for handling</div>
</td>
</tr>
-<tr id="i140" class="altColor">
+<tr id="i141" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#remoteProcedureComplete-long-java.lang.Throwable-">remoteProcedureComplete</a></span>(long procId,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a> error)</code> </td>
</tr>
-<tr id="i141" class="rowColor">
+<tr id="i142" class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#removeFromMovedRegions-java.lang.String-">removeFromMovedRegions</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> encodedName)</code> </td>
</tr>
-<tr id="i142" class="altColor">
+<tr id="i143" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#removeRegion-org.apache.hadoop.hbase.regionserver.HRegion-org.apache.hadoop.hbase.ServerName-">removeRegion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> r,
<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> destination)</code>
<div class="block">Removes the given Region from the list of onlineRegions.</div>
</td>
</tr>
-<tr id="i143" class="rowColor">
+<tr id="i144" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#reportFileArchivalForQuotas-org.apache.hadoop.hbase.TableName-java.util.Collection-">reportFileArchivalForQuotas</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>>> archivedFiles)</code>
@@ -1358,90 +1366,90 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
just moved to the archive directory.</div>
</td>
</tr>
-<tr id="i144" class="altColor">
+<tr id="i145" class="rowColor">
<td class="colFirst"><code>private org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#reportForDuty--">reportForDuty</a></span>()</code> </td>
</tr>
-<tr id="i145" class="rowColor">
+<tr id="i146" class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#reportProcedureDone-org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportProcedureDoneRequest-">reportProcedureDone</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportProcedureDoneRequest request)</code> </td>
</tr>
-<tr id="i146" class="altColor">
+<tr id="i147" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#reportRegionSizesForQuotas-org.apache.hadoop.hbase.quotas.RegionSizeStore-">reportRegionSizesForQuotas</a></span>(<a href="../../../../../org/apache/hadoop/hbase/quotas/RegionSizeStore.html" title="interface in org.apache.hadoop.hbase.quotas">RegionSizeStore</a> regionSizeStore)</code>
<div class="block">Reports the given map of Regions and their size on the filesystem to the active Master.</div>
</td>
</tr>
-<tr id="i147" class="rowColor">
+<tr id="i148" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#reportRegionStateTransition-org.apache.hadoop.hbase.regionserver.RegionServerServices.RegionStateTransitionContext-">reportRegionStateTransition</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerServices.RegionStateTransitionContext</a> context)</code>
<div class="block">Notify master that a handler requests to change a region state</div>
</td>
</tr>
-<tr id="i148" class="altColor">
+<tr id="i149" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#run--">run</a></span>()</code>
<div class="block">The HRegionServer sticks in this loop until closed.</div>
</td>
</tr>
-<tr id="i149" class="rowColor">
+<tr id="i150" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#sendShutdownInterrupt--">sendShutdownInterrupt</a></span>()</code>
<div class="block">Called on stop/abort before closing the cluster connection and meta locator.</div>
</td>
</tr>
-<tr id="i150" class="altColor">
+<tr id="i151" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#setupClusterConnection--">setupClusterConnection</a></span>()</code>
<div class="block">Setup our cluster connection if not already initialized.</div>
</td>
</tr>
-<tr id="i151" class="rowColor">
+<tr id="i152" class="altColor">
<td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/util/NettyEventLoopGroupConfig.html" title="class in org.apache.hadoop.hbase.util">NettyEventLoopGroupConfig</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#setupNetty-org.apache.hadoop.conf.Configuration-">setupNetty</a></span>(org.apache.hadoop.conf.Configuration conf)</code> </td>
</tr>
-<tr id="i152" class="altColor">
+<tr id="i153" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#setupWALAndReplication--">setupWALAndReplication</a></span>()</code>
<div class="block">Setup WAL log and replication if enabled.</div>
</td>
</tr>
-<tr id="i153" class="rowColor">
+<tr id="i154" class="altColor">
<td class="colFirst"><code>private static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#setupWindows-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.conf.ConfigurationManager-">setupWindows</a></span>(org.apache.hadoop.conf.Configuration conf,
<a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf">ConfigurationManager</a> cm)</code>
<div class="block">If running on Windows, do windows-specific setup.</div>
</td>
</tr>
-<tr id="i154" class="altColor">
+<tr id="i155" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#shutdownWAL-boolean-">shutdownWAL</a></span>(boolean close)</code> </td>
</tr>
-<tr id="i155" class="rowColor">
+<tr id="i156" class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#sleep-long-">sleep</a></span>(long millis)</code> </td>
</tr>
-<tr id="i156" class="altColor">
+<tr id="i157" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#startHeapMemoryManager--">startHeapMemoryManager</a></span>()</code> </td>
</tr>
-<tr id="i157" class="rowColor">
+<tr id="i158" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#startReplicationService--">startReplicationService</a></span>()</code>
<div class="block">Start up replication source and sink handlers.</div>
</td>
</tr>
-<tr id="i158" class="altColor">
+<tr id="i159" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#startServices--">startServices</a></span>()</code> </td>
</tr>
-<tr id="i159" class="rowColor">
+<tr id="i160" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#stop-java.lang.String-">stop</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> msg)</code>
<div class="block">Stop this service.</div>
</td>
</tr>
-<tr id="i160" class="altColor">
+<tr id="i161" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#stop-java.lang.String-boolean-org.apache.hadoop.hbase.security.User-">stop</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> msg,
boolean force,
@@ -1449,63 +1457,63 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<div class="block">Stops the regionserver.</div>
</td>
</tr>
-<tr id="i161" class="rowColor">
+<tr id="i162" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#stopServiceThreads--">stopServiceThreads</a></span>()</code>
<div class="block">Wait on all threads to finish.</div>
</td>
</tr>
-<tr id="i162" class="altColor">
+<tr id="i163" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#toString--">toString</a></span>()</code> </td>
</tr>
-<tr id="i163" class="rowColor">
+<tr id="i164" class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#triggerFlushInPrimaryRegion-org.apache.hadoop.hbase.regionserver.HRegion-">triggerFlushInPrimaryRegion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region)</code>
<div class="block">Trigger a flush in the primary region replica if this region is a secondary replica.</div>
</td>
</tr>
-<tr id="i164" class="altColor">
+<tr id="i165" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#tryRegionServerReport-long-long-">tryRegionServerReport</a></span>(long reportStartTime,
long reportEndTime)</code> </td>
</tr>
-<tr id="i165" class="rowColor">
+<tr id="i166" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#unassign-byte:A-">unassign</a></span>(byte[] regionName)</code>
<div class="block">Unassign the given region from the current regionserver and assign it randomly.</div>
</td>
</tr>
-<tr id="i166" class="altColor">
+<tr id="i167" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#updateConfiguration--">updateConfiguration</a></span>()</code>
<div class="block">Reload the configuration from disk.</div>
</td>
</tr>
-<tr id="i167" class="rowColor">
+<tr id="i168" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#updateRegionFavoredNodesMapping-java.lang.String-java.util.List-">updateRegionFavoredNodesMapping</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> encodedRegionName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ServerName> favoredNodes)</code>
<div class="block">Used to update the favored nodes mapping when required.</div>
</td>
</tr>
-<tr id="i168" class="altColor">
+<tr id="i169" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#waitForMasterActive--">waitForMasterActive</a></span>()</code>
<div class="block">Wait for an active Master.</div>
</td>
</tr>
-<tr id="i169" class="rowColor">
+<tr id="i170" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#waitForServerOnline--">waitForServerOnline</a></span>()</code> </td>
</tr>
-<tr id="i170" class="altColor">
+<tr id="i171" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#waitOnAllRegionsToClose-boolean-">waitOnAllRegionsToClose</a></span>(boolean abort)</code>
<div class="block">Wait on regions close.</div>
</td>
</tr>
-<tr id="i171" class="rowColor">
+<tr id="i172" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#walRollRequestFinished--">walRollRequestFinished</a></span>()</code>
<div class="block">For testing</div>
@@ -1546,7 +1554,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>INIT_PAUSE_TIME_MS</h4>
-<pre>private static final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.232">INIT_PAUSE_TIME_MS</a></pre>
+<pre>private static final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.233">INIT_PAUSE_TIME_MS</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegionServer.INIT_PAUSE_TIME_MS">Constant Field Values</a></dd>
@@ -1559,7 +1567,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>LOG</h4>
-<pre>private static final org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.234">LOG</a></pre>
+<pre>private static final org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.235">LOG</a></pre>
</li>
</ul>
<a name="TEST_SKIP_REPORTING_TRANSITION">
@@ -1568,7 +1576,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>TEST_SKIP_REPORTING_TRANSITION</h4>
-<pre>public static boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.241">TEST_SKIP_REPORTING_TRANSITION</a></pre>
+<pre>public static boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.242">TEST_SKIP_REPORTING_TRANSITION</a></pre>
<div class="block">For testing only! Set to true to skip notifying region assignment to master .</div>
</li>
</ul>
@@ -1578,7 +1586,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>regionsInTransitionInRS</h4>
-<pre>protected final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a><byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.246">regionsInTransitionInRS</a></pre>
+<pre>protected final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a><byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.247">regionsInTransitionInRS</a></pre>
</li>
</ul>
<a name="cacheFlusher">
@@ -1587,7 +1595,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>cacheFlusher</h4>
-<pre>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreFlusher.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreFlusher</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.250">cacheFlusher</a></pre>
+<pre>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreFlusher.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreFlusher</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.251">cacheFlusher</a></pre>
</li>
</ul>
<a name="hMemManager">
@@ -1596,7 +1604,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>hMemManager</h4>
-<pre>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html" title="class in org.apache.hadoop.hbase.regionserver">HeapMemoryManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.252">hMemManager</a></pre>
+<pre>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html" title="class in org.apache.hadoop.hbase.regionserver">HeapMemoryManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.253">hMemManager</a></pre>
</li>
</ul>
<a name="clusterConnection">
@@ -1605,7 +1613,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>clusterConnection</h4>
-<pre>protected <a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.262">clusterConnection</a></pre>
+<pre>protected <a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.263">clusterConnection</a></pre>
<div class="block">Cluster connection to be shared by services.
Initialized at server startup and closed when server shuts down.
Clients must never close it explicitly.
@@ -1620,7 +1628,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>tableDescriptors</h4>
-<pre>protected <a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.267">tableDescriptors</a></pre>
+<pre>protected <a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.268">tableDescriptors</a></pre>
<div class="block">Go here to get table descriptors.</div>
</li>
</ul>
@@ -1630,7 +1638,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>replicationSourceHandler</h4>
-<pre>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSourceService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.270">replicationSourceHandler</a></pre>
+<pre>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSourceService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.271">replicationSourceHandler</a></pre>
</li>
</ul>
<a name="replicationSinkHandler">
@@ -1639,7 +1647,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>replicationSinkHandler</h4>
-<pre>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSinkService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSinkService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.271">replicationSinkHandler</a></pre>
+<pre>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSinkService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSinkService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.272">replicationSinkHandler</a></pre>
</li>
</ul>
<a name="compactSplitThread">
@@ -1648,7 +1656,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>compactSplitThread</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactSplit.html" title="class in org.apache.hadoop.hbase.regionserver">CompactSplit</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.274">compactSplitThread</a></pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactSplit.html" title="class in org.apache.hadoop.hbase.regionserver">CompactSplit</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.275">compactSplitThread</a></pre>
</li>
</ul>
<a name="onlineRegions">
@@ -1657,7 +1665,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>onlineRegions</h4>
-<pre>protected final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.280">onlineRegions</a></pre>
+<pre>protected final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.281">onlineRegions</a></pre>
<div class="block">Map of regions currently being served by this region server. Key is the
encoded region name. All access should be synchronized.</div>
</li>
@@ -1668,7 +1676,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>regionFavoredNodesMap</h4>
-<pre>protected final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>[]> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.291">regionFavoredNodesMap</a></pre>
+<pre>protected final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>[]> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.292">regionFavoredNodesMap</a></pre>
<div class="block">Map of encoded region names to the DataNode locations they should be hosted on
We store the value as InetSocketAddress since this is used only in HDFS
API (create() that takes favored nodes as hints for placing file blocks).
@@ -1684,7 +1692,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>leases</h4>
-<pre>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/Leases.html" title="class in org.apache.hadoop.hbase.regionserver">Leases</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.295">leases</a></pre>
+<pre>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/Leases.html" title="class in org.apache.hadoop.hbase.regionserver">Leases</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.296">leases</a></pre>
</li>
</ul>
<a name="executorService">
@@ -1693,7 +1701,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>executorService</h4>
-<pre>protected <a href="../../../../../org/apache/hadoop/hbase/executor/ExecutorService.html" title="class in org.apache.hadoop.hbase.executor">ExecutorService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.298">executorService</a></pre>
+<pre>protected <a href="../../../../../org/apache/hadoop/hbase/executor/ExecutorService.html" title="class in org.apache.hadoop.hbase.executor">ExecutorService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.299">executorService</a></pre>
</li>
</ul>
<a name="fsOk">
@@ -1702,7 +1710,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>fsOk</h4>
-<pre>protected volatile boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.301">fsOk</a></pre>
+<pre>protected volatile boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.302">fsOk</a></pre>
</li>
</ul>
<a name="fs">
@@ -1711,7 +1719,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>fs</h4>
-<pre>protected <a href="../../../../../org/apache/hadoop/hbase/fs/HFileSystem.html" title="class in org.apache.hadoop.hbase.fs">HFileSystem</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.302">fs</a></pre>
+<pre>protected <a href="../../../../../org/apache/hadoop/hbase/fs/HFileSystem.html" title="class in org.apache.hadoop.hbase.fs">HFileSystem</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.303">fs</a></pre>
</li>
</ul>
<a name="walFs">
@@ -1720,7 +1728,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>walFs</h4>
-<pre>protected <a href="../../../../../org/apache/hadoop/hbase/fs/HFileSystem.html" title="class in org.apache.hadoop.hbase.fs">HFileSystem</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.303">walFs</a></pre>
+<pre>protected <a href="../../../../../org/apache/hadoop/hbase/fs/HFileSystem.html" title="class in org.apache.hadoop.hbase.fs">HFileSystem</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.304">walFs</a></pre>
</li>
</ul>
<a name="stopped">
@@ -1729,7 +1737,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>stopped</h4>
-<pre>private volatile boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.308">stopped</a></pre>
+<pre>private volatile boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.309">stopped</a></pre>
</li>
</ul>
<a name="abortRequested">
@@ -1738,7 +1746,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>abortRequested</h4>
-<pre>private volatile boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.312">abortRequested</a></pre>
+<pre>private volatile boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.313">abortRequested</a></pre>
</li>
</ul>
<a name="ABORT_TIMEOUT">
@@ -1747,7 +1755,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>ABORT_TIMEOUT</h4>
-<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.313">ABORT_TIMEOUT</a></pre>
+<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.314">ABORT_TIMEOUT</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegionServer.ABORT_TIMEOUT">Constant Field Values</a></dd>
@@ -1760,7 +1768,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_ABORT_TIMEOUT</h4>
-<pre>private static final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.315">DEFAULT_ABORT_TIMEOUT</a></pre>
+<pre>private static final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.316">DEFAULT_ABORT_TIMEOUT</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegionServer.DEFAULT_ABORT_TIMEOUT">Constant Field Values</a></dd>
@@ -1773,7 +1781,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>ABORT_TIMEOUT_TASK</h4>
-<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.317">ABORT_TIMEOUT_TASK</a></pre>
+<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.318">ABORT_TIMEOUT_TASK</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegionServer.ABORT_TIMEOUT_TASK">Constant Field Values</a></dd>
@@ -1786,7 +1794,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>rowlocks</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.319">rowlocks</a></pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.320">rowlocks</a></pre>
</li>
</ul>
<a name="stopping">
@@ -1795,7 +1803,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>stopping</h4>
-<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.323">stopping</a></pre>
+<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.324">stopping</a></pre>
</li>
</ul>
<a name="killed">
@@ -1804,7 +1812,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>killed</h4>
-<pre>volatile boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.325">killed</a></pre>
+<pre>volatile boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.326">killed</a></pre>
</li>
</ul>
<a name="shutDown">
@@ -1813,7 +1821,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>shutDown</h4>
-<pre>private volatile boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.327">shutDown</a></pre>
+<pre>private volatile boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.328">shutDown</a></pre>
</li>
</ul>
<a name="conf">
@@ -1822,7 +1830,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>conf</h4>
-<pre>protected final org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.329">conf</a></pre>
+<pre>protected final org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.330">conf</a></pre>
</li>
</ul>
<a name="rootDir">
@@ -1831,7 +1839,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>rootDir</h4>
-<pre>private org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.331">rootDir</a></pre>
+<pre>private org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.332">rootDir</a></pre>
</li>
</ul>
<a name="walRootDir">
@@ -1840,7 +1848,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>walRootDir</h4>
-<pre>private org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.332">walRootDir</a></pre>
+<pre>private org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.333">walRootDir</a></pre>
</li>
</ul>
<a name="lock">
@@ -1849,7 +1857,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>lock</h4>
-<pre>protected final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantReadWriteLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantReadWriteLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.334">lock</a></pre>
+<pre>protected final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantReadWriteLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantReadWriteLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.335">lock</a></pre>
</li>
</ul>
<a name="numRetries">
@@ -1858,7 +1866,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>numRetries</h4>
-<pre>final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.336">numRetries</a></pre>
+<pre>final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.337">numRetries</a></pre>
</li>
</ul>
<a name="threadWakeFrequency">
@@ -1867,7 +1875,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
<ul class="blockList">
<li class="blockList">
<h4>threadWakeFrequ
<TRUNCATED>
[19/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html
index d9d843f..21793b2 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
<li class="blockList">
<hr>
<br>
-<pre>public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#line.38">BlockCacheViewTmpl</a>
+<pre>public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#line.39">BlockCacheViewTmpl</a>
extends org.jamon.AbstractTemplateProxy</pre>
</li>
</ul>
@@ -209,26 +209,29 @@ extends org.jamon.AbstractTemplateProxy</pre>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>org.jamon.Renderer</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#makeRenderer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-">makeRenderer</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#makeRenderer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-org.apache.hadoop.hbase.io.hfile.BlockCache-">makeRenderer</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
org.apache.hadoop.conf.Configuration conf,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcn,
- <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcv)</code> </td>
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcv,
+ <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache)</code> </td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#render-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-">render</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#render-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-org.apache.hadoop.hbase.io.hfile.BlockCache-">render</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
org.apache.hadoop.conf.Configuration conf,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcn,
- <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcv)</code> </td>
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcv,
+ <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache)</code> </td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#renderNoFlush-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-">renderNoFlush</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#renderNoFlush-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-org.apache.hadoop.hbase.io.hfile.BlockCache-">renderNoFlush</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
org.apache.hadoop.conf.Configuration conf,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcn,
- <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcv)</code> </td>
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcv,
+ <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache)</code> </td>
</tr>
</table>
<ul class="blockList">
@@ -265,7 +268,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockList">
<li class="blockList">
<h4>BlockCacheViewTmpl</h4>
-<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#line.42">BlockCacheViewTmpl</a>(org.jamon.TemplateManager p_manager)</pre>
+<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#line.43">BlockCacheViewTmpl</a>(org.jamon.TemplateManager p_manager)</pre>
</li>
</ul>
<a name="BlockCacheViewTmpl-java.lang.String-">
@@ -274,7 +277,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockList">
<li class="blockList">
<h4>BlockCacheViewTmpl</h4>
-<pre>protected <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#line.47">BlockCacheViewTmpl</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> p_path)</pre>
+<pre>protected <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#line.48">BlockCacheViewTmpl</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> p_path)</pre>
</li>
</ul>
<a name="BlockCacheViewTmpl--">
@@ -283,7 +286,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockListLast">
<li class="blockList">
<h4>BlockCacheViewTmpl</h4>
-<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#line.52">BlockCacheViewTmpl</a>()</pre>
+<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#line.53">BlockCacheViewTmpl</a>()</pre>
</li>
</ul>
</li>
@@ -300,7 +303,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockList">
<li class="blockList">
<h4>makeImplData</h4>
-<pre>protected org.jamon.AbstractTemplateProxy.ImplData <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#line.113">makeImplData</a>()</pre>
+<pre>protected org.jamon.AbstractTemplateProxy.ImplData <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#line.125">makeImplData</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>makeImplData</code> in class <code>org.jamon.AbstractTemplateProxy</code></dd>
@@ -313,7 +316,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockList">
<li class="blockList">
<h4>getImplData</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheViewTmpl.ImplData</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#line.117">getImplData</a>()</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheViewTmpl.ImplData</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#line.129">getImplData</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getImplData</code> in class <code>org.jamon.AbstractTemplateProxy</code></dd>
@@ -326,7 +329,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockList">
<li class="blockList">
<h4>constructImpl</h4>
-<pre>public org.jamon.AbstractTemplateImpl <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#line.124">constructImpl</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends org.jamon.AbstractTemplateImpl> p_class)</pre>
+<pre>public org.jamon.AbstractTemplateImpl <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#line.136">constructImpl</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends org.jamon.AbstractTemplateImpl> p_class)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>constructImpl</code> in class <code>org.jamon.AbstractTemplateProxy</code></dd>
@@ -339,36 +342,38 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockList">
<li class="blockList">
<h4>constructImpl</h4>
-<pre>protected org.jamon.AbstractTemplateImpl <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#line.142">constructImpl</a>()</pre>
+<pre>protected org.jamon.AbstractTemplateImpl <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#line.154">constructImpl</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>constructImpl</code> in class <code>org.jamon.AbstractTemplateProxy</code></dd>
</dl>
</li>
</ul>
-<a name="makeRenderer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-">
+<a name="makeRenderer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-org.apache.hadoop.hbase.io.hfile.BlockCache-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>makeRenderer</h4>
-<pre>public org.jamon.Renderer <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#line.145">makeRenderer</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
+<pre>public org.jamon.Renderer <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#line.157">makeRenderer</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
org.apache.hadoop.conf.Configuration conf,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcn,
- <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcv)</pre>
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcv,
+ <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache)</pre>
</li>
</ul>
-<a name="render-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-">
+<a name="render-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-org.apache.hadoop.hbase.io.hfile.BlockCache-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>render</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#line.157">render</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#line.169">render</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
org.apache.hadoop.conf.Configuration conf,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcn,
- <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcv)
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcv,
+ <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -376,17 +381,18 @@ extends org.jamon.AbstractTemplateProxy</pre>
</dl>
</li>
</ul>
-<a name="renderNoFlush-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-">
+<a name="renderNoFlush-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-org.apache.hadoop.hbase.io.hfile.BlockCache-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>renderNoFlush</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#line.163">renderNoFlush</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#line.175">renderNoFlush</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
org.apache.hadoop.conf.Configuration conf,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcn,
- <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcv)
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcv,
+ <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmplImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmplImpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmplImpl.html
index a4b6e94..ca6b181 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmplImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmplImpl.html
@@ -148,10 +148,14 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmplImpl.html#bcv">bcv</a></span></code> </td>
</tr>
<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmplImpl.html#blockCache">blockCache</a></span></code> </td>
+</tr>
+<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmplImpl.html#cacheConfig">cacheConfig</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private org.apache.hadoop.conf.Configuration</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmplImpl.html#conf">conf</a></span></code> </td>
</tr>
@@ -260,12 +264,21 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
<a name="bcv">
<!-- -->
</a>
-<ul class="blockListLast">
+<ul class="blockList">
<li class="blockList">
<h4>bcv</h4>
<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmplImpl.html#line.39">bcv</a></pre>
</li>
</ul>
+<a name="blockCache">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>blockCache</h4>
+<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmplImpl.html#line.40">blockCache</a></pre>
+</li>
+</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
@@ -280,7 +293,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
<ul class="blockListLast">
<li class="blockList">
<h4>BlockCacheViewTmplImpl</h4>
-<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmplImpl.html#line.44">BlockCacheViewTmplImpl</a>(org.jamon.TemplateManager p_templateManager,
+<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmplImpl.html#line.45">BlockCacheViewTmplImpl</a>(org.jamon.TemplateManager p_templateManager,
<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheViewTmpl.ImplData</a> p_implData)</pre>
</li>
</ul>
@@ -298,7 +311,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
<ul class="blockList">
<li class="blockList">
<h4>__jamon_setOptionalArguments</h4>
-<pre>protected static <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheViewTmpl.ImplData</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmplImpl.html#line.40">__jamon_setOptionalArguments</a>(<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheViewTmpl.ImplData</a> p_implData)</pre>
+<pre>protected static <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheViewTmpl.ImplData</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmplImpl.html#line.41">__jamon_setOptionalArguments</a>(<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheViewTmpl.ImplData</a> p_implData)</pre>
</li>
</ul>
<a name="renderNoFlush-java.io.Writer-">
@@ -307,7 +320,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
<ul class="blockList">
<li class="blockList">
<h4>renderNoFlush</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmplImpl.html#line.53">renderNoFlush</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter)
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmplImpl.html#line.55">renderNoFlush</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -323,7 +336,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
<ul class="blockListLast">
<li class="blockList">
<h4>__jamon_innerUnit__bc_by_file</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmplImpl.html#line.108">__jamon_innerUnit__bc_by_file</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmplImpl.html#line.110">__jamon_innerUnit__bc_by_file</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheUtil.CachedBlocksByFile.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheUtil.CachedBlocksByFile</a> cbsbf)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
index f8a2778..d876796 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>public static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.58">RSStatusTmpl.ImplData</a>
+<pre>public static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.60">RSStatusTmpl.ImplData</a>
extends org.jamon.AbstractTemplateProxy.ImplData</pre>
</li>
</ul>
@@ -290,7 +290,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>m_regionServer</h4>
-<pre>private <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.71">m_regionServer</a></pre>
+<pre>private <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.73">m_regionServer</a></pre>
</li>
</ul>
<a name="m_bcn">
@@ -299,7 +299,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>m_bcn</h4>
-<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.83">m_bcn</a></pre>
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.85">m_bcn</a></pre>
</li>
</ul>
<a name="m_bcn__IsNotDefault">
@@ -308,7 +308,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>m_bcn__IsNotDefault</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.88">m_bcn__IsNotDefault</a></pre>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.90">m_bcn__IsNotDefault</a></pre>
</li>
</ul>
<a name="m_bcv">
@@ -317,7 +317,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>m_bcv</h4>
-<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.100">m_bcv</a></pre>
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.102">m_bcv</a></pre>
</li>
</ul>
<a name="m_bcv__IsNotDefault">
@@ -326,7 +326,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>m_bcv__IsNotDefault</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.105">m_bcv__IsNotDefault</a></pre>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.107">m_bcv__IsNotDefault</a></pre>
</li>
</ul>
<a name="m_filter">
@@ -335,7 +335,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>m_filter</h4>
-<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.117">m_filter</a></pre>
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.119">m_filter</a></pre>
</li>
</ul>
<a name="m_filter__IsNotDefault">
@@ -344,7 +344,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>m_filter__IsNotDefault</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.122">m_filter__IsNotDefault</a></pre>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.124">m_filter__IsNotDefault</a></pre>
</li>
</ul>
<a name="m_format">
@@ -353,7 +353,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>m_format</h4>
-<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.134">m_format</a></pre>
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.136">m_format</a></pre>
</li>
</ul>
<a name="m_format__IsNotDefault">
@@ -362,7 +362,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockListLast">
<li class="blockList">
<h4>m_format__IsNotDefault</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.139">m_format__IsNotDefault</a></pre>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.141">m_format__IsNotDefault</a></pre>
</li>
</ul>
</li>
@@ -379,7 +379,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockListLast">
<li class="blockList">
<h4>ImplData</h4>
-<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.58">ImplData</a>()</pre>
+<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.60">ImplData</a>()</pre>
</li>
</ul>
</li>
@@ -396,7 +396,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>setRegionServer</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.62">setRegionServer</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> regionServer)</pre>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.64">setRegionServer</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> regionServer)</pre>
</li>
</ul>
<a name="getRegionServer--">
@@ -405,7 +405,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>getRegionServer</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.67">getRegionServer</a>()</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.69">getRegionServer</a>()</pre>
</li>
</ul>
<a name="setBcn-java.lang.String-">
@@ -414,7 +414,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>setBcn</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.73">setBcn</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcn)</pre>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.75">setBcn</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcn)</pre>
</li>
</ul>
<a name="getBcn--">
@@ -423,7 +423,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>getBcn</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.79">getBcn</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.81">getBcn</a>()</pre>
</li>
</ul>
<a name="getBcn__IsNotDefault--">
@@ -432,7 +432,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>getBcn__IsNotDefault</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.84">getBcn__IsNotDefault</a>()</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.86">getBcn__IsNotDefault</a>()</pre>
</li>
</ul>
<a name="setBcv-java.lang.String-">
@@ -441,7 +441,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>setBcv</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.90">setBcv</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcv)</pre>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.92">setBcv</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcv)</pre>
</li>
</ul>
<a name="getBcv--">
@@ -450,7 +450,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>getBcv</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.96">getBcv</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.98">getBcv</a>()</pre>
</li>
</ul>
<a name="getBcv__IsNotDefault--">
@@ -459,7 +459,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>getBcv__IsNotDefault</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.101">getBcv__IsNotDefault</a>()</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.103">getBcv__IsNotDefault</a>()</pre>
</li>
</ul>
<a name="setFilter-java.lang.String-">
@@ -468,7 +468,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>setFilter</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.107">setFilter</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> filter)</pre>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.109">setFilter</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> filter)</pre>
</li>
</ul>
<a name="getFilter--">
@@ -477,7 +477,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>getFilter</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.113">getFilter</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.115">getFilter</a>()</pre>
</li>
</ul>
<a name="getFilter__IsNotDefault--">
@@ -486,7 +486,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>getFilter__IsNotDefault</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.118">getFilter__IsNotDefault</a>()</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.120">getFilter__IsNotDefault</a>()</pre>
</li>
</ul>
<a name="setFormat-java.lang.String-">
@@ -495,7 +495,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>setFormat</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.124">setFormat</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> format)</pre>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.126">setFormat</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> format)</pre>
</li>
</ul>
<a name="getFormat--">
@@ -504,7 +504,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>getFormat</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.130">getFormat</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.132">getFormat</a>()</pre>
</li>
</ul>
<a name="getFormat__IsNotDefault--">
@@ -513,7 +513,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockListLast">
<li class="blockList">
<h4>getFormat__IsNotDefault</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.135">getFormat__IsNotDefault</a>()</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.137">getFormat__IsNotDefault</a>()</pre>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html
index 1b9d9d5..c23991e 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>public static interface <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.51">RSStatusTmpl.Intf</a>
+<pre>public static interface <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.53">RSStatusTmpl.Intf</a>
extends org.jamon.AbstractTemplateProxy.Intf</pre>
</li>
</ul>
@@ -158,7 +158,7 @@ extends org.jamon.AbstractTemplateProxy.Intf</pre>
<ul class="blockListLast">
<li class="blockList">
<h4>renderNoFlush</h4>
-<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html#line.55">renderNoFlush</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter)
+<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html#line.57">renderNoFlush</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
index 7c04571..da548e7 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
<li class="blockList">
<hr>
<br>
-<pre>public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.32">RSStatusTmpl</a>
+<pre>public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.34">RSStatusTmpl</a>
extends org.jamon.AbstractTemplateProxy</pre>
</li>
</ul>
@@ -303,7 +303,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockList">
<li class="blockList">
<h4>bcn</h4>
-<pre>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.151">bcn</a></pre>
+<pre>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.153">bcn</a></pre>
</li>
</ul>
<a name="bcv">
@@ -312,7 +312,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockList">
<li class="blockList">
<h4>bcv</h4>
-<pre>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.158">bcv</a></pre>
+<pre>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.160">bcv</a></pre>
</li>
</ul>
<a name="filter">
@@ -321,7 +321,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockList">
<li class="blockList">
<h4>filter</h4>
-<pre>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.165">filter</a></pre>
+<pre>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.167">filter</a></pre>
</li>
</ul>
<a name="format">
@@ -330,7 +330,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockListLast">
<li class="blockList">
<h4>format</h4>
-<pre>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.172">format</a></pre>
+<pre>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.174">format</a></pre>
</li>
</ul>
</li>
@@ -347,7 +347,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockList">
<li class="blockList">
<h4>RSStatusTmpl</h4>
-<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.36">RSStatusTmpl</a>(org.jamon.TemplateManager p_manager)</pre>
+<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.38">RSStatusTmpl</a>(org.jamon.TemplateManager p_manager)</pre>
</li>
</ul>
<a name="RSStatusTmpl-java.lang.String-">
@@ -356,7 +356,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockList">
<li class="blockList">
<h4>RSStatusTmpl</h4>
-<pre>protected <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.41">RSStatusTmpl</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> p_path)</pre>
+<pre>protected <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.43">RSStatusTmpl</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> p_path)</pre>
</li>
</ul>
<a name="RSStatusTmpl--">
@@ -365,7 +365,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockListLast">
<li class="blockList">
<h4>RSStatusTmpl</h4>
-<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.46">RSStatusTmpl</a>()</pre>
+<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.48">RSStatusTmpl</a>()</pre>
</li>
</ul>
</li>
@@ -382,7 +382,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockList">
<li class="blockList">
<h4>makeImplData</h4>
-<pre>protected org.jamon.AbstractTemplateProxy.ImplData <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.142">makeImplData</a>()</pre>
+<pre>protected org.jamon.AbstractTemplateProxy.ImplData <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.144">makeImplData</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>makeImplData</code> in class <code>org.jamon.AbstractTemplateProxy</code></dd>
@@ -395,7 +395,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockList">
<li class="blockList">
<h4>getImplData</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl.ImplData</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.146">getImplData</a>()</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl.ImplData</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.148">getImplData</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getImplData</code> in class <code>org.jamon.AbstractTemplateProxy</code></dd>
@@ -408,7 +408,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockList">
<li class="blockList">
<h4>setBcn</h4>
-<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.152">setBcn</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> p_bcn)</pre>
+<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.154">setBcn</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> p_bcn)</pre>
</li>
</ul>
<a name="setBcv-java.lang.String-">
@@ -417,7 +417,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockList">
<li class="blockList">
<h4>setBcv</h4>
-<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.159">setBcv</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> p_bcv)</pre>
+<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.161">setBcv</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> p_bcv)</pre>
</li>
</ul>
<a name="setFilter-java.lang.String-">
@@ -426,7 +426,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockList">
<li class="blockList">
<h4>setFilter</h4>
-<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.166">setFilter</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> p_filter)</pre>
+<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.168">setFilter</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> p_filter)</pre>
</li>
</ul>
<a name="setFormat-java.lang.String-">
@@ -435,7 +435,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockList">
<li class="blockList">
<h4>setFormat</h4>
-<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.173">setFormat</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> p_format)</pre>
+<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.175">setFormat</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> p_format)</pre>
</li>
</ul>
<a name="constructImpl-java.lang.Class-">
@@ -444,7 +444,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockList">
<li class="blockList">
<h4>constructImpl</h4>
-<pre>public org.jamon.AbstractTemplateImpl <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.181">constructImpl</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends org.jamon.AbstractTemplateImpl> p_class)</pre>
+<pre>public org.jamon.AbstractTemplateImpl <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.183">constructImpl</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends org.jamon.AbstractTemplateImpl> p_class)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>constructImpl</code> in class <code>org.jamon.AbstractTemplateProxy</code></dd>
@@ -457,7 +457,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockList">
<li class="blockList">
<h4>constructImpl</h4>
-<pre>protected org.jamon.AbstractTemplateImpl <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.199">constructImpl</a>()</pre>
+<pre>protected org.jamon.AbstractTemplateImpl <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.201">constructImpl</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>constructImpl</code> in class <code>org.jamon.AbstractTemplateProxy</code></dd>
@@ -470,7 +470,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockList">
<li class="blockList">
<h4>makeRenderer</h4>
-<pre>public org.jamon.Renderer <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.202">makeRenderer</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> regionServer)</pre>
+<pre>public org.jamon.Renderer <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.204">makeRenderer</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> regionServer)</pre>
</li>
</ul>
<a name="render-java.io.Writer-org.apache.hadoop.hbase.regionserver.HRegionServer-">
@@ -479,7 +479,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockList">
<li class="blockList">
<h4>render</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.214">render</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.216">render</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> regionServer)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
@@ -494,7 +494,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockListLast">
<li class="blockList">
<h4>renderNoFlush</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.220">renderNoFlush</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.222">renderNoFlush</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> regionServer)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
index ef6cdd4..4d37d2b 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.23">RSStatusTmplImpl</a>
+<pre>public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.25">RSStatusTmplImpl</a>
extends org.jamon.AbstractTemplateImpl
implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html" title="interface in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl.Intf</a></pre>
</li>
@@ -235,7 +235,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
<ul class="blockList">
<li class="blockList">
<h4>regionServer</h4>
-<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.28">regionServer</a></pre>
+<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.30">regionServer</a></pre>
</li>
</ul>
<a name="bcn">
@@ -244,7 +244,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
<ul class="blockList">
<li class="blockList">
<h4>bcn</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.29">bcn</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.31">bcn</a></pre>
</li>
</ul>
<a name="bcv">
@@ -253,7 +253,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
<ul class="blockList">
<li class="blockList">
<h4>bcv</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.30">bcv</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.32">bcv</a></pre>
</li>
</ul>
<a name="filter">
@@ -262,7 +262,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
<ul class="blockList">
<li class="blockList">
<h4>filter</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.31">filter</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.33">filter</a></pre>
</li>
</ul>
<a name="format">
@@ -271,7 +271,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
<ul class="blockListLast">
<li class="blockList">
<h4>format</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.32">format</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.34">format</a></pre>
</li>
</ul>
</li>
@@ -288,7 +288,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
<ul class="blockListLast">
<li class="blockList">
<h4>RSStatusTmplImpl</h4>
-<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.53">RSStatusTmplImpl</a>(org.jamon.TemplateManager p_templateManager,
+<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.55">RSStatusTmplImpl</a>(org.jamon.TemplateManager p_templateManager,
<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl.ImplData</a> p_implData)</pre>
</li>
</ul>
@@ -306,7 +306,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
<ul class="blockList">
<li class="blockList">
<h4>__jamon_setOptionalArguments</h4>
-<pre>protected static <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl.ImplData</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.33">__jamon_setOptionalArguments</a>(<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl.ImplData</a> p_implData)</pre>
+<pre>protected static <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl.ImplData</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.35">__jamon_setOptionalArguments</a>(<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl.ImplData</a> p_implData)</pre>
</li>
</ul>
<a name="renderNoFlush-java.io.Writer-">
@@ -315,7 +315,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
<ul class="blockListLast">
<li class="blockList">
<h4>renderNoFlush</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.63">renderNoFlush</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter)
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.65">renderNoFlush</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/util/IdReadWriteLock.ReferenceType.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/IdReadWriteLock.ReferenceType.html b/devapidocs/org/apache/hadoop/hbase/util/IdReadWriteLock.ReferenceType.html
index eba8b58..ef173c3 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/IdReadWriteLock.ReferenceType.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/IdReadWriteLock.ReferenceType.html
@@ -236,7 +236,7 @@ the order they are declared.</div>
<ul class="blockList">
<li class="blockList">
<h4>values</h4>
-<pre>public static <a href="../../../../../org/apache/hadoop/hbase/util/IdReadWriteLock.ReferenceType.html" title="enum in org.apache.hadoop.hbase.util">IdReadWriteLock.ReferenceType</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/util/IdReadWriteLock.ReferenceType.html#line.29">values</a>()</pre>
+<pre>public static <a href="../../../../../org/apache/hadoop/hbase/util/IdReadWriteLock.ReferenceType.html" title="enum in org.apache.hadoop.hbase.util">IdReadWriteLock.ReferenceType</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/util/IdReadWriteLock.ReferenceType.html#line.30">values</a>()</pre>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared. This method may be used to iterate
over the constants as follows:
@@ -256,7 +256,7 @@ for (IdReadWriteLock.ReferenceType c : IdReadWriteLock.ReferenceType.values())
<ul class="blockListLast">
<li class="blockList">
<h4>valueOf</h4>
-<pre>public static <a href="../../../../../org/apache/hadoop/hbase/util/IdReadWriteLock.ReferenceType.html" title="enum in org.apache.hadoop.hbase.util">IdReadWriteLock.ReferenceType</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/IdReadWriteLock.ReferenceType.html#line.29">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name)</pre>
+<pre>public static <a href="../../../../../org/apache/hadoop/hbase/util/IdReadWriteLock.ReferenceType.html" title="enum in org.apache.hadoop.hbase.util">IdReadWriteLock.ReferenceType</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/IdReadWriteLock.ReferenceType.html#line.30">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name)</pre>
<div class="block">Returns the enum constant of this type with the specified name.
The string must match <i>exactly</i> an identifier used to declare an
enum constant in this type. (Extraneous whitespace characters are
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
index eb6e962..46d335d 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
@@ -540,14 +540,14 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">HBaseFsck.ErrorReporter.ERROR_CODE</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/IdReadWriteLock.ReferenceType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">IdReadWriteLock.ReferenceType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.UnsafeComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder.UnsafeComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a><T>)</li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Order</span></a></li>
<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PoolMap.PoolType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PoolMap.PoolType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PrettyPrinter.Unit.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PrettyPrinter.Unit</span></a></li>
<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.PureJavaComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder.PureJavaComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a><T>)</li>
<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/ChecksumType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">ChecksumType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">HBaseFsck.ErrorReporter.ERROR_CODE</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PrettyPrinter.Unit.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PrettyPrinter.Unit</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Order</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/IdReadWriteLock.ReferenceType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">IdReadWriteLock.ReferenceType</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
index c6caa9b..bcb1724 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -191,8 +191,8 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALFactory.Providers</span></a></li>
<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.Strategies.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">RegionGroupingProvider.Strategies</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALFactory.Providers</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/overview-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/overview-tree.html b/devapidocs/overview-tree.html
index f161f85..8674c29 100644
--- a/devapidocs/overview-tree.html
+++ b/devapidocs/overview-tree.html
@@ -770,6 +770,7 @@
<li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/BatchScanResultCache.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">BatchScanResultCache</span></a> (implements org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ScanResultCache.html" title="interface in org.apache.hadoop.hbase.client">ScanResultCache</a>)</li>
<li type="circle">org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/BBKVComparator.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">BBKVComparator</span></a> (implements java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a><T>)</li>
<li type="circle">org.apache.hadoop.hbase.procedure2.store.<a href="org/apache/hadoop/hbase/procedure2/store/BitSetNode.html" title="class in org.apache.hadoop.hbase.procedure2.store"><span class="typeNameLink">BitSetNode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockCacheFactory</span></a></li>
<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockCacheKey</span></a> (implements org.apache.hadoop.hbase.io.<a href="org/apache/hadoop/hbase/io/HeapSize.html" title="interface in org.apache.hadoop.hbase.io">HeapSize</a>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCachesIterator.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockCachesIterator</span></a> (implements java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a><E>)</li>
<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCacheUtil.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockCacheUtil</span></a></li>
@@ -933,11 +934,7 @@
<li type="circle">org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.html" title="class in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder</span></a></li>
<li type="circle">org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/ByteStringer.html" title="class in org.apache.hadoop.hbase.util"><span class="typeNameLink">ByteStringer</span></a></li>
<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheableDeserializerIdManager.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">CacheableDeserializerIdManager</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">CacheConfig</span></a>
-<ul>
-<li type="circle">org.apache.hadoop.hbase.mob.<a href="org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob"><span class="typeNameLink">MobCacheConfig</span></a></li>
-</ul>
-</li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">CacheConfig</span></a></li>
<li type="circle">org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/CachedEntryQueue.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket"><span class="typeNameLink">CachedEntryQueue</span></a></li>
<li type="circle">org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/CacheEvictionStats.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">CacheEvictionStats</span></a></li>
<li type="circle">org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/CacheEvictionStatsAggregator.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">CacheEvictionStatsAggregator</span></a></li>
@@ -5343,9 +5340,9 @@
<li type="circle">org.apache.hadoop.hbase.io.<a href="org/apache/hadoop/hbase/io/Reference.Range.html" title="enum in org.apache.hadoop.hbase.io"><span class="typeNameLink">Reference.Range</span></a></li>
<li type="circle">org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutput.State.html" title="enum in org.apache.hadoop.hbase.io.asyncfs"><span class="typeNameLink">FanOutOneBlockAsyncDFSOutput.State</span></a></li>
<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/Cacheable.MemoryType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Cacheable.MemoryType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">CacheConfig.ExternalBlockCaches</span></a></li>
<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockPriority.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockPriority</span></a></li>
<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/HFileBlock.Writer.State.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">HFileBlock.Writer.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockCacheFactory.ExternalBlockCaches</span></a></li>
<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.NextState</span></a></li>
<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.LimitScope</span></a></li>
<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">DeleteTracker.DeleteResult</span></a></li>
[16/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html
index f32b223..6ac9299 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html
@@ -25,671 +25,358 @@
<span class="sourceLineNo">017</span> */<a name="line.17"></a>
<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.io.hfile;<a name="line.18"></a>
<span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import static org.apache.hadoop.hbase.HConstants.BUCKET_CACHE_IOENGINE_KEY;<a name="line.20"></a>
-<span class="sourceLineNo">021</span>import static org.apache.hadoop.hbase.HConstants.BUCKET_CACHE_SIZE_KEY;<a name="line.21"></a>
-<span class="sourceLineNo">022</span><a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.conf.Configuration;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.HConstants;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.slf4j.Logger;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.slf4j.LoggerFactory;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.io.hfile.BlockType.BlockCategory;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.io.hfile.bucket.BucketCache;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.io.util.MemorySizeUtil;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.util.ReflectionUtils;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.util.StringUtils;<a name="line.35"></a>
-<span class="sourceLineNo">036</span><a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.37"></a>
-<span class="sourceLineNo">038</span><a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span>/**<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * Stores all of the cache objects and configuration for a single HFile.<a name="line.41"></a>
-<span class="sourceLineNo">042</span> */<a name="line.42"></a>
-<span class="sourceLineNo">043</span>@InterfaceAudience.Private<a name="line.43"></a>
-<span class="sourceLineNo">044</span>public class CacheConfig {<a name="line.44"></a>
-<span class="sourceLineNo">045</span> private static final Logger LOG = LoggerFactory.getLogger(CacheConfig.class.getName());<a name="line.45"></a>
-<span class="sourceLineNo">046</span><a name="line.46"></a>
-<span class="sourceLineNo">047</span><a name="line.47"></a>
-<span class="sourceLineNo">048</span> /**<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * Disabled cache configuration<a name="line.49"></a>
-<span class="sourceLineNo">050</span> */<a name="line.50"></a>
-<span class="sourceLineNo">051</span> public static final CacheConfig DISABLED = new CacheConfig();<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span> /**<a name="line.53"></a>
-<span class="sourceLineNo">054</span> * Configuration key to cache data blocks on read. Bloom blocks and index blocks are always be<a name="line.54"></a>
-<span class="sourceLineNo">055</span> * cached if the block cache is enabled.<a name="line.55"></a>
-<span class="sourceLineNo">056</span> */<a name="line.56"></a>
-<span class="sourceLineNo">057</span> public static final String CACHE_DATA_ON_READ_KEY = "hbase.block.data.cacheonread";<a name="line.57"></a>
-<span class="sourceLineNo">058</span><a name="line.58"></a>
-<span class="sourceLineNo">059</span> /**<a name="line.59"></a>
-<span class="sourceLineNo">060</span> * Configuration key to cache data blocks on write. There are separate<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * switches for bloom blocks and non-root index blocks.<a name="line.61"></a>
-<span class="sourceLineNo">062</span> */<a name="line.62"></a>
-<span class="sourceLineNo">063</span> public static final String CACHE_BLOCKS_ON_WRITE_KEY =<a name="line.63"></a>
-<span class="sourceLineNo">064</span> "hbase.rs.cacheblocksonwrite";<a name="line.64"></a>
+<span class="sourceLineNo">020</span>import java.util.Optional;<a name="line.20"></a>
+<span class="sourceLineNo">021</span><a name="line.21"></a>
+<span class="sourceLineNo">022</span>import org.apache.hadoop.conf.Configuration;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.io.hfile.BlockType.BlockCategory;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.slf4j.Logger;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.slf4j.LoggerFactory;<a name="line.27"></a>
+<span class="sourceLineNo">028</span><a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.29"></a>
+<span class="sourceLineNo">030</span><a name="line.30"></a>
+<span class="sourceLineNo">031</span>/**<a name="line.31"></a>
+<span class="sourceLineNo">032</span> * Stores all of the cache objects and configuration for a single HFile.<a name="line.32"></a>
+<span class="sourceLineNo">033</span> */<a name="line.33"></a>
+<span class="sourceLineNo">034</span>@InterfaceAudience.Private<a name="line.34"></a>
+<span class="sourceLineNo">035</span>public class CacheConfig {<a name="line.35"></a>
+<span class="sourceLineNo">036</span> private static final Logger LOG = LoggerFactory.getLogger(CacheConfig.class.getName());<a name="line.36"></a>
+<span class="sourceLineNo">037</span><a name="line.37"></a>
+<span class="sourceLineNo">038</span> /**<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * Disabled cache configuration<a name="line.39"></a>
+<span class="sourceLineNo">040</span> */<a name="line.40"></a>
+<span class="sourceLineNo">041</span> public static final CacheConfig DISABLED = new CacheConfig();<a name="line.41"></a>
+<span class="sourceLineNo">042</span><a name="line.42"></a>
+<span class="sourceLineNo">043</span> /**<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * Configuration key to cache data blocks on read. Bloom blocks and index blocks are always be<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * cached if the block cache is enabled.<a name="line.45"></a>
+<span class="sourceLineNo">046</span> */<a name="line.46"></a>
+<span class="sourceLineNo">047</span> public static final String CACHE_DATA_ON_READ_KEY = "hbase.block.data.cacheonread";<a name="line.47"></a>
+<span class="sourceLineNo">048</span><a name="line.48"></a>
+<span class="sourceLineNo">049</span> /**<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * Configuration key to cache data blocks on write. There are separate<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * switches for bloom blocks and non-root index blocks.<a name="line.51"></a>
+<span class="sourceLineNo">052</span> */<a name="line.52"></a>
+<span class="sourceLineNo">053</span> public static final String CACHE_BLOCKS_ON_WRITE_KEY = "hbase.rs.cacheblocksonwrite";<a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span> /**<a name="line.55"></a>
+<span class="sourceLineNo">056</span> * Configuration key to cache leaf and intermediate-level index blocks on<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * write.<a name="line.57"></a>
+<span class="sourceLineNo">058</span> */<a name="line.58"></a>
+<span class="sourceLineNo">059</span> public static final String CACHE_INDEX_BLOCKS_ON_WRITE_KEY = "hfile.block.index.cacheonwrite";<a name="line.59"></a>
+<span class="sourceLineNo">060</span><a name="line.60"></a>
+<span class="sourceLineNo">061</span> /**<a name="line.61"></a>
+<span class="sourceLineNo">062</span> * Configuration key to cache compound bloom filter blocks on write.<a name="line.62"></a>
+<span class="sourceLineNo">063</span> */<a name="line.63"></a>
+<span class="sourceLineNo">064</span> public static final String CACHE_BLOOM_BLOCKS_ON_WRITE_KEY = "hfile.block.bloom.cacheonwrite";<a name="line.64"></a>
<span class="sourceLineNo">065</span><a name="line.65"></a>
<span class="sourceLineNo">066</span> /**<a name="line.66"></a>
-<span class="sourceLineNo">067</span> * Configuration key to cache leaf and intermediate-level index blocks on<a name="line.67"></a>
-<span class="sourceLineNo">068</span> * write.<a name="line.68"></a>
-<span class="sourceLineNo">069</span> */<a name="line.69"></a>
-<span class="sourceLineNo">070</span> public static final String CACHE_INDEX_BLOCKS_ON_WRITE_KEY =<a name="line.70"></a>
-<span class="sourceLineNo">071</span> "hfile.block.index.cacheonwrite";<a name="line.71"></a>
-<span class="sourceLineNo">072</span><a name="line.72"></a>
-<span class="sourceLineNo">073</span> /**<a name="line.73"></a>
-<span class="sourceLineNo">074</span> * Configuration key to cache compound bloom filter blocks on write.<a name="line.74"></a>
-<span class="sourceLineNo">075</span> */<a name="line.75"></a>
-<span class="sourceLineNo">076</span> public static final String CACHE_BLOOM_BLOCKS_ON_WRITE_KEY =<a name="line.76"></a>
-<span class="sourceLineNo">077</span> "hfile.block.bloom.cacheonwrite";<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span> /**<a name="line.79"></a>
-<span class="sourceLineNo">080</span> * Configuration key to cache data blocks in compressed and/or encrypted format.<a name="line.80"></a>
-<span class="sourceLineNo">081</span> */<a name="line.81"></a>
-<span class="sourceLineNo">082</span> public static final String CACHE_DATA_BLOCKS_COMPRESSED_KEY =<a name="line.82"></a>
-<span class="sourceLineNo">083</span> "hbase.block.data.cachecompressed";<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span> /**<a name="line.85"></a>
-<span class="sourceLineNo">086</span> * Configuration key to evict all blocks of a given file from the block cache<a name="line.86"></a>
-<span class="sourceLineNo">087</span> * when the file is closed.<a name="line.87"></a>
-<span class="sourceLineNo">088</span> */<a name="line.88"></a>
-<span class="sourceLineNo">089</span> public static final String EVICT_BLOCKS_ON_CLOSE_KEY =<a name="line.89"></a>
-<span class="sourceLineNo">090</span> "hbase.rs.evictblocksonclose";<a name="line.90"></a>
-<span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span> /**<a name="line.92"></a>
-<span class="sourceLineNo">093</span> * Configuration keys for Bucket cache<a name="line.93"></a>
-<span class="sourceLineNo">094</span> */<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span> /**<a name="line.96"></a>
-<span class="sourceLineNo">097</span> * If the chosen ioengine can persist its state across restarts, the path to the file to persist<a name="line.97"></a>
-<span class="sourceLineNo">098</span> * to. This file is NOT the data file. It is a file into which we will serialize the map of<a name="line.98"></a>
-<span class="sourceLineNo">099</span> * what is in the data file. For example, if you pass the following argument as<a name="line.99"></a>
-<span class="sourceLineNo">100</span> * BUCKET_CACHE_IOENGINE_KEY ("hbase.bucketcache.ioengine"),<a name="line.100"></a>
-<span class="sourceLineNo">101</span> * <code>file:/tmp/bucketcache.data </code>, then we will write the bucketcache data to the file<a name="line.101"></a>
-<span class="sourceLineNo">102</span> * <code>/tmp/bucketcache.data</code> but the metadata on where the data is in the supplied file<a name="line.102"></a>
-<span class="sourceLineNo">103</span> * is an in-memory map that needs to be persisted across restarts. Where to store this<a name="line.103"></a>
-<span class="sourceLineNo">104</span> * in-memory state is what you supply here: e.g. <code>/tmp/bucketcache.map</code>.<a name="line.104"></a>
-<span class="sourceLineNo">105</span> */<a name="line.105"></a>
-<span class="sourceLineNo">106</span> public static final String BUCKET_CACHE_PERSISTENT_PATH_KEY =<a name="line.106"></a>
-<span class="sourceLineNo">107</span> "hbase.bucketcache.persistent.path";<a name="line.107"></a>
-<span class="sourceLineNo">108</span><a name="line.108"></a>
-<span class="sourceLineNo">109</span> public static final String BUCKET_CACHE_WRITER_THREADS_KEY = "hbase.bucketcache.writer.threads";<a name="line.109"></a>
-<span class="sourceLineNo">110</span> public static final String BUCKET_CACHE_WRITER_QUEUE_KEY =<a name="line.110"></a>
-<span class="sourceLineNo">111</span> "hbase.bucketcache.writer.queuelength";<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span> /**<a name="line.113"></a>
-<span class="sourceLineNo">114</span> * A comma-delimited array of values for use as bucket sizes.<a name="line.114"></a>
-<span class="sourceLineNo">115</span> */<a name="line.115"></a>
-<span class="sourceLineNo">116</span> public static final String BUCKET_CACHE_BUCKETS_KEY = "hbase.bucketcache.bucket.sizes";<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span> /**<a name="line.118"></a>
-<span class="sourceLineNo">119</span> * Defaults for Bucket cache<a name="line.119"></a>
-<span class="sourceLineNo">120</span> */<a name="line.120"></a>
-<span class="sourceLineNo">121</span> public static final int DEFAULT_BUCKET_CACHE_WRITER_THREADS = 3;<a name="line.121"></a>
-<span class="sourceLineNo">122</span> public static final int DEFAULT_BUCKET_CACHE_WRITER_QUEUE = 64;<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span> /**<a name="line.124"></a>
-<span class="sourceLineNo">125</span> * Configuration key to prefetch all blocks of a given file into the block cache<a name="line.125"></a>
-<span class="sourceLineNo">126</span> * when the file is opened.<a name="line.126"></a>
-<span class="sourceLineNo">127</span> */<a name="line.127"></a>
-<span class="sourceLineNo">128</span> public static final String PREFETCH_BLOCKS_ON_OPEN_KEY =<a name="line.128"></a>
-<span class="sourceLineNo">129</span> "hbase.rs.prefetchblocksonopen";<a name="line.129"></a>
+<span class="sourceLineNo">067</span> * Configuration key to cache data blocks in compressed and/or encrypted format.<a name="line.67"></a>
+<span class="sourceLineNo">068</span> */<a name="line.68"></a>
+<span class="sourceLineNo">069</span> public static final String CACHE_DATA_BLOCKS_COMPRESSED_KEY = "hbase.block.data.cachecompressed";<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span> /**<a name="line.71"></a>
+<span class="sourceLineNo">072</span> * Configuration key to evict all blocks of a given file from the block cache<a name="line.72"></a>
+<span class="sourceLineNo">073</span> * when the file is closed.<a name="line.73"></a>
+<span class="sourceLineNo">074</span> */<a name="line.74"></a>
+<span class="sourceLineNo">075</span> public static final String EVICT_BLOCKS_ON_CLOSE_KEY = "hbase.rs.evictblocksonclose";<a name="line.75"></a>
+<span class="sourceLineNo">076</span><a name="line.76"></a>
+<span class="sourceLineNo">077</span> /**<a name="line.77"></a>
+<span class="sourceLineNo">078</span> * Configuration key to prefetch all blocks of a given file into the block cache<a name="line.78"></a>
+<span class="sourceLineNo">079</span> * when the file is opened.<a name="line.79"></a>
+<span class="sourceLineNo">080</span> */<a name="line.80"></a>
+<span class="sourceLineNo">081</span> public static final String PREFETCH_BLOCKS_ON_OPEN_KEY = "hbase.rs.prefetchblocksonopen";<a name="line.81"></a>
+<span class="sourceLineNo">082</span><a name="line.82"></a>
+<span class="sourceLineNo">083</span> public static final String DROP_BEHIND_CACHE_COMPACTION_KEY =<a name="line.83"></a>
+<span class="sourceLineNo">084</span> "hbase.hfile.drop.behind.compaction";<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span> // Defaults<a name="line.86"></a>
+<span class="sourceLineNo">087</span> public static final boolean DEFAULT_CACHE_DATA_ON_READ = true;<a name="line.87"></a>
+<span class="sourceLineNo">088</span> public static final boolean DEFAULT_CACHE_DATA_ON_WRITE = false;<a name="line.88"></a>
+<span class="sourceLineNo">089</span> public static final boolean DEFAULT_IN_MEMORY = false;<a name="line.89"></a>
+<span class="sourceLineNo">090</span> public static final boolean DEFAULT_CACHE_INDEXES_ON_WRITE = false;<a name="line.90"></a>
+<span class="sourceLineNo">091</span> public static final boolean DEFAULT_CACHE_BLOOMS_ON_WRITE = false;<a name="line.91"></a>
+<span class="sourceLineNo">092</span> public static final boolean DEFAULT_EVICT_ON_CLOSE = false;<a name="line.92"></a>
+<span class="sourceLineNo">093</span> public static final boolean DEFAULT_CACHE_DATA_COMPRESSED = false;<a name="line.93"></a>
+<span class="sourceLineNo">094</span> public static final boolean DEFAULT_PREFETCH_ON_OPEN = false;<a name="line.94"></a>
+<span class="sourceLineNo">095</span> public static final boolean DROP_BEHIND_CACHE_COMPACTION_DEFAULT = true;<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span> /**<a name="line.97"></a>
+<span class="sourceLineNo">098</span> * Whether blocks should be cached on read (default is on if there is a<a name="line.98"></a>
+<span class="sourceLineNo">099</span> * cache but this can be turned off on a per-family or per-request basis).<a name="line.99"></a>
+<span class="sourceLineNo">100</span> * If off we will STILL cache meta blocks; i.e. INDEX and BLOOM types.<a name="line.100"></a>
+<span class="sourceLineNo">101</span> * This cannot be disabled.<a name="line.101"></a>
+<span class="sourceLineNo">102</span> */<a name="line.102"></a>
+<span class="sourceLineNo">103</span> private final boolean cacheDataOnRead;<a name="line.103"></a>
+<span class="sourceLineNo">104</span><a name="line.104"></a>
+<span class="sourceLineNo">105</span> /** Whether blocks should be flagged as in-memory when being cached */<a name="line.105"></a>
+<span class="sourceLineNo">106</span> private final boolean inMemory;<a name="line.106"></a>
+<span class="sourceLineNo">107</span><a name="line.107"></a>
+<span class="sourceLineNo">108</span> /** Whether data blocks should be cached when new files are written */<a name="line.108"></a>
+<span class="sourceLineNo">109</span> private boolean cacheDataOnWrite;<a name="line.109"></a>
+<span class="sourceLineNo">110</span><a name="line.110"></a>
+<span class="sourceLineNo">111</span> /** Whether index blocks should be cached when new files are written */<a name="line.111"></a>
+<span class="sourceLineNo">112</span> private final boolean cacheIndexesOnWrite;<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span> /** Whether compound bloom filter blocks should be cached on write */<a name="line.114"></a>
+<span class="sourceLineNo">115</span> private final boolean cacheBloomsOnWrite;<a name="line.115"></a>
+<span class="sourceLineNo">116</span><a name="line.116"></a>
+<span class="sourceLineNo">117</span> /** Whether blocks of a file should be evicted when the file is closed */<a name="line.117"></a>
+<span class="sourceLineNo">118</span> private boolean evictOnClose;<a name="line.118"></a>
+<span class="sourceLineNo">119</span><a name="line.119"></a>
+<span class="sourceLineNo">120</span> /** Whether data blocks should be stored in compressed and/or encrypted form in the cache */<a name="line.120"></a>
+<span class="sourceLineNo">121</span> private final boolean cacheDataCompressed;<a name="line.121"></a>
+<span class="sourceLineNo">122</span><a name="line.122"></a>
+<span class="sourceLineNo">123</span> /** Whether data blocks should be prefetched into the cache */<a name="line.123"></a>
+<span class="sourceLineNo">124</span> private final boolean prefetchOnOpen;<a name="line.124"></a>
+<span class="sourceLineNo">125</span><a name="line.125"></a>
+<span class="sourceLineNo">126</span> private final boolean dropBehindCompaction;<a name="line.126"></a>
+<span class="sourceLineNo">127</span><a name="line.127"></a>
+<span class="sourceLineNo">128</span> // Local reference to the block cache<a name="line.128"></a>
+<span class="sourceLineNo">129</span> private final BlockCache blockCache;<a name="line.129"></a>
<span class="sourceLineNo">130</span><a name="line.130"></a>
<span class="sourceLineNo">131</span> /**<a name="line.131"></a>
-<span class="sourceLineNo">132</span> * The target block size used by blockcache instances. Defaults to<a name="line.132"></a>
-<span class="sourceLineNo">133</span> * {@link HConstants#DEFAULT_BLOCKSIZE}.<a name="line.133"></a>
-<span class="sourceLineNo">134</span> * TODO: this config point is completely wrong, as it's used to determine the<a name="line.134"></a>
-<span class="sourceLineNo">135</span> * target block size of BlockCache instances. Rename.<a name="line.135"></a>
-<span class="sourceLineNo">136</span> */<a name="line.136"></a>
-<span class="sourceLineNo">137</span> public static final String BLOCKCACHE_BLOCKSIZE_KEY = "hbase.offheapcache.minblocksize";<a name="line.137"></a>
-<span class="sourceLineNo">138</span><a name="line.138"></a>
-<span class="sourceLineNo">139</span> private static final String EXTERNAL_BLOCKCACHE_KEY = "hbase.blockcache.use.external";<a name="line.139"></a>
-<span class="sourceLineNo">140</span> private static final boolean EXTERNAL_BLOCKCACHE_DEFAULT = false;<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span> private static final String EXTERNAL_BLOCKCACHE_CLASS_KEY = "hbase.blockcache.external.class";<a name="line.142"></a>
-<span class="sourceLineNo">143</span> private static final String DROP_BEHIND_CACHE_COMPACTION_KEY =<a name="line.143"></a>
-<span class="sourceLineNo">144</span> "hbase.hfile.drop.behind.compaction";<a name="line.144"></a>
-<span class="sourceLineNo">145</span> private static final boolean DROP_BEHIND_CACHE_COMPACTION_DEFAULT = true;<a name="line.145"></a>
-<span class="sourceLineNo">146</span><a name="line.146"></a>
-<span class="sourceLineNo">147</span> /**<a name="line.147"></a>
-<span class="sourceLineNo">148</span> * Enum of all built in external block caches.<a name="line.148"></a>
-<span class="sourceLineNo">149</span> * This is used for config.<a name="line.149"></a>
-<span class="sourceLineNo">150</span> */<a name="line.150"></a>
-<span class="sourceLineNo">151</span> private static enum ExternalBlockCaches {<a name="line.151"></a>
-<span class="sourceLineNo">152</span> memcached("org.apache.hadoop.hbase.io.hfile.MemcachedBlockCache");<a name="line.152"></a>
-<span class="sourceLineNo">153</span> // TODO(eclark): Consider more. Redis, etc.<a name="line.153"></a>
-<span class="sourceLineNo">154</span> Class<? extends BlockCache> clazz;<a name="line.154"></a>
-<span class="sourceLineNo">155</span> ExternalBlockCaches(String clazzName) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span> try {<a name="line.156"></a>
-<span class="sourceLineNo">157</span> clazz = (Class<? extends BlockCache>) Class.forName(clazzName);<a name="line.157"></a>
-<span class="sourceLineNo">158</span> } catch (ClassNotFoundException cnef) {<a name="line.158"></a>
-<span class="sourceLineNo">159</span> clazz = null;<a name="line.159"></a>
-<span class="sourceLineNo">160</span> }<a name="line.160"></a>
-<span class="sourceLineNo">161</span> }<a name="line.161"></a>
-<span class="sourceLineNo">162</span> ExternalBlockCaches(Class<? extends BlockCache> clazz) {<a name="line.162"></a>
-<span class="sourceLineNo">163</span> this.clazz = clazz;<a name="line.163"></a>
-<span class="sourceLineNo">164</span> }<a name="line.164"></a>
-<span class="sourceLineNo">165</span> }<a name="line.165"></a>
-<span class="sourceLineNo">166</span><a name="line.166"></a>
-<span class="sourceLineNo">167</span> // Defaults<a name="line.167"></a>
-<span class="sourceLineNo">168</span> public static final boolean DEFAULT_CACHE_DATA_ON_READ = true;<a name="line.168"></a>
-<span class="sourceLineNo">169</span> public static final boolean DEFAULT_CACHE_DATA_ON_WRITE = false;<a name="line.169"></a>
-<span class="sourceLineNo">170</span> public static final boolean DEFAULT_IN_MEMORY = false;<a name="line.170"></a>
-<span class="sourceLineNo">171</span> public static final boolean DEFAULT_CACHE_INDEXES_ON_WRITE = false;<a name="line.171"></a>
-<span class="sourceLineNo">172</span> public static final boolean DEFAULT_CACHE_BLOOMS_ON_WRITE = false;<a name="line.172"></a>
-<span class="sourceLineNo">173</span> public static final boolean DEFAULT_EVICT_ON_CLOSE = false;<a name="line.173"></a>
-<span class="sourceLineNo">174</span> public static final boolean DEFAULT_CACHE_DATA_COMPRESSED = false;<a name="line.174"></a>
-<span class="sourceLineNo">175</span> public static final boolean DEFAULT_PREFETCH_ON_OPEN = false;<a name="line.175"></a>
-<span class="sourceLineNo">176</span><a name="line.176"></a>
-<span class="sourceLineNo">177</span> /** Local reference to the block cache, null if completely disabled */<a name="line.177"></a>
-<span class="sourceLineNo">178</span> private final BlockCache blockCache;<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span> /**<a name="line.180"></a>
-<span class="sourceLineNo">181</span> * Whether blocks should be cached on read (default is on if there is a<a name="line.181"></a>
-<span class="sourceLineNo">182</span> * cache but this can be turned off on a per-family or per-request basis).<a name="line.182"></a>
-<span class="sourceLineNo">183</span> * If off we will STILL cache meta blocks; i.e. INDEX and BLOOM types.<a name="line.183"></a>
-<span class="sourceLineNo">184</span> * This cannot be disabled.<a name="line.184"></a>
-<span class="sourceLineNo">185</span> */<a name="line.185"></a>
-<span class="sourceLineNo">186</span> private boolean cacheDataOnRead;<a name="line.186"></a>
-<span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span> /** Whether blocks should be flagged as in-memory when being cached */<a name="line.188"></a>
-<span class="sourceLineNo">189</span> private final boolean inMemory;<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span> /** Whether data blocks should be cached when new files are written */<a name="line.191"></a>
-<span class="sourceLineNo">192</span> private boolean cacheDataOnWrite;<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span> /** Whether index blocks should be cached when new files are written */<a name="line.194"></a>
-<span class="sourceLineNo">195</span> private final boolean cacheIndexesOnWrite;<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span> /** Whether compound bloom filter blocks should be cached on write */<a name="line.197"></a>
-<span class="sourceLineNo">198</span> private final boolean cacheBloomsOnWrite;<a name="line.198"></a>
-<span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span> /** Whether blocks of a file should be evicted when the file is closed */<a name="line.200"></a>
-<span class="sourceLineNo">201</span> private boolean evictOnClose;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span> /** Whether data blocks should be stored in compressed and/or encrypted form in the cache */<a name="line.203"></a>
-<span class="sourceLineNo">204</span> private final boolean cacheDataCompressed;<a name="line.204"></a>
-<span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span> /** Whether data blocks should be prefetched into the cache */<a name="line.206"></a>
-<span class="sourceLineNo">207</span> private final boolean prefetchOnOpen;<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span> private final boolean dropBehindCompaction;<a name="line.209"></a>
-<span class="sourceLineNo">210</span><a name="line.210"></a>
-<span class="sourceLineNo">211</span> /**<a name="line.211"></a>
-<span class="sourceLineNo">212</span> * Create a cache configuration using the specified configuration object and<a name="line.212"></a>
-<span class="sourceLineNo">213</span> * family descriptor.<a name="line.213"></a>
-<span class="sourceLineNo">214</span> * @param conf hbase configuration<a name="line.214"></a>
-<span class="sourceLineNo">215</span> * @param family column family configuration<a name="line.215"></a>
-<span class="sourceLineNo">216</span> */<a name="line.216"></a>
-<span class="sourceLineNo">217</span> public CacheConfig(Configuration conf, ColumnFamilyDescriptor family) {<a name="line.217"></a>
-<span class="sourceLineNo">218</span> this(GLOBAL_BLOCK_CACHE_INSTANCE,<a name="line.218"></a>
-<span class="sourceLineNo">219</span> conf.getBoolean(CACHE_DATA_ON_READ_KEY, DEFAULT_CACHE_DATA_ON_READ)<a name="line.219"></a>
-<span class="sourceLineNo">220</span> && family.isBlockCacheEnabled(),<a name="line.220"></a>
-<span class="sourceLineNo">221</span> family.isInMemory(),<a name="line.221"></a>
-<span class="sourceLineNo">222</span> // For the following flags we enable them regardless of per-schema settings<a name="line.222"></a>
-<span class="sourceLineNo">223</span> // if they are enabled in the global configuration.<a name="line.223"></a>
-<span class="sourceLineNo">224</span> conf.getBoolean(CACHE_BLOCKS_ON_WRITE_KEY,<a name="line.224"></a>
-<span class="sourceLineNo">225</span> DEFAULT_CACHE_DATA_ON_WRITE) || family.isCacheDataOnWrite(),<a name="line.225"></a>
-<span class="sourceLineNo">226</span> conf.getBoolean(CACHE_INDEX_BLOCKS_ON_WRITE_KEY,<a name="line.226"></a>
-<span class="sourceLineNo">227</span> DEFAULT_CACHE_INDEXES_ON_WRITE) || family.isCacheIndexesOnWrite(),<a name="line.227"></a>
-<span class="sourceLineNo">228</span> conf.getBoolean(CACHE_BLOOM_BLOCKS_ON_WRITE_KEY,<a name="line.228"></a>
-<span class="sourceLineNo">229</span> DEFAULT_CACHE_BLOOMS_ON_WRITE) || family.isCacheBloomsOnWrite(),<a name="line.229"></a>
-<span class="sourceLineNo">230</span> conf.getBoolean(EVICT_BLOCKS_ON_CLOSE_KEY,<a name="line.230"></a>
-<span class="sourceLineNo">231</span> DEFAULT_EVICT_ON_CLOSE) || family.isEvictBlocksOnClose(),<a name="line.231"></a>
-<span class="sourceLineNo">232</span> conf.getBoolean(CACHE_DATA_BLOCKS_COMPRESSED_KEY, DEFAULT_CACHE_DATA_COMPRESSED),<a name="line.232"></a>
-<span class="sourceLineNo">233</span> conf.getBoolean(PREFETCH_BLOCKS_ON_OPEN_KEY,<a name="line.233"></a>
-<span class="sourceLineNo">234</span> DEFAULT_PREFETCH_ON_OPEN) || family.isPrefetchBlocksOnOpen(),<a name="line.234"></a>
-<span class="sourceLineNo">235</span> conf.getBoolean(DROP_BEHIND_CACHE_COMPACTION_KEY, DROP_BEHIND_CACHE_COMPACTION_DEFAULT)<a name="line.235"></a>
-<span class="sourceLineNo">236</span> );<a name="line.236"></a>
-<span class="sourceLineNo">237</span> LOG.info("Created cacheConfig for " + family.getNameAsString() + ": " + this);<a name="line.237"></a>
-<span class="sourceLineNo">238</span> }<a name="line.238"></a>
-<span class="sourceLineNo">239</span><a name="line.239"></a>
-<span class="sourceLineNo">240</span> /**<a name="line.240"></a>
-<span class="sourceLineNo">241</span> * Create a cache configuration using the specified configuration object and<a name="line.241"></a>
-<span class="sourceLineNo">242</span> * defaults for family level settings. Only use if no column family context. Prefer<a name="line.242"></a>
-<span class="sourceLineNo">243</span> * {@link CacheConfig#CacheConfig(Configuration, ColumnFamilyDescriptor)}<a name="line.243"></a>
-<span class="sourceLineNo">244</span> * @see #CacheConfig(Configuration, ColumnFamilyDescriptor)<a name="line.244"></a>
-<span class="sourceLineNo">245</span> * @param conf hbase configuration<a name="line.245"></a>
-<span class="sourceLineNo">246</span> */<a name="line.246"></a>
-<span class="sourceLineNo">247</span> public CacheConfig(Configuration conf) {<a name="line.247"></a>
-<span class="sourceLineNo">248</span> this(GLOBAL_BLOCK_CACHE_INSTANCE,<a name="line.248"></a>
-<span class="sourceLineNo">249</span> conf.getBoolean(CACHE_DATA_ON_READ_KEY, DEFAULT_CACHE_DATA_ON_READ),<a name="line.249"></a>
-<span class="sourceLineNo">250</span> DEFAULT_IN_MEMORY, // This is a family-level setting so can't be set<a name="line.250"></a>
-<span class="sourceLineNo">251</span> // strictly from conf<a name="line.251"></a>
-<span class="sourceLineNo">252</span> conf.getBoolean(CACHE_BLOCKS_ON_WRITE_KEY, DEFAULT_CACHE_DATA_ON_WRITE),<a name="line.252"></a>
-<span class="sourceLineNo">253</span> conf.getBoolean(CACHE_INDEX_BLOCKS_ON_WRITE_KEY, DEFAULT_CACHE_INDEXES_ON_WRITE),<a name="line.253"></a>
-<span class="sourceLineNo">254</span> conf.getBoolean(CACHE_BLOOM_BLOCKS_ON_WRITE_KEY, DEFAULT_CACHE_BLOOMS_ON_WRITE),<a name="line.254"></a>
-<span class="sourceLineNo">255</span> conf.getBoolean(EVICT_BLOCKS_ON_CLOSE_KEY, DEFAULT_EVICT_ON_CLOSE),<a name="line.255"></a>
-<span class="sourceLineNo">256</span> conf.getBoolean(CACHE_DATA_BLOCKS_COMPRESSED_KEY, DEFAULT_CACHE_DATA_COMPRESSED),<a name="line.256"></a>
-<span class="sourceLineNo">257</span> conf.getBoolean(PREFETCH_BLOCKS_ON_OPEN_KEY, DEFAULT_PREFETCH_ON_OPEN),<a name="line.257"></a>
-<span class="sourceLineNo">258</span> conf.getBoolean(DROP_BEHIND_CACHE_COMPACTION_KEY, DROP_BEHIND_CACHE_COMPACTION_DEFAULT));<a name="line.258"></a>
-<span class="sourceLineNo">259</span> LOG.info("Created cacheConfig: " + this);<a name="line.259"></a>
-<span class="sourceLineNo">260</span> }<a name="line.260"></a>
-<span class="sourceLineNo">261</span><a name="line.261"></a>
-<span class="sourceLineNo">262</span> /**<a name="line.262"></a>
-<span class="sourceLineNo">263</span> * Create a block cache configuration with the specified cache and configuration parameters.<a name="line.263"></a>
-<span class="sourceLineNo">264</span> * @param blockCache reference to block cache, null if completely disabled<a name="line.264"></a>
-<span class="sourceLineNo">265</span> * @param cacheDataOnRead whether DATA blocks should be cached on read (we always cache INDEX<a name="line.265"></a>
-<span class="sourceLineNo">266</span> * blocks and BLOOM blocks; this cannot be disabled).<a name="line.266"></a>
-<span class="sourceLineNo">267</span> * @param inMemory whether blocks should be flagged as in-memory<a name="line.267"></a>
-<span class="sourceLineNo">268</span> * @param cacheDataOnWrite whether data blocks should be cached on write<a name="line.268"></a>
-<span class="sourceLineNo">269</span> * @param cacheIndexesOnWrite whether index blocks should be cached on write<a name="line.269"></a>
-<span class="sourceLineNo">270</span> * @param cacheBloomsOnWrite whether blooms should be cached on write<a name="line.270"></a>
-<span class="sourceLineNo">271</span> * @param evictOnClose whether blocks should be evicted when HFile is closed<a name="line.271"></a>
-<span class="sourceLineNo">272</span> * @param cacheDataCompressed whether to store blocks as compressed in the cache<a name="line.272"></a>
-<span class="sourceLineNo">273</span> * @param prefetchOnOpen whether to prefetch blocks upon open<a name="line.273"></a>
-<span class="sourceLineNo">274</span> * @param dropBehindCompaction indicate that we should set drop behind to true when open a store<a name="line.274"></a>
-<span class="sourceLineNo">275</span> * file reader for compaction<a name="line.275"></a>
-<span class="sourceLineNo">276</span> */<a name="line.276"></a>
-<span class="sourceLineNo">277</span> @VisibleForTesting<a name="line.277"></a>
-<span class="sourceLineNo">278</span> CacheConfig(final BlockCache blockCache,<a name="line.278"></a>
-<span class="sourceLineNo">279</span> final boolean cacheDataOnRead, final boolean inMemory,<a name="line.279"></a>
-<span class="sourceLineNo">280</span> final boolean cacheDataOnWrite, final boolean cacheIndexesOnWrite,<a name="line.280"></a>
-<span class="sourceLineNo">281</span> final boolean cacheBloomsOnWrite, final boolean evictOnClose,<a name="line.281"></a>
-<span class="sourceLineNo">282</span> final boolean cacheDataCompressed, final boolean prefetchOnOpen,<a name="line.282"></a>
-<span class="sourceLineNo">283</span> final boolean dropBehindCompaction) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span> this.blockCache = blockCache;<a name="line.284"></a>
-<span class="sourceLineNo">285</span> this.cacheDataOnRead = cacheDataOnRead;<a name="line.285"></a>
-<span class="sourceLineNo">286</span> this.inMemory = inMemory;<a name="line.286"></a>
-<span class="sourceLineNo">287</span> this.cacheDataOnWrite = cacheDataOnWrite;<a name="line.287"></a>
-<span class="sourceLineNo">288</span> this.cacheIndexesOnWrite = cacheIndexesOnWrite;<a name="line.288"></a>
-<span class="sourceLineNo">289</span> this.cacheBloomsOnWrite = cacheBloomsOnWrite;<a name="line.289"></a>
-<span class="sourceLineNo">290</span> this.evictOnClose = evictOnClose;<a name="line.290"></a>
-<span class="sourceLineNo">291</span> this.cacheDataCompressed = cacheDataCompressed;<a name="line.291"></a>
-<span class="sourceLineNo">292</span> this.prefetchOnOpen = prefetchOnOpen;<a name="line.292"></a>
-<span class="sourceLineNo">293</span> this.dropBehindCompaction = dropBehindCompaction;<a name="line.293"></a>
+<span class="sourceLineNo">132</span> * Create a cache configuration using the specified configuration object and<a name="line.132"></a>
+<span class="sourceLineNo">133</span> * defaults for family level settings. Only use if no column family context.<a name="line.133"></a>
+<span class="sourceLineNo">134</span> * @param conf hbase configuration<a name="line.134"></a>
+<span class="sourceLineNo">135</span> */<a name="line.135"></a>
+<span class="sourceLineNo">136</span> public CacheConfig(Configuration conf) {<a name="line.136"></a>
+<span class="sourceLineNo">137</span> this(conf, null);<a name="line.137"></a>
+<span class="sourceLineNo">138</span> }<a name="line.138"></a>
+<span class="sourceLineNo">139</span><a name="line.139"></a>
+<span class="sourceLineNo">140</span> public CacheConfig(Configuration conf, BlockCache blockCache) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span> this(conf, null, blockCache);<a name="line.141"></a>
+<span class="sourceLineNo">142</span> }<a name="line.142"></a>
+<span class="sourceLineNo">143</span><a name="line.143"></a>
+<span class="sourceLineNo">144</span> /**<a name="line.144"></a>
+<span class="sourceLineNo">145</span> * Create a cache configuration using the specified configuration object and<a name="line.145"></a>
+<span class="sourceLineNo">146</span> * family descriptor.<a name="line.146"></a>
+<span class="sourceLineNo">147</span> * @param conf hbase configuration<a name="line.147"></a>
+<span class="sourceLineNo">148</span> * @param family column family configuration<a name="line.148"></a>
+<span class="sourceLineNo">149</span> */<a name="line.149"></a>
+<span class="sourceLineNo">150</span> public CacheConfig(Configuration conf, ColumnFamilyDescriptor family, BlockCache blockCache) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span> this.cacheDataOnRead = conf.getBoolean(CACHE_DATA_ON_READ_KEY, DEFAULT_CACHE_DATA_ON_READ) &&<a name="line.151"></a>
+<span class="sourceLineNo">152</span> (family == null ? true : family.isBlockCacheEnabled());<a name="line.152"></a>
+<span class="sourceLineNo">153</span> this.inMemory = family == null ? DEFAULT_IN_MEMORY : family.isInMemory();<a name="line.153"></a>
+<span class="sourceLineNo">154</span> this.cacheDataCompressed =<a name="line.154"></a>
+<span class="sourceLineNo">155</span> conf.getBoolean(CACHE_DATA_BLOCKS_COMPRESSED_KEY, DEFAULT_CACHE_DATA_COMPRESSED);<a name="line.155"></a>
+<span class="sourceLineNo">156</span> this.dropBehindCompaction =<a name="line.156"></a>
+<span class="sourceLineNo">157</span> conf.getBoolean(DROP_BEHIND_CACHE_COMPACTION_KEY, DROP_BEHIND_CACHE_COMPACTION_DEFAULT);<a name="line.157"></a>
+<span class="sourceLineNo">158</span> // For the following flags we enable them regardless of per-schema settings<a name="line.158"></a>
+<span class="sourceLineNo">159</span> // if they are enabled in the global configuration.<a name="line.159"></a>
+<span class="sourceLineNo">160</span> this.cacheDataOnWrite =<a name="line.160"></a>
+<span class="sourceLineNo">161</span> conf.getBoolean(CACHE_BLOCKS_ON_WRITE_KEY, DEFAULT_CACHE_DATA_ON_WRITE) ||<a name="line.161"></a>
+<span class="sourceLineNo">162</span> (family == null ? false : family.isCacheDataOnWrite());<a name="line.162"></a>
+<span class="sourceLineNo">163</span> this.cacheIndexesOnWrite =<a name="line.163"></a>
+<span class="sourceLineNo">164</span> conf.getBoolean(CACHE_INDEX_BLOCKS_ON_WRITE_KEY, DEFAULT_CACHE_INDEXES_ON_WRITE) ||<a name="line.164"></a>
+<span class="sourceLineNo">165</span> (family == null ? false : family.isCacheIndexesOnWrite());<a name="line.165"></a>
+<span class="sourceLineNo">166</span> this.cacheBloomsOnWrite =<a name="line.166"></a>
+<span class="sourceLineNo">167</span> conf.getBoolean(CACHE_BLOOM_BLOCKS_ON_WRITE_KEY, DEFAULT_CACHE_BLOOMS_ON_WRITE) ||<a name="line.167"></a>
+<span class="sourceLineNo">168</span> (family == null ? false : family.isCacheBloomsOnWrite());<a name="line.168"></a>
+<span class="sourceLineNo">169</span> this.evictOnClose = conf.getBoolean(EVICT_BLOCKS_ON_CLOSE_KEY, DEFAULT_EVICT_ON_CLOSE) ||<a name="line.169"></a>
+<span class="sourceLineNo">170</span> (family == null ? false : family.isEvictBlocksOnClose());<a name="line.170"></a>
+<span class="sourceLineNo">171</span> this.prefetchOnOpen = conf.getBoolean(PREFETCH_BLOCKS_ON_OPEN_KEY, DEFAULT_PREFETCH_ON_OPEN) ||<a name="line.171"></a>
+<span class="sourceLineNo">172</span> (family == null ? false : family.isPrefetchBlocksOnOpen());<a name="line.172"></a>
+<span class="sourceLineNo">173</span> this.blockCache = blockCache;<a name="line.173"></a>
+<span class="sourceLineNo">174</span> LOG.info("Created cacheConfig: " + this + (family == null ? "" : " for family " + family) +<a name="line.174"></a>
+<span class="sourceLineNo">175</span> " with blockCache=" + blockCache);<a name="line.175"></a>
+<span class="sourceLineNo">176</span> }<a name="line.176"></a>
+<span class="sourceLineNo">177</span><a name="line.177"></a>
+<span class="sourceLineNo">178</span> /**<a name="line.178"></a>
+<span class="sourceLineNo">179</span> * Constructs a cache configuration copied from the specified configuration.<a name="line.179"></a>
+<span class="sourceLineNo">180</span> * @param cacheConf<a name="line.180"></a>
+<span class="sourceLineNo">181</span> */<a name="line.181"></a>
+<span class="sourceLineNo">182</span> public CacheConfig(CacheConfig cacheConf) {<a name="line.182"></a>
+<span class="sourceLineNo">183</span> this.cacheDataOnRead = cacheConf.cacheDataOnRead;<a name="line.183"></a>
+<span class="sourceLineNo">184</span> this.inMemory = cacheConf.inMemory;<a name="line.184"></a>
+<span class="sourceLineNo">185</span> this.cacheDataOnWrite = cacheConf.cacheDataOnWrite;<a name="line.185"></a>
+<span class="sourceLineNo">186</span> this.cacheIndexesOnWrite = cacheConf.cacheIndexesOnWrite;<a name="line.186"></a>
+<span class="sourceLineNo">187</span> this.cacheBloomsOnWrite = cacheConf.cacheBloomsOnWrite;<a name="line.187"></a>
+<span class="sourceLineNo">188</span> this.evictOnClose = cacheConf.evictOnClose;<a name="line.188"></a>
+<span class="sourceLineNo">189</span> this.cacheDataCompressed = cacheConf.cacheDataCompressed;<a name="line.189"></a>
+<span class="sourceLineNo">190</span> this.prefetchOnOpen = cacheConf.prefetchOnOpen;<a name="line.190"></a>
+<span class="sourceLineNo">191</span> this.dropBehindCompaction = cacheConf.dropBehindCompaction;<a name="line.191"></a>
+<span class="sourceLineNo">192</span> this.blockCache = cacheConf.blockCache;<a name="line.192"></a>
+<span class="sourceLineNo">193</span> }<a name="line.193"></a>
+<span class="sourceLineNo">194</span><a name="line.194"></a>
+<span class="sourceLineNo">195</span> private CacheConfig() {<a name="line.195"></a>
+<span class="sourceLineNo">196</span> this.cacheDataOnRead = false;<a name="line.196"></a>
+<span class="sourceLineNo">197</span> this.inMemory = false;<a name="line.197"></a>
+<span class="sourceLineNo">198</span> this.cacheDataOnWrite = false;<a name="line.198"></a>
+<span class="sourceLineNo">199</span> this.cacheIndexesOnWrite = false;<a name="line.199"></a>
+<span class="sourceLineNo">200</span> this.cacheBloomsOnWrite = false;<a name="line.200"></a>
+<span class="sourceLineNo">201</span> this.evictOnClose = false;<a name="line.201"></a>
+<span class="sourceLineNo">202</span> this.cacheDataCompressed = false;<a name="line.202"></a>
+<span class="sourceLineNo">203</span> this.prefetchOnOpen = false;<a name="line.203"></a>
+<span class="sourceLineNo">204</span> this.dropBehindCompaction = false;<a name="line.204"></a>
+<span class="sourceLineNo">205</span> this.blockCache = null;<a name="line.205"></a>
+<span class="sourceLineNo">206</span> }<a name="line.206"></a>
+<span class="sourceLineNo">207</span><a name="line.207"></a>
+<span class="sourceLineNo">208</span> /**<a name="line.208"></a>
+<span class="sourceLineNo">209</span> * Returns whether the DATA blocks of this HFile should be cached on read or not (we always<a name="line.209"></a>
+<span class="sourceLineNo">210</span> * cache the meta blocks, the INDEX and BLOOM blocks).<a name="line.210"></a>
+<span class="sourceLineNo">211</span> * @return true if blocks should be cached on read, false if not<a name="line.211"></a>
+<span class="sourceLineNo">212</span> */<a name="line.212"></a>
+<span class="sourceLineNo">213</span> public boolean shouldCacheDataOnRead() {<a name="line.213"></a>
+<span class="sourceLineNo">214</span> return cacheDataOnRead;<a name="line.214"></a>
+<span class="sourceLineNo">215</span> }<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span> public boolean shouldDropBehindCompaction() {<a name="line.217"></a>
+<span class="sourceLineNo">218</span> return dropBehindCompaction;<a name="line.218"></a>
+<span class="sourceLineNo">219</span> }<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span> /**<a name="line.221"></a>
+<span class="sourceLineNo">222</span> * Should we cache a block of a particular category? We always cache<a name="line.222"></a>
+<span class="sourceLineNo">223</span> * important blocks such as index blocks, as long as the block cache is<a name="line.223"></a>
+<span class="sourceLineNo">224</span> * available.<a name="line.224"></a>
+<span class="sourceLineNo">225</span> */<a name="line.225"></a>
+<span class="sourceLineNo">226</span> public boolean shouldCacheBlockOnRead(BlockCategory category) {<a name="line.226"></a>
+<span class="sourceLineNo">227</span> return cacheDataOnRead || category == BlockCategory.INDEX || category == BlockCategory.BLOOM ||<a name="line.227"></a>
+<span class="sourceLineNo">228</span> (prefetchOnOpen && (category != BlockCategory.META && category != BlockCategory.UNKNOWN));<a name="line.228"></a>
+<span class="sourceLineNo">229</span> }<a name="line.229"></a>
+<span class="sourceLineNo">230</span><a name="line.230"></a>
+<span class="sourceLineNo">231</span> /**<a name="line.231"></a>
+<span class="sourceLineNo">232</span> * @return true if blocks in this file should be flagged as in-memory<a name="line.232"></a>
+<span class="sourceLineNo">233</span> */<a name="line.233"></a>
+<span class="sourceLineNo">234</span> public boolean isInMemory() {<a name="line.234"></a>
+<span class="sourceLineNo">235</span> return this.inMemory;<a name="line.235"></a>
+<span class="sourceLineNo">236</span> }<a name="line.236"></a>
+<span class="sourceLineNo">237</span><a name="line.237"></a>
+<span class="sourceLineNo">238</span> /**<a name="line.238"></a>
+<span class="sourceLineNo">239</span> * @return true if data blocks should be written to the cache when an HFile is<a name="line.239"></a>
+<span class="sourceLineNo">240</span> * written, false if not<a name="line.240"></a>
+<span class="sourceLineNo">241</span> */<a name="line.241"></a>
+<span class="sourceLineNo">242</span> public boolean shouldCacheDataOnWrite() {<a name="line.242"></a>
+<span class="sourceLineNo">243</span> return this.cacheDataOnWrite;<a name="line.243"></a>
+<span class="sourceLineNo">244</span> }<a name="line.244"></a>
+<span class="sourceLineNo">245</span><a name="line.245"></a>
+<span class="sourceLineNo">246</span> /**<a name="line.246"></a>
+<span class="sourceLineNo">247</span> * @param cacheDataOnWrite whether data blocks should be written to the cache<a name="line.247"></a>
+<span class="sourceLineNo">248</span> * when an HFile is written<a name="line.248"></a>
+<span class="sourceLineNo">249</span> */<a name="line.249"></a>
+<span class="sourceLineNo">250</span> @VisibleForTesting<a name="line.250"></a>
+<span class="sourceLineNo">251</span> public void setCacheDataOnWrite(boolean cacheDataOnWrite) {<a name="line.251"></a>
+<span class="sourceLineNo">252</span> this.cacheDataOnWrite = cacheDataOnWrite;<a name="line.252"></a>
+<span class="sourceLineNo">253</span> }<a name="line.253"></a>
+<span class="sourceLineNo">254</span><a name="line.254"></a>
+<span class="sourceLineNo">255</span> /**<a name="line.255"></a>
+<span class="sourceLineNo">256</span> * @return true if index blocks should be written to the cache when an HFile<a name="line.256"></a>
+<span class="sourceLineNo">257</span> * is written, false if not<a name="line.257"></a>
+<span class="sourceLineNo">258</span> */<a name="line.258"></a>
+<span class="sourceLineNo">259</span> public boolean shouldCacheIndexesOnWrite() {<a name="line.259"></a>
+<span class="sourceLineNo">260</span> return this.cacheIndexesOnWrite;<a name="line.260"></a>
+<span class="sourceLineNo">261</span> }<a name="line.261"></a>
+<span class="sourceLineNo">262</span><a name="line.262"></a>
+<span class="sourceLineNo">263</span> /**<a name="line.263"></a>
+<span class="sourceLineNo">264</span> * @return true if bloom blocks should be written to the cache when an HFile<a name="line.264"></a>
+<span class="sourceLineNo">265</span> * is written, false if not<a name="line.265"></a>
+<span class="sourceLineNo">266</span> */<a name="line.266"></a>
+<span class="sourceLineNo">267</span> public boolean shouldCacheBloomsOnWrite() {<a name="line.267"></a>
+<span class="sourceLineNo">268</span> return this.cacheBloomsOnWrite;<a name="line.268"></a>
+<span class="sourceLineNo">269</span> }<a name="line.269"></a>
+<span class="sourceLineNo">270</span><a name="line.270"></a>
+<span class="sourceLineNo">271</span> /**<a name="line.271"></a>
+<span class="sourceLineNo">272</span> * @return true if blocks should be evicted from the cache when an HFile<a name="line.272"></a>
+<span class="sourceLineNo">273</span> * reader is closed, false if not<a name="line.273"></a>
+<span class="sourceLineNo">274</span> */<a name="line.274"></a>
+<span class="sourceLineNo">275</span> public boolean shouldEvictOnClose() {<a name="line.275"></a>
+<span class="sourceLineNo">276</span> return this.evictOnClose;<a name="line.276"></a>
+<span class="sourceLineNo">277</span> }<a name="line.277"></a>
+<span class="sourceLineNo">278</span><a name="line.278"></a>
+<span class="sourceLineNo">279</span> /**<a name="line.279"></a>
+<span class="sourceLineNo">280</span> * Only used for testing.<a name="line.280"></a>
+<span class="sourceLineNo">281</span> * @param evictOnClose whether blocks should be evicted from the cache when an<a name="line.281"></a>
+<span class="sourceLineNo">282</span> * HFile reader is closed<a name="line.282"></a>
+<span class="sourceLineNo">283</span> */<a name="line.283"></a>
+<span class="sourceLineNo">284</span> @VisibleForTesting<a name="line.284"></a>
+<span class="sourceLineNo">285</span> public void setEvictOnClose(boolean evictOnClose) {<a name="line.285"></a>
+<span class="sourceLineNo">286</span> this.evictOnClose = evictOnClose;<a name="line.286"></a>
+<span class="sourceLineNo">287</span> }<a name="line.287"></a>
+<span class="sourceLineNo">288</span><a name="line.288"></a>
+<span class="sourceLineNo">289</span> /**<a name="line.289"></a>
+<span class="sourceLineNo">290</span> * @return true if data blocks should be compressed in the cache, false if not<a name="line.290"></a>
+<span class="sourceLineNo">291</span> */<a name="line.291"></a>
+<span class="sourceLineNo">292</span> public boolean shouldCacheDataCompressed() {<a name="line.292"></a>
+<span class="sourceLineNo">293</span> return this.cacheDataOnRead && this.cacheDataCompressed;<a name="line.293"></a>
<span class="sourceLineNo">294</span> }<a name="line.294"></a>
<span class="sourceLineNo">295</span><a name="line.295"></a>
<span class="sourceLineNo">296</span> /**<a name="line.296"></a>
-<span class="sourceLineNo">297</span> * Constructs a cache configuration copied from the specified configuration.<a name="line.297"></a>
-<span class="sourceLineNo">298</span> * @param cacheConf<a name="line.298"></a>
-<span class="sourceLineNo">299</span> */<a name="line.299"></a>
-<span class="sourceLineNo">300</span> public CacheConfig(CacheConfig cacheConf) {<a name="line.300"></a>
-<span class="sourceLineNo">301</span> this(cacheConf.blockCache, cacheConf.cacheDataOnRead, cacheConf.inMemory,<a name="line.301"></a>
-<span class="sourceLineNo">302</span> cacheConf.cacheDataOnWrite, cacheConf.cacheIndexesOnWrite,<a name="line.302"></a>
-<span class="sourceLineNo">303</span> cacheConf.cacheBloomsOnWrite, cacheConf.evictOnClose,<a name="line.303"></a>
-<span class="sourceLineNo">304</span> cacheConf.cacheDataCompressed, cacheConf.prefetchOnOpen,<a name="line.304"></a>
-<span class="sourceLineNo">305</span> cacheConf.dropBehindCompaction);<a name="line.305"></a>
+<span class="sourceLineNo">297</span> * @return true if this {@link BlockCategory} should be compressed in blockcache, false otherwise<a name="line.297"></a>
+<span class="sourceLineNo">298</span> */<a name="line.298"></a>
+<span class="sourceLineNo">299</span> public boolean shouldCacheCompressed(BlockCategory category) {<a name="line.299"></a>
+<span class="sourceLineNo">300</span> switch (category) {<a name="line.300"></a>
+<span class="sourceLineNo">301</span> case DATA:<a name="line.301"></a>
+<span class="sourceLineNo">302</span> return this.cacheDataOnRead && this.cacheDataCompressed;<a name="line.302"></a>
+<span class="sourceLineNo">303</span> default:<a name="line.303"></a>
+<span class="sourceLineNo">304</span> return false;<a name="line.304"></a>
+<span class="sourceLineNo">305</span> }<a name="line.305"></a>
<span class="sourceLineNo">306</span> }<a name="line.306"></a>
<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span> private CacheConfig() {<a name="line.308"></a>
-<span class="sourceLineNo">309</span> this(null, false, false, false, false, false, false, false, false, false);<a name="line.309"></a>
-<span class="sourceLineNo">310</span> }<a name="line.310"></a>
-<span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span> /**<a name="line.312"></a>
-<span class="sourceLineNo">313</span> * Checks whether the block cache is enabled.<a name="line.313"></a>
-<span class="sourceLineNo">314</span> */<a name="line.314"></a>
-<span class="sourceLineNo">315</span> public boolean isBlockCacheEnabled() {<a name="line.315"></a>
-<span class="sourceLineNo">316</span> return this.blockCache != null;<a name="line.316"></a>
-<span class="sourceLineNo">317</span> }<a name="line.317"></a>
-<span class="sourceLineNo">318</span><a name="line.318"></a>
-<span class="sourceLineNo">319</span> /**<a name="line.319"></a>
-<span class="sourceLineNo">320</span> * Returns the block cache.<a name="line.320"></a>
-<span class="sourceLineNo">321</span> * @return the block cache, or null if caching is completely disabled<a name="line.321"></a>
+<span class="sourceLineNo">308</span> /**<a name="line.308"></a>
+<span class="sourceLineNo">309</span> * @return true if blocks should be prefetched into the cache on open, false if not<a name="line.309"></a>
+<span class="sourceLineNo">310</span> */<a name="line.310"></a>
+<span class="sourceLineNo">311</span> public boolean shouldPrefetchOnOpen() {<a name="line.311"></a>
+<span class="sourceLineNo">312</span> return this.prefetchOnOpen;<a name="line.312"></a>
+<span class="sourceLineNo">313</span> }<a name="line.313"></a>
+<span class="sourceLineNo">314</span><a name="line.314"></a>
+<span class="sourceLineNo">315</span> /**<a name="line.315"></a>
+<span class="sourceLineNo">316</span> * Return true if we may find this type of block in block cache.<a name="line.316"></a>
+<span class="sourceLineNo">317</span> * <p><a name="line.317"></a>
+<span class="sourceLineNo">318</span> * TODO: today {@code family.isBlockCacheEnabled()} only means {@code cacheDataOnRead}, so here we<a name="line.318"></a>
+<span class="sourceLineNo">319</span> * consider lots of other configurations such as {@code cacheDataOnWrite}. We should fix this in<a name="line.319"></a>
+<span class="sourceLineNo">320</span> * the future, {@code cacheDataOnWrite} should honor the CF level {@code isBlockCacheEnabled}<a name="line.320"></a>
+<span class="sourceLineNo">321</span> * configuration.<a name="line.321"></a>
<span class="sourceLineNo">322</span> */<a name="line.322"></a>
-<span class="sourceLineNo">323</span> public BlockCache getBlockCache() {<a name="line.323"></a>
-<span class="sourceLineNo">324</span> return this.blockCache;<a name="line.324"></a>
-<span class="sourceLineNo">325</span> }<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span> /**<a name="line.327"></a>
-<span class="sourceLineNo">328</span> * Returns whether the DATA blocks of this HFile should be cached on read or not (we always<a name="line.328"></a>
-<span class="sourceLineNo">329</span> * cache the meta blocks, the INDEX and BLOOM blocks).<a name="line.329"></a>
-<span class="sourceLineNo">330</span> * @return true if blocks should be cached on read, false if not<a name="line.330"></a>
-<span class="sourceLineNo">331</span> */<a name="line.331"></a>
-<span class="sourceLineNo">332</span> public boolean shouldCacheDataOnRead() {<a name="line.332"></a>
-<span class="sourceLineNo">333</span> return isBlockCacheEnabled() && cacheDataOnRead;<a name="line.333"></a>
-<span class="sourceLineNo">334</span> }<a name="line.334"></a>
-<span class="sourceLineNo">335</span><a name="line.335"></a>
-<span class="sourceLineNo">336</span> public boolean shouldDropBehindCompaction() {<a name="line.336"></a>
-<span class="sourceLineNo">337</span> return dropBehindCompaction;<a name="line.337"></a>
-<span class="sourceLineNo">338</span> }<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span> /**<a name="line.340"></a>
-<span class="sourceLineNo">341</span> * Should we cache a block of a particular category? We always cache<a name="line.341"></a>
-<span class="sourceLineNo">342</span> * important blocks such as index blocks, as long as the block cache is<a name="line.342"></a>
-<span class="sourceLineNo">343</span> * available.<a name="line.343"></a>
-<span class="sourceLineNo">344</span> */<a name="line.344"></a>
-<span class="sourceLineNo">345</span> public boolean shouldCacheBlockOnRead(BlockCategory category) {<a name="line.345"></a>
-<span class="sourceLineNo">346</span> return isBlockCacheEnabled()<a name="line.346"></a>
-<span class="sourceLineNo">347</span> && (cacheDataOnRead ||<a name="line.347"></a>
-<span class="sourceLineNo">348</span> category == BlockCategory.INDEX ||<a name="line.348"></a>
-<span class="sourceLineNo">349</span> category == BlockCategory.BLOOM ||<a name="line.349"></a>
-<span class="sourceLineNo">350</span> (prefetchOnOpen &&<a name="line.350"></a>
-<span class="sourceLineNo">351</span> (category != BlockCategory.META &&<a name="line.351"></a>
-<span class="sourceLineNo">352</span> category != BlockCategory.UNKNOWN)));<a name="line.352"></a>
-<span class="sourceLineNo">353</span> }<a name="line.353"></a>
-<span class="sourceLineNo">354</span><a name="line.354"></a>
-<span class="sourceLineNo">355</span> /**<a name="line.355"></a>
-<span class="sourceLineNo">356</span> * @return true if blocks in this file should be flagged as in-memory<a name="line.356"></a>
-<span class="sourceLineNo">357</span> */<a name="line.357"></a>
-<span class="sourceLineNo">358</span> public boolean isInMemory() {<a name="line.358"></a>
-<span class="sourceLineNo">359</span> return isBlockCacheEnabled() && this.inMemory;<a name="line.359"></a>
-<span class="sourceLineNo">360</span> }<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span> /**<a name="line.362"></a>
-<span class="sourceLineNo">363</span> * @return true if data blocks should be written to the cache when an HFile is<a name="line.363"></a>
-<span class="sourceLineNo">364</span> * written, false if not<a name="line.364"></a>
-<span class="sourceLineNo">365</span> */<a name="line.365"></a>
-<span class="sourceLineNo">366</span> public boolean shouldCacheDataOnWrite() {<a name="line.366"></a>
-<span class="sourceLineNo">367</span> return isBlockCacheEnabled() && this.cacheDataOnWrite;<a name="line.367"></a>
-<span class="sourceLineNo">368</span> }<a name="line.368"></a>
-<span class="sourceLineNo">369</span><a name="line.369"></a>
-<span class="sourceLineNo">370</span> /**<a name="line.370"></a>
-<span class="sourceLineNo">371</span> * Only used for testing.<a name="line.371"></a>
-<span class="sourceLineNo">372</span> * @param cacheDataOnWrite whether data blocks should be written to the cache<a name="line.372"></a>
-<span class="sourceLineNo">373</span> * when an HFile is written<a name="line.373"></a>
-<span class="sourceLineNo">374</span> */<a name="line.374"></a>
-<span class="sourceLineNo">375</span> @VisibleForTesting<a name="line.375"></a>
-<span class="sourceLineNo">376</span> public void setCacheDataOnWrite(boolean cacheDataOnWrite) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span> this.cacheDataOnWrite = cacheDataOnWrite;<a name="line.377"></a>
-<span class="sourceLineNo">378</span> }<a name="line.378"></a>
-<span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span> /**<a name="line.380"></a>
-<span class="sourceLineNo">381</span> * @return true if index blocks should be written to the cache when an HFile<a name="line.381"></a>
-<span class="sourceLineNo">382</span> * is written, false if not<a name="line.382"></a>
-<span class="sourceLineNo">383</span> */<a name="line.383"></a>
-<span class="sourceLineNo">384</span> public boolean shouldCacheIndexesOnWrite() {<a name="line.384"></a>
-<span class="sourceLineNo">385</span> return isBlockCacheEnabled() && this.cacheIndexesOnWrite;<a name="line.385"></a>
-<span class="sourceLineNo">386</span> }<a name="line.386"></a>
-<span class="sourceLineNo">387</span><a name="line.387"></a>
-<span class="sourceLineNo">388</span> /**<a name="line.388"></a>
-<span class="sourceLineNo">389</span> * @return true if bloom blocks should be written to the cache when an HFile<a name="line.389"></a>
-<span class="sourceLineNo">390</span> * is written, false if not<a name="line.390"></a>
-<span class="sourceLineNo">391</span> */<a name="line.391"></a>
-<span class="sourceLineNo">392</span> public boolean shouldCacheBloomsOnWrite() {<a name="line.392"></a>
-<span class="sourceLineNo">393</span> return isBlockCacheEnabled() && this.cacheBloomsOnWrite;<a name="line.393"></a>
-<span class="sourceLineNo">394</span> }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span> /**<a name="line.396"></a>
-<span class="sourceLineNo">397</span> * @return true if blocks should be evicted from the cache when an HFile<a name="line.397"></a>
-<span class="sourceLineNo">398</span> * reader is closed, false if not<a name="line.398"></a>
-<span class="sourceLineNo">399</span> */<a name="line.399"></a>
-<span class="sourceLineNo">400</span> public boolean shouldEvictOnClose() {<a name="line.400"></a>
-<span class="sourceLineNo">401</span> return isBlockCacheEnabled() && this.evictOnClose;<a name="line.401"></a>
-<span class="sourceLineNo">402</span> }<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span> /**<a name="line.404"></a>
-<span class="sourceLineNo">405</span> * Only used for testing.<a name="line.405"></a>
-<span class="sourceLineNo">406</span> * @param evictOnClose whether blocks should be evicted from the cache when an<a name="line.406"></a>
-<span class="sourceLineNo">407</span> * HFile reader is closed<a name="line.407"></a>
-<span class="sourceLineNo">408</span> */<a name="line.408"></a>
-<span class="sourceLineNo">409</span> public void setEvictOnClose(boolean evictOnClose) {<a name="line.409"></a>
-<span class="sourceLineNo">410</span> this.evictOnClose = evictOnClose;<a name="line.410"></a>
-<span class="sourceLineNo">411</span> }<a name="line.411"></a>
-<span class="sourceLineNo">412</span><a name="line.412"></a>
-<span class="sourceLineNo">413</span> /**<a name="line.413"></a>
-<span class="sourceLineNo">414</span> * @return true if data blocks should be compressed in the cache, false if not<a name="line.414"></a>
-<span class="sourceLineNo">415</span> */<a name="line.415"></a>
-<span class="sourceLineNo">416</span> public boolean shouldCacheDataCompressed() {<a name="line.416"></a>
-<span class="sourceLineNo">417</span> return isBlockCacheEnabled() && this.cacheDataOnRead && this.cacheDataCompressed;<a name="line.417"></a>
-<span class="sourceLineNo">418</span> }<a name="line.418"></a>
-<span class="sourceLineNo">419</span><a name="line.419"></a>
-<span class="sourceLineNo">420</span> /**<a name="line.420"></a>
-<span class="sourceLineNo">421</span> * @return true if this {@link BlockCategory} should be compressed in blockcache, false otherwise<a name="line.421"></a>
-<span class="sourceLineNo">422</span> */<a name="line.422"></a>
-<span class="sourceLineNo">423</span> public boolean shouldCacheCompressed(BlockCategory category) {<a name="line.423"></a>
-<span class="sourceLineNo">424</span> if (!isBlockCacheEnabled()) return false;<a name="line.424"></a>
-<span class="sourceLineNo">425</span> switch (category) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span> case DATA:<a name="line.426"></a>
-<span class="sourceLineNo">427</span> return this.cacheDataOnRead && this.cacheDataCompressed;<a name="line.427"></a>
-<span class="sourceLineNo">428</span> default:<a name="line.428"></a>
-<span class="sourceLineNo">429</span> return false;<a name="line.429"></a>
-<span class="sourceLineNo">430</span> }<a name="line.430"></a>
-<span class="sourceLineNo">431</span> }<a name="line.431"></a>
-<span class="sourceLineNo">432</span><a name="line.432"></a>
-<span class="sourceLineNo">433</span> /**<a name="line.433"></a>
-<span class="sourceLineNo">434</span> * @return true if blocks should be prefetched into the cache on open, false if not<a name="line.434"></a>
-<span class="sourceLineNo">435</span> */<a name="line.435"></a>
-<span class="sourceLineNo">436</span> public boolean shouldPrefetchOnOpen() {<a name="line.436"></a>
-<span class="sourceLineNo">437</span> return isBlockCacheEnabled() && this.prefetchOnOpen;<a name="line.437"></a>
-<span class="sourceLineNo">438</span> }<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span> /**<a name="line.440"></a>
-<span class="sourceLineNo">441</span> * Return true if we may find this type of block in block cache.<a name="line.441"></a>
-<span class="sourceLineNo">442</span> * <p><a name="line.442"></a>
-<span class="sourceLineNo">443</span> * TODO: today {@code family.isBlockCacheEnabled()} only means {@code cacheDataOnRead}, so here we<a name="line.443"></a>
-<span class="sourceLineNo">444</span> * consider lots of other configurations such as {@code cacheDataOnWrite}. We should fix this in<a name="line.444"></a>
-<span class="sourceLineNo">445</span> * the future, {@code cacheDataOnWrite} should honor the CF level {@code isBlockCacheEnabled}<a name="line.445"></a>
-<span class="sourceLineNo">446</span> * configuration.<a name="line.446"></a>
-<span class="sourceLineNo">447</span> */<a name="line.447"></a>
-<span class="sourceLineNo">448</span> public boolean shouldReadBlockFromCache(BlockType blockType) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span> if (!isBlockCacheEnabled()) {<a name="line.449"></a>
-<span class="sourceLineNo">450</span> return false;<a name="line.450"></a>
-<span class="sourceLineNo">451</span> }<a name="line.451"></a>
-<span class="sourceLineNo">452</span> if (cacheDataOnRead) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span> return true;<a name="line.453"></a>
-<span class="sourceLineNo">454</span> }<a name="line.454"></a>
-<span class="sourceLineNo">455</span> if (prefetchOnOpen) {<a name="line.455"></a>
-<span class="sourceLineNo">456</span> return true;<a name="line.456"></a>
-<span class="sourceLineNo">457</span> }<a name="line.457"></a>
-<span class="sourceLineNo">458</span> if (cacheDataOnWrite) {<a name="line.458"></a>
-<span class="sourceLineNo">459</span> return true;<a name="line.459"></a>
-<span class="sourceLineNo">460</span> }<a name="line.460"></a>
-<span class="sourceLineNo">461</span> if (blockType == null) {<a name="line.461"></a>
-<span class="sourceLineNo">462</span> return true;<a name="line.462"></a>
-<span class="sourceLineNo">463</span> }<a name="line.463"></a>
-<span class="sourceLineNo">464</span> if (blockType.getCategory() == BlockCategory.BLOOM ||<a name="line.464"></a>
-<span class="sourceLineNo">465</span> blockType.getCategory() == BlockCategory.INDEX) {<a name="line.465"></a>
-<span class="sourceLineNo">466</span> return true;<a name="line.466"></a>
-<span class="sourceLineNo">467</span> }<a name="line.467"></a>
-<span class="sourceLineNo">468</span> return false;<a name="line.468"></a>
-<span class="sourceLineNo">469</span> }<a name="line.469"></a>
-<span class="sourceLineNo">470</span><a name="line.470"></a>
-<span class="sourceLineNo">471</span> /**<a name="line.471"></a>
-<span class="sourceLineNo">472</span> * If we make sure the block could not be cached, we will not acquire the lock<a name="line.472"></a>
-<span class="sourceLineNo">473</span> * otherwise we will acquire lock<a name="line.473"></a>
-<span class="sourceLineNo">474</span> */<a name="line.474"></a>
-<span class="sourceLineNo">475</span> public boolean shouldLockOnCacheMiss(BlockType blockType) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span> if (blockType == null) {<a name="line.476"></a>
-<span class="sourceLineNo">477</span> return true;<a name="line.477"></a>
-<span class="sourceLineNo">478</span> }<a name="line.478"></a>
-<span class="sourceLineNo">479</span> return shouldCacheBlockOnRead(blockType.getCategory());<a name="line.479"></a>
-<span class="sourceLineNo">480</span> }<a name="line.480"></a>
-<span class="sourceLineNo">481</span><a name="line.481"></a>
-<span class="sourceLineNo">482</span> @Override<a name="line.482"></a>
-<span class="sourceLineNo">483</span> public String toString() {<a name="line.483"></a>
-<span class="sourceLineNo">484</span> if (!isBlockCacheEnabled()) {<a name="line.484"></a>
-<span class="sourceLineNo">485</span> return "CacheConfig:disabled";<a name="line.485"></a>
-<span class="sourceLineNo">486</span> }<a name="line.486"></a>
-<span class="sourceLineNo">487</span> return "blockCache=" + getBlockCache() +<a name="line.487"></a>
-<span class="sourceLineNo">488</span> ", cacheDataOnRead=" + shouldCacheDataOnRead() +<a name="line.488"></a>
-<span class="sourceLineNo">489</span> ", cacheDataOnWrite=" + shouldCacheDataOnWrite() +<a name="line.489"></a>
-<span class="sourceLineNo">490</span> ", cacheIndexesOnWrite=" + shouldCacheIndexesOnWrite() +<a name="line.490"></a>
-<span class="sourceLineNo">491</span> ", cacheBloomsOnWrite=" + shouldCacheBloomsOnWrite() +<a name="line.491"></a>
-<span class="sourceLineNo">492</span> ", cacheEvictOnClose=" + shouldEvictOnClose() +<a name="line.492"></a>
-<span class="sourceLineNo">493</span> ", cacheDataCompressed=" + shouldCacheDataCompressed() +<a name="line.493"></a>
-<span class="sourceLineNo">494</span> ", prefetchOnOpen=" + shouldPrefetchOnOpen();<a name="line.494"></a>
-<span class="sourceLineNo">495</span> }<a name="line.495"></a>
-<span class="sourceLineNo">496</span><a name="line.496"></a>
-<span class="sourceLineNo">497</span> // Static block cache reference and methods<a name="line.497"></a>
-<span class="sourceLineNo">498</span><a name="line.498"></a>
-<span class="sourceLineNo">499</span> /**<a name="line.499"></a>
-<span class="sourceLineNo">500</span> * Static reference to the block cache, or null if no caching should be used<a name="line.500"></a>
-<span class="sourceLineNo">501</span> * at all.<a name="line.501"></a>
-<span class="sourceLineNo">502</span> */<a name="line.502"></a>
-<span class="sourceLineNo">503</span> // Clear this if in tests you'd make more than one block cache instance.<a name="line.503"></a>
-<span class="sourceLineNo">504</span> @VisibleForTesting<a name="line.504"></a>
-<span class="sourceLineNo">505</span> static BlockCache GLOBAL_BLOCK_CACHE_INSTANCE;<a name="line.505"></a>
-<span class="sourceLineNo">506</span> private static LruBlockCache ONHEAP_CACHE_INSTANCE = null;<a name="line.506"></a>
-<span class="sourceLineNo">507</span> private static BlockCache L2_CACHE_INSTANCE = null;// Can be BucketCache or External cache.<a name="line.507"></a>
-<span class="sourceLineNo">508</span><a name="line.508"></a>
-<span class="sourceLineNo">509</span> /** Boolean whether we have disabled the block cache entirely. */<a name="line.509"></a>
-<span class="sourceLineNo">510</span> @VisibleForTesting<a name="line.510"></a>
-<span class="sourceLineNo">511</span> static boolean blockCacheDisabled = false;<a name="line.511"></a>
-<span class="sourceLineNo">512</span><a name="line.512"></a>
-<span class="sourceLineNo">513</span> /**<a name="line.513"></a>
-<span class="sourceLineNo">514</span> * @param c Configuration to use.<a name="line.514"></a>
-<span class="sourceLineNo">515</span> * @return An L1 instance. Currently an instance of LruBlockCache.<a name="line.515"></a>
-<span class="sourceLineNo">516</span> */<a name="line.516"></a>
-<span class="sourceLineNo">517</span> public static LruBlockCache getOnHeapCache(final Configuration c) {<a name="line.517"></a>
-<span class="sourceLineNo">518</span> return getOnHeapCacheInternal(c);<a name="line.518"></a>
-<span class="sourceLineNo">519</span> }<a name="line.519"></a>
-<span class="sourceLineNo">520</span><a name="line.520"></a>
-<span class="sourceLineNo">521</span> public CacheStats getOnHeapCacheStats() {<a name="line.521"></a>
-<span class="sourceLineNo">522</span> if (ONHEAP_CACHE_INSTANCE != null) {<a name="line.522"></a>
-<span class="sourceLineNo">523</span> return ONHEAP_CACHE_INSTANCE.getStats();<a name="line.523"></a>
-<span class="sourceLineNo">524</span> }<a name="line.524"></a>
-<span class="sourceLineNo">525</span> return null;<a name="line.525"></a>
-<span class="sourceLineNo">526</span> }<a name="line.526"></a>
-<span class="sourceLineNo">527</span><a name="line.527"></a>
-<span class="sourceLineNo">528</span> public CacheStats getL2CacheStats() {<a name="line.528"></a>
-<span class="sourceLineNo">529</span> if (L2_CACHE_INSTANCE != null) {<a name="line.529"></a>
-<span class="sourceLineNo">530</span> return L2_CACHE_INSTANCE.getStats();<a name="line.530"></a>
-<span class="sourceLineNo">531</span> }<a name="line.531"></a>
-<span class="sourceLineNo">532</span> return null;<a name="line.532"></a>
-<span class="sourceLineNo">533</span> }<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span> /**<a name="line.535"></a>
-<span class="sourceLineNo">536</span> * @param c Configuration to use.<a name="line.536"></a>
-<span class="sourceLineNo">537</span> * @return An L1 instance. Currently an instance of LruBlockCache.<a name="line.537"></a>
-<span class="sourceLineNo">538</span> */<a name="line.538"></a>
-<span class="sourceLineNo">539</span> private synchronized static LruBlockCache getOnHeapCacheInternal(final Configuration c) {<a name="line.539"></a>
-<span class="sourceLineNo">540</span> if (ONHEAP_CACHE_INSTANCE != null) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span> return ONHEAP_CACHE_INSTANCE;<a name="line.541"></a>
-<span class="sourceLineNo">542</span> }<a name="line.542"></a>
-<span class="sourceLineNo">543</span> final long cacheSize = MemorySizeUtil.getOnHeapCacheSize(c);<a name="line.543"></a>
-<span class="sourceLineNo">544</span> if (cacheSize < 0) {<a name="line.544"></a>
-<span class="sourceLineNo">545</span> blockCacheDisabled = true;<a name="line.545"></a>
-<span class="sourceLineNo">546</span> }<a name="line.546"></a>
-<span class="sourceLineNo">547</span> if (blockCacheDisabled) return null;<a name="line.547"></a>
-<span class="sourceLineNo">548</span> int blockSize = c.getInt(BLOCKCACHE_BLOCKSIZE_KEY, HConstants.DEFAULT_BLOCKSIZE);<a name="line.548"></a>
-<span class="sourceLineNo">549</span> LOG.info("Allocating onheap LruBlockCache size=" +<a name="line.549"></a>
-<span class="sourceLineNo">550</span> StringUtils.byteDesc(cacheSize) + ", blockSize=" + StringUtils.byteDesc(blockSize));<a name="line.550"></a>
-<span class="sourceLineNo">551</span> ONHEAP_CACHE_INSTANCE = new LruBlockCache(cacheSize, blockSize, true, c);<a name="line.551"></a>
-<span class="sourceLineNo">552</span> return ONHEAP_CACHE_INSTANCE;<a name="line.552"></a>
-<span class="sourceLineNo">553</span> }<a name="line.553"></a>
-<span class="sourceLineNo">554</span><a name="line.554"></a>
-<span class="sourceLineNo">555</span> private static BlockCache getExternalBlockcache(Configuration c) {<a name="line.555"></a>
-<span class="sourceLineNo">556</span> if (LOG.isDebugEnabled()) {<a name="line.556"></a>
-<span class="sourceLineNo">557</span> LOG.debug("Trying to use External l2 cache");<a name="line.557"></a>
-<span class="sourceLineNo">558</span> }<a name="line.558"></a>
-<span class="sourceLineNo">559</span> Class klass = null;<a name="line.559"></a>
-<span class="sourceLineNo">560</span><a name="line.560"></a>
-<span class="sourceLineNo">561</span> // Get the class, from the config. s<a name="line.561"></a>
-<span class="sourceLineNo">562</span> try {<a name="line.562"></a>
-<span class="sourceLineNo">563</span> klass = ExternalBlockCaches.valueOf(c.get(EXTERNAL_BLOCKCACHE_CLASS_KEY, "memcache")).clazz;<a name="line.563"></a>
-<span class="sourceLineNo">564</span> } catch (IllegalArgumentException exception) {<a name="line.564"></a>
-<span class="sourceLineNo">565</span> try {<a name="line.565"></a>
-<span class="sourceLineNo">566</span> klass = c.getClass(EXTERNAL_BLOCKCACHE_CLASS_KEY, Class.forName(<a name="line.566"></a>
-<span class="sourceLineNo">567</span> "org.apache.hadoop.hbase.io.hfile.MemcachedBlockCache"));<a name="line.567"></a>
-<span class="sourceLineNo">568</span> } catch (ClassNotFoundException e) {<a name="line.568"></a>
-<span class="sourceLineNo">569</span> return null;<a name="line.569"></a>
-<span class="sourceLineNo">570</span> }<a name="line.570"></a>
-<span class="sourceLineNo">571</span> }<a name="line.571"></a>
-<span class="sourceLineNo">572</span><a name="line.572"></a>
-<span class="sourceLineNo">573</span> // Now try and create an instance of the block cache.<a name="line.573"></a>
-<span class="sourceLineNo">574</span> try {<a name="line.574"></a>
-<span class="sourceLineNo">575</span> LOG.info("Creating external block cache of type: " + klass);<a name="line.575"></a>
-<span class="sourceLineNo">576</span> return (BlockCache) ReflectionUtils.newInstance(klass, c);<a name="line.576"></a>
-<span class="sourceLineNo">577</span> } catch (Exception e) {<a name="line.577"></a>
-<span class="sourceLineNo">578</span> LOG.warn("Error creating external block cache", e);<a name="line.578"></a>
-<span class="sourceLineNo">579</span> }<a name="line.579"></a>
-<span class="sourceLineNo">580</span> return null;<a name="line.580"></a>
-<span class="sourceLineNo">581</span><a name="line.581"></a>
-<span class="sourceLineNo">582</span> }<a name="line.582"></a>
-<span class="sourceLineNo">583</span><a name="line.583"></a>
-<span class="sourceLineNo">584</span> @VisibleForTesting<a name="line.584"></a>
-<span class="sourceLineNo">585</span> static BucketCache getBucketCache(Configuration c) {<a name="line.585"></a>
-<span class="sourceLineNo">586</span> // Check for L2. ioengine name must be non-null.<a name="line.586"></a>
-<span class="sourceLineNo">587</span> String bucketCacheIOEngineName = c.get(BUCKET_CACHE_IOENGINE_KEY, null);<a name="line.587"></a>
-<span class="sourceLineNo">588</span> if (bucketCacheIOEngineName == null || bucketCacheIOEngineName.length() <= 0) return null;<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span> int blockSize = c.getInt(BLOCKCACHE_BLOCKSIZE_KEY, HConstants.DEFAULT_BLOCKSIZE);<a name="line.590"></a>
-<span class="sourceLineNo">591</span> final long bucketCacheSize = MemorySizeUtil.getBucketCacheSize(c);<a name="line.591"></a>
-<span class="sourceLineNo">592</span> if (bucketCacheSize <= 0) {<a name="line.592"></a>
-<span class="sourceLineNo">593</span> throw new IllegalStateException("bucketCacheSize <= 0; Check " +<a name="line.593"></a>
-<span class="sourceLineNo">594</span> BUCKET_CACHE_SIZE_KEY + " setting and/or server java heap size");<a name="line.594"></a>
-<span class="sourceLineNo">595</span> }<a name="line.595"></a>
-<span class="sourceLineNo">596</span> if (c.get("hbase.bucketcache.percentage.in.combinedcache") != null) {<a name="line.596"></a>
-<span class="sourceLineNo">597</span> LOG.warn("Configuration 'hbase.bucketcache.percentage.in.combinedcache' is no longer "<a name="line.597"></a>
-<span class="sourceLineNo">598</span> + "respected. See comments in http://hbase.apache.org/book.html#_changes_of_note");<a name="line.598"></a>
-<span class="sourceLineNo">599</span> }<a name="line.599"></a>
-<span class="sourceLineNo">600</span> int writerThreads = c.getInt(BUCKET_CACHE_WRITER_THREADS_KEY,<a name="line.600"></a>
-<span class="sourceLineNo">601</span> DEFAULT_BUCKET_CACHE_WRITER_THREADS);<a name="line.601"></a>
-<span class="sourceLineNo">602</span> int writerQueueLen = c.getInt(BUCKET_CACHE_WRITER_QUEUE_KEY,<a name="line.602"></a>
-<span class="sourceLineNo">603</span> DEFAULT_BUCKET_CACHE_WRITER_QUEUE);<a name="line.603"></a>
-<span class="sourceLineNo">604</span> String persistentPath = c.get(BUCKET_CACHE_PERSISTENT_PATH_KEY);<a name="line.604"></a>
-<span class="sourceLineNo">605</span> String[] configuredBucketSizes = c.getStrings(BUCKET_CACHE_BUCKETS_KEY);<a name="line.605"></a>
-<span class="sourceLineNo">606</span> int [] bucketSizes = null;<a name="line.606"></a>
-<span class="sourceLineNo">607</span> if (configuredBucketSizes != null) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span> bucketSizes = new int[configuredBucketSizes.length];<a name="line.608"></a>
-<span class="sourceLineNo">609</span> for (int i = 0; i < configuredBucketSizes.length; i++) {<a name="line.609"></a>
-<span class="sourceLineNo">610</span> int bucketSize = Integer.parseInt(configuredBucketSizes[i].trim());<a name="line.610"></a>
-<span class="sourceLineNo">611</span> if (bucketSize % 256 != 0) {<a name="line.611"></a>
-<span class="sourceLineNo">612</span> // We need all the bucket sizes to be multiples of 256. Having all the configured bucket<a name="line.612"></a>
-<span class="sourceLineNo">613</span> // sizes to be multiples of 256 will ensure that the block offsets within buckets,<a name="line.613"></a>
-<span class="sourceLineNo">614</span> // that are calculated, will also be multiples of 256.<a name="line.614"></a>
-<span class="sourceLineNo">615</span> // See BucketEntry where offset to each block is represented using 5 bytes (instead of 8<a name="line.615"></a>
-<span class="sourceLineNo">616</span> // bytes long). We would like to save heap overhead as less as possible.<a name="line.616"></a>
-<span class="sourceLineNo">617</span> throw new IllegalArgumentException("Illegal value: " + bucketSize + " configured for '"<a name="line.617"></a>
-<span class="sourceLineNo">618</span> + BUCKET_CACHE_BUCKETS_KEY + "'. A
<TRUNCATED>
[24/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html
index 82d728d..ac869e3 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html
@@ -168,7 +168,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#avgStoreFileAge">avgStoreFileAge</a></span></code> </td>
</tr>
<tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
+<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#blockCache">blockCache</a></span></code> </td>
</tr>
<tr class="rowColor">
@@ -176,7 +176,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#blockedRequestsCount">blockedRequestsCount</a></span></code> </td>
</tr>
<tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></td>
+<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#cacheStats">cacheStats</a></span></code> </td>
</tr>
<tr class="rowColor">
@@ -242,11 +242,11 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#flushedCellsSize">flushedCellsSize</a></span></code> </td>
</tr>
<tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></td>
+<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#l1Stats">l1Stats</a></span></code> </td>
</tr>
<tr class="rowColor">
-<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></td>
+<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#l2Stats">l2Stats</a></span></code> </td>
</tr>
<tr class="altColor">
@@ -278,7 +278,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#minStoreFileAge">minStoreFileAge</a></span></code> </td>
</tr>
<tr class="rowColor">
-<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a></code></td>
+<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#mobFileCache">mobFileCache</a></span></code> </td>
</tr>
<tr class="altColor">
@@ -1050,10 +1050,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
</tr>
<tr id="i112" class="altColor">
<td class="colFirst"><code>private void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#initBlockCache--">initBlockCache</a></span>()</code>
-<div class="block">It's possible that due to threading the block cache could not be initialized
- yet (testing multiple region servers in one jvm).</div>
-</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#initBlockCache--">initBlockCache</a></span>()</code> </td>
</tr>
<tr id="i113" class="rowColor">
<td class="colFirst"><code>private void</code></td>
@@ -1116,7 +1113,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>blockCache</h4>
-<pre>private <a href="../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.62">blockCache</a></pre>
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.62">blockCache</a></pre>
</li>
</ul>
<a name="mobFileCache">
@@ -1125,7 +1122,34 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>mobFileCache</h4>
-<pre>private <a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.63">mobFileCache</a></pre>
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.63">mobFileCache</a></pre>
+</li>
+</ul>
+<a name="cacheStats">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>cacheStats</h4>
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.64">cacheStats</a></pre>
+</li>
+</ul>
+<a name="l1Stats">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>l1Stats</h4>
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.65">l1Stats</a></pre>
+</li>
+</ul>
+<a name="l2Stats">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>l2Stats</h4>
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.66">l2Stats</a></pre>
</li>
</ul>
<a name="numStores">
@@ -1134,7 +1158,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>numStores</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.65">numStores</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.68">numStores</a></pre>
</li>
</ul>
<a name="numWALFiles">
@@ -1143,7 +1167,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>numWALFiles</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.66">numWALFiles</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.69">numWALFiles</a></pre>
</li>
</ul>
<a name="walFileSize">
@@ -1152,7 +1176,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>walFileSize</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.67">walFileSize</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.70">walFileSize</a></pre>
</li>
</ul>
<a name="numStoreFiles">
@@ -1161,7 +1185,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>numStoreFiles</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.68">numStoreFiles</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.71">numStoreFiles</a></pre>
</li>
</ul>
<a name="memstoreSize">
@@ -1170,7 +1194,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>memstoreSize</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.69">memstoreSize</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.72">memstoreSize</a></pre>
</li>
</ul>
<a name="storeFileSize">
@@ -1179,7 +1203,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>storeFileSize</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.70">storeFileSize</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.73">storeFileSize</a></pre>
</li>
</ul>
<a name="storeFileSizeGrowthRate">
@@ -1188,7 +1212,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>storeFileSizeGrowthRate</h4>
-<pre>private volatile double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.71">storeFileSizeGrowthRate</a></pre>
+<pre>private volatile double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.74">storeFileSizeGrowthRate</a></pre>
</li>
</ul>
<a name="maxStoreFileAge">
@@ -1197,7 +1221,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>maxStoreFileAge</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.72">maxStoreFileAge</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.75">maxStoreFileAge</a></pre>
</li>
</ul>
<a name="minStoreFileAge">
@@ -1206,7 +1230,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>minStoreFileAge</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.73">minStoreFileAge</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.76">minStoreFileAge</a></pre>
</li>
</ul>
<a name="avgStoreFileAge">
@@ -1215,7 +1239,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>avgStoreFileAge</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.74">avgStoreFileAge</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.77">avgStoreFileAge</a></pre>
</li>
</ul>
<a name="numReferenceFiles">
@@ -1224,7 +1248,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>numReferenceFiles</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.75">numReferenceFiles</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.78">numReferenceFiles</a></pre>
</li>
</ul>
<a name="requestsPerSecond">
@@ -1233,7 +1257,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>requestsPerSecond</h4>
-<pre>private volatile double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.76">requestsPerSecond</a></pre>
+<pre>private volatile double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.79">requestsPerSecond</a></pre>
</li>
</ul>
<a name="readRequestsCount">
@@ -1242,7 +1266,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>readRequestsCount</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.77">readRequestsCount</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.80">readRequestsCount</a></pre>
</li>
</ul>
<a name="readRequestsRatePerSecond">
@@ -1251,7 +1275,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>readRequestsRatePerSecond</h4>
-<pre>private volatile double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.78">readRequestsRatePerSecond</a></pre>
+<pre>private volatile double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.81">readRequestsRatePerSecond</a></pre>
</li>
</ul>
<a name="cpRequestsCount">
@@ -1260,7 +1284,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>cpRequestsCount</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.79">cpRequestsCount</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.82">cpRequestsCount</a></pre>
</li>
</ul>
<a name="filteredReadRequestsCount">
@@ -1269,7 +1293,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>filteredReadRequestsCount</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.80">filteredReadRequestsCount</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.83">filteredReadRequestsCount</a></pre>
</li>
</ul>
<a name="writeRequestsCount">
@@ -1278,7 +1302,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>writeRequestsCount</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.81">writeRequestsCount</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.84">writeRequestsCount</a></pre>
</li>
</ul>
<a name="writeRequestsRatePerSecond">
@@ -1287,7 +1311,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>writeRequestsRatePerSecond</h4>
-<pre>private volatile double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.82">writeRequestsRatePerSecond</a></pre>
+<pre>private volatile double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.85">writeRequestsRatePerSecond</a></pre>
</li>
</ul>
<a name="checkAndMutateChecksFailed">
@@ -1296,7 +1320,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>checkAndMutateChecksFailed</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.83">checkAndMutateChecksFailed</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.86">checkAndMutateChecksFailed</a></pre>
</li>
</ul>
<a name="checkAndMutateChecksPassed">
@@ -1305,7 +1329,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>checkAndMutateChecksPassed</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.84">checkAndMutateChecksPassed</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.87">checkAndMutateChecksPassed</a></pre>
</li>
</ul>
<a name="storefileIndexSize">
@@ -1314,7 +1338,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>storefileIndexSize</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.85">storefileIndexSize</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.88">storefileIndexSize</a></pre>
</li>
</ul>
<a name="totalStaticIndexSize">
@@ -1323,7 +1347,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>totalStaticIndexSize</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.86">totalStaticIndexSize</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.89">totalStaticIndexSize</a></pre>
</li>
</ul>
<a name="totalStaticBloomSize">
@@ -1332,7 +1356,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>totalStaticBloomSize</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.87">totalStaticBloomSize</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.90">totalStaticBloomSize</a></pre>
</li>
</ul>
<a name="numMutationsWithoutWAL">
@@ -1341,7 +1365,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>numMutationsWithoutWAL</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.88">numMutationsWithoutWAL</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.91">numMutationsWithoutWAL</a></pre>
</li>
</ul>
<a name="dataInMemoryWithoutWAL">
@@ -1350,7 +1374,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>dataInMemoryWithoutWAL</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.89">dataInMemoryWithoutWAL</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.92">dataInMemoryWithoutWAL</a></pre>
</li>
</ul>
<a name="percentFileLocal">
@@ -1359,7 +1383,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>percentFileLocal</h4>
-<pre>private volatile double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.90">percentFileLocal</a></pre>
+<pre>private volatile double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.93">percentFileLocal</a></pre>
</li>
</ul>
<a name="percentFileLocalSecondaryRegions">
@@ -1368,7 +1392,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>percentFileLocalSecondaryRegions</h4>
-<pre>private volatile double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.91">percentFileLocalSecondaryRegions</a></pre>
+<pre>private volatile double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.94">percentFileLocalSecondaryRegions</a></pre>
</li>
</ul>
<a name="flushedCellsCount">
@@ -1377,7 +1401,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>flushedCellsCount</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.92">flushedCellsCount</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.95">flushedCellsCount</a></pre>
</li>
</ul>
<a name="compactedCellsCount">
@@ -1386,7 +1410,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>compactedCellsCount</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.93">compactedCellsCount</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.96">compactedCellsCount</a></pre>
</li>
</ul>
<a name="majorCompactedCellsCount">
@@ -1395,7 +1419,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>majorCompactedCellsCount</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.94">majorCompactedCellsCount</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.97">majorCompactedCellsCount</a></pre>
</li>
</ul>
<a name="flushedCellsSize">
@@ -1404,7 +1428,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>flushedCellsSize</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.95">flushedCellsSize</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.98">flushedCellsSize</a></pre>
</li>
</ul>
<a name="compactedCellsSize">
@@ -1413,7 +1437,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>compactedCellsSize</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.96">compactedCellsSize</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.99">compactedCellsSize</a></pre>
</li>
</ul>
<a name="majorCompactedCellsSize">
@@ -1422,7 +1446,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>majorCompactedCellsSize</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.97">majorCompactedCellsSize</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.100">majorCompactedCellsSize</a></pre>
</li>
</ul>
<a name="cellsCountCompactedToMob">
@@ -1431,7 +1455,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>cellsCountCompactedToMob</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.98">cellsCountCompactedToMob</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.101">cellsCountCompactedToMob</a></pre>
</li>
</ul>
<a name="cellsCountCompactedFromMob">
@@ -1440,7 +1464,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>cellsCountCompactedFromMob</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.99">cellsCountCompactedFromMob</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.102">cellsCountCompactedFromMob</a></pre>
</li>
</ul>
<a name="cellsSizeCompactedToMob">
@@ -1449,7 +1473,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>cellsSizeCompactedToMob</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.100">cellsSizeCompactedToMob</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.103">cellsSizeCompactedToMob</a></pre>
</li>
</ul>
<a name="cellsSizeCompactedFromMob">
@@ -1458,7 +1482,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>cellsSizeCompactedFromMob</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.101">cellsSizeCompactedFromMob</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.104">cellsSizeCompactedFromMob</a></pre>
</li>
</ul>
<a name="mobFlushCount">
@@ -1467,7 +1491,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>mobFlushCount</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.102">mobFlushCount</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.105">mobFlushCount</a></pre>
</li>
</ul>
<a name="mobFlushedCellsCount">
@@ -1476,7 +1500,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>mobFlushedCellsCount</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.103">mobFlushedCellsCount</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.106">mobFlushedCellsCount</a></pre>
</li>
</ul>
<a name="mobFlushedCellsSize">
@@ -1485,7 +1509,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>mobFlushedCellsSize</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.104">mobFlushedCellsSize</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.107">mobFlushedCellsSize</a></pre>
</li>
</ul>
<a name="mobScanCellsCount">
@@ -1494,7 +1518,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>mobScanCellsCount</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.105">mobScanCellsCount</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.108">mobScanCellsCount</a></pre>
</li>
</ul>
<a name="mobScanCellsSize">
@@ -1503,7 +1527,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>mobScanCellsSize</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.106">mobScanCellsSize</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.109">mobScanCellsSize</a></pre>
</li>
</ul>
<a name="mobFileCacheAccessCount">
@@ -1512,7 +1536,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>mobFileCacheAccessCount</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.107">mobFileCacheAccessCount</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.110">mobFileCacheAccessCount</a></pre>
</li>
</ul>
<a name="mobFileCacheMissCount">
@@ -1521,7 +1545,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>mobFileCacheMissCount</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.108">mobFileCacheMissCount</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.111">mobFileCacheMissCount</a></pre>
</li>
</ul>
<a name="mobFileCacheHitRatio">
@@ -1530,7 +1554,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>mobFileCacheHitRatio</h4>
-<pre>private volatile double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.109">mobFileCacheHitRatio</a></pre>
+<pre>private volatile double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.112">mobFileCacheHitRatio</a></pre>
</li>
</ul>
<a name="mobFileCacheEvictedCount">
@@ -1539,7 +1563,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>mobFileCacheEvictedCount</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.110">mobFileCacheEvictedCount</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.113">mobFileCacheEvictedCount</a></pre>
</li>
</ul>
<a name="mobFileCacheCount">
@@ -1548,7 +1572,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>mobFileCacheCount</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.111">mobFileCacheCount</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.114">mobFileCacheCount</a></pre>
</li>
</ul>
<a name="blockedRequestsCount">
@@ -1557,7 +1581,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>blockedRequestsCount</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.112">blockedRequestsCount</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.115">blockedRequestsCount</a></pre>
</li>
</ul>
<a name="averageRegionSize">
@@ -1566,34 +1590,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>averageRegionSize</h4>
-<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.113">averageRegionSize</a></pre>
-</li>
-</ul>
-<a name="cacheStats">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>cacheStats</h4>
-<pre>private <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.115">cacheStats</a></pre>
-</li>
-</ul>
-<a name="l1Stats">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>l1Stats</h4>
-<pre>private <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.116">l1Stats</a></pre>
-</li>
-</ul>
-<a name="l2Stats">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>l2Stats</h4>
-<pre>private <a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.117">l2Stats</a></pre>
+<pre>private volatile long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.116">averageRegionSize</a></pre>
</li>
</ul>
<a name="executor">
@@ -1664,10 +1661,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>initBlockCache</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.157">initBlockCache</a>()</pre>
-<div class="block">It's possible that due to threading the block cache could not be initialized
- yet (testing multiple region servers in one jvm). So we need to try and initialize
- the blockCache and cacheStats reference multiple times until we succeed.</div>
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.152">initBlockCache</a>()</pre>
</li>
</ul>
<a name="initMobFileCache--">
@@ -1676,7 +1670,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>initMobFileCache</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.175">initMobFileCache</a>()</pre>
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.170">initMobFileCache</a>()</pre>
<div class="block">Initializes the mob file cache.</div>
</li>
</ul>
@@ -1686,7 +1680,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getClusterId</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.183">getClusterId</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.175">getClusterId</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getClusterId--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the Cluster ID</div>
<dl>
@@ -1703,7 +1697,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getStartCode</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.188">getStartCode</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.180">getStartCode</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getStartCode--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get HRegionServer start time</div>
<dl>
@@ -1720,7 +1714,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getZookeeperQuorum</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.193">getZookeeperQuorum</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.185">getZookeeperQuorum</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getZookeeperQuorum--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the ZooKeeper Quorum Info</div>
<dl>
@@ -1737,7 +1731,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getCoprocessors</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.202">getCoprocessors</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.194">getCoprocessors</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getCoprocessors--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the co-processors</div>
<dl>
@@ -1754,7 +1748,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getServerName</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.211">getServerName</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.203">getServerName</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getServerName--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get ServerName</div>
<dl>
@@ -1769,7 +1763,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getNumOnlineRegions</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.220">getNumOnlineRegions</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.212">getNumOnlineRegions</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getNumOnlineRegions--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">The number of online regions</div>
<dl>
@@ -1784,7 +1778,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getTotalRequestCount</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.229">getTotalRequestCount</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.221">getTotalRequestCount</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getTotalRequestCount--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the total number of requests per second.</div>
<dl>
@@ -1799,7 +1793,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getTotalRowActionRequestCount</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.234">getTotalRowActionRequestCount</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.226">getTotalRowActionRequestCount</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getTotalRowActionRequestCount--">getTotalRowActionRequestCount</a></code> in interface <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a></code></dd>
@@ -1812,7 +1806,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getSplitQueueSize</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.239">getSplitQueueSize</a>()</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.231">getSplitQueueSize</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getSplitQueueSize--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the size of the split queue</div>
<dl>
@@ -1827,7 +1821,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getCompactionQueueSize</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.247">getCompactionQueueSize</a>()</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.239">getCompactionQueueSize</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getCompactionQueueSize--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the size of the compaction queue</div>
<dl>
@@ -1842,7 +1836,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getSmallCompactionQueueSize</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.256">getSmallCompactionQueueSize</a>()</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.248">getSmallCompactionQueueSize</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getSmallCompactionQueueSize--">getSmallCompactionQueueSize</a></code> in interface <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a></code></dd>
@@ -1855,7 +1849,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getLargeCompactionQueueSize</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.265">getLargeCompactionQueueSize</a>()</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.257">getLargeCompactionQueueSize</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getLargeCompactionQueueSize--">getLargeCompactionQueueSize</a></code> in interface <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a></code></dd>
@@ -1868,7 +1862,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getFlushQueueSize</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.274">getFlushQueueSize</a>()</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.266">getFlushQueueSize</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getFlushQueueSize--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the size of the flush queue.</div>
<dl>
@@ -1883,7 +1877,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getBlockCacheCount</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.283">getBlockCacheCount</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.275">getBlockCacheCount</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getBlockCacheCount--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the number of items in the block cache.</div>
<dl>
@@ -1898,7 +1892,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getMemStoreLimit</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.291">getMemStoreLimit</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.280">getMemStoreLimit</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMemStoreLimit--">getMemStoreLimit</a></code> in interface <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a></code></dd>
@@ -1911,7 +1905,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getBlockCacheSize</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.296">getBlockCacheSize</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.285">getBlockCacheSize</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getBlockCacheSize--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the total size (in bytes) of the block cache.</div>
<dl>
@@ -1926,7 +1920,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getBlockCacheFreeSize</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.304">getBlockCacheFreeSize</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.290">getBlockCacheFreeSize</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getBlockCacheFreeSize--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the size (in bytes) of the block cache that is free.</div>
<dl>
@@ -1941,7 +1935,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getBlockCacheHitCount</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.312">getBlockCacheHitCount</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.295">getBlockCacheHitCount</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getBlockCacheHitCount--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the count of hits to the block cache</div>
<dl>
@@ -1956,7 +1950,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getBlockCachePrimaryHitCount</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.320">getBlockCachePrimaryHitCount</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.300">getBlockCachePrimaryHitCount</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getBlockCachePrimaryHitCount--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the count of hits to primary replica in the block cache</div>
<dl>
@@ -1971,7 +1965,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getBlockCacheMissCount</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.328">getBlockCacheMissCount</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.305">getBlockCacheMissCount</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getBlockCacheMissCount--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the count of misses to the block cache.</div>
<dl>
@@ -1986,7 +1980,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getBlockCachePrimaryMissCount</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.336">getBlockCachePrimaryMissCount</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.310">getBlockCachePrimaryMissCount</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getBlockCachePrimaryMissCount--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the count of misses to primary replica in the block cache.</div>
<dl>
@@ -2001,7 +1995,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getBlockCacheEvictedCount</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.344">getBlockCacheEvictedCount</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.315">getBlockCacheEvictedCount</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getBlockCacheEvictedCount--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the number of items evicted from the block cache.</div>
<dl>
@@ -2016,7 +2010,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getBlockCachePrimaryEvictedCount</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.352">getBlockCachePrimaryEvictedCount</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.320">getBlockCachePrimaryEvictedCount</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getBlockCachePrimaryEvictedCount--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the number of items evicted from primary replica in the block cache.</div>
<dl>
@@ -2031,7 +2025,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getBlockCacheHitPercent</h4>
-<pre>public double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.360">getBlockCacheHitPercent</a>()</pre>
+<pre>public double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.325">getBlockCacheHitPercent</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getBlockCacheHitPercent--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the percent of all requests that hit the block cache.</div>
<dl>
@@ -2046,7 +2040,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getBlockCacheHitCachingPercent</h4>
-<pre>public double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.372">getBlockCacheHitCachingPercent</a>()</pre>
+<pre>public double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.334">getBlockCacheHitCachingPercent</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getBlockCacheHitCachingPercent--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the percent of requests with the block cache turned on that hit the block cache.</div>
<dl>
@@ -2061,7 +2055,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getBlockCacheFailedInsertions</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.386">getBlockCacheFailedInsertions</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.343">getBlockCacheFailedInsertions</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getBlockCacheFailedInsertions--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Number of cache insertions that failed.</div>
<dl>
@@ -2076,7 +2070,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getL1CacheHitCount</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.394">getL1CacheHitCount</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.348">getL1CacheHitCount</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getL1CacheHitCount--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Hit count of L1 cache.</div>
<dl>
@@ -2091,7 +2085,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getL1CacheMissCount</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.402">getL1CacheMissCount</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.353">getL1CacheMissCount</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getL1CacheMissCount--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Miss count of L1 cache.</div>
<dl>
@@ -2106,7 +2100,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getL1CacheHitRatio</h4>
-<pre>public double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.410">getL1CacheHitRatio</a>()</pre>
+<pre>public double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.358">getL1CacheHitRatio</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getL1CacheHitRatio--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Hit ratio of L1 cache.</div>
<dl>
@@ -2121,7 +2115,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getL1CacheMissRatio</h4>
-<pre>public double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.418">getL1CacheMissRatio</a>()</pre>
+<pre>public double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.363">getL1CacheMissRatio</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getL1CacheMissRatio--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Miss ratio of L1 cache.</div>
<dl>
@@ -2136,7 +2130,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getL2CacheHitCount</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.426">getL2CacheHitCount</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.368">getL2CacheHitCount</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getL2CacheHitCount--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Hit count of L2 cache.</div>
<dl>
@@ -2151,7 +2145,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getL2CacheMissCount</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.434">getL2CacheMissCount</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.373">getL2CacheMissCount</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getL2CacheMissCount--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Miss count of L2 cache.</div>
<dl>
@@ -2166,7 +2160,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getL2CacheHitRatio</h4>
-<pre>public double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.442">getL2CacheHitRatio</a>()</pre>
+<pre>public double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.378">getL2CacheHitRatio</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getL2CacheHitRatio--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Hit ratio of L2 cache.</div>
<dl>
@@ -2181,7 +2175,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getL2CacheMissRatio</h4>
-<pre>public double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.450">getL2CacheMissRatio</a>()</pre>
+<pre>public double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.383">getL2CacheMissRatio</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getL2CacheMissRatio--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Miss ratio of L2 cache.</div>
<dl>
@@ -2196,7 +2190,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>forceRecompute</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.457">forceRecompute</a>()</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.387">forceRecompute</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#forceRecompute--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Force a re-computation of the metrics.</div>
<dl>
@@ -2211,7 +2205,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getNumStores</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.462">getNumStores</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.392">getNumStores</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getNumStores--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the number of stores hosted on this region server.</div>
<dl>
@@ -2226,7 +2220,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getNumWALFiles</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.467">getNumWALFiles</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.397">getNumWALFiles</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getNumWALFiles--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the number of WAL files of this region server.</div>
<dl>
@@ -2241,7 +2235,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getWALFileSize</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.472">getWALFileSize</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.402">getWALFileSize</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getWALFileSize--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the size of WAL files of this region server.</div>
<dl>
@@ -2256,7 +2250,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getNumWALSlowAppend</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.477">getNumWALSlowAppend</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.407">getNumWALSlowAppend</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getNumWALSlowAppend--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the number of WAL files with slow appends for this region server.</div>
<dl>
@@ -2271,7 +2265,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getNumStoreFiles</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.482">getNumStoreFiles</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.412">getNumStoreFiles</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getNumStoreFiles--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the number of store files hosted on this region server.</div>
<dl>
@@ -2286,7 +2280,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getMaxStoreFileAge</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.487">getMaxStoreFileAge</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.417">getMaxStoreFileAge</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMaxStoreFileAge--">getMaxStoreFileAge</a></code> in interface <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a></code></dd>
@@ -2301,7 +2295,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getMinStoreFileAge</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.492">getMinStoreFileAge</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.422">getMinStoreFileAge</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMinStoreFileAge--">getMinStoreFileAge</a></code> in interface <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a></code></dd>
@@ -2316,7 +2310,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getAvgStoreFileAge</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.497">getAvgStoreFileAge</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.427">getAvgStoreFileAge</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getAvgStoreFileAge--">getAvgStoreFileAge</a></code> in interface <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a></code></dd>
@@ -2331,7 +2325,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getNumReferenceFiles</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.502">getNumReferenceFiles</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.432">getNumReferenceFiles</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getNumReferenceFiles--">getNumReferenceFiles</a></code> in interface <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a></code></dd>
@@ -2346,7 +2340,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getMemStoreSize</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.507">getMemStoreSize</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.437">getMemStoreSize</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMemStoreSize--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the size of the memstore on this region server.</div>
<dl>
@@ -2361,7 +2355,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getStoreFileSize</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.512">getStoreFileSize</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.442">getStoreFileSize</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getStoreFileSize--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the total size of the store files this region server is serving from.</div>
<dl>
@@ -2376,7 +2370,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getStoreFileSizeGrowthRate</h4>
-<pre>public double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.517">getStoreFileSizeGrowthRate</a>()</pre>
+<pre>public double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.447">getStoreFileSizeGrowthRate</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getStoreFileSizeGrowthRate--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the growth rate of the store files this region server is serving from.</div>
<dl>
@@ -2391,7 +2385,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getRequestsPerSecond</h4>
-<pre>public double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.521">getRequestsPerSecond</a>()</pre>
+<pre>public double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.451">getRequestsPerSecond</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getRequestsPerSecond--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the number of requests per second.</div>
<dl>
@@ -2406,7 +2400,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getReadRequestsCount</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.526">getReadRequestsCount</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.456">getReadRequestsCount</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getReadRequestsCount--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the number of read requests to regions hosted on this region server.</div>
<dl>
@@ -2421,7 +2415,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getCpRequestsCount</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.531">getCpRequestsCount</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.461">getCpRequestsCount</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getCpRequestsCount--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the number of coprocessor requests to regions hosted on this region server.</div>
<dl>
@@ -2436,7 +2430,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getReadRequestsRatePerSecond</h4>
-<pre>public double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.536">getReadRequestsRatePerSecond</a>()</pre>
+<pre>public double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.466">getReadRequestsRatePerSecond</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getReadRequestsRatePerSecond--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the rate of read requests per second to regions hosted on this region server.</div>
<dl>
@@ -2451,7 +2445,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="blockList">
<li class="blockList">
<h4>getFilteredReadRequestsCount</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.541">getFilteredReadRequestsCount</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.471">getFilteredReadRequestsCount</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getFilteredReadRequestsCount--">MetricsRegionServerWrapper</a></code></span></div>
<div class="block">Get the number of filtered read requests to regions hosted on this region server.</div>
<dl>
@@ -2466,7 +2460,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
<ul class="bl
<TRUNCATED>
[30/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html
index 0dcbecc..0438cdb 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html
@@ -121,7 +121,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6336">HRegion.RegionScannerImpl</a>
+<pre>class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6370">HRegion.RegionScannerImpl</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.html" title="interface in org.apache.hadoop.hbase.regionserver">Shipper</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a></pre>
<div class="block">RegionScannerImpl is used to combine scanners from multiple Stores (aka column families).</div>
@@ -425,7 +425,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>storeHeap</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6339">storeHeap</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6373">storeHeap</a></pre>
</li>
</ul>
<a name="joinedHeap">
@@ -434,7 +434,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>joinedHeap</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6342">joinedHeap</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6376">joinedHeap</a></pre>
<div class="block">Heap of key-values that are not essential for the provided filters and are thus read
on demand, if on-demand column family loading is enabled.</div>
</li>
@@ -445,7 +445,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>joinedContinuationRow</h4>
-<pre>protected <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6346">joinedContinuationRow</a></pre>
+<pre>protected <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6380">joinedContinuationRow</a></pre>
<div class="block">If the joined heap data gathering is interrupted due to scan limits, this will
contain the row for which we are populating the values.</div>
</li>
@@ -456,7 +456,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>filterClosed</h4>
-<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6347">filterClosed</a></pre>
+<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6381">filterClosed</a></pre>
</li>
</ul>
<a name="stopRow">
@@ -465,7 +465,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>stopRow</h4>
-<pre>protected final byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6349">stopRow</a></pre>
+<pre>protected final byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6383">stopRow</a></pre>
</li>
</ul>
<a name="includeStopRow">
@@ -474,7 +474,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>includeStopRow</h4>
-<pre>protected final boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6350">includeStopRow</a></pre>
+<pre>protected final boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6384">includeStopRow</a></pre>
</li>
</ul>
<a name="region">
@@ -483,7 +483,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>region</h4>
-<pre>protected final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6351">region</a></pre>
+<pre>protected final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6385">region</a></pre>
</li>
</ul>
<a name="comparator">
@@ -492,7 +492,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>comparator</h4>
-<pre>protected final <a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6352">comparator</a></pre>
+<pre>protected final <a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6386">comparator</a></pre>
</li>
</ul>
<a name="readPt">
@@ -501,7 +501,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>readPt</h4>
-<pre>private final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6354">readPt</a></pre>
+<pre>private final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6388">readPt</a></pre>
</li>
</ul>
<a name="maxResultSize">
@@ -510,7 +510,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>maxResultSize</h4>
-<pre>private final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6355">maxResultSize</a></pre>
+<pre>private final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6389">maxResultSize</a></pre>
</li>
</ul>
<a name="defaultScannerContext">
@@ -519,7 +519,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>defaultScannerContext</h4>
-<pre>private final <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6356">defaultScannerContext</a></pre>
+<pre>private final <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6390">defaultScannerContext</a></pre>
</li>
</ul>
<a name="filter">
@@ -528,7 +528,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockListLast">
<li class="blockList">
<h4>filter</h4>
-<pre>private final <a href="../../../../../org/apache/hadoop/hbase/filter/FilterWrapper.html" title="class in org.apache.hadoop.hbase.filter">FilterWrapper</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6357">filter</a></pre>
+<pre>private final <a href="../../../../../org/apache/hadoop/hbase/filter/FilterWrapper.html" title="class in org.apache.hadoop.hbase.filter">FilterWrapper</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6391">filter</a></pre>
</li>
</ul>
</li>
@@ -545,7 +545,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>RegionScannerImpl</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6364">RegionScannerImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a> scan,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6398">RegionScannerImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a> scan,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>> additionalScanners,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -561,7 +561,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockListLast">
<li class="blockList">
<h4>RegionScannerImpl</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6369">RegionScannerImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a> scan,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6403">RegionScannerImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a> scan,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>> additionalScanners,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region,
long nonceGroup,
@@ -587,7 +587,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>getRegionInfo</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6360">getRegionInfo</a>()</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6394">getRegionInfo</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#getRegionInfo--">getRegionInfo</a></code> in interface <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></dd>
@@ -602,7 +602,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>initializeScanners</h4>
-<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6407">initializeScanners</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a> scan,
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6441">initializeScanners</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a> scan,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>> additionalScanners)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
@@ -617,7 +617,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>initializeKVHeap</h4>
-<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6439">initializeKVHeap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>> scanners,
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6473">initializeKVHeap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>> scanners,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>> joinedScanners,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -633,7 +633,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>handleException</h4>
-<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6448">handleException</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>> instantiatedScanners,
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6482">handleException</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>> instantiatedScanners,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a> t)</pre>
</li>
</ul>
@@ -643,7 +643,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>getMaxResultSize</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6469">getMaxResultSize</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6503">getMaxResultSize</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#getMaxResultSize--">getMaxResultSize</a></code> in interface <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></dd>
@@ -659,7 +659,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>getMvccReadPoint</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6474">getMvccReadPoint</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6508">getMvccReadPoint</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#getMvccReadPoint--">getMvccReadPoint</a></code> in interface <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></dd>
@@ -674,7 +674,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>getBatch</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6479">getBatch</a>()</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6513">getBatch</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#getBatch--">getBatch</a></code> in interface <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></dd>
@@ -690,7 +690,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>resetFilters</h4>
-<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6488">resetFilters</a>()
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6522">resetFilters</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Reset both the filter and the old filter.</div>
<dl>
@@ -705,7 +705,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>next</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6495">next</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>> outResults)
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6529">next</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>> outResults)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-">InternalScanner</a></code></span></div>
<div class="block">Grab the next row's worth of values.</div>
@@ -727,7 +727,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>next</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6502">next</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>> outResults,
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6536">next</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>> outResults,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a> scannerContext)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-org.apache.hadoop.hbase.regionserver.ScannerContext-">InternalScanner</a></code></span></div>
@@ -750,7 +750,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>nextRaw</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6518">nextRaw</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>> outResults)
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6552">nextRaw</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>> outResults)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#nextRaw-java.util.List-">RegionScanner</a></code></span></div>
<div class="block">Grab the next row's worth of values. This is a special internal method to be called from
@@ -775,7 +775,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>nextRaw</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6524">nextRaw</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>> outResults,
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6558">nextRaw</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>> outResults,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a> scannerContext)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#nextRaw-java.util.List-org.apache.hadoop.hbase.regionserver.ScannerContext-">RegionScanner</a></code></span></div>
@@ -821,7 +821,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>populateFromJoinedHeap</h4>
-<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6561">populateFromJoinedHeap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>> results,
+<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6595">populateFromJoinedHeap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>> results,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a> scannerContext)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
@@ -838,7 +838,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>populateResult</h4>
-<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6585">populateResult</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>> results,
+<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6619">populateResult</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>> results,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a> heap,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a> scannerContext,
<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> currentRowCell)
@@ -863,7 +863,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>moreCellsInRow</h4>
-<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6626">moreCellsInRow</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> nextKv,
+<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6660">moreCellsInRow</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> nextKv,
<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> currentRowCell)</pre>
<div class="block">Based on the nextKv in the heap, and the current row, decide whether or not there are more
cells to be read in the heap. If the row of the nextKv in the heap matches the current row
@@ -883,7 +883,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>isFilterDone</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6634">isFilterDone</a>()
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6668">isFilterDone</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -901,7 +901,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>isFilterDoneInternal</h4>
-<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6638">isFilterDoneInternal</a>()
+<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6672">isFilterDoneInternal</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -915,7 +915,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>nextInternal</h4>
-<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6642">nextInternal</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>> results,
+<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6676">nextInternal</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>> results,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a> scannerContext)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
@@ -930,7 +930,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>incrementCountOfRowsFilteredMetric</h4>
-<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6865">incrementCountOfRowsFilteredMetric</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a> scannerContext)</pre>
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6899">incrementCountOfRowsFilteredMetric</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a> scannerContext)</pre>
</li>
</ul>
<a name="incrementCountOfRowsScannedMetric-org.apache.hadoop.hbase.regionserver.ScannerContext-">
@@ -939,7 +939,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>incrementCountOfRowsScannedMetric</h4>
-<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6873">incrementCountOfRowsScannedMetric</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a> scannerContext)</pre>
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6907">incrementCountOfRowsScannedMetric</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a> scannerContext)</pre>
</li>
</ul>
<a name="joinedHeapMayHaveData-org.apache.hadoop.hbase.Cell-">
@@ -948,7 +948,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>joinedHeapMayHaveData</h4>
-<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6884">joinedHeapMayHaveData</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> currentRowCell)
+<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6918">joinedHeapMayHaveData</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> currentRowCell)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -966,7 +966,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>filterRow</h4>
-<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6911">filterRow</a>()
+<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6945">filterRow</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">This function is to maintain backward compatibility for 0.94 filters. HBASE-6429 combines
both filterRow & filterRow(<code>List<KeyValue> kvs</code>) functions. While 0.94 code or older,
@@ -985,7 +985,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>filterRowKey</h4>
-<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6918">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> current)
+<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6952">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> current)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -999,7 +999,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>nextRow</h4>
-<pre>protected boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6922">nextRow</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a> scannerContext,
+<pre>protected boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6956">nextRow</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a> scannerContext,
<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> curRowCell)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
@@ -1014,7 +1014,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>shouldStop</h4>
-<pre>protected boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6937">shouldStop</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> currentRowCell)</pre>
+<pre>protected boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6971">shouldStop</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> currentRowCell)</pre>
</li>
</ul>
<a name="close--">
@@ -1023,7 +1023,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6949">close</a>()</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6983">close</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#close--">InternalScanner</a></code></span></div>
<div class="block">Closes the scanner and releases any resources it has allocated</div>
<dl>
@@ -1042,7 +1042,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>getStoreHeapForTesting</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6963">getStoreHeapForTesting</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6997">getStoreHeapForTesting</a>()</pre>
</li>
</ul>
<a name="reseek-byte:A-">
@@ -1051,7 +1051,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>reseek</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6968">reseek</a>(byte[] row)
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.7002">reseek</a>(byte[] row)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#reseek-byte:A-">RegionScanner</a></code></span></div>
<div class="block">Do a reseek to the required row. Should not be used to seek to a key which
@@ -1071,7 +1071,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockList">
<li class="blockList">
<h4>shipped</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6988">shipped</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.7022">shipped</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.html#shipped--">Shipper</a></code></span></div>
<div class="block">Called after a batch of rows scanned and set to be returned to client. Any in between cleanup
@@ -1090,7 +1090,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
<ul class="blockListLast">
<li class="blockList">
<h4>run</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6998">run</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.7032">run</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html#run--">RpcCallback</a></code></span></div>
<div class="block">Called at the end of an Rpc Call <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc"><code>RpcCallContext</code></a></div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html
index 5e8fd35..520ab93 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3820">HRegion.ReplayBatchOperation</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3854">HRegion.ReplayBatchOperation</a>
extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a><<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>></pre>
<div class="block">Batch of mutations for replay. Base class is shared with <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver"><code>HRegion.MutationBatchOperation</code></a> as most
of the logic is same.</div>
@@ -306,7 +306,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockListLast">
<li class="blockList">
<h4>origLogSeqNum</h4>
-<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3821">origLogSeqNum</a></pre>
+<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3855">origLogSeqNum</a></pre>
</li>
</ul>
</li>
@@ -323,7 +323,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockListLast">
<li class="blockList">
<h4>ReplayBatchOperation</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3822">ReplayBatchOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region,
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3856">ReplayBatchOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region,
<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>[] operations,
long origLogSeqNum)</pre>
</li>
@@ -342,7 +342,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>getMutation</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3829">getMutation</a>(int index)</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3863">getMutation</a>(int index)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getMutation-int-">getMutation</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a><<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>></code></dd>
@@ -355,7 +355,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>getNonceGroup</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3834">getNonceGroup</a>(int index)</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3868">getNonceGroup</a>(int index)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getNonceGroup-int-">getNonceGroup</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a><<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>></code></dd>
@@ -368,7 +368,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>getNonce</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3839">getNonce</a>(int index)</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3873">getNonce</a>(int index)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getNonce-int-">getNonce</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a><<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>></code></dd>
@@ -381,7 +381,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>getMutationsForCoprocs</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3844">getMutationsForCoprocs</a>()</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3878">getMutationsForCoprocs</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getMutationsForCoprocs--">HRegion.BatchOperation</a></code></span></div>
<div class="block">This method is potentially expensive and useful mostly for non-replay CP path.</div>
<dl>
@@ -396,7 +396,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>isInReplay</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3849">isInReplay</a>()</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3883">isInReplay</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#isInReplay--">isInReplay</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a><<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>></code></dd>
@@ -409,7 +409,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>getOrigLogSeqNum</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3854">getOrigLogSeqNum</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3888">getOrigLogSeqNum</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getOrigLogSeqNum--">getOrigLogSeqNum</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a><<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>></code></dd>
@@ -422,7 +422,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>startRegionOperation</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3859">startRegionOperation</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3893">startRegionOperation</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -438,7 +438,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>closeRegionOperation</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3864">closeRegionOperation</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3898">closeRegionOperation</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -454,7 +454,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>checkAndPreparePut</h4>
-<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3873">checkAndPreparePut</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a> p)
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3907">checkAndPreparePut</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a> p)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">During replay, there could exist column families which are removed between region server
failure and replay</div>
@@ -472,7 +472,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>checkAndPrepare</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3894">checkAndPrepare</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3928">checkAndPrepare</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#checkAndPrepare--">HRegion.BatchOperation</a></code></span></div>
<div class="block">Validates each mutation and prepares a batch for write. If necessary (non-replay case), runs
@@ -494,7 +494,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>prepareMiniBatchOperations</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3903">prepareMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> miniBatchOp,
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3937">prepareMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> miniBatchOp,
long timestamp,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>> acquiredRowLocks)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -515,7 +515,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>writeMiniBatchOperationsToMemStore</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3915">writeMiniBatchOperationsToMemStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> miniBatchOp,
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3949">writeMiniBatchOperationsToMemStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> miniBatchOp,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a> writeEntry)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#writeMiniBatchOperationsToMemStore-org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress-org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry-">HRegion.BatchOperation</a></code></span></div>
@@ -534,7 +534,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockListLast">
<li class="blockList">
<h4>completeMiniBatchOperations</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3923">completeMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> miniBatchOp,
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3957">completeMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> miniBatchOp,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a> writeEntry)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#completeMiniBatchOperations-org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress-org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry-">HRegion.BatchOperation</a></code></span></div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html
index 564245b..a28d910 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5944">HRegion.RowLockContext</a>
+<pre>class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5978">HRegion.RowLockContext</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
</li>
</ul>
@@ -241,7 +241,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>row</h4>
-<pre>private final <a href="../../../../../org/apache/hadoop/hbase/util/HashedBytes.html" title="class in org.apache.hadoop.hbase.util">HashedBytes</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5945">row</a></pre>
+<pre>private final <a href="../../../../../org/apache/hadoop/hbase/util/HashedBytes.html" title="class in org.apache.hadoop.hbase.util">HashedBytes</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5979">row</a></pre>
</li>
</ul>
<a name="readWriteLock">
@@ -250,7 +250,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>readWriteLock</h4>
-<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReadWriteLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReadWriteLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5946">readWriteLock</a></pre>
+<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReadWriteLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReadWriteLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5980">readWriteLock</a></pre>
</li>
</ul>
<a name="usable">
@@ -259,7 +259,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>usable</h4>
-<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5947">usable</a></pre>
+<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5981">usable</a></pre>
</li>
</ul>
<a name="count">
@@ -268,7 +268,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>count</h4>
-<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5948">count</a></pre>
+<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5982">count</a></pre>
</li>
</ul>
<a name="lock">
@@ -277,7 +277,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>lock</h4>
-<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5949">lock</a></pre>
+<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5983">lock</a></pre>
</li>
</ul>
<a name="threadName">
@@ -286,7 +286,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>threadName</h4>
-<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5950">threadName</a></pre>
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5984">threadName</a></pre>
</li>
</ul>
</li>
@@ -303,7 +303,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>RowLockContext</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5952">RowLockContext</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HashedBytes.html" title="class in org.apache.hadoop.hbase.util">HashedBytes</a> row)</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5986">RowLockContext</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HashedBytes.html" title="class in org.apache.hadoop.hbase.util">HashedBytes</a> row)</pre>
</li>
</ul>
</li>
@@ -320,7 +320,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>newWriteLock</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockImpl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5956">newWriteLock</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockImpl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5990">newWriteLock</a>()</pre>
</li>
</ul>
<a name="newReadLock--">
@@ -329,7 +329,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>newReadLock</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockImpl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5960">newReadLock</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockImpl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5994">newReadLock</a>()</pre>
</li>
</ul>
<a name="getRowLock-java.util.concurrent.locks.Lock-">
@@ -338,7 +338,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getRowLock</h4>
-<pre>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockImpl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5965">getRowLock</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a> l)</pre>
+<pre>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockImpl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5999">getRowLock</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a> l)</pre>
</li>
</ul>
<a name="cleanUp--">
@@ -347,7 +347,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>cleanUp</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5976">cleanUp</a>()</pre>
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.6010">cleanUp</a>()</pre>
</li>
</ul>
<a name="setThreadName-java.lang.String-">
@@ -356,7 +356,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>setThreadName</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5989">setThreadName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> threadName)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.6023">setThreadName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> threadName)</pre>
</li>
</ul>
<a name="toString--">
@@ -365,7 +365,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5994">toString</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.6028">toString</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code> in class <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
index 5dbe859..fc851e7 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6007">HRegion.RowLockImpl</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6041">HRegion.RowLockImpl</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a></pre>
<div class="block">Class used to represent a lock on a row.</div>
@@ -226,7 +226,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
<ul class="blockList">
<li class="blockList">
<h4>context</h4>
-<pre>private final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.6008">context</a></pre>
+<pre>private final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.6042">context</a></pre>
</li>
</ul>
<a name="lock">
@@ -235,7 +235,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
<ul class="blockListLast">
<li class="blockList">
<h4>lock</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.6009">lock</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.6043">lock</a></pre>
</li>
</ul>
</li>
@@ -252,7 +252,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
<ul class="blockListLast">
<li class="blockList">
<h4>RowLockImpl</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.6011">RowLockImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a> context,
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.6045">RowLockImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a> context,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a> lock)</pre>
</li>
</ul>
@@ -270,7 +270,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
<ul class="blockList">
<li class="blockList">
<h4>getLock</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.6016">getLock</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.6050">getLock</a>()</pre>
</li>
</ul>
<a name="getContext--">
@@ -279,7 +279,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
<ul class="blockList">
<li class="blockList">
<h4>getContext</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.6021">getContext</a>()</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.6055">getContext</a>()</pre>
</li>
</ul>
<a name="release--">
@@ -288,7 +288,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
<ul class="blockList">
<li class="blockList">
<h4>release</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.6026">release</a>()</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.6060">release</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html#release--">Region.RowLock</a></code></span></div>
<div class="block">Release the given lock. If there are no remaining locks held by the current thread
then unlock the row and allow other threads to acquire the lock.</div>
@@ -304,7 +304,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.6032">toString</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.6066">toString</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code> in class <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
[15/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html
index 1e81ef0..ac83508 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html
@@ -160,236 +160,248 @@
<span class="sourceLineNo">152</span> this.bucketCacheStats = fcStats;<a name="line.152"></a>
<span class="sourceLineNo">153</span> }<a name="line.153"></a>
<span class="sourceLineNo">154</span><a name="line.154"></a>
-<span class="sourceLineNo">155</span> @Override<a name="line.155"></a>
-<span class="sourceLineNo">156</span> public long getDataMissCount() {<a name="line.156"></a>
-<span class="sourceLineNo">157</span> return lruCacheStats.getDataMissCount() + bucketCacheStats.getDataMissCount();<a name="line.157"></a>
-<span class="sourceLineNo">158</span> }<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span> @Override<a name="line.160"></a>
-<span class="sourceLineNo">161</span> public long getLeafIndexMissCount() {<a name="line.161"></a>
-<span class="sourceLineNo">162</span> return lruCacheStats.getLeafIndexMissCount() + bucketCacheStats.getLeafIndexMissCount();<a name="line.162"></a>
-<span class="sourceLineNo">163</span> }<a name="line.163"></a>
-<span class="sourceLineNo">164</span><a name="line.164"></a>
-<span class="sourceLineNo">165</span> @Override<a name="line.165"></a>
-<span class="sourceLineNo">166</span> public long getBloomChunkMissCount() {<a name="line.166"></a>
-<span class="sourceLineNo">167</span> return lruCacheStats.getBloomChunkMissCount() + bucketCacheStats.getBloomChunkMissCount();<a name="line.167"></a>
-<span class="sourceLineNo">168</span> }<a name="line.168"></a>
-<span class="sourceLineNo">169</span><a name="line.169"></a>
-<span class="sourceLineNo">170</span> @Override<a name="line.170"></a>
-<span class="sourceLineNo">171</span> public long getMetaMissCount() {<a name="line.171"></a>
-<span class="sourceLineNo">172</span> return lruCacheStats.getMetaMissCount() + bucketCacheStats.getMetaMissCount();<a name="line.172"></a>
-<span class="sourceLineNo">173</span> }<a name="line.173"></a>
-<span class="sourceLineNo">174</span><a name="line.174"></a>
-<span class="sourceLineNo">175</span> @Override<a name="line.175"></a>
-<span class="sourceLineNo">176</span> public long getRootIndexMissCount() {<a name="line.176"></a>
-<span class="sourceLineNo">177</span> return lruCacheStats.getRootIndexMissCount() + bucketCacheStats.getRootIndexMissCount();<a name="line.177"></a>
-<span class="sourceLineNo">178</span> }<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span> @Override<a name="line.180"></a>
-<span class="sourceLineNo">181</span> public long getIntermediateIndexMissCount() {<a name="line.181"></a>
-<span class="sourceLineNo">182</span> return lruCacheStats.getIntermediateIndexMissCount() +<a name="line.182"></a>
-<span class="sourceLineNo">183</span> bucketCacheStats.getIntermediateIndexMissCount();<a name="line.183"></a>
-<span class="sourceLineNo">184</span> }<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span> @Override<a name="line.186"></a>
-<span class="sourceLineNo">187</span> public long getFileInfoMissCount() {<a name="line.187"></a>
-<span class="sourceLineNo">188</span> return lruCacheStats.getFileInfoMissCount() + bucketCacheStats.getFileInfoMissCount();<a name="line.188"></a>
-<span class="sourceLineNo">189</span> }<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span> @Override<a name="line.191"></a>
-<span class="sourceLineNo">192</span> public long getGeneralBloomMetaMissCount() {<a name="line.192"></a>
-<span class="sourceLineNo">193</span> return lruCacheStats.getGeneralBloomMetaMissCount() +<a name="line.193"></a>
-<span class="sourceLineNo">194</span> bucketCacheStats.getGeneralBloomMetaMissCount();<a name="line.194"></a>
-<span class="sourceLineNo">195</span> }<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span> @Override<a name="line.197"></a>
-<span class="sourceLineNo">198</span> public long getDeleteFamilyBloomMissCount() {<a name="line.198"></a>
-<span class="sourceLineNo">199</span> return lruCacheStats.getDeleteFamilyBloomMissCount() +<a name="line.199"></a>
-<span class="sourceLineNo">200</span> bucketCacheStats.getDeleteFamilyBloomMissCount();<a name="line.200"></a>
-<span class="sourceLineNo">201</span> }<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span> @Override<a name="line.203"></a>
-<span class="sourceLineNo">204</span> public long getTrailerMissCount() {<a name="line.204"></a>
-<span class="sourceLineNo">205</span> return lruCacheStats.getTrailerMissCount() + bucketCacheStats.getTrailerMissCount();<a name="line.205"></a>
-<span class="sourceLineNo">206</span> }<a name="line.206"></a>
-<span class="sourceLineNo">207</span><a name="line.207"></a>
-<span class="sourceLineNo">208</span> @Override<a name="line.208"></a>
-<span class="sourceLineNo">209</span> public long getDataHitCount() {<a name="line.209"></a>
-<span class="sourceLineNo">210</span> return lruCacheStats.getDataHitCount() + bucketCacheStats.getDataHitCount();<a name="line.210"></a>
-<span class="sourceLineNo">211</span> }<a name="line.211"></a>
-<span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span> @Override<a name="line.213"></a>
-<span class="sourceLineNo">214</span> public long getLeafIndexHitCount() {<a name="line.214"></a>
-<span class="sourceLineNo">215</span> return lruCacheStats.getLeafIndexHitCount() + bucketCacheStats.getLeafIndexHitCount();<a name="line.215"></a>
-<span class="sourceLineNo">216</span> }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span> @Override<a name="line.218"></a>
-<span class="sourceLineNo">219</span> public long getBloomChunkHitCount() {<a name="line.219"></a>
-<span class="sourceLineNo">220</span> return lruCacheStats.getBloomChunkHitCount() + bucketCacheStats.getBloomChunkHitCount();<a name="line.220"></a>
-<span class="sourceLineNo">221</span> }<a name="line.221"></a>
-<span class="sourceLineNo">222</span><a name="line.222"></a>
-<span class="sourceLineNo">223</span> @Override<a name="line.223"></a>
-<span class="sourceLineNo">224</span> public long getMetaHitCount() {<a name="line.224"></a>
-<span class="sourceLineNo">225</span> return lruCacheStats.getMetaHitCount() + bucketCacheStats.getMetaHitCount();<a name="line.225"></a>
-<span class="sourceLineNo">226</span> }<a name="line.226"></a>
-<span class="sourceLineNo">227</span><a name="line.227"></a>
-<span class="sourceLineNo">228</span> @Override<a name="line.228"></a>
-<span class="sourceLineNo">229</span> public long getRootIndexHitCount() {<a name="line.229"></a>
-<span class="sourceLineNo">230</span> return lruCacheStats.getRootIndexHitCount() + bucketCacheStats.getRootIndexHitCount();<a name="line.230"></a>
-<span class="sourceLineNo">231</span> }<a name="line.231"></a>
-<span class="sourceLineNo">232</span><a name="line.232"></a>
-<span class="sourceLineNo">233</span> @Override<a name="line.233"></a>
-<span class="sourceLineNo">234</span> public long getIntermediateIndexHitCount() {<a name="line.234"></a>
-<span class="sourceLineNo">235</span> return lruCacheStats.getIntermediateIndexHitCount() +<a name="line.235"></a>
-<span class="sourceLineNo">236</span> bucketCacheStats.getIntermediateIndexHitCount();<a name="line.236"></a>
-<span class="sourceLineNo">237</span> }<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span> @Override<a name="line.239"></a>
-<span class="sourceLineNo">240</span> public long getFileInfoHitCount() {<a name="line.240"></a>
-<span class="sourceLineNo">241</span> return lruCacheStats.getFileInfoHitCount() + bucketCacheStats.getFileInfoHitCount();<a name="line.241"></a>
-<span class="sourceLineNo">242</span> }<a name="line.242"></a>
-<span class="sourceLineNo">243</span><a name="line.243"></a>
-<span class="sourceLineNo">244</span> @Override<a name="line.244"></a>
-<span class="sourceLineNo">245</span> public long getGeneralBloomMetaHitCount() {<a name="line.245"></a>
-<span class="sourceLineNo">246</span> return lruCacheStats.getGeneralBloomMetaHitCount() +<a name="line.246"></a>
-<span class="sourceLineNo">247</span> bucketCacheStats.getGeneralBloomMetaHitCount();<a name="line.247"></a>
-<span class="sourceLineNo">248</span> }<a name="line.248"></a>
-<span class="sourceLineNo">249</span><a name="line.249"></a>
-<span class="sourceLineNo">250</span> @Override<a name="line.250"></a>
-<span class="sourceLineNo">251</span> public long getDeleteFamilyBloomHitCount() {<a name="line.251"></a>
-<span class="sourceLineNo">252</span> return lruCacheStats.getDeleteFamilyBloomHitCount() +<a name="line.252"></a>
-<span class="sourceLineNo">253</span> bucketCacheStats.getDeleteFamilyBloomHitCount();<a name="line.253"></a>
-<span class="sourceLineNo">254</span> }<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span> @Override<a name="line.256"></a>
-<span class="sourceLineNo">257</span> public long getTrailerHitCount() {<a name="line.257"></a>
-<span class="sourceLineNo">258</span> return lruCacheStats.getTrailerHitCount() + bucketCacheStats.getTrailerHitCount();<a name="line.258"></a>
-<span class="sourceLineNo">259</span> }<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span> @Override<a name="line.261"></a>
-<span class="sourceLineNo">262</span> public long getRequestCount() {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> return lruCacheStats.getRequestCount()<a name="line.263"></a>
-<span class="sourceLineNo">264</span> + bucketCacheStats.getRequestCount();<a name="line.264"></a>
-<span class="sourceLineNo">265</span> }<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span> @Override<a name="line.267"></a>
-<span class="sourceLineNo">268</span> public long getRequestCachingCount() {<a name="line.268"></a>
-<span class="sourceLineNo">269</span> return lruCacheStats.getRequestCachingCount()<a name="line.269"></a>
-<span class="sourceLineNo">270</span> + bucketCacheStats.getRequestCachingCount();<a name="line.270"></a>
-<span class="sourceLineNo">271</span> }<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span> @Override<a name="line.273"></a>
-<span class="sourceLineNo">274</span> public long getMissCount() {<a name="line.274"></a>
-<span class="sourceLineNo">275</span> return lruCacheStats.getMissCount() + bucketCacheStats.getMissCount();<a name="line.275"></a>
-<span class="sourceLineNo">276</span> }<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span> @Override<a name="line.278"></a>
-<span class="sourceLineNo">279</span> public long getPrimaryMissCount() {<a name="line.279"></a>
-<span class="sourceLineNo">280</span> return lruCacheStats.getPrimaryMissCount() + bucketCacheStats.getPrimaryMissCount();<a name="line.280"></a>
-<span class="sourceLineNo">281</span> }<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span> @Override<a name="line.283"></a>
-<span class="sourceLineNo">284</span> public long getMissCachingCount() {<a name="line.284"></a>
-<span class="sourceLineNo">285</span> return lruCacheStats.getMissCachingCount()<a name="line.285"></a>
-<span class="sourceLineNo">286</span> + bucketCacheStats.getMissCachingCount();<a name="line.286"></a>
-<span class="sourceLineNo">287</span> }<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span> @Override<a name="line.289"></a>
-<span class="sourceLineNo">290</span> public long getHitCount() {<a name="line.290"></a>
-<span class="sourceLineNo">291</span> return lruCacheStats.getHitCount() + bucketCacheStats.getHitCount();<a name="line.291"></a>
-<span class="sourceLineNo">292</span> }<a name="line.292"></a>
-<span class="sourceLineNo">293</span><a name="line.293"></a>
-<span class="sourceLineNo">294</span> @Override<a name="line.294"></a>
-<span class="sourceLineNo">295</span> public long getPrimaryHitCount() {<a name="line.295"></a>
-<span class="sourceLineNo">296</span> return lruCacheStats.getPrimaryHitCount() + bucketCacheStats.getPrimaryHitCount();<a name="line.296"></a>
-<span class="sourceLineNo">297</span> }<a name="line.297"></a>
-<span class="sourceLineNo">298</span> @Override<a name="line.298"></a>
-<span class="sourceLineNo">299</span> public long getHitCachingCount() {<a name="line.299"></a>
-<span class="sourceLineNo">300</span> return lruCacheStats.getHitCachingCount()<a name="line.300"></a>
-<span class="sourceLineNo">301</span> + bucketCacheStats.getHitCachingCount();<a name="line.301"></a>
-<span class="sourceLineNo">302</span> }<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span> @Override<a name="line.304"></a>
-<span class="sourceLineNo">305</span> public long getEvictionCount() {<a name="line.305"></a>
-<span class="sourceLineNo">306</span> return lruCacheStats.getEvictionCount()<a name="line.306"></a>
-<span class="sourceLineNo">307</span> + bucketCacheStats.getEvictionCount();<a name="line.307"></a>
-<span class="sourceLineNo">308</span> }<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span> @Override<a name="line.310"></a>
-<span class="sourceLineNo">311</span> public long getEvictedCount() {<a name="line.311"></a>
-<span class="sourceLineNo">312</span> return lruCacheStats.getEvictedCount()<a name="line.312"></a>
-<span class="sourceLineNo">313</span> + bucketCacheStats.getEvictedCount();<a name="line.313"></a>
-<span class="sourceLineNo">314</span> }<a name="line.314"></a>
-<span class="sourceLineNo">315</span><a name="line.315"></a>
-<span class="sourceLineNo">316</span> @Override<a name="line.316"></a>
-<span class="sourceLineNo">317</span> public long getPrimaryEvictedCount() {<a name="line.317"></a>
-<span class="sourceLineNo">318</span> return lruCacheStats.getPrimaryEvictedCount()<a name="line.318"></a>
-<span class="sourceLineNo">319</span> + bucketCacheStats.getPrimaryEvictedCount();<a name="line.319"></a>
-<span class="sourceLineNo">320</span> }<a name="line.320"></a>
-<span class="sourceLineNo">321</span><a name="line.321"></a>
-<span class="sourceLineNo">322</span> @Override<a name="line.322"></a>
-<span class="sourceLineNo">323</span> public void rollMetricsPeriod() {<a name="line.323"></a>
-<span class="sourceLineNo">324</span> lruCacheStats.rollMetricsPeriod();<a name="line.324"></a>
-<span class="sourceLineNo">325</span> bucketCacheStats.rollMetricsPeriod();<a name="line.325"></a>
-<span class="sourceLineNo">326</span> }<a name="line.326"></a>
-<span class="sourceLineNo">327</span> <a name="line.327"></a>
-<span class="sourceLineNo">328</span> @Override<a name="line.328"></a>
-<span class="sourceLineNo">329</span> public long getFailedInserts() {<a name="line.329"></a>
-<span class="sourceLineNo">330</span> return lruCacheStats.getFailedInserts() + bucketCacheStats.getFailedInserts();<a name="line.330"></a>
-<span class="sourceLineNo">331</span> }<a name="line.331"></a>
-<span class="sourceLineNo">332</span><a name="line.332"></a>
-<span class="sourceLineNo">333</span> @Override<a name="line.333"></a>
-<span class="sourceLineNo">334</span> public long getSumHitCountsPastNPeriods() {<a name="line.334"></a>
-<span class="sourceLineNo">335</span> return lruCacheStats.getSumHitCountsPastNPeriods()<a name="line.335"></a>
-<span class="sourceLineNo">336</span> + bucketCacheStats.getSumHitCountsPastNPeriods();<a name="line.336"></a>
-<span class="sourceLineNo">337</span> }<a name="line.337"></a>
-<span class="sourceLineNo">338</span> <a name="line.338"></a>
-<span class="sourceLineNo">339</span> @Override<a name="line.339"></a>
-<span class="sourceLineNo">340</span> public long getSumRequestCountsPastNPeriods() {<a name="line.340"></a>
-<span class="sourceLineNo">341</span> return lruCacheStats.getSumRequestCountsPastNPeriods()<a name="line.341"></a>
-<span class="sourceLineNo">342</span> + bucketCacheStats.getSumRequestCountsPastNPeriods();<a name="line.342"></a>
-<span class="sourceLineNo">343</span> }<a name="line.343"></a>
-<span class="sourceLineNo">344</span> <a name="line.344"></a>
-<span class="sourceLineNo">345</span> @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span> public long getSumHitCachingCountsPastNPeriods() {<a name="line.346"></a>
-<span class="sourceLineNo">347</span> return lruCacheStats.getSumHitCachingCountsPastNPeriods()<a name="line.347"></a>
-<span class="sourceLineNo">348</span> + bucketCacheStats.getSumHitCachingCountsPastNPeriods();<a name="line.348"></a>
-<span class="sourceLineNo">349</span> }<a name="line.349"></a>
-<span class="sourceLineNo">350</span><a name="line.350"></a>
-<span class="sourceLineNo">351</span> @Override<a name="line.351"></a>
-<span class="sourceLineNo">352</span> public long getSumRequestCachingCountsPastNPeriods() {<a name="line.352"></a>
-<span class="sourceLineNo">353</span> return lruCacheStats.getSumRequestCachingCountsPastNPeriods()<a name="line.353"></a>
-<span class="sourceLineNo">354</span> + bucketCacheStats.getSumRequestCachingCountsPastNPeriods();<a name="line.354"></a>
-<span class="sourceLineNo">355</span> }<a name="line.355"></a>
-<span class="sourceLineNo">356</span> }<a name="line.356"></a>
-<span class="sourceLineNo">357</span><a name="line.357"></a>
-<span class="sourceLineNo">358</span> @Override<a name="line.358"></a>
-<span class="sourceLineNo">359</span> public Iterator<CachedBlock> iterator() {<a name="line.359"></a>
-<span class="sourceLineNo">360</span> return new BlockCachesIterator(getBlockCaches());<a name="line.360"></a>
-<span class="sourceLineNo">361</span> }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span> @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span> public BlockCache[] getBlockCaches() {<a name="line.364"></a>
-<span class="sourceLineNo">365</span> return new BlockCache [] {this.onHeapCache, this.l2Cache};<a name="line.365"></a>
-<span class="sourceLineNo">366</span> }<a name="line.366"></a>
-<span class="sourceLineNo">367</span><a name="line.367"></a>
-<span class="sourceLineNo">368</span> @Override<a name="line.368"></a>
-<span class="sourceLineNo">369</span> public void setMaxSize(long size) {<a name="line.369"></a>
-<span class="sourceLineNo">370</span> this.onHeapCache.setMaxSize(size);<a name="line.370"></a>
-<span class="sourceLineNo">371</span> }<a name="line.371"></a>
-<span class="sourceLineNo">372</span><a name="line.372"></a>
-<span class="sourceLineNo">373</span> @Override<a name="line.373"></a>
-<span class="sourceLineNo">374</span> public void returnBlock(BlockCacheKey cacheKey, Cacheable block) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span> // returnBlock is meaningful for L2 cache alone.<a name="line.375"></a>
-<span class="sourceLineNo">376</span> this.l2Cache.returnBlock(cacheKey, block);<a name="line.376"></a>
-<span class="sourceLineNo">377</span> }<a name="line.377"></a>
-<span class="sourceLineNo">378</span><a name="line.378"></a>
-<span class="sourceLineNo">379</span> @VisibleForTesting<a name="line.379"></a>
-<span class="sourceLineNo">380</span> public int getRefCount(BlockCacheKey cacheKey) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span> return (this.l2Cache instanceof BucketCache)<a name="line.381"></a>
-<span class="sourceLineNo">382</span> ? ((BucketCache) this.l2Cache).getRefCount(cacheKey) : 0;<a name="line.382"></a>
-<span class="sourceLineNo">383</span> }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>}<a name="line.384"></a>
+<span class="sourceLineNo">155</span> public CacheStats getLruCacheStats() {<a name="line.155"></a>
+<span class="sourceLineNo">156</span> return this.lruCacheStats;<a name="line.156"></a>
+<span class="sourceLineNo">157</span> }<a name="line.157"></a>
+<span class="sourceLineNo">158</span><a name="line.158"></a>
+<span class="sourceLineNo">159</span> public CacheStats getBucketCacheStats() {<a name="line.159"></a>
+<span class="sourceLineNo">160</span> return this.bucketCacheStats;<a name="line.160"></a>
+<span class="sourceLineNo">161</span> }<a name="line.161"></a>
+<span class="sourceLineNo">162</span><a name="line.162"></a>
+<span class="sourceLineNo">163</span> @Override<a name="line.163"></a>
+<span class="sourceLineNo">164</span> public long getDataMissCount() {<a name="line.164"></a>
+<span class="sourceLineNo">165</span> return lruCacheStats.getDataMissCount() + bucketCacheStats.getDataMissCount();<a name="line.165"></a>
+<span class="sourceLineNo">166</span> }<a name="line.166"></a>
+<span class="sourceLineNo">167</span><a name="line.167"></a>
+<span class="sourceLineNo">168</span> @Override<a name="line.168"></a>
+<span class="sourceLineNo">169</span> public long getLeafIndexMissCount() {<a name="line.169"></a>
+<span class="sourceLineNo">170</span> return lruCacheStats.getLeafIndexMissCount() + bucketCacheStats.getLeafIndexMissCount();<a name="line.170"></a>
+<span class="sourceLineNo">171</span> }<a name="line.171"></a>
+<span class="sourceLineNo">172</span><a name="line.172"></a>
+<span class="sourceLineNo">173</span> @Override<a name="line.173"></a>
+<span class="sourceLineNo">174</span> public long getBloomChunkMissCount() {<a name="line.174"></a>
+<span class="sourceLineNo">175</span> return lruCacheStats.getBloomChunkMissCount() + bucketCacheStats.getBloomChunkMissCount();<a name="line.175"></a>
+<span class="sourceLineNo">176</span> }<a name="line.176"></a>
+<span class="sourceLineNo">177</span><a name="line.177"></a>
+<span class="sourceLineNo">178</span> @Override<a name="line.178"></a>
+<span class="sourceLineNo">179</span> public long getMetaMissCount() {<a name="line.179"></a>
+<span class="sourceLineNo">180</span> return lruCacheStats.getMetaMissCount() + bucketCacheStats.getMetaMissCount();<a name="line.180"></a>
+<span class="sourceLineNo">181</span> }<a name="line.181"></a>
+<span class="sourceLineNo">182</span><a name="line.182"></a>
+<span class="sourceLineNo">183</span> @Override<a name="line.183"></a>
+<span class="sourceLineNo">184</span> public long getRootIndexMissCount() {<a name="line.184"></a>
+<span class="sourceLineNo">185</span> return lruCacheStats.getRootIndexMissCount() + bucketCacheStats.getRootIndexMissCount();<a name="line.185"></a>
+<span class="sourceLineNo">186</span> }<a name="line.186"></a>
+<span class="sourceLineNo">187</span><a name="line.187"></a>
+<span class="sourceLineNo">188</span> @Override<a name="line.188"></a>
+<span class="sourceLineNo">189</span> public long getIntermediateIndexMissCount() {<a name="line.189"></a>
+<span class="sourceLineNo">190</span> return lruCacheStats.getIntermediateIndexMissCount() +<a name="line.190"></a>
+<span class="sourceLineNo">191</span> bucketCacheStats.getIntermediateIndexMissCount();<a name="line.191"></a>
+<span class="sourceLineNo">192</span> }<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span> @Override<a name="line.194"></a>
+<span class="sourceLineNo">195</span> public long getFileInfoMissCount() {<a name="line.195"></a>
+<span class="sourceLineNo">196</span> return lruCacheStats.getFileInfoMissCount() + bucketCacheStats.getFileInfoMissCount();<a name="line.196"></a>
+<span class="sourceLineNo">197</span> }<a name="line.197"></a>
+<span class="sourceLineNo">198</span><a name="line.198"></a>
+<span class="sourceLineNo">199</span> @Override<a name="line.199"></a>
+<span class="sourceLineNo">200</span> public long getGeneralBloomMetaMissCount() {<a name="line.200"></a>
+<span class="sourceLineNo">201</span> return lruCacheStats.getGeneralBloomMetaMissCount() +<a name="line.201"></a>
+<span class="sourceLineNo">202</span> bucketCacheStats.getGeneralBloomMetaMissCount();<a name="line.202"></a>
+<span class="sourceLineNo">203</span> }<a name="line.203"></a>
+<span class="sourceLineNo">204</span><a name="line.204"></a>
+<span class="sourceLineNo">205</span> @Override<a name="line.205"></a>
+<span class="sourceLineNo">206</span> public long getDeleteFamilyBloomMissCount() {<a name="line.206"></a>
+<span class="sourceLineNo">207</span> return lruCacheStats.getDeleteFamilyBloomMissCount() +<a name="line.207"></a>
+<span class="sourceLineNo">208</span> bucketCacheStats.getDeleteFamilyBloomMissCount();<a name="line.208"></a>
+<span class="sourceLineNo">209</span> }<a name="line.209"></a>
+<span class="sourceLineNo">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span> @Override<a name="line.211"></a>
+<span class="sourceLineNo">212</span> public long getTrailerMissCount() {<a name="line.212"></a>
+<span class="sourceLineNo">213</span> return lruCacheStats.getTrailerMissCount() + bucketCacheStats.getTrailerMissCount();<a name="line.213"></a>
+<span class="sourceLineNo">214</span> }<a name="line.214"></a>
+<span class="sourceLineNo">215</span><a name="line.215"></a>
+<span class="sourceLineNo">216</span> @Override<a name="line.216"></a>
+<span class="sourceLineNo">217</span> public long getDataHitCount() {<a name="line.217"></a>
+<span class="sourceLineNo">218</span> return lruCacheStats.getDataHitCount() + bucketCacheStats.getDataHitCount();<a name="line.218"></a>
+<span class="sourceLineNo">219</span> }<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span> @Override<a name="line.221"></a>
+<span class="sourceLineNo">222</span> public long getLeafIndexHitCount() {<a name="line.222"></a>
+<span class="sourceLineNo">223</span> return lruCacheStats.getLeafIndexHitCount() + bucketCacheStats.getLeafIndexHitCount();<a name="line.223"></a>
+<span class="sourceLineNo">224</span> }<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span> @Override<a name="line.226"></a>
+<span class="sourceLineNo">227</span> public long getBloomChunkHitCount() {<a name="line.227"></a>
+<span class="sourceLineNo">228</span> return lruCacheStats.getBloomChunkHitCount() + bucketCacheStats.getBloomChunkHitCount();<a name="line.228"></a>
+<span class="sourceLineNo">229</span> }<a name="line.229"></a>
+<span class="sourceLineNo">230</span><a name="line.230"></a>
+<span class="sourceLineNo">231</span> @Override<a name="line.231"></a>
+<span class="sourceLineNo">232</span> public long getMetaHitCount() {<a name="line.232"></a>
+<span class="sourceLineNo">233</span> return lruCacheStats.getMetaHitCount() + bucketCacheStats.getMetaHitCount();<a name="line.233"></a>
+<span class="sourceLineNo">234</span> }<a name="line.234"></a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span> @Override<a name="line.236"></a>
+<span class="sourceLineNo">237</span> public long getRootIndexHitCount() {<a name="line.237"></a>
+<span class="sourceLineNo">238</span> return lruCacheStats.getRootIndexHitCount() + bucketCacheStats.getRootIndexHitCount();<a name="line.238"></a>
+<span class="sourceLineNo">239</span> }<a name="line.239"></a>
+<span class="sourceLineNo">240</span><a name="line.240"></a>
+<span class="sourceLineNo">241</span> @Override<a name="line.241"></a>
+<span class="sourceLineNo">242</span> public long getIntermediateIndexHitCount() {<a name="line.242"></a>
+<span class="sourceLineNo">243</span> return lruCacheStats.getIntermediateIndexHitCount() +<a name="line.243"></a>
+<span class="sourceLineNo">244</span> bucketCacheStats.getIntermediateIndexHitCount();<a name="line.244"></a>
+<span class="sourceLineNo">245</span> }<a name="line.245"></a>
+<span class="sourceLineNo">246</span><a name="line.246"></a>
+<span class="sourceLineNo">247</span> @Override<a name="line.247"></a>
+<span class="sourceLineNo">248</span> public long getFileInfoHitCount() {<a name="line.248"></a>
+<span class="sourceLineNo">249</span> return lruCacheStats.getFileInfoHitCount() + bucketCacheStats.getFileInfoHitCount();<a name="line.249"></a>
+<span class="sourceLineNo">250</span> }<a name="line.250"></a>
+<span class="sourceLineNo">251</span><a name="line.251"></a>
+<span class="sourceLineNo">252</span> @Override<a name="line.252"></a>
+<span class="sourceLineNo">253</span> public long getGeneralBloomMetaHitCount() {<a name="line.253"></a>
+<span class="sourceLineNo">254</span> return lruCacheStats.getGeneralBloomMetaHitCount() +<a name="line.254"></a>
+<span class="sourceLineNo">255</span> bucketCacheStats.getGeneralBloomMetaHitCount();<a name="line.255"></a>
+<span class="sourceLineNo">256</span> }<a name="line.256"></a>
+<span class="sourceLineNo">257</span><a name="line.257"></a>
+<span class="sourceLineNo">258</span> @Override<a name="line.258"></a>
+<span class="sourceLineNo">259</span> public long getDeleteFamilyBloomHitCount() {<a name="line.259"></a>
+<span class="sourceLineNo">260</span> return lruCacheStats.getDeleteFamilyBloomHitCount() +<a name="line.260"></a>
+<span class="sourceLineNo">261</span> bucketCacheStats.getDeleteFamilyBloomHitCount();<a name="line.261"></a>
+<span class="sourceLineNo">262</span> }<a name="line.262"></a>
+<span class="sourceLineNo">263</span><a name="line.263"></a>
+<span class="sourceLineNo">264</span> @Override<a name="line.264"></a>
+<span class="sourceLineNo">265</span> public long getTrailerHitCount() {<a name="line.265"></a>
+<span class="sourceLineNo">266</span> return lruCacheStats.getTrailerHitCount() + bucketCacheStats.getTrailerHitCount();<a name="line.266"></a>
+<span class="sourceLineNo">267</span> }<a name="line.267"></a>
+<span class="sourceLineNo">268</span><a name="line.268"></a>
+<span class="sourceLineNo">269</span> @Override<a name="line.269"></a>
+<span class="sourceLineNo">270</span> public long getRequestCount() {<a name="line.270"></a>
+<span class="sourceLineNo">271</span> return lruCacheStats.getRequestCount()<a name="line.271"></a>
+<span class="sourceLineNo">272</span> + bucketCacheStats.getRequestCount();<a name="line.272"></a>
+<span class="sourceLineNo">273</span> }<a name="line.273"></a>
+<span class="sourceLineNo">274</span><a name="line.274"></a>
+<span class="sourceLineNo">275</span> @Override<a name="line.275"></a>
+<span class="sourceLineNo">276</span> public long getRequestCachingCount() {<a name="line.276"></a>
+<span class="sourceLineNo">277</span> return lruCacheStats.getRequestCachingCount()<a name="line.277"></a>
+<span class="sourceLineNo">278</span> + bucketCacheStats.getRequestCachingCount();<a name="line.278"></a>
+<span class="sourceLineNo">279</span> }<a name="line.279"></a>
+<span class="sourceLineNo">280</span><a name="line.280"></a>
+<span class="sourceLineNo">281</span> @Override<a name="line.281"></a>
+<span class="sourceLineNo">282</span> public long getMissCount() {<a name="line.282"></a>
+<span class="sourceLineNo">283</span> return lruCacheStats.getMissCount() + bucketCacheStats.getMissCount();<a name="line.283"></a>
+<span class="sourceLineNo">284</span> }<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span> @Override<a name="line.286"></a>
+<span class="sourceLineNo">287</span> public long getPrimaryMissCount() {<a name="line.287"></a>
+<span class="sourceLineNo">288</span> return lruCacheStats.getPrimaryMissCount() + bucketCacheStats.getPrimaryMissCount();<a name="line.288"></a>
+<span class="sourceLineNo">289</span> }<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span> @Override<a name="line.291"></a>
+<span class="sourceLineNo">292</span> public long getMissCachingCount() {<a name="line.292"></a>
+<span class="sourceLineNo">293</span> return lruCacheStats.getMissCachingCount()<a name="line.293"></a>
+<span class="sourceLineNo">294</span> + bucketCacheStats.getMissCachingCount();<a name="line.294"></a>
+<span class="sourceLineNo">295</span> }<a name="line.295"></a>
+<span class="sourceLineNo">296</span><a name="line.296"></a>
+<span class="sourceLineNo">297</span> @Override<a name="line.297"></a>
+<span class="sourceLineNo">298</span> public long getHitCount() {<a name="line.298"></a>
+<span class="sourceLineNo">299</span> return lruCacheStats.getHitCount() + bucketCacheStats.getHitCount();<a name="line.299"></a>
+<span class="sourceLineNo">300</span> }<a name="line.300"></a>
+<span class="sourceLineNo">301</span><a name="line.301"></a>
+<span class="sourceLineNo">302</span> @Override<a name="line.302"></a>
+<span class="sourceLineNo">303</span> public long getPrimaryHitCount() {<a name="line.303"></a>
+<span class="sourceLineNo">304</span> return lruCacheStats.getPrimaryHitCount() + bucketCacheStats.getPrimaryHitCount();<a name="line.304"></a>
+<span class="sourceLineNo">305</span> }<a name="line.305"></a>
+<span class="sourceLineNo">306</span> @Override<a name="line.306"></a>
+<span class="sourceLineNo">307</span> public long getHitCachingCount() {<a name="line.307"></a>
+<span class="sourceLineNo">308</span> return lruCacheStats.getHitCachingCount()<a name="line.308"></a>
+<span class="sourceLineNo">309</span> + bucketCacheStats.getHitCachingCount();<a name="line.309"></a>
+<span class="sourceLineNo">310</span> }<a name="line.310"></a>
+<span class="sourceLineNo">311</span><a name="line.311"></a>
+<span class="sourceLineNo">312</span> @Override<a name="line.312"></a>
+<span class="sourceLineNo">313</span> public long getEvictionCount() {<a name="line.313"></a>
+<span class="sourceLineNo">314</span> return lruCacheStats.getEvictionCount()<a name="line.314"></a>
+<span class="sourceLineNo">315</span> + bucketCacheStats.getEvictionCount();<a name="line.315"></a>
+<span class="sourceLineNo">316</span> }<a name="line.316"></a>
+<span class="sourceLineNo">317</span><a name="line.317"></a>
+<span class="sourceLineNo">318</span> @Override<a name="line.318"></a>
+<span class="sourceLineNo">319</span> public long getEvictedCount() {<a name="line.319"></a>
+<span class="sourceLineNo">320</span> return lruCacheStats.getEvictedCount()<a name="line.320"></a>
+<span class="sourceLineNo">321</span> + bucketCacheStats.getEvictedCount();<a name="line.321"></a>
+<span class="sourceLineNo">322</span> }<a name="line.322"></a>
+<span class="sourceLineNo">323</span><a name="line.323"></a>
+<span class="sourceLineNo">324</span> @Override<a name="line.324"></a>
+<span class="sourceLineNo">325</span> public long getPrimaryEvictedCount() {<a name="line.325"></a>
+<span class="sourceLineNo">326</span> return lruCacheStats.getPrimaryEvictedCount()<a name="line.326"></a>
+<span class="sourceLineNo">327</span> + bucketCacheStats.getPrimaryEvictedCount();<a name="line.327"></a>
+<span class="sourceLineNo">328</span> }<a name="line.328"></a>
+<span class="sourceLineNo">329</span><a name="line.329"></a>
+<span class="sourceLineNo">330</span> @Override<a name="line.330"></a>
+<span class="sourceLineNo">331</span> public void rollMetricsPeriod() {<a name="line.331"></a>
+<span class="sourceLineNo">332</span> lruCacheStats.rollMetricsPeriod();<a name="line.332"></a>
+<span class="sourceLineNo">333</span> bucketCacheStats.rollMetricsPeriod();<a name="line.333"></a>
+<span class="sourceLineNo">334</span> }<a name="line.334"></a>
+<span class="sourceLineNo">335</span> <a name="line.335"></a>
+<span class="sourceLineNo">336</span> @Override<a name="line.336"></a>
+<span class="sourceLineNo">337</span> public long getFailedInserts() {<a name="line.337"></a>
+<span class="sourceLineNo">338</span> return lruCacheStats.getFailedInserts() + bucketCacheStats.getFailedInserts();<a name="line.338"></a>
+<span class="sourceLineNo">339</span> }<a name="line.339"></a>
+<span class="sourceLineNo">340</span><a name="line.340"></a>
+<span class="sourceLineNo">341</span> @Override<a name="line.341"></a>
+<span class="sourceLineNo">342</span> public long getSumHitCountsPastNPeriods() {<a name="line.342"></a>
+<span class="sourceLineNo">343</span> return lruCacheStats.getSumHitCountsPastNPeriods()<a name="line.343"></a>
+<span class="sourceLineNo">344</span> + bucketCacheStats.getSumHitCountsPastNPeriods();<a name="line.344"></a>
+<span class="sourceLineNo">345</span> }<a name="line.345"></a>
+<span class="sourceLineNo">346</span> <a name="line.346"></a>
+<span class="sourceLineNo">347</span> @Override<a name="line.347"></a>
+<span class="sourceLineNo">348</span> public long getSumRequestCountsPastNPeriods() {<a name="line.348"></a>
+<span class="sourceLineNo">349</span> return lruCacheStats.getSumRequestCountsPastNPeriods()<a name="line.349"></a>
+<span class="sourceLineNo">350</span> + bucketCacheStats.getSumRequestCountsPastNPeriods();<a name="line.350"></a>
+<span class="sourceLineNo">351</span> }<a name="line.351"></a>
+<span class="sourceLineNo">352</span> <a name="line.352"></a>
+<span class="sourceLineNo">353</span> @Override<a name="line.353"></a>
+<span class="sourceLineNo">354</span> public long getSumHitCachingCountsPastNPeriods() {<a name="line.354"></a>
+<span class="sourceLineNo">355</span> return lruCacheStats.getSumHitCachingCountsPastNPeriods()<a name="line.355"></a>
+<span class="sourceLineNo">356</span> + bucketCacheStats.getSumHitCachingCountsPastNPeriods();<a name="line.356"></a>
+<span class="sourceLineNo">357</span> }<a name="line.357"></a>
+<span class="sourceLineNo">358</span><a name="line.358"></a>
+<span class="sourceLineNo">359</span> @Override<a name="line.359"></a>
+<span class="sourceLineNo">360</span> public long getSumRequestCachingCountsPastNPeriods() {<a name="line.360"></a>
+<span class="sourceLineNo">361</span> return lruCacheStats.getSumRequestCachingCountsPastNPeriods()<a name="line.361"></a>
+<span class="sourceLineNo">362</span> + bucketCacheStats.getSumRequestCachingCountsPastNPeriods();<a name="line.362"></a>
+<span class="sourceLineNo">363</span> }<a name="line.363"></a>
+<span class="sourceLineNo">364</span> }<a name="line.364"></a>
+<span class="sourceLineNo">365</span><a name="line.365"></a>
+<span class="sourceLineNo">366</span> @Override<a name="line.366"></a>
+<span class="sourceLineNo">367</span> public Iterator<CachedBlock> iterator() {<a name="line.367"></a>
+<span class="sourceLineNo">368</span> return new BlockCachesIterator(getBlockCaches());<a name="line.368"></a>
+<span class="sourceLineNo">369</span> }<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span> @Override<a name="line.371"></a>
+<span class="sourceLineNo">372</span> public BlockCache[] getBlockCaches() {<a name="line.372"></a>
+<span class="sourceLineNo">373</span> return new BlockCache [] {this.onHeapCache, this.l2Cache};<a name="line.373"></a>
+<span class="sourceLineNo">374</span> }<a name="line.374"></a>
+<span class="sourceLineNo">375</span><a name="line.375"></a>
+<span class="sourceLineNo">376</span> @Override<a name="line.376"></a>
+<span class="sourceLineNo">377</span> public void setMaxSize(long size) {<a name="line.377"></a>
+<span class="sourceLineNo">378</span> this.onHeapCache.setMaxSize(size);<a name="line.378"></a>
+<span class="sourceLineNo">379</span> }<a name="line.379"></a>
+<span class="sourceLineNo">380</span><a name="line.380"></a>
+<span class="sourceLineNo">381</span> @Override<a name="line.381"></a>
+<span class="sourceLineNo">382</span> public void returnBlock(BlockCacheKey cacheKey, Cacheable block) {<a name="line.382"></a>
+<span class="sourceLineNo">383</span> // returnBlock is meaningful for L2 cache alone.<a name="line.383"></a>
+<span class="sourceLineNo">384</span> this.l2Cache.returnBlock(cacheKey, block);<a name="line.384"></a>
+<span class="sourceLineNo">385</span> }<a name="line.385"></a>
+<span class="sourceLineNo">386</span><a name="line.386"></a>
+<span class="sourceLineNo">387</span> @VisibleForTesting<a name="line.387"></a>
+<span class="sourceLineNo">388</span> public int getRefCount(BlockCacheKey cacheKey) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span> return (this.l2Cache instanceof BucketCache)<a name="line.389"></a>
+<span class="sourceLineNo">390</span> ? ((BucketCache) this.l2Cache).getRefCount(cacheKey) : 0;<a name="line.390"></a>
+<span class="sourceLineNo">391</span> }<a name="line.391"></a>
+<span class="sourceLineNo">392</span><a name="line.392"></a>
+<span class="sourceLineNo">393</span> public LruBlockCache getOnHeapCache() {<a name="line.393"></a>
+<span class="sourceLineNo">394</span> return onHeapCache;<a name="line.394"></a>
+<span class="sourceLineNo">395</span> }<a name="line.395"></a>
+<span class="sourceLineNo">396</span>}<a name="line.396"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html
index 1e81ef0..ac83508 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html
@@ -160,236 +160,248 @@
<span class="sourceLineNo">152</span> this.bucketCacheStats = fcStats;<a name="line.152"></a>
<span class="sourceLineNo">153</span> }<a name="line.153"></a>
<span class="sourceLineNo">154</span><a name="line.154"></a>
-<span class="sourceLineNo">155</span> @Override<a name="line.155"></a>
-<span class="sourceLineNo">156</span> public long getDataMissCount() {<a name="line.156"></a>
-<span class="sourceLineNo">157</span> return lruCacheStats.getDataMissCount() + bucketCacheStats.getDataMissCount();<a name="line.157"></a>
-<span class="sourceLineNo">158</span> }<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span> @Override<a name="line.160"></a>
-<span class="sourceLineNo">161</span> public long getLeafIndexMissCount() {<a name="line.161"></a>
-<span class="sourceLineNo">162</span> return lruCacheStats.getLeafIndexMissCount() + bucketCacheStats.getLeafIndexMissCount();<a name="line.162"></a>
-<span class="sourceLineNo">163</span> }<a name="line.163"></a>
-<span class="sourceLineNo">164</span><a name="line.164"></a>
-<span class="sourceLineNo">165</span> @Override<a name="line.165"></a>
-<span class="sourceLineNo">166</span> public long getBloomChunkMissCount() {<a name="line.166"></a>
-<span class="sourceLineNo">167</span> return lruCacheStats.getBloomChunkMissCount() + bucketCacheStats.getBloomChunkMissCount();<a name="line.167"></a>
-<span class="sourceLineNo">168</span> }<a name="line.168"></a>
-<span class="sourceLineNo">169</span><a name="line.169"></a>
-<span class="sourceLineNo">170</span> @Override<a name="line.170"></a>
-<span class="sourceLineNo">171</span> public long getMetaMissCount() {<a name="line.171"></a>
-<span class="sourceLineNo">172</span> return lruCacheStats.getMetaMissCount() + bucketCacheStats.getMetaMissCount();<a name="line.172"></a>
-<span class="sourceLineNo">173</span> }<a name="line.173"></a>
-<span class="sourceLineNo">174</span><a name="line.174"></a>
-<span class="sourceLineNo">175</span> @Override<a name="line.175"></a>
-<span class="sourceLineNo">176</span> public long getRootIndexMissCount() {<a name="line.176"></a>
-<span class="sourceLineNo">177</span> return lruCacheStats.getRootIndexMissCount() + bucketCacheStats.getRootIndexMissCount();<a name="line.177"></a>
-<span class="sourceLineNo">178</span> }<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span> @Override<a name="line.180"></a>
-<span class="sourceLineNo">181</span> public long getIntermediateIndexMissCount() {<a name="line.181"></a>
-<span class="sourceLineNo">182</span> return lruCacheStats.getIntermediateIndexMissCount() +<a name="line.182"></a>
-<span class="sourceLineNo">183</span> bucketCacheStats.getIntermediateIndexMissCount();<a name="line.183"></a>
-<span class="sourceLineNo">184</span> }<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span> @Override<a name="line.186"></a>
-<span class="sourceLineNo">187</span> public long getFileInfoMissCount() {<a name="line.187"></a>
-<span class="sourceLineNo">188</span> return lruCacheStats.getFileInfoMissCount() + bucketCacheStats.getFileInfoMissCount();<a name="line.188"></a>
-<span class="sourceLineNo">189</span> }<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span> @Override<a name="line.191"></a>
-<span class="sourceLineNo">192</span> public long getGeneralBloomMetaMissCount() {<a name="line.192"></a>
-<span class="sourceLineNo">193</span> return lruCacheStats.getGeneralBloomMetaMissCount() +<a name="line.193"></a>
-<span class="sourceLineNo">194</span> bucketCacheStats.getGeneralBloomMetaMissCount();<a name="line.194"></a>
-<span class="sourceLineNo">195</span> }<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span> @Override<a name="line.197"></a>
-<span class="sourceLineNo">198</span> public long getDeleteFamilyBloomMissCount() {<a name="line.198"></a>
-<span class="sourceLineNo">199</span> return lruCacheStats.getDeleteFamilyBloomMissCount() +<a name="line.199"></a>
-<span class="sourceLineNo">200</span> bucketCacheStats.getDeleteFamilyBloomMissCount();<a name="line.200"></a>
-<span class="sourceLineNo">201</span> }<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span> @Override<a name="line.203"></a>
-<span class="sourceLineNo">204</span> public long getTrailerMissCount() {<a name="line.204"></a>
-<span class="sourceLineNo">205</span> return lruCacheStats.getTrailerMissCount() + bucketCacheStats.getTrailerMissCount();<a name="line.205"></a>
-<span class="sourceLineNo">206</span> }<a name="line.206"></a>
-<span class="sourceLineNo">207</span><a name="line.207"></a>
-<span class="sourceLineNo">208</span> @Override<a name="line.208"></a>
-<span class="sourceLineNo">209</span> public long getDataHitCount() {<a name="line.209"></a>
-<span class="sourceLineNo">210</span> return lruCacheStats.getDataHitCount() + bucketCacheStats.getDataHitCount();<a name="line.210"></a>
-<span class="sourceLineNo">211</span> }<a name="line.211"></a>
-<span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span> @Override<a name="line.213"></a>
-<span class="sourceLineNo">214</span> public long getLeafIndexHitCount() {<a name="line.214"></a>
-<span class="sourceLineNo">215</span> return lruCacheStats.getLeafIndexHitCount() + bucketCacheStats.getLeafIndexHitCount();<a name="line.215"></a>
-<span class="sourceLineNo">216</span> }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span> @Override<a name="line.218"></a>
-<span class="sourceLineNo">219</span> public long getBloomChunkHitCount() {<a name="line.219"></a>
-<span class="sourceLineNo">220</span> return lruCacheStats.getBloomChunkHitCount() + bucketCacheStats.getBloomChunkHitCount();<a name="line.220"></a>
-<span class="sourceLineNo">221</span> }<a name="line.221"></a>
-<span class="sourceLineNo">222</span><a name="line.222"></a>
-<span class="sourceLineNo">223</span> @Override<a name="line.223"></a>
-<span class="sourceLineNo">224</span> public long getMetaHitCount() {<a name="line.224"></a>
-<span class="sourceLineNo">225</span> return lruCacheStats.getMetaHitCount() + bucketCacheStats.getMetaHitCount();<a name="line.225"></a>
-<span class="sourceLineNo">226</span> }<a name="line.226"></a>
-<span class="sourceLineNo">227</span><a name="line.227"></a>
-<span class="sourceLineNo">228</span> @Override<a name="line.228"></a>
-<span class="sourceLineNo">229</span> public long getRootIndexHitCount() {<a name="line.229"></a>
-<span class="sourceLineNo">230</span> return lruCacheStats.getRootIndexHitCount() + bucketCacheStats.getRootIndexHitCount();<a name="line.230"></a>
-<span class="sourceLineNo">231</span> }<a name="line.231"></a>
-<span class="sourceLineNo">232</span><a name="line.232"></a>
-<span class="sourceLineNo">233</span> @Override<a name="line.233"></a>
-<span class="sourceLineNo">234</span> public long getIntermediateIndexHitCount() {<a name="line.234"></a>
-<span class="sourceLineNo">235</span> return lruCacheStats.getIntermediateIndexHitCount() +<a name="line.235"></a>
-<span class="sourceLineNo">236</span> bucketCacheStats.getIntermediateIndexHitCount();<a name="line.236"></a>
-<span class="sourceLineNo">237</span> }<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span> @Override<a name="line.239"></a>
-<span class="sourceLineNo">240</span> public long getFileInfoHitCount() {<a name="line.240"></a>
-<span class="sourceLineNo">241</span> return lruCacheStats.getFileInfoHitCount() + bucketCacheStats.getFileInfoHitCount();<a name="line.241"></a>
-<span class="sourceLineNo">242</span> }<a name="line.242"></a>
-<span class="sourceLineNo">243</span><a name="line.243"></a>
-<span class="sourceLineNo">244</span> @Override<a name="line.244"></a>
-<span class="sourceLineNo">245</span> public long getGeneralBloomMetaHitCount() {<a name="line.245"></a>
-<span class="sourceLineNo">246</span> return lruCacheStats.getGeneralBloomMetaHitCount() +<a name="line.246"></a>
-<span class="sourceLineNo">247</span> bucketCacheStats.getGeneralBloomMetaHitCount();<a name="line.247"></a>
-<span class="sourceLineNo">248</span> }<a name="line.248"></a>
-<span class="sourceLineNo">249</span><a name="line.249"></a>
-<span class="sourceLineNo">250</span> @Override<a name="line.250"></a>
-<span class="sourceLineNo">251</span> public long getDeleteFamilyBloomHitCount() {<a name="line.251"></a>
-<span class="sourceLineNo">252</span> return lruCacheStats.getDeleteFamilyBloomHitCount() +<a name="line.252"></a>
-<span class="sourceLineNo">253</span> bucketCacheStats.getDeleteFamilyBloomHitCount();<a name="line.253"></a>
-<span class="sourceLineNo">254</span> }<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span> @Override<a name="line.256"></a>
-<span class="sourceLineNo">257</span> public long getTrailerHitCount() {<a name="line.257"></a>
-<span class="sourceLineNo">258</span> return lruCacheStats.getTrailerHitCount() + bucketCacheStats.getTrailerHitCount();<a name="line.258"></a>
-<span class="sourceLineNo">259</span> }<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span> @Override<a name="line.261"></a>
-<span class="sourceLineNo">262</span> public long getRequestCount() {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> return lruCacheStats.getRequestCount()<a name="line.263"></a>
-<span class="sourceLineNo">264</span> + bucketCacheStats.getRequestCount();<a name="line.264"></a>
-<span class="sourceLineNo">265</span> }<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span> @Override<a name="line.267"></a>
-<span class="sourceLineNo">268</span> public long getRequestCachingCount() {<a name="line.268"></a>
-<span class="sourceLineNo">269</span> return lruCacheStats.getRequestCachingCount()<a name="line.269"></a>
-<span class="sourceLineNo">270</span> + bucketCacheStats.getRequestCachingCount();<a name="line.270"></a>
-<span class="sourceLineNo">271</span> }<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span> @Override<a name="line.273"></a>
-<span class="sourceLineNo">274</span> public long getMissCount() {<a name="line.274"></a>
-<span class="sourceLineNo">275</span> return lruCacheStats.getMissCount() + bucketCacheStats.getMissCount();<a name="line.275"></a>
-<span class="sourceLineNo">276</span> }<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span> @Override<a name="line.278"></a>
-<span class="sourceLineNo">279</span> public long getPrimaryMissCount() {<a name="line.279"></a>
-<span class="sourceLineNo">280</span> return lruCacheStats.getPrimaryMissCount() + bucketCacheStats.getPrimaryMissCount();<a name="line.280"></a>
-<span class="sourceLineNo">281</span> }<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span> @Override<a name="line.283"></a>
-<span class="sourceLineNo">284</span> public long getMissCachingCount() {<a name="line.284"></a>
-<span class="sourceLineNo">285</span> return lruCacheStats.getMissCachingCount()<a name="line.285"></a>
-<span class="sourceLineNo">286</span> + bucketCacheStats.getMissCachingCount();<a name="line.286"></a>
-<span class="sourceLineNo">287</span> }<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span> @Override<a name="line.289"></a>
-<span class="sourceLineNo">290</span> public long getHitCount() {<a name="line.290"></a>
-<span class="sourceLineNo">291</span> return lruCacheStats.getHitCount() + bucketCacheStats.getHitCount();<a name="line.291"></a>
-<span class="sourceLineNo">292</span> }<a name="line.292"></a>
-<span class="sourceLineNo">293</span><a name="line.293"></a>
-<span class="sourceLineNo">294</span> @Override<a name="line.294"></a>
-<span class="sourceLineNo">295</span> public long getPrimaryHitCount() {<a name="line.295"></a>
-<span class="sourceLineNo">296</span> return lruCacheStats.getPrimaryHitCount() + bucketCacheStats.getPrimaryHitCount();<a name="line.296"></a>
-<span class="sourceLineNo">297</span> }<a name="line.297"></a>
-<span class="sourceLineNo">298</span> @Override<a name="line.298"></a>
-<span class="sourceLineNo">299</span> public long getHitCachingCount() {<a name="line.299"></a>
-<span class="sourceLineNo">300</span> return lruCacheStats.getHitCachingCount()<a name="line.300"></a>
-<span class="sourceLineNo">301</span> + bucketCacheStats.getHitCachingCount();<a name="line.301"></a>
-<span class="sourceLineNo">302</span> }<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span> @Override<a name="line.304"></a>
-<span class="sourceLineNo">305</span> public long getEvictionCount() {<a name="line.305"></a>
-<span class="sourceLineNo">306</span> return lruCacheStats.getEvictionCount()<a name="line.306"></a>
-<span class="sourceLineNo">307</span> + bucketCacheStats.getEvictionCount();<a name="line.307"></a>
-<span class="sourceLineNo">308</span> }<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span> @Override<a name="line.310"></a>
-<span class="sourceLineNo">311</span> public long getEvictedCount() {<a name="line.311"></a>
-<span class="sourceLineNo">312</span> return lruCacheStats.getEvictedCount()<a name="line.312"></a>
-<span class="sourceLineNo">313</span> + bucketCacheStats.getEvictedCount();<a name="line.313"></a>
-<span class="sourceLineNo">314</span> }<a name="line.314"></a>
-<span class="sourceLineNo">315</span><a name="line.315"></a>
-<span class="sourceLineNo">316</span> @Override<a name="line.316"></a>
-<span class="sourceLineNo">317</span> public long getPrimaryEvictedCount() {<a name="line.317"></a>
-<span class="sourceLineNo">318</span> return lruCacheStats.getPrimaryEvictedCount()<a name="line.318"></a>
-<span class="sourceLineNo">319</span> + bucketCacheStats.getPrimaryEvictedCount();<a name="line.319"></a>
-<span class="sourceLineNo">320</span> }<a name="line.320"></a>
-<span class="sourceLineNo">321</span><a name="line.321"></a>
-<span class="sourceLineNo">322</span> @Override<a name="line.322"></a>
-<span class="sourceLineNo">323</span> public void rollMetricsPeriod() {<a name="line.323"></a>
-<span class="sourceLineNo">324</span> lruCacheStats.rollMetricsPeriod();<a name="line.324"></a>
-<span class="sourceLineNo">325</span> bucketCacheStats.rollMetricsPeriod();<a name="line.325"></a>
-<span class="sourceLineNo">326</span> }<a name="line.326"></a>
-<span class="sourceLineNo">327</span> <a name="line.327"></a>
-<span class="sourceLineNo">328</span> @Override<a name="line.328"></a>
-<span class="sourceLineNo">329</span> public long getFailedInserts() {<a name="line.329"></a>
-<span class="sourceLineNo">330</span> return lruCacheStats.getFailedInserts() + bucketCacheStats.getFailedInserts();<a name="line.330"></a>
-<span class="sourceLineNo">331</span> }<a name="line.331"></a>
-<span class="sourceLineNo">332</span><a name="line.332"></a>
-<span class="sourceLineNo">333</span> @Override<a name="line.333"></a>
-<span class="sourceLineNo">334</span> public long getSumHitCountsPastNPeriods() {<a name="line.334"></a>
-<span class="sourceLineNo">335</span> return lruCacheStats.getSumHitCountsPastNPeriods()<a name="line.335"></a>
-<span class="sourceLineNo">336</span> + bucketCacheStats.getSumHitCountsPastNPeriods();<a name="line.336"></a>
-<span class="sourceLineNo">337</span> }<a name="line.337"></a>
-<span class="sourceLineNo">338</span> <a name="line.338"></a>
-<span class="sourceLineNo">339</span> @Override<a name="line.339"></a>
-<span class="sourceLineNo">340</span> public long getSumRequestCountsPastNPeriods() {<a name="line.340"></a>
-<span class="sourceLineNo">341</span> return lruCacheStats.getSumRequestCountsPastNPeriods()<a name="line.341"></a>
-<span class="sourceLineNo">342</span> + bucketCacheStats.getSumRequestCountsPastNPeriods();<a name="line.342"></a>
-<span class="sourceLineNo">343</span> }<a name="line.343"></a>
-<span class="sourceLineNo">344</span> <a name="line.344"></a>
-<span class="sourceLineNo">345</span> @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span> public long getSumHitCachingCountsPastNPeriods() {<a name="line.346"></a>
-<span class="sourceLineNo">347</span> return lruCacheStats.getSumHitCachingCountsPastNPeriods()<a name="line.347"></a>
-<span class="sourceLineNo">348</span> + bucketCacheStats.getSumHitCachingCountsPastNPeriods();<a name="line.348"></a>
-<span class="sourceLineNo">349</span> }<a name="line.349"></a>
-<span class="sourceLineNo">350</span><a name="line.350"></a>
-<span class="sourceLineNo">351</span> @Override<a name="line.351"></a>
-<span class="sourceLineNo">352</span> public long getSumRequestCachingCountsPastNPeriods() {<a name="line.352"></a>
-<span class="sourceLineNo">353</span> return lruCacheStats.getSumRequestCachingCountsPastNPeriods()<a name="line.353"></a>
-<span class="sourceLineNo">354</span> + bucketCacheStats.getSumRequestCachingCountsPastNPeriods();<a name="line.354"></a>
-<span class="sourceLineNo">355</span> }<a name="line.355"></a>
-<span class="sourceLineNo">356</span> }<a name="line.356"></a>
-<span class="sourceLineNo">357</span><a name="line.357"></a>
-<span class="sourceLineNo">358</span> @Override<a name="line.358"></a>
-<span class="sourceLineNo">359</span> public Iterator<CachedBlock> iterator() {<a name="line.359"></a>
-<span class="sourceLineNo">360</span> return new BlockCachesIterator(getBlockCaches());<a name="line.360"></a>
-<span class="sourceLineNo">361</span> }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span> @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span> public BlockCache[] getBlockCaches() {<a name="line.364"></a>
-<span class="sourceLineNo">365</span> return new BlockCache [] {this.onHeapCache, this.l2Cache};<a name="line.365"></a>
-<span class="sourceLineNo">366</span> }<a name="line.366"></a>
-<span class="sourceLineNo">367</span><a name="line.367"></a>
-<span class="sourceLineNo">368</span> @Override<a name="line.368"></a>
-<span class="sourceLineNo">369</span> public void setMaxSize(long size) {<a name="line.369"></a>
-<span class="sourceLineNo">370</span> this.onHeapCache.setMaxSize(size);<a name="line.370"></a>
-<span class="sourceLineNo">371</span> }<a name="line.371"></a>
-<span class="sourceLineNo">372</span><a name="line.372"></a>
-<span class="sourceLineNo">373</span> @Override<a name="line.373"></a>
-<span class="sourceLineNo">374</span> public void returnBlock(BlockCacheKey cacheKey, Cacheable block) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span> // returnBlock is meaningful for L2 cache alone.<a name="line.375"></a>
-<span class="sourceLineNo">376</span> this.l2Cache.returnBlock(cacheKey, block);<a name="line.376"></a>
-<span class="sourceLineNo">377</span> }<a name="line.377"></a>
-<span class="sourceLineNo">378</span><a name="line.378"></a>
-<span class="sourceLineNo">379</span> @VisibleForTesting<a name="line.379"></a>
-<span class="sourceLineNo">380</span> public int getRefCount(BlockCacheKey cacheKey) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span> return (this.l2Cache instanceof BucketCache)<a name="line.381"></a>
-<span class="sourceLineNo">382</span> ? ((BucketCache) this.l2Cache).getRefCount(cacheKey) : 0;<a name="line.382"></a>
-<span class="sourceLineNo">383</span> }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>}<a name="line.384"></a>
+<span class="sourceLineNo">155</span> public CacheStats getLruCacheStats() {<a name="line.155"></a>
+<span class="sourceLineNo">156</span> return this.lruCacheStats;<a name="line.156"></a>
+<span class="sourceLineNo">157</span> }<a name="line.157"></a>
+<span class="sourceLineNo">158</span><a name="line.158"></a>
+<span class="sourceLineNo">159</span> public CacheStats getBucketCacheStats() {<a name="line.159"></a>
+<span class="sourceLineNo">160</span> return this.bucketCacheStats;<a name="line.160"></a>
+<span class="sourceLineNo">161</span> }<a name="line.161"></a>
+<span class="sourceLineNo">162</span><a name="line.162"></a>
+<span class="sourceLineNo">163</span> @Override<a name="line.163"></a>
+<span class="sourceLineNo">164</span> public long getDataMissCount() {<a name="line.164"></a>
+<span class="sourceLineNo">165</span> return lruCacheStats.getDataMissCount() + bucketCacheStats.getDataMissCount();<a name="line.165"></a>
+<span class="sourceLineNo">166</span> }<a name="line.166"></a>
+<span class="sourceLineNo">167</span><a name="line.167"></a>
+<span class="sourceLineNo">168</span> @Override<a name="line.168"></a>
+<span class="sourceLineNo">169</span> public long getLeafIndexMissCount() {<a name="line.169"></a>
+<span class="sourceLineNo">170</span> return lruCacheStats.getLeafIndexMissCount() + bucketCacheStats.getLeafIndexMissCount();<a name="line.170"></a>
+<span class="sourceLineNo">171</span> }<a name="line.171"></a>
+<span class="sourceLineNo">172</span><a name="line.172"></a>
+<span class="sourceLineNo">173</span> @Override<a name="line.173"></a>
+<span class="sourceLineNo">174</span> public long getBloomChunkMissCount() {<a name="line.174"></a>
+<span class="sourceLineNo">175</span> return lruCacheStats.getBloomChunkMissCount() + bucketCacheStats.getBloomChunkMissCount();<a name="line.175"></a>
+<span class="sourceLineNo">176</span> }<a name="line.176"></a>
+<span class="sourceLineNo">177</span><a name="line.177"></a>
+<span class="sourceLineNo">178</span> @Override<a name="line.178"></a>
+<span class="sourceLineNo">179</span> public long getMetaMissCount() {<a name="line.179"></a>
+<span class="sourceLineNo">180</span> return lruCacheStats.getMetaMissCount() + bucketCacheStats.getMetaMissCount();<a name="line.180"></a>
+<span class="sourceLineNo">181</span> }<a name="line.181"></a>
+<span class="sourceLineNo">182</span><a name="line.182"></a>
+<span class="sourceLineNo">183</span> @Override<a name="line.183"></a>
+<span class="sourceLineNo">184</span> public long getRootIndexMissCount() {<a name="line.184"></a>
+<span class="sourceLineNo">185</span> return lruCacheStats.getRootIndexMissCount() + bucketCacheStats.getRootIndexMissCount();<a name="line.185"></a>
+<span class="sourceLineNo">186</span> }<a name="line.186"></a>
+<span class="sourceLineNo">187</span><a name="line.187"></a>
+<span class="sourceLineNo">188</span> @Override<a name="line.188"></a>
+<span class="sourceLineNo">189</span> public long getIntermediateIndexMissCount() {<a name="line.189"></a>
+<span class="sourceLineNo">190</span> return lruCacheStats.getIntermediateIndexMissCount() +<a name="line.190"></a>
+<span class="sourceLineNo">191</span> bucketCacheStats.getIntermediateIndexMissCount();<a name="line.191"></a>
+<span class="sourceLineNo">192</span> }<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span> @Override<a name="line.194"></a>
+<span class="sourceLineNo">195</span> public long getFileInfoMissCount() {<a name="line.195"></a>
+<span class="sourceLineNo">196</span> return lruCacheStats.getFileInfoMissCount() + bucketCacheStats.getFileInfoMissCount();<a name="line.196"></a>
+<span class="sourceLineNo">197</span> }<a name="line.197"></a>
+<span class="sourceLineNo">198</span><a name="line.198"></a>
+<span class="sourceLineNo">199</span> @Override<a name="line.199"></a>
+<span class="sourceLineNo">200</span> public long getGeneralBloomMetaMissCount() {<a name="line.200"></a>
+<span class="sourceLineNo">201</span> return lruCacheStats.getGeneralBloomMetaMissCount() +<a name="line.201"></a>
+<span class="sourceLineNo">202</span> bucketCacheStats.getGeneralBloomMetaMissCount();<a name="line.202"></a>
+<span class="sourceLineNo">203</span> }<a name="line.203"></a>
+<span class="sourceLineNo">204</span><a name="line.204"></a>
+<span class="sourceLineNo">205</span> @Override<a name="line.205"></a>
+<span class="sourceLineNo">206</span> public long getDeleteFamilyBloomMissCount() {<a name="line.206"></a>
+<span class="sourceLineNo">207</span> return lruCacheStats.getDeleteFamilyBloomMissCount() +<a name="line.207"></a>
+<span class="sourceLineNo">208</span> bucketCacheStats.getDeleteFamilyBloomMissCount();<a name="line.208"></a>
+<span class="sourceLineNo">209</span> }<a name="line.209"></a>
+<span class="sourceLineNo">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span> @Override<a name="line.211"></a>
+<span class="sourceLineNo">212</span> public long getTrailerMissCount() {<a name="line.212"></a>
+<span class="sourceLineNo">213</span> return lruCacheStats.getTrailerMissCount() + bucketCacheStats.getTrailerMissCount();<a name="line.213"></a>
+<span class="sourceLineNo">214</span> }<a name="line.214"></a>
+<span class="sourceLineNo">215</span><a name="line.215"></a>
+<span class="sourceLineNo">216</span> @Override<a name="line.216"></a>
+<span class="sourceLineNo">217</span> public long getDataHitCount() {<a name="line.217"></a>
+<span class="sourceLineNo">218</span> return lruCacheStats.getDataHitCount() + bucketCacheStats.getDataHitCount();<a name="line.218"></a>
+<span class="sourceLineNo">219</span> }<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span> @Override<a name="line.221"></a>
+<span class="sourceLineNo">222</span> public long getLeafIndexHitCount() {<a name="line.222"></a>
+<span class="sourceLineNo">223</span> return lruCacheStats.getLeafIndexHitCount() + bucketCacheStats.getLeafIndexHitCount();<a name="line.223"></a>
+<span class="sourceLineNo">224</span> }<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span> @Override<a name="line.226"></a>
+<span class="sourceLineNo">227</span> public long getBloomChunkHitCount() {<a name="line.227"></a>
+<span class="sourceLineNo">228</span> return lruCacheStats.getBloomChunkHitCount() + bucketCacheStats.getBloomChunkHitCount();<a name="line.228"></a>
+<span class="sourceLineNo">229</span> }<a name="line.229"></a>
+<span class="sourceLineNo">230</span><a name="line.230"></a>
+<span class="sourceLineNo">231</span> @Override<a name="line.231"></a>
+<span class="sourceLineNo">232</span> public long getMetaHitCount() {<a name="line.232"></a>
+<span class="sourceLineNo">233</span> return lruCacheStats.getMetaHitCount() + bucketCacheStats.getMetaHitCount();<a name="line.233"></a>
+<span class="sourceLineNo">234</span> }<a name="line.234"></a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span> @Override<a name="line.236"></a>
+<span class="sourceLineNo">237</span> public long getRootIndexHitCount() {<a name="line.237"></a>
+<span class="sourceLineNo">238</span> return lruCacheStats.getRootIndexHitCount() + bucketCacheStats.getRootIndexHitCount();<a name="line.238"></a>
+<span class="sourceLineNo">239</span> }<a name="line.239"></a>
+<span class="sourceLineNo">240</span><a name="line.240"></a>
+<span class="sourceLineNo">241</span> @Override<a name="line.241"></a>
+<span class="sourceLineNo">242</span> public long getIntermediateIndexHitCount() {<a name="line.242"></a>
+<span class="sourceLineNo">243</span> return lruCacheStats.getIntermediateIndexHitCount() +<a name="line.243"></a>
+<span class="sourceLineNo">244</span> bucketCacheStats.getIntermediateIndexHitCount();<a name="line.244"></a>
+<span class="sourceLineNo">245</span> }<a name="line.245"></a>
+<span class="sourceLineNo">246</span><a name="line.246"></a>
+<span class="sourceLineNo">247</span> @Override<a name="line.247"></a>
+<span class="sourceLineNo">248</span> public long getFileInfoHitCount() {<a name="line.248"></a>
+<span class="sourceLineNo">249</span> return lruCacheStats.getFileInfoHitCount() + bucketCacheStats.getFileInfoHitCount();<a name="line.249"></a>
+<span class="sourceLineNo">250</span> }<a name="line.250"></a>
+<span class="sourceLineNo">251</span><a name="line.251"></a>
+<span class="sourceLineNo">252</span> @Override<a name="line.252"></a>
+<span class="sourceLineNo">253</span> public long getGeneralBloomMetaHitCount() {<a name="line.253"></a>
+<span class="sourceLineNo">254</span> return lruCacheStats.getGeneralBloomMetaHitCount() +<a name="line.254"></a>
+<span class="sourceLineNo">255</span> bucketCacheStats.getGeneralBloomMetaHitCount();<a name="line.255"></a>
+<span class="sourceLineNo">256</span> }<a name="line.256"></a>
+<span class="sourceLineNo">257</span><a name="line.257"></a>
+<span class="sourceLineNo">258</span> @Override<a name="line.258"></a>
+<span class="sourceLineNo">259</span> public long getDeleteFamilyBloomHitCount() {<a name="line.259"></a>
+<span class="sourceLineNo">260</span> return lruCacheStats.getDeleteFamilyBloomHitCount() +<a name="line.260"></a>
+<span class="sourceLineNo">261</span> bucketCacheStats.getDeleteFamilyBloomHitCount();<a name="line.261"></a>
+<span class="sourceLineNo">262</span> }<a name="line.262"></a>
+<span class="sourceLineNo">263</span><a name="line.263"></a>
+<span class="sourceLineNo">264</span> @Override<a name="line.264"></a>
+<span class="sourceLineNo">265</span> public long getTrailerHitCount() {<a name="line.265"></a>
+<span class="sourceLineNo">266</span> return lruCacheStats.getTrailerHitCount() + bucketCacheStats.getTrailerHitCount();<a name="line.266"></a>
+<span class="sourceLineNo">267</span> }<a name="line.267"></a>
+<span class="sourceLineNo">268</span><a name="line.268"></a>
+<span class="sourceLineNo">269</span> @Override<a name="line.269"></a>
+<span class="sourceLineNo">270</span> public long getRequestCount() {<a name="line.270"></a>
+<span class="sourceLineNo">271</span> return lruCacheStats.getRequestCount()<a name="line.271"></a>
+<span class="sourceLineNo">272</span> + bucketCacheStats.getRequestCount();<a name="line.272"></a>
+<span class="sourceLineNo">273</span> }<a name="line.273"></a>
+<span class="sourceLineNo">274</span><a name="line.274"></a>
+<span class="sourceLineNo">275</span> @Override<a name="line.275"></a>
+<span class="sourceLineNo">276</span> public long getRequestCachingCount() {<a name="line.276"></a>
+<span class="sourceLineNo">277</span> return lruCacheStats.getRequestCachingCount()<a name="line.277"></a>
+<span class="sourceLineNo">278</span> + bucketCacheStats.getRequestCachingCount();<a name="line.278"></a>
+<span class="sourceLineNo">279</span> }<a name="line.279"></a>
+<span class="sourceLineNo">280</span><a name="line.280"></a>
+<span class="sourceLineNo">281</span> @Override<a name="line.281"></a>
+<span class="sourceLineNo">282</span> public long getMissCount() {<a name="line.282"></a>
+<span class="sourceLineNo">283</span> return lruCacheStats.getMissCount() + bucketCacheStats.getMissCount();<a name="line.283"></a>
+<span class="sourceLineNo">284</span> }<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span> @Override<a name="line.286"></a>
+<span class="sourceLineNo">287</span> public long getPrimaryMissCount() {<a name="line.287"></a>
+<span class="sourceLineNo">288</span> return lruCacheStats.getPrimaryMissCount() + bucketCacheStats.getPrimaryMissCount();<a name="line.288"></a>
+<span class="sourceLineNo">289</span> }<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span> @Override<a name="line.291"></a>
+<span class="sourceLineNo">292</span> public long getMissCachingCount() {<a name="line.292"></a>
+<span class="sourceLineNo">293</span> return lruCacheStats.getMissCachingCount()<a name="line.293"></a>
+<span class="sourceLineNo">294</span> + bucketCacheStats.getMissCachingCount();<a name="line.294"></a>
+<span class="sourceLineNo">295</span> }<a name="line.295"></a>
+<span class="sourceLineNo">296</span><a name="line.296"></a>
+<span class="sourceLineNo">297</span> @Override<a name="line.297"></a>
+<span class="sourceLineNo">298</span> public long getHitCount() {<a name="line.298"></a>
+<span class="sourceLineNo">299</span> return lruCacheStats.getHitCount() + bucketCacheStats.getHitCount();<a name="line.299"></a>
+<span class="sourceLineNo">300</span> }<a name="line.300"></a>
+<span class="sourceLineNo">301</span><a name="line.301"></a>
+<span class="sourceLineNo">302</span> @Override<a name="line.302"></a>
+<span class="sourceLineNo">303</span> public long getPrimaryHitCount() {<a name="line.303"></a>
+<span class="sourceLineNo">304</span> return lruCacheStats.getPrimaryHitCount() + bucketCacheStats.getPrimaryHitCount();<a name="line.304"></a>
+<span class="sourceLineNo">305</span> }<a name="line.305"></a>
+<span class="sourceLineNo">306</span> @Override<a name="line.306"></a>
+<span class="sourceLineNo">307</span> public long getHitCachingCount() {<a name="line.307"></a>
+<span class="sourceLineNo">308</span> return lruCacheStats.getHitCachingCount()<a name="line.308"></a>
+<span class="sourceLineNo">309</span> + bucketCacheStats.getHitCachingCount();<a name="line.309"></a>
+<span class="sourceLineNo">310</span> }<a name="line.310"></a>
+<span class="sourceLineNo">311</span><a name="line.311"></a>
+<span class="sourceLineNo">312</span> @Override<a name="line.312"></a>
+<span class="sourceLineNo">313</span> public long getEvictionCount() {<a name="line.313"></a>
+<span class="sourceLineNo">314</span> return lruCacheStats.getEvictionCount()<a name="line.314"></a>
+<span class="sourceLineNo">315</span> + bucketCacheStats.getEvictionCount();<a name="line.315"></a>
+<span class="sourceLineNo">316</span> }<a name="line.316"></a>
+<span class="sourceLineNo">317</span><a name="line.317"></a>
+<span class="sourceLineNo">318</span> @Override<a name="line.318"></a>
+<span class="sourceLineNo">319</span> public long getEvictedCount() {<a name="line.319"></a>
+<span class="sourceLineNo">320</span> return lruCacheStats.getEvictedCount()<a name="line.320"></a>
+<span class="sourceLineNo">321</span> + bucketCacheStats.getEvictedCount();<a name="line.321"></a>
+<span class="sourceLineNo">322</span> }<a name="line.322"></a>
+<span class="sourceLineNo">323</span><a name="line.323"></a>
+<span class="sourceLineNo">324</span> @Override<a name="line.324"></a>
+<span class="sourceLineNo">325</span> public long getPrimaryEvictedCount() {<a name="line.325"></a>
+<span class="sourceLineNo">326</span> return lruCacheStats.getPrimaryEvictedCount()<a name="line.326"></a>
+<span class="sourceLineNo">327</span> + bucketCacheStats.getPrimaryEvictedCount();<a name="line.327"></a>
+<span class="sourceLineNo">328</span> }<a name="line.328"></a>
+<span class="sourceLineNo">329</span><a name="line.329"></a>
+<span class="sourceLineNo">330</span> @Override<a name="line.330"></a>
+<span class="sourceLineNo">331</span> public void rollMetricsPeriod() {<a name="line.331"></a>
+<span class="sourceLineNo">332</span> lruCacheStats.rollMetricsPeriod();<a name="line.332"></a>
+<span class="sourceLineNo">333</span> bucketCacheStats.rollMetricsPeriod();<a name="line.333"></a>
+<span class="sourceLineNo">334</span> }<a name="line.334"></a>
+<span class="sourceLineNo">335</span> <a name="line.335"></a>
+<span class="sourceLineNo">336</span> @Override<a name="line.336"></a>
+<span class="sourceLineNo">337</span> public long getFailedInserts() {<a name="line.337"></a>
+<span class="sourceLineNo">338</span> return lruCacheStats.getFailedInserts() + bucketCacheStats.getFailedInserts();<a name="line.338"></a>
+<span class="sourceLineNo">339</span> }<a name="line.339"></a>
+<span class="sourceLineNo">340</span><a name="line.340"></a>
+<span class="sourceLineNo">341</span> @Override<a name="line.341"></a>
+<span class="sourceLineNo">342</span> public long getSumHitCountsPastNPeriods() {<a name="line.342"></a>
+<span class="sourceLineNo">343</span> return lruCacheStats.getSumHitCountsPastNPeriods()<a name="line.343"></a>
+<span class="sourceLineNo">344</span> + bucketCacheStats.getSumHitCountsPastNPeriods();<a name="line.344"></a>
+<span class="sourceLineNo">345</span> }<a name="line.345"></a>
+<span class="sourceLineNo">346</span> <a name="line.346"></a>
+<span class="sourceLineNo">347</span> @Override<a name="line.347"></a>
+<span class="sourceLineNo">348</span> public long getSumRequestCountsPastNPeriods() {<a name="line.348"></a>
+<span class="sourceLineNo">349</span> return lruCacheStats.getSumRequestCountsPastNPeriods()<a name="line.349"></a>
+<span class="sourceLineNo">350</span> + bucketCacheStats.getSumRequestCountsPastNPeriods();<a name="line.350"></a>
+<span class="sourceLineNo">351</span> }<a name="line.351"></a>
+<span class="sourceLineNo">352</span> <a name="line.352"></a>
+<span class="sourceLineNo">353</span> @Override<a name="line.353"></a>
+<span class="sourceLineNo">354</span> public long getSumHitCachingCountsPastNPeriods() {<a name="line.354"></a>
+<span class="sourceLineNo">355</span> return lruCacheStats.getSumHitCachingCountsPastNPeriods()<a name="line.355"></a>
+<span class="sourceLineNo">356</span> + bucketCacheStats.getSumHitCachingCountsPastNPeriods();<a name="line.356"></a>
+<span class="sourceLineNo">357</span> }<a name="line.357"></a>
+<span class="sourceLineNo">358</span><a name="line.358"></a>
+<span class="sourceLineNo">359</span> @Override<a name="line.359"></a>
+<span class="sourceLineNo">360</span> public long getSumRequestCachingCountsPastNPeriods() {<a name="line.360"></a>
+<span class="sourceLineNo">361</span> return lruCacheStats.getSumRequestCachingCountsPastNPeriods()<a name="line.361"></a>
+<span class="sourceLineNo">362</span> + bucketCacheStats.getSumRequestCachingCountsPastNPeriods();<a name="line.362"></a>
+<span class="sourceLineNo">363</span> }<a name="line.363"></a>
+<span class="sourceLineNo">364</span> }<a name="line.364"></a>
+<span class="sourceLineNo">365</span><a name="line.365"></a>
+<span class="sourceLineNo">366</span> @Override<a name="line.366"></a>
+<span class="sourceLineNo">367</span> public Iterator<CachedBlock> iterator() {<a name="line.367"></a>
+<span class="sourceLineNo">368</span> return new BlockCachesIterator(getBlockCaches());<a name="line.368"></a>
+<span class="sourceLineNo">369</span> }<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span> @Override<a name="line.371"></a>
+<span class="sourceLineNo">372</span> public BlockCache[] getBlockCaches() {<a name="line.372"></a>
+<span class="sourceLineNo">373</span> return new BlockCache [] {this.onHeapCache, this.l2Cache};<a name="line.373"></a>
+<span class="sourceLineNo">374</span> }<a name="line.374"></a>
+<span class="sourceLineNo">375</span><a name="line.375"></a>
+<span class="sourceLineNo">376</span> @Override<a name="line.376"></a>
+<span class="sourceLineNo">377</span> public void setMaxSize(long size) {<a name="line.377"></a>
+<span class="sourceLineNo">378</span> this.onHeapCache.setMaxSize(size);<a name="line.378"></a>
+<span class="sourceLineNo">379</span> }<a name="line.379"></a>
+<span class="sourceLineNo">380</span><a name="line.380"></a>
+<span class="sourceLineNo">381</span> @Override<a name="line.381"></a>
+<span class="sourceLineNo">382</span> public void returnBlock(BlockCacheKey cacheKey, Cacheable block) {<a name="line.382"></a>
+<span class="sourceLineNo">383</span> // returnBlock is meaningful for L2 cache alone.<a name="line.383"></a>
+<span class="sourceLineNo">384</span> this.l2Cache.returnBlock(cacheKey, block);<a name="line.384"></a>
+<span class="sourceLineNo">385</span> }<a name="line.385"></a>
+<span class="sourceLineNo">386</span><a name="line.386"></a>
+<span class="sourceLineNo">387</span> @VisibleForTesting<a name="line.387"></a>
+<span class="sourceLineNo">388</span> public int getRefCount(BlockCacheKey cacheKey) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span> return (this.l2Cache instanceof BucketCache)<a name="line.389"></a>
+<span class="sourceLineNo">390</span> ? ((BucketCache) this.l2Cache).getRefCount(cacheKey) : 0;<a name="line.390"></a>
+<span class="sourceLineNo">391</span> }<a name="line.391"></a>
+<span class="sourceLineNo">392</span><a name="line.392"></a>
+<span class="sourceLineNo">393</span> public LruBlockCache getOnHeapCache() {<a name="line.393"></a>
+<span class="sourceLineNo">394</span> return onHeapCache;<a name="line.394"></a>
+<span class="sourceLineNo">395</span> }<a name="line.395"></a>
+<span class="sourceLineNo">396</span>}<a name="line.396"></a>
[38/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/master/HMaster.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/HMaster.html b/devapidocs/org/apache/hadoop/hbase/master/HMaster.html
index 0961bec..3196572 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/HMaster.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/HMaster.html
@@ -481,7 +481,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
<!-- -->
</a>
<h3>Fields inherited from class org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#ABORT_TIMEOUT">ABORT_TIMEOUT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#ABORT_TIMEOUT_TASK">ABORT_TIMEOUT_TASK</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#cacheConfig">cacheConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#cacheFlusher">cacheFlusher</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#clusterConnection">clusterConnection</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#clusterId">clusterId</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#clusterStatusTracker">clusterStatusTracker</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#compactSplitThread">compactSplitThread</a>, <a href="../../../../../org/apache/hadoop/hbase/reg
ionserver/HRegionServer.html#conf">conf</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#configurationManager">configurationManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#csm">csm</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#executorService">executorService</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#fs">fs</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#fsOk">fsOk</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#fsUtilizationChore">fsUtilizationChore</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#hMemManager">hMemManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#infoServer">infoServer</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#le
ases">leases</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#lock">lock</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#MASTER_HOSTNAME_KEY">MASTER_HOSTNAME_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#movedRegions">movedRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#msgInterval">msgInterval</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#numRegionsToReport">numRegionsToReport</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#onlineRegions">onlineRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#regionFavoredNodesMap">regionFavoredNodesMap</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#REGIONSERVER">REGIONSERVER</a>, <a href="../../../../../org/apache/hadoop/hbase/regions
erver/HRegionServer.html#regionsInTransitionInRS">regionsInTransitionInRS</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#replicationSinkHandler">replicationSinkHandler</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#replicationSourceHandler">replicationSourceHandler</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#rpcServices">rpcServices</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#secureBulkLoadManager">secureBulkLoadManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#serverName">serverName</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#sleeper">sleeper</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#startcode">startcode</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#tableDescripto
rs">tableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#TEST_SKIP_REPORTING_TRANSITION">TEST_SKIP_REPORTING_TRANSITION</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#threadWakeFrequency">threadWakeFrequency</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#useThisHostnameInstead">useThisHostnameInstead</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#walFactory">walFactory</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#walFs">walFs</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#walRoller">walRoller</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#zooKeeper">zooKeeper</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#ABORT_TIMEOUT">ABORT_TIMEOUT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#ABORT_TIMEOUT_TASK">ABORT_TIMEOUT_TASK</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#cacheFlusher">cacheFlusher</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#clusterConnection">clusterConnection</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#clusterId">clusterId</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#clusterStatusTracker">clusterStatusTracker</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#compactSplitThread">compactSplitThread</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#conf">conf</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HReg
ionServer.html#configurationManager">configurationManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#csm">csm</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#executorService">executorService</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#fs">fs</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#fsOk">fsOk</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#fsUtilizationChore">fsUtilizationChore</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#hMemManager">hMemManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#infoServer">infoServer</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#leases">leases</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#lock">lock</
a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#MASTER_HOSTNAME_KEY">MASTER_HOSTNAME_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#movedRegions">movedRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#msgInterval">msgInterval</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#numRegionsToReport">numRegionsToReport</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#onlineRegions">onlineRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#regionFavoredNodesMap">regionFavoredNodesMap</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#REGIONSERVER">REGIONSERVER</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#regionsInTransitionInRS">regionsInTransitionInRS</a>, <a href="../../../../../org/apa
che/hadoop/hbase/regionserver/HRegionServer.html#replicationSinkHandler">replicationSinkHandler</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#replicationSourceHandler">replicationSourceHandler</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#rpcServices">rpcServices</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#secureBulkLoadManager">secureBulkLoadManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#serverName">serverName</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#sleeper">sleeper</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#startcode">startcode</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#tableDescriptors">tableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#TEST
_SKIP_REPORTING_TRANSITION">TEST_SKIP_REPORTING_TRANSITION</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#threadWakeFrequency">threadWakeFrequency</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#useThisHostnameInstead">useThisHostnameInstead</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#walFactory">walFactory</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#walFs">walFs</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#walRoller">walRoller</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#zooKeeper">zooKeeper</a></code></li>
</ul>
</li>
</ul>
@@ -1467,7 +1467,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#abort-java.lang.String-">abort</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#addRegion-org.apache.hadoop.hbase.regionserver.HRegion-">addRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#addToMovedRegions-java.lang.String-org.apache.hadoop.hbase.ServerName-long-">addToMovedRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#checkFileSystem--">checkFileSystem</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#cleanMovedRegions--">cleanMovedRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#clearRegionBlockCache-org.apache.hadoop.hbase.regionserver.Region-">clearRegionBlockCache</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#closeAllRegions-boolean-">closeAllRegions</a
>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#closeAndOfflineRegionForSplitOrMerge-java.util.List-">closeAndOfflineRegionForSplitOrMerge</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#closeRegion-java.lang.String-boolean-org.apache.hadoop.hbase.ServerName-">closeRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#constructRegionServer-java.lang.Class-org.apache.hadoop.conf.Configuration-">constructRegionServer</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#convertThrowableToIOE-java.lang.Throwable-java.lang.String-">convertThrowableToIOE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#createConnection-org.apache.hadoop.conf.Configuration-">createConnection</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#createRegionLoad-java.lang.String-">createRegionLoad</a>,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#createRegionServerStatusStub--">createRegionServerStatusStub</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#createRegionServerStatusStub-boolean-">createRegionServerStatusStub</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#execRegionServerService-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceRequest-">execRegionServerService</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#executeProcedure-long-org.apache.hadoop.hbase.procedure2.RSProcedureCallable-">executeProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getCacheConfig--">getCacheConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getChoreService--">getChoreServi
ce</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getClusterConnection--">getClusterConnection</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getClusterId--">getClusterId</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getCompactionPressure--">getCompactionPressure</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getCompactionRequestor--">getCompactionRequestor</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getCompactSplitThread--">getCompactSplitThread</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getConfiguration--">getConfiguration</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getConfigurationManager--">getConfigurationManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getConnec
tion--">getConnection</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getCoordinatedStateManager--">getCoordinatedStateManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getEventLoopGroupConfig--">getEventLoopGroupConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getExecutorService--">getExecutorService</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getFavoredNodesForRegion-java.lang.String-">getFavoredNodesForRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getFileSystem--">getFileSystem</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getFlushPressure--">getFlushPressure</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getFlushRequester--">getFlushRequester</a>, <a href="../../../../../org/apache/hadoop/hbase/re
gionserver/HRegionServer.html#getFlushThroughputController--">getFlushThroughputController</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getFsTableDescriptors--">getFsTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getHeapMemoryManager--">getHeapMemoryManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getInfoServer--">getInfoServer</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getLastSequenceId-byte:A-">getLastSequenceId</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getLeases--">getLeases</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getMasterAddressTracker--">getMasterAddressTracker</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getMetrics--">getMetrics</a>, <a href="../../../../../org/apache/hado
op/hbase/regionserver/HRegionServer.html#getMostLoadedRegions--">getMostLoadedRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getNonceManager--">getNonceManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getNumberOfOnlineRegions--">getNumberOfOnlineRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getOnlineRegion-byte:A-">getOnlineRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getOnlineRegionsLocalContext--">getOnlineRegionsLocalContext</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getOnlineTables--">getOnlineTables</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegion-byte:A-">getRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegion-java.lang.String-">getRegion</a>, <a href="../../../
../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionBlockLocations-java.lang.String-">getRegionBlockLocations</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionByEncodedName-byte:A-java.lang.String-">getRegionByEncodedName</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionByEncodedName-java.lang.String-">getRegionByEncodedName</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegions--">getRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegions-org.apache.hadoop.hbase.TableName-">getRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerAccounting--">getRegionServerAccounting</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerCoprocessorHost--">getRegionServerCoprocessorHost</a>, <a href="../.
./../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerCoprocessors--">getRegionServerCoprocessors</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerMetrics--">getRegionServerMetrics</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerRpcQuotaManager--">getRegionServerRpcQuotaManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerSpaceQuotaManager--">getRegionServerSpaceQuotaManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionsInTransitionInRS--">getRegionsInTransitionInRS</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getReplicationSinkService--">getReplicationSinkService</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getReplicationSourceService--">getReplicationSourceService</a>, <a
href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRootDir--">getRootDir</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRpcServer--">getRpcServer</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRSRpcServices--">getRSRpcServices</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getSecureBulkLoadManager--">getSecureBulkLoadManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getStartcode--">getStartcode</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getTableDescriptors--">getTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getThreadWakeFrequency--">getThreadWakeFrequency</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWAL-org.apache.hadoop.hbase.client.RegionInfo-">getWAL</
a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWALFileSystem--">getWALFileSystem</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWalGroupsReplicationStatus--">getWalGroupsReplicationStatus</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWalRoller--">getWalRoller</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWALRootDir--">getWALRootDir</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWALs--">getWALs</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#handleReportForDutyResponse-org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupResponse-">handleReportForDutyResponse</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#initializeMemStoreChunkCreator--">initializeMemStoreChunkCreato
r</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isAborted--">isAborted</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isClusterUp--">isClusterUp</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isOnline--">isOnline</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isShutDown--">isShutDown</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isStopped--">isStopped</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isStopping--">isStopping</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#kill--">kill</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#movedRegionCleanerPeriod--">movedRegionCleanerPeriod</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#onConfigurationChang
e-org.apache.hadoop.conf.Configuration-">onConfigurationChange</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#postOpenDeployTasks-org.apache.hadoop.hbase.regionserver.RegionServerServices.PostOpenDeployContext-">postOpenDeployTasks</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#regionLock-java.util.List-java.lang.String-org.apache.hadoop.hbase.Abortable-">regionLock</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#remoteProcedureComplete-long-java.lang.Throwable-">remoteProcedureComplete</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#removeRegion-org.apache.hadoop.hbase.regionserver.HRegion-org.apache.hadoop.hbase.ServerName-">removeRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#reportFileArchivalForQuotas-org.apache.hadoop.hbase.TableName-java.util.Collection-">reportFileArchivalForQuotas</
a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#reportRegionSizesForQuotas-org.apache.hadoop.hbase.quotas.RegionSizeStore-">reportRegionSizesForQuotas</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#reportRegionStateTransition-org.apache.hadoop.hbase.regionserver.RegionServerServices.RegionStateTransitionContext-">reportRegionStateTransition</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#sendShutdownInterrupt--">sendShutdownInterrupt</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#setupClusterConnection--">setupClusterConnection</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#stop-java.lang.String-boolean-org.apache.hadoop.hbase.security.User-">stop</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#toString--">toString</a>, <a href="../../../../../org/apache/hadoop/h
base/regionserver/HRegionServer.html#tryRegionServerReport-long-long-">tryRegionServerReport</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#unassign-byte:A-">unassign</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#updateConfiguration--">updateConfiguration</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#updateRegionFavoredNodesMapping-java.lang.String-java.util.List-">updateRegionFavoredNodesMapping</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#waitForServerOnline--">waitForServerOnline</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#walRollRequestFinished--">walRollRequestFinished</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#abort-java.lang.String-">abort</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#addRegion-org.apache.hadoop.hbase.regionserver.HRegion-">addRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#addToMovedRegions-java.lang.String-org.apache.hadoop.hbase.ServerName-long-">addToMovedRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#checkFileSystem--">checkFileSystem</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#cleanMovedRegions--">cleanMovedRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#clearRegionBlockCache-org.apache.hadoop.hbase.regionserver.Region-">clearRegionBlockCache</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#closeAllRegions-boolean-">closeAllRegions</a
>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#closeAndOfflineRegionForSplitOrMerge-java.util.List-">closeAndOfflineRegionForSplitOrMerge</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#closeRegion-java.lang.String-boolean-org.apache.hadoop.hbase.ServerName-">closeRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#constructRegionServer-java.lang.Class-org.apache.hadoop.conf.Configuration-">constructRegionServer</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#convertThrowableToIOE-java.lang.Throwable-java.lang.String-">convertThrowableToIOE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#createConnection-org.apache.hadoop.conf.Configuration-">createConnection</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#createRegionLoad-java.lang.String-">createRegionLoad</a>,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#createRegionServerStatusStub--">createRegionServerStatusStub</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#createRegionServerStatusStub-boolean-">createRegionServerStatusStub</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#execRegionServerService-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceRequest-">execRegionServerService</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#executeProcedure-long-org.apache.hadoop.hbase.procedure2.RSProcedureCallable-">executeProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getBlockCache--">getBlockCache</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getChoreService--">getChoreService
</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getClusterConnection--">getClusterConnection</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getClusterId--">getClusterId</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getCompactionPressure--">getCompactionPressure</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getCompactionRequestor--">getCompactionRequestor</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getCompactSplitThread--">getCompactSplitThread</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getConfiguration--">getConfiguration</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getConfigurationManager--">getConfigurationManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getConnecti
on--">getConnection</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getCoordinatedStateManager--">getCoordinatedStateManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getEventLoopGroupConfig--">getEventLoopGroupConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getExecutorService--">getExecutorService</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getFavoredNodesForRegion-java.lang.String-">getFavoredNodesForRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getFileSystem--">getFileSystem</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getFlushPressure--">getFlushPressure</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getFlushRequester--">getFlushRequester</a>, <a href="../../../../../org/apache/hadoop/hbase/regi
onserver/HRegionServer.html#getFlushThroughputController--">getFlushThroughputController</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getFsTableDescriptors--">getFsTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getHeapMemoryManager--">getHeapMemoryManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getInfoServer--">getInfoServer</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getLastSequenceId-byte:A-">getLastSequenceId</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getLeases--">getLeases</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getMasterAddressTracker--">getMasterAddressTracker</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getMetrics--">getMetrics</a>, <a href="../../../../../org/apache/hadoop
/hbase/regionserver/HRegionServer.html#getMobFileCache--">getMobFileCache</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getMostLoadedRegions--">getMostLoadedRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getNonceManager--">getNonceManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getNumberOfOnlineRegions--">getNumberOfOnlineRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getOnlineRegion-byte:A-">getOnlineRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getOnlineRegionsLocalContext--">getOnlineRegionsLocalContext</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getOnlineTables--">getOnlineTables</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegion-byte:A-">getRegion</a>, <a href="../../../../../
org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegion-java.lang.String-">getRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionBlockLocations-java.lang.String-">getRegionBlockLocations</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionByEncodedName-byte:A-java.lang.String-">getRegionByEncodedName</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionByEncodedName-java.lang.String-">getRegionByEncodedName</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegions--">getRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegions-org.apache.hadoop.hbase.TableName-">getRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerAccounting--">getRegionServerAccounting</a>, <a href="../../../../../org/apache/hadoop/hba
se/regionserver/HRegionServer.html#getRegionServerCoprocessorHost--">getRegionServerCoprocessorHost</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerCoprocessors--">getRegionServerCoprocessors</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerMetrics--">getRegionServerMetrics</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerRpcQuotaManager--">getRegionServerRpcQuotaManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerSpaceQuotaManager--">getRegionServerSpaceQuotaManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionsInTransitionInRS--">getRegionsInTransitionInRS</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getReplicationSinkService--">getReplicationSinkService</a>, <a href="../../../../../org/
apache/hadoop/hbase/regionserver/HRegionServer.html#getReplicationSourceService--">getReplicationSourceService</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRootDir--">getRootDir</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRpcServer--">getRpcServer</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRSRpcServices--">getRSRpcServices</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getSecureBulkLoadManager--">getSecureBulkLoadManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getStartcode--">getStartcode</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getTableDescriptors--">getTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getThreadWakeFrequency--">getThreadWakeFrequency</a>, <a href="../../../../
../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWAL-org.apache.hadoop.hbase.client.RegionInfo-">getWAL</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWALFileSystem--">getWALFileSystem</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWalGroupsReplicationStatus--">getWalGroupsReplicationStatus</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWalRoller--">getWalRoller</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWALRootDir--">getWALRootDir</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWALs--">getWALs</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#handleReportForDutyResponse-org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupResponse-">handleReportForDutyResponse</a>, <a href="../../../../../o
rg/apache/hadoop/hbase/regionserver/HRegionServer.html#initializeMemStoreChunkCreator--">initializeMemStoreChunkCreator</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isAborted--">isAborted</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isClusterUp--">isClusterUp</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isOnline--">isOnline</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isShutDown--">isShutDown</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isStopped--">isStopped</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isStopping--">isStopping</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#kill--">kill</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#movedRegionCleanerPeriod--">movedRegionC
leanerPeriod</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#onConfigurationChange-org.apache.hadoop.conf.Configuration-">onConfigurationChange</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#postOpenDeployTasks-org.apache.hadoop.hbase.regionserver.RegionServerServices.PostOpenDeployContext-">postOpenDeployTasks</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#regionLock-java.util.List-java.lang.String-org.apache.hadoop.hbase.Abortable-">regionLock</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#remoteProcedureComplete-long-java.lang.Throwable-">remoteProcedureComplete</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#removeRegion-org.apache.hadoop.hbase.regionserver.HRegion-org.apache.hadoop.hbase.ServerName-">removeRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.h
tml#reportFileArchivalForQuotas-org.apache.hadoop.hbase.TableName-java.util.Collection-">reportFileArchivalForQuotas</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#reportRegionSizesForQuotas-org.apache.hadoop.hbase.quotas.RegionSizeStore-">reportRegionSizesForQuotas</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#reportRegionStateTransition-org.apache.hadoop.hbase.regionserver.RegionServerServices.RegionStateTransitionContext-">reportRegionStateTransition</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#sendShutdownInterrupt--">sendShutdownInterrupt</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#setupClusterConnection--">setupClusterConnection</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#stop-java.lang.String-boolean-org.apache.hadoop.hbase.security.User-">stop</a>, <a href="../../../../../org/apa
che/hadoop/hbase/regionserver/HRegionServer.html#toString--">toString</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#tryRegionServerReport-long-long-">tryRegionServerReport</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#unassign-byte:A-">unassign</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#updateConfiguration--">updateConfiguration</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#updateRegionFavoredNodesMapping-java.lang.String-java.util.List-">updateRegionFavoredNodesMapping</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#waitForServerOnline--">waitForServerOnline</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#walRollRequestFinished--">walRollRequestFinished</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.util.HasThread">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/master/HMasterCommandLine.LocalHMaster.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/HMasterCommandLine.LocalHMaster.html b/devapidocs/org/apache/hadoop/hbase/master/HMasterCommandLine.LocalHMaster.html
index b1098db..6da57e3 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/HMasterCommandLine.LocalHMaster.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/HMasterCommandLine.LocalHMaster.html
@@ -198,7 +198,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" tit
<!-- -->
</a>
<h3>Fields inherited from class org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#ABORT_TIMEOUT">ABORT_TIMEOUT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#ABORT_TIMEOUT_TASK">ABORT_TIMEOUT_TASK</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#cacheConfig">cacheConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#cacheFlusher">cacheFlusher</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#clusterConnection">clusterConnection</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#clusterId">clusterId</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#clusterStatusTracker">clusterStatusTracker</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#compactSplitThread">compactSplitThread</a>, <a href="../../../../../org/apache/hadoop/hbase/reg
ionserver/HRegionServer.html#conf">conf</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#configurationManager">configurationManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#csm">csm</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#executorService">executorService</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#fs">fs</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#fsOk">fsOk</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#fsUtilizationChore">fsUtilizationChore</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#hMemManager">hMemManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#infoServer">infoServer</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#le
ases">leases</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#lock">lock</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#MASTER_HOSTNAME_KEY">MASTER_HOSTNAME_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#movedRegions">movedRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#msgInterval">msgInterval</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#numRegionsToReport">numRegionsToReport</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#onlineRegions">onlineRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#regionFavoredNodesMap">regionFavoredNodesMap</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#REGIONSERVER">REGIONSERVER</a>, <a href="../../../../../org/apache/hadoop/hbase/regions
erver/HRegionServer.html#regionsInTransitionInRS">regionsInTransitionInRS</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#replicationSinkHandler">replicationSinkHandler</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#replicationSourceHandler">replicationSourceHandler</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#rpcServices">rpcServices</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#secureBulkLoadManager">secureBulkLoadManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#serverName">serverName</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#sleeper">sleeper</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#startcode">startcode</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#tableDescripto
rs">tableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#TEST_SKIP_REPORTING_TRANSITION">TEST_SKIP_REPORTING_TRANSITION</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#threadWakeFrequency">threadWakeFrequency</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#useThisHostnameInstead">useThisHostnameInstead</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#walFactory">walFactory</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#walFs">walFs</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#walRoller">walRoller</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#zooKeeper">zooKeeper</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#ABORT_TIMEOUT">ABORT_TIMEOUT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#ABORT_TIMEOUT_TASK">ABORT_TIMEOUT_TASK</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#cacheFlusher">cacheFlusher</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#clusterConnection">clusterConnection</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#clusterId">clusterId</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#clusterStatusTracker">clusterStatusTracker</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#compactSplitThread">compactSplitThread</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#conf">conf</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HReg
ionServer.html#configurationManager">configurationManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#csm">csm</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#executorService">executorService</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#fs">fs</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#fsOk">fsOk</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#fsUtilizationChore">fsUtilizationChore</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#hMemManager">hMemManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#infoServer">infoServer</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#leases">leases</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#lock">lock</
a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#MASTER_HOSTNAME_KEY">MASTER_HOSTNAME_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#movedRegions">movedRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#msgInterval">msgInterval</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#numRegionsToReport">numRegionsToReport</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#onlineRegions">onlineRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#regionFavoredNodesMap">regionFavoredNodesMap</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#REGIONSERVER">REGIONSERVER</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#regionsInTransitionInRS">regionsInTransitionInRS</a>, <a href="../../../../../org/apa
che/hadoop/hbase/regionserver/HRegionServer.html#replicationSinkHandler">replicationSinkHandler</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#replicationSourceHandler">replicationSourceHandler</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#rpcServices">rpcServices</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#secureBulkLoadManager">secureBulkLoadManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#serverName">serverName</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#sleeper">sleeper</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#startcode">startcode</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#tableDescriptors">tableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#TEST
_SKIP_REPORTING_TRANSITION">TEST_SKIP_REPORTING_TRANSITION</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#threadWakeFrequency">threadWakeFrequency</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#useThisHostnameInstead">useThisHostnameInstead</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#walFactory">walFactory</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#walFs">walFs</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#walRoller">walRoller</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#zooKeeper">zooKeeper</a></code></li>
</ul>
</li>
</ul>
@@ -254,7 +254,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" tit
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#abort-java.lang.String-">abort</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#addRegion-org.apache.hadoop.hbase.regionserver.HRegion-">addRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#addToMovedRegions-java.lang.String-org.apache.hadoop.hbase.ServerName-long-">addToMovedRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#checkFileSystem--">checkFileSystem</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#cleanMovedRegions--">cleanMovedRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#clearRegionBlockCache-org.apache.hadoop.hbase.regionserver.Region-">clearRegionBlockCache</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#closeAllRegions-boolean-">closeAllRegions</a
>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#closeAndOfflineRegionForSplitOrMerge-java.util.List-">closeAndOfflineRegionForSplitOrMerge</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#closeRegion-java.lang.String-boolean-org.apache.hadoop.hbase.ServerName-">closeRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#constructRegionServer-java.lang.Class-org.apache.hadoop.conf.Configuration-">constructRegionServer</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#convertThrowableToIOE-java.lang.Throwable-java.lang.String-">convertThrowableToIOE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#createConnection-org.apache.hadoop.conf.Configuration-">createConnection</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#createRegionLoad-java.lang.String-">createRegionLoad</a>,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#createRegionServerStatusStub--">createRegionServerStatusStub</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#createRegionServerStatusStub-boolean-">createRegionServerStatusStub</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#execRegionServerService-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceRequest-">execRegionServerService</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#executeProcedure-long-org.apache.hadoop.hbase.procedure2.RSProcedureCallable-">executeProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getCacheConfig--">getCacheConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getChoreService--">getChoreServi
ce</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getClusterConnection--">getClusterConnection</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getClusterId--">getClusterId</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getCompactionPressure--">getCompactionPressure</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getCompactionRequestor--">getCompactionRequestor</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getCompactSplitThread--">getCompactSplitThread</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getConfiguration--">getConfiguration</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getConfigurationManager--">getConfigurationManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getConnec
tion--">getConnection</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getCoordinatedStateManager--">getCoordinatedStateManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getEventLoopGroupConfig--">getEventLoopGroupConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getExecutorService--">getExecutorService</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getFavoredNodesForRegion-java.lang.String-">getFavoredNodesForRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getFileSystem--">getFileSystem</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getFlushPressure--">getFlushPressure</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getFlushRequester--">getFlushRequester</a>, <a href="../../../../../org/apache/hadoop/hbase/re
gionserver/HRegionServer.html#getFlushThroughputController--">getFlushThroughputController</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getFsTableDescriptors--">getFsTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getHeapMemoryManager--">getHeapMemoryManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getInfoServer--">getInfoServer</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getLastSequenceId-byte:A-">getLastSequenceId</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getLeases--">getLeases</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getMasterAddressTracker--">getMasterAddressTracker</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getMetrics--">getMetrics</a>, <a href="../../../../../org/apache/hado
op/hbase/regionserver/HRegionServer.html#getMostLoadedRegions--">getMostLoadedRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getNonceManager--">getNonceManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getNumberOfOnlineRegions--">getNumberOfOnlineRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getOnlineRegion-byte:A-">getOnlineRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getOnlineRegionsLocalContext--">getOnlineRegionsLocalContext</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getOnlineTables--">getOnlineTables</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegion-byte:A-">getRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegion-java.lang.String-">getRegion</a>, <a href="../../../
../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionBlockLocations-java.lang.String-">getRegionBlockLocations</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionByEncodedName-byte:A-java.lang.String-">getRegionByEncodedName</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionByEncodedName-java.lang.String-">getRegionByEncodedName</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegions--">getRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegions-org.apache.hadoop.hbase.TableName-">getRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerAccounting--">getRegionServerAccounting</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerCoprocessorHost--">getRegionServerCoprocessorHost</a>, <a href="../.
./../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerCoprocessors--">getRegionServerCoprocessors</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerMetrics--">getRegionServerMetrics</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerRpcQuotaManager--">getRegionServerRpcQuotaManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerSpaceQuotaManager--">getRegionServerSpaceQuotaManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionsInTransitionInRS--">getRegionsInTransitionInRS</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getReplicationSinkService--">getReplicationSinkService</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getReplicationSourceService--">getReplicationSourceService</a>, <a
href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRootDir--">getRootDir</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRpcServer--">getRpcServer</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRSRpcServices--">getRSRpcServices</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getSecureBulkLoadManager--">getSecureBulkLoadManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getStartcode--">getStartcode</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getTableDescriptors--">getTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getThreadWakeFrequency--">getThreadWakeFrequency</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWAL-org.apache.hadoop.hbase.client.RegionInfo-">getWAL</
a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWALFileSystem--">getWALFileSystem</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWalGroupsReplicationStatus--">getWalGroupsReplicationStatus</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWalRoller--">getWalRoller</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWALRootDir--">getWALRootDir</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWALs--">getWALs</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#handleReportForDutyResponse-org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupResponse-">handleReportForDutyResponse</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#initializeMemStoreChunkCreator--">initializeMemStoreChunkCreato
r</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isAborted--">isAborted</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isClusterUp--">isClusterUp</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isOnline--">isOnline</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isShutDown--">isShutDown</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isStopped--">isStopped</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isStopping--">isStopping</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#kill--">kill</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#movedRegionCleanerPeriod--">movedRegionCleanerPeriod</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#onConfigurationChang
e-org.apache.hadoop.conf.Configuration-">onConfigurationChange</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#postOpenDeployTasks-org.apache.hadoop.hbase.regionserver.RegionServerServices.PostOpenDeployContext-">postOpenDeployTasks</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#regionLock-java.util.List-java.lang.String-org.apache.hadoop.hbase.Abortable-">regionLock</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#remoteProcedureComplete-long-java.lang.Throwable-">remoteProcedureComplete</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#removeRegion-org.apache.hadoop.hbase.regionserver.HRegion-org.apache.hadoop.hbase.ServerName-">removeRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#reportFileArchivalForQuotas-org.apache.hadoop.hbase.TableName-java.util.Collection-">reportFileArchivalForQuotas</
a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#reportRegionSizesForQuotas-org.apache.hadoop.hbase.quotas.RegionSizeStore-">reportRegionSizesForQuotas</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#reportRegionStateTransition-org.apache.hadoop.hbase.regionserver.RegionServerServices.RegionStateTransitionContext-">reportRegionStateTransition</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#sendShutdownInterrupt--">sendShutdownInterrupt</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#setupClusterConnection--">setupClusterConnection</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#stop-java.lang.String-boolean-org.apache.hadoop.hbase.security.User-">stop</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#toString--">toString</a>, <a href="../../../../../org/apache/hadoop/h
base/regionserver/HRegionServer.html#tryRegionServerReport-long-long-">tryRegionServerReport</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#unassign-byte:A-">unassign</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#updateConfiguration--">updateConfiguration</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#updateRegionFavoredNodesMapping-java.lang.String-java.util.List-">updateRegionFavoredNodesMapping</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#waitForServerOnline--">waitForServerOnline</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#walRollRequestFinished--">walRollRequestFinished</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#abort-java.lang.String-">abort</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#addRegion-org.apache.hadoop.hbase.regionserver.HRegion-">addRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#addToMovedRegions-java.lang.String-org.apache.hadoop.hbase.ServerName-long-">addToMovedRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#checkFileSystem--">checkFileSystem</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#cleanMovedRegions--">cleanMovedRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#clearRegionBlockCache-org.apache.hadoop.hbase.regionserver.Region-">clearRegionBlockCache</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#closeAllRegions-boolean-">closeAllRegions</a
>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#closeAndOfflineRegionForSplitOrMerge-java.util.List-">closeAndOfflineRegionForSplitOrMerge</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#closeRegion-java.lang.String-boolean-org.apache.hadoop.hbase.ServerName-">closeRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#constructRegionServer-java.lang.Class-org.apache.hadoop.conf.Configuration-">constructRegionServer</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#convertThrowableToIOE-java.lang.Throwable-java.lang.String-">convertThrowableToIOE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#createConnection-org.apache.hadoop.conf.Configuration-">createConnection</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#createRegionLoad-java.lang.String-">createRegionLoad</a>,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#createRegionServerStatusStub--">createRegionServerStatusStub</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#createRegionServerStatusStub-boolean-">createRegionServerStatusStub</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#execRegionServerService-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceRequest-">execRegionServerService</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#executeProcedure-long-org.apache.hadoop.hbase.procedure2.RSProcedureCallable-">executeProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getBlockCache--">getBlockCache</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getChoreService--">getChoreService
</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getClusterConnection--">getClusterConnection</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getClusterId--">getClusterId</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getCompactionPressure--">getCompactionPressure</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getCompactionRequestor--">getCompactionRequestor</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getCompactSplitThread--">getCompactSplitThread</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getConfiguration--">getConfiguration</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getConfigurationManager--">getConfigurationManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getConnecti
on--">getConnection</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getCoordinatedStateManager--">getCoordinatedStateManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getEventLoopGroupConfig--">getEventLoopGroupConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getExecutorService--">getExecutorService</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getFavoredNodesForRegion-java.lang.String-">getFavoredNodesForRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getFileSystem--">getFileSystem</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getFlushPressure--">getFlushPressure</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getFlushRequester--">getFlushRequester</a>, <a href="../../../../../org/apache/hadoop/hbase/regi
onserver/HRegionServer.html#getFlushThroughputController--">getFlushThroughputController</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getFsTableDescriptors--">getFsTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getHeapMemoryManager--">getHeapMemoryManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getInfoServer--">getInfoServer</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getLastSequenceId-byte:A-">getLastSequenceId</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getLeases--">getLeases</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getMasterAddressTracker--">getMasterAddressTracker</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getMetrics--">getMetrics</a>, <a href="../../../../../org/apache/hadoop
/hbase/regionserver/HRegionServer.html#getMobFileCache--">getMobFileCache</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getMostLoadedRegions--">getMostLoadedRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getNonceManager--">getNonceManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getNumberOfOnlineRegions--">getNumberOfOnlineRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getOnlineRegion-byte:A-">getOnlineRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getOnlineRegionsLocalContext--">getOnlineRegionsLocalContext</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getOnlineTables--">getOnlineTables</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegion-byte:A-">getRegion</a>, <a href="../../../../../
org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegion-java.lang.String-">getRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionBlockLocations-java.lang.String-">getRegionBlockLocations</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionByEncodedName-byte:A-java.lang.String-">getRegionByEncodedName</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionByEncodedName-java.lang.String-">getRegionByEncodedName</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegions--">getRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegions-org.apache.hadoop.hbase.TableName-">getRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerAccounting--">getRegionServerAccounting</a>, <a href="../../../../../org/apache/hadoop/hba
se/regionserver/HRegionServer.html#getRegionServerCoprocessorHost--">getRegionServerCoprocessorHost</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerCoprocessors--">getRegionServerCoprocessors</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerMetrics--">getRegionServerMetrics</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerRpcQuotaManager--">getRegionServerRpcQuotaManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerSpaceQuotaManager--">getRegionServerSpaceQuotaManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionsInTransitionInRS--">getRegionsInTransitionInRS</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getReplicationSinkService--">getReplicationSinkService</a>, <a href="../../../../../org/
apache/hadoop/hbase/regionserver/HRegionServer.html#getReplicationSourceService--">getReplicationSourceService</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRootDir--">getRootDir</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRpcServer--">getRpcServer</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRSRpcServices--">getRSRpcServices</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getSecureBulkLoadManager--">getSecureBulkLoadManager</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getStartcode--">getStartcode</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getTableDescriptors--">getTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getThreadWakeFrequency--">getThreadWakeFrequency</a>, <a href="../../../../
../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWAL-org.apache.hadoop.hbase.client.RegionInfo-">getWAL</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWALFileSystem--">getWALFileSystem</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWalGroupsReplicationStatus--">getWalGroupsReplicationStatus</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWalRoller--">getWalRoller</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWALRootDir--">getWALRootDir</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWALs--">getWALs</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#handleReportForDutyResponse-org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupResponse-">handleReportForDutyResponse</a>, <a href="../../../../../o
rg/apache/hadoop/hbase/regionserver/HRegionServer.html#initializeMemStoreChunkCreator--">initializeMemStoreChunkCreator</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isAborted--">isAborted</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isClusterUp--">isClusterUp</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isOnline--">isOnline</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isShutDown--">isShutDown</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isStopped--">isStopped</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isStopping--">isStopping</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#kill--">kill</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#movedRegionCleanerPeriod--">movedRegionC
leanerPeriod</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#onConfigurationChange-org.apache.hadoop.conf.Configuration-">onConfigurationChange</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#postOpenDeployTasks-org.apache.hadoop.hbase.regionserver.RegionServerServices.PostOpenDeployContext-">postOpenDeployTasks</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#regionLock-java.util.List-java.lang.String-org.apache.hadoop.hbase.Abortable-">regionLock</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#remoteProcedureComplete-long-java.lang.Throwable-">remoteProcedureComplete</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#removeRegion-org.apache.hadoop.hbase.regionserver.HRegion-org.apache.hadoop.hbase.ServerName-">removeRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.h
tml#reportFileArchivalForQuotas-org.apache.hadoop.hbase.TableName-java.util.Collection-">reportFileArchivalForQuotas</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#reportRegionSizesForQuotas-org.apache.hadoop.hbase.quotas.RegionSizeStore-">reportRegionSizesForQuotas</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#reportRegionStateTransition-org.apache.hadoop.hbase.regionserver.RegionServerServices.RegionStateTransitionContext-">reportRegionStateTransition</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#sendShutdownInterrupt--">sendShutdownInterrupt</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#setupClusterConnection--">setupClusterConnection</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#stop-java.lang.String-boolean-org.apache.hadoop.hbase.security.User-">stop</a>, <a href="../../../../../org/apa
che/hadoop/hbase/regionserver/HRegionServer.html#toString--">toString</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#tryRegionServerReport-long-long-">tryRegionServerReport</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#unassign-byte:A-">unassign</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#updateConfiguration--">updateConfiguration</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#updateRegionFavoredNodesMapping-java.lang.String-java.util.List-">updateRegionFavoredNodesMapping</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#waitForServerOnline--">waitForServerOnline</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#walRollRequestFinished--">walRollRequestFinished</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.util.HasThread">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/master/RegionServerTracker.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/RegionServerTracker.html b/devapidocs/org/apache/hadoop/hbase/master/RegionServerTracker.html
index 0b9b094..b6e6058 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/RegionServerTracker.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/RegionServerTracker.html
@@ -384,7 +384,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKListener.htm
<ul class="blockList">
<li class="blockList">
<h4>stop</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionServerTracker.html#line.149">stop</a>()</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionServerTracker.html#line.152">stop</a>()</pre>
</li>
</ul>
<a name="refresh--">
@@ -393,7 +393,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKListener.htm
<ul class="blockList">
<li class="blockList">
<h4>refresh</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionServerTracker.html#line.153">refresh</a>()</pre>
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionServerTracker.html#line.156">refresh</a>()</pre>
</li>
</ul>
<a name="nodeChildrenChanged-java.lang.String-">
@@ -402,7 +402,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKListener.htm
<ul class="blockListLast">
<li class="blockList">
<h4>nodeChildrenChanged</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionServerTracker.html#line.190">nodeChildrenChanged</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> path)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionServerTracker.html#line.193">nodeChildrenChanged</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> path)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKListener.html#nodeChildrenChanged-java.lang.String-">ZKListener</a></code></span></div>
<div class="block">Called when an existing node has a child node added or removed.</div>
<dl>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/master/ServerManager.FlushedSequenceIdFlusher.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/ServerManager.FlushedSequenceIdFlusher.html b/devapidocs/org/apache/hadoop/hbase/master/ServerManager.FlushedSequenceIdFlusher.html
index 94908b9..f599247 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/ServerManager.FlushedSequenceIdFlusher.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/ServerManager.FlushedSequenceIdFlusher.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.1167">ServerManager.FlushedSequenceIdFlusher</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.html#line.1170">ServerManager.FlushedSequenceIdFlusher</a>
extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" title="class in org.apache.hadoop.hbase">ScheduledChore</a></pre>
</li>
</ul>
@@ -201,7 +201,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
<ul class="blockListLast">
<li class="blockList">
<h4>FlushedSequenceIdFlusher</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.FlushedSequenceIdFlusher.html#line.1169">FlushedSequenceIdFlusher</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name,
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.FlushedSequenceIdFlusher.html#line.1172">FlushedSequenceIdFlusher</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name,
int p)</pre>
</li>
</ul>
@@ -219,7 +219,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
<ul class="blockListLast">
<li class="blockList">
<h4>chore</h4>
-<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.FlushedSequenceIdFlusher.html#line.1174">chore</a>()</pre>
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/ServerManager.FlushedSequenceIdFlusher.html#line.1177">chore</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html#chore--">ScheduledChore</a></code></span></div>
<div class="block">The task to execute on each scheduled execution of the Chore</div>
<dl>
[32/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html
index d1b845f..b3c08b5 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private abstract static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3078">HRegion.BatchOperation</a><T>
+<pre>private abstract static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3112">HRegion.BatchOperation</a><T>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Class that tracks the progress of a batch operations, accumulating status codes and tracking
the index at which processing is proceeding. These batch operations may get split into
@@ -408,7 +408,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>operations</h4>
-<pre>protected final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="type parameter in HRegion.BatchOperation">T</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3079">operations</a></pre>
+<pre>protected final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="type parameter in HRegion.BatchOperation">T</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3113">operations</a></pre>
</li>
</ul>
<a name="retCodeDetails">
@@ -417,7 +417,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>retCodeDetails</h4>
-<pre>protected final <a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3080">retCodeDetails</a></pre>
+<pre>protected final <a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3114">retCodeDetails</a></pre>
</li>
</ul>
<a name="walEditsFromCoprocessors">
@@ -426,7 +426,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>walEditsFromCoprocessors</h4>
-<pre>protected final <a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3081">walEditsFromCoprocessors</a></pre>
+<pre>protected final <a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3115">walEditsFromCoprocessors</a></pre>
</li>
</ul>
<a name="familyCellMaps">
@@ -435,7 +435,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>familyCellMaps</h4>
-<pre>protected final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>>>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3083">familyCellMaps</a></pre>
+<pre>protected final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>>>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3117">familyCellMaps</a></pre>
</li>
</ul>
<a name="region">
@@ -444,7 +444,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>region</h4>
-<pre>protected final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3085">region</a></pre>
+<pre>protected final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3119">region</a></pre>
</li>
</ul>
<a name="nextIndexToProcess">
@@ -453,7 +453,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>nextIndexToProcess</h4>
-<pre>protected int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3086">nextIndexToProcess</a></pre>
+<pre>protected int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3120">nextIndexToProcess</a></pre>
</li>
</ul>
<a name="observedExceptions">
@@ -462,7 +462,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>observedExceptions</h4>
-<pre>protected final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.ObservedExceptionsInBatch</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3087">observedExceptions</a></pre>
+<pre>protected final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.ObservedExceptionsInBatch</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3121">observedExceptions</a></pre>
</li>
</ul>
<a name="durability">
@@ -471,7 +471,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>durability</h4>
-<pre>protected <a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3089">durability</a></pre>
+<pre>protected <a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3123">durability</a></pre>
</li>
</ul>
<a name="atomic">
@@ -480,7 +480,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>atomic</h4>
-<pre>protected boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3090">atomic</a></pre>
+<pre>protected boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3124">atomic</a></pre>
</li>
</ul>
</li>
@@ -499,7 +499,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>BatchOperation</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3092">BatchOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region,
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3126">BatchOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="type parameter in HRegion.BatchOperation">T</a>[] operations)</pre>
</li>
</ul>
@@ -517,7 +517,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>visitBatchOperations</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3119">visitBatchOperations</a>(boolean pendingOnly,
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3153">visitBatchOperations</a>(boolean pendingOnly,
int lastIndexExclusive,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html" title="interface in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation.Visitor</a> visitor)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -534,7 +534,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getMutation</h4>
-<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3131">getMutation</a>(int index)</pre>
+<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3165">getMutation</a>(int index)</pre>
</li>
</ul>
<a name="getNonceGroup-int-">
@@ -543,7 +543,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getNonceGroup</h4>
-<pre>public abstract long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3133">getNonceGroup</a>(int index)</pre>
+<pre>public abstract long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3167">getNonceGroup</a>(int index)</pre>
</li>
</ul>
<a name="getNonce-int-">
@@ -552,7 +552,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getNonce</h4>
-<pre>public abstract long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3135">getNonce</a>(int index)</pre>
+<pre>public abstract long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3169">getNonce</a>(int index)</pre>
</li>
</ul>
<a name="getMutationsForCoprocs--">
@@ -561,7 +561,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getMutationsForCoprocs</h4>
-<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3140">getMutationsForCoprocs</a>()</pre>
+<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3174">getMutationsForCoprocs</a>()</pre>
<div class="block">This method is potentially expensive and useful mostly for non-replay CP path.</div>
</li>
</ul>
@@ -571,7 +571,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>isInReplay</h4>
-<pre>public abstract boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3142">isInReplay</a>()</pre>
+<pre>public abstract boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3176">isInReplay</a>()</pre>
</li>
</ul>
<a name="getOrigLogSeqNum--">
@@ -580,7 +580,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getOrigLogSeqNum</h4>
-<pre>public abstract long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3144">getOrigLogSeqNum</a>()</pre>
+<pre>public abstract long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3178">getOrigLogSeqNum</a>()</pre>
</li>
</ul>
<a name="startRegionOperation--">
@@ -589,7 +589,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>startRegionOperation</h4>
-<pre>public abstract void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3146">startRegionOperation</a>()
+<pre>public abstract void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3180">startRegionOperation</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -603,7 +603,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>closeRegionOperation</h4>
-<pre>public abstract void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3148">closeRegionOperation</a>()
+<pre>public abstract void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3182">closeRegionOperation</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -617,7 +617,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>checkAndPrepare</h4>
-<pre>public abstract void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3157">checkAndPrepare</a>()
+<pre>public abstract void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3191">checkAndPrepare</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Validates each mutation and prepares a batch for write. If necessary (non-replay case), runs
CP prePut()/ preDelete() hooks for all mutations in a batch. This is intended to operate on
@@ -636,7 +636,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>checkAndPreparePut</h4>
-<pre>protected abstract void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3163">checkAndPreparePut</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a> p)
+<pre>protected abstract void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3197">checkAndPreparePut</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a> p)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Implement any Put request specific check and prepare logic here. Please refer to
<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#checkAndPrepareMutation-org.apache.hadoop.hbase.client.Mutation-long-"><code>checkAndPrepareMutation(Mutation, long)</code></a> for how its used.</div>
@@ -652,7 +652,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>prepareMiniBatchOperations</h4>
-<pre>public abstract void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3169">prepareMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> miniBatchOp,
+<pre>public abstract void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3203">prepareMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> miniBatchOp,
long timestamp,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>> acquiredRowLocks)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -670,7 +670,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>writeMiniBatchOperationsToMemStore</h4>
-<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3175">writeMiniBatchOperationsToMemStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> miniBatchOp,
+<pre>public abstract <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3209">writeMiniBatchOperationsToMemStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> miniBatchOp,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a> writeEntry)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Write mini-batch operations to MemStore</div>
@@ -686,7 +686,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>writeMiniBatchOperationsToMemStore</h4>
-<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3179">writeMiniBatchOperationsToMemStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> miniBatchOp,
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3213">writeMiniBatchOperationsToMemStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> miniBatchOp,
long writeNumber)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
@@ -701,7 +701,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>isDone</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3199">isDone</a>()</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3233">isDone</a>()</pre>
</li>
</ul>
<a name="size--">
@@ -710,7 +710,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>size</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3203">size</a>()</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3237">size</a>()</pre>
</li>
</ul>
<a name="isOperationPending-int-">
@@ -719,7 +719,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>isOperationPending</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3207">isOperationPending</a>(int index)</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3241">isOperationPending</a>(int index)</pre>
</li>
</ul>
<a name="getClusterIds--">
@@ -728,7 +728,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getClusterIds</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3211">getClusterIds</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3245">getClusterIds</a>()</pre>
</li>
</ul>
<a name="isAtomic--">
@@ -737,7 +737,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>isAtomic</h4>
-<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3216">isAtomic</a>()</pre>
+<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3250">isAtomic</a>()</pre>
</li>
</ul>
<a name="checkAndPrepareMutation-org.apache.hadoop.hbase.client.Mutation-long-">
@@ -746,7 +746,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>checkAndPrepareMutation</h4>
-<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3226">checkAndPrepareMutation</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a> mutation,
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3260">checkAndPrepareMutation</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a> mutation,
long timestamp)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Helper method that checks and prepares only one mutation. This can be used to implement
@@ -765,7 +765,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>checkAndPrepareMutation</h4>
-<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3238">checkAndPrepareMutation</a>(int index,
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3272">checkAndPrepareMutation</a>(int index,
long timestamp)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
@@ -780,7 +780,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>lockRowsAndBuildMiniBatch</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3300">lockRowsAndBuildMiniBatch</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>> acquiredRowLocks)
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3334">lockRowsAndBuildMiniBatch</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>> acquiredRowLocks)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Creates Mini-batch of all operations [nextIndexToProcess, lastIndexExclusive) for which
a row lock can be acquired. All mutations with locked rows are considered to be
@@ -800,7 +800,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>createMiniBatch</h4>
-<pre>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3384">createMiniBatch</a>(int lastIndexExclusive,
+<pre>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3418">createMiniBatch</a>(int lastIndexExclusive,
int readyToWriteCount)</pre>
</li>
</ul>
@@ -810,7 +810,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>buildWALEdits</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><<a href="../../../../../org/apache/hadoop/hbase/util/NonceKey.html" title="class in org.apache.hadoop.hbase.util">NonceKey</a>,<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3394">buildWALEdits</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> m
iniBatchOp)
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><<a href="../../../../../org/apache/hadoop/hbase/util/NonceKey.html" title="class in org.apache.hadoop.hbase.util">NonceKey</a>,<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3428">buildWALEdits</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> m
iniBatchOp)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Builds separate WALEdit per nonce by applying input mutations. If WALEdits from CP are
present, they are merged to result WALEdit.</div>
@@ -826,7 +826,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>completeMiniBatchOperations</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3443">completeMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> miniBatchOp,
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3477">completeMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> miniBatchOp,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a> writeEntry)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">This method completes mini-batch operations by calling postBatchMutate() CP hook (if
@@ -843,7 +843,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>doPostOpCleanupForMiniBatch</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3451">doPostOpCleanupForMiniBatch</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> miniBatchOp,
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3485">doPostOpCleanupForMiniBatch</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> miniBatchOp,
<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a> walEdit,
boolean success)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -859,7 +859,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>doFinishHotnessProtector</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3457">doFinishHotnessProtector</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> miniBatchOp)</pre>
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3491">doFinishHotnessProtector</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> miniBatchOp)</pre>
</li>
</ul>
<a name="applyFamilyMapToMemStore-java.util.Map-org.apache.hadoop.hbase.regionserver.MemStoreSizing-">
@@ -868,7 +868,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>applyFamilyMapToMemStore</h4>
-<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3494">applyFamilyMapToMemStore</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>>> familyMap,
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3528">applyFamilyMapToMemStore</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>>> familyMap,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSizing.html" title="interface in org.apache.hadoop.hbase.regionserver">MemStoreSizing</a> memstoreAccounting)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Atomically apply the given map of family->edits to the memstore.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html
index 9a1cb55..2fc60ee 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html
@@ -109,7 +109,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6082">HRegion.BulkLoadListener</a></pre>
+<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6116">HRegion.BulkLoadListener</a></pre>
<div class="block">Listener class to enable callers of
bulkLoadHFile() to perform any necessary
pre/post processing of a given bulkload call</div>
@@ -174,7 +174,7 @@ var activeTableTab = "activeTableTab";
<ul class="blockList">
<li class="blockList">
<h4>prepareBulkLoad</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html#line.6090">prepareBulkLoad</a>(byte[] family,
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html#line.6124">prepareBulkLoad</a>(byte[] family,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> srcPath,
boolean copyFile)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -196,7 +196,7 @@ var activeTableTab = "activeTableTab";
<ul class="blockList">
<li class="blockList">
<h4>doneBulkLoad</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html#line.6099">doneBulkLoad</a>(byte[] family,
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html#line.6133">doneBulkLoad</a>(byte[] family,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> srcPath)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Called after a successful HFile load</div>
@@ -215,7 +215,7 @@ var activeTableTab = "activeTableTab";
<ul class="blockListLast">
<li class="blockList">
<h4>failedBulkLoad</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html#line.6107">failedBulkLoad</a>(byte[] family,
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html#line.6141">failedBulkLoad</a>(byte[] family,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> srcPath)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Called after a failed HFile load</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html
index 844930d..6df92ce 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html#line.2246">HRegion.FlushResult.Result</a>
+<pre>public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html#line.2280">HRegion.FlushResult.Result</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a>></pre>
</li>
</ul>
@@ -216,7 +216,7 @@ the order they are declared.</div>
<ul class="blockList">
<li class="blockList">
<h4>FLUSHED_NO_COMPACTION_NEEDED</h4>
-<pre>public static final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html#line.2247">FLUSHED_NO_COMPACTION_NEEDED</a></pre>
+<pre>public static final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html#line.2281">FLUSHED_NO_COMPACTION_NEEDED</a></pre>
</li>
</ul>
<a name="FLUSHED_COMPACTION_NEEDED">
@@ -225,7 +225,7 @@ the order they are declared.</div>
<ul class="blockList">
<li class="blockList">
<h4>FLUSHED_COMPACTION_NEEDED</h4>
-<pre>public static final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html#line.2248">FLUSHED_COMPACTION_NEEDED</a></pre>
+<pre>public static final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html#line.2282">FLUSHED_COMPACTION_NEEDED</a></pre>
</li>
</ul>
<a name="CANNOT_FLUSH_MEMSTORE_EMPTY">
@@ -234,7 +234,7 @@ the order they are declared.</div>
<ul class="blockList">
<li class="blockList">
<h4>CANNOT_FLUSH_MEMSTORE_EMPTY</h4>
-<pre>public static final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html#line.2251">CANNOT_FLUSH_MEMSTORE_EMPTY</a></pre>
+<pre>public static final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html#line.2285">CANNOT_FLUSH_MEMSTORE_EMPTY</a></pre>
</li>
</ul>
<a name="CANNOT_FLUSH">
@@ -243,7 +243,7 @@ the order they are declared.</div>
<ul class="blockListLast">
<li class="blockList">
<h4>CANNOT_FLUSH</h4>
-<pre>public static final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html#line.2252">CANNOT_FLUSH</a></pre>
+<pre>public static final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html#line.2286">CANNOT_FLUSH</a></pre>
</li>
</ul>
</li>
@@ -260,7 +260,7 @@ the order they are declared.</div>
<ul class="blockList">
<li class="blockList">
<h4>values</h4>
-<pre>public static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html#line.580">values</a>()</pre>
+<pre>public static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html#line.582">values</a>()</pre>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared. This method may be used to iterate
over the constants as follows:
@@ -280,7 +280,7 @@ for (HRegion.FlushResult.Result c : HRegion.FlushResult.Result.values())
<ul class="blockListLast">
<li class="blockList">
<h4>valueOf</h4>
-<pre>public static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html#line.580">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name)</pre>
+<pre>public static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html#line.582">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name)</pre>
<div class="block">Returns the enum constant of this type with the specified name.
The string must match <i>exactly</i> an identifier used to declare an
enum constant in this type. (Extraneous whitespace characters are
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html
index cce0fb4..6972ff0 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html
@@ -109,7 +109,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2245">HRegion.FlushResult</a></pre>
+<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2279">HRegion.FlushResult</a></pre>
</li>
</ul>
</div>
@@ -180,7 +180,7 @@ var activeTableTab = "activeTableTab";
<ul class="blockList">
<li class="blockList">
<h4>getResult</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html#line.2256">getResult</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html#line.2290">getResult</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the detailed result code</dd>
@@ -193,7 +193,7 @@ var activeTableTab = "activeTableTab";
<ul class="blockList">
<li class="blockList">
<h4>isFlushSucceeded</h4>
-<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html#line.2259">isFlushSucceeded</a>()</pre>
+<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html#line.2293">isFlushSucceeded</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the memstores were flushed, else false</dd>
@@ -206,7 +206,7 @@ var activeTableTab = "activeTableTab";
<ul class="blockListLast">
<li class="blockList">
<h4>isCompactionNeeded</h4>
-<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html#line.2262">isCompactionNeeded</a>()</pre>
+<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html#line.2296">isCompactionNeeded</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if the flush requested a compaction, else false</dd>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html
index edbac4e..7e5268f 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.471">HRegion.FlushResultImpl</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.475">HRegion.FlushResultImpl</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult</a></pre>
<div class="block">Objects from this class are created when flushing to describe all the different states that
@@ -273,7 +273,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.
<ul class="blockList">
<li class="blockList">
<h4>result</h4>
-<pre>final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.472">result</a></pre>
+<pre>final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.476">result</a></pre>
</li>
</ul>
<a name="failureReason">
@@ -282,7 +282,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.
<ul class="blockList">
<li class="blockList">
<h4>failureReason</h4>
-<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.473">failureReason</a></pre>
+<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.477">failureReason</a></pre>
</li>
</ul>
<a name="flushSequenceId">
@@ -291,7 +291,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.
<ul class="blockList">
<li class="blockList">
<h4>flushSequenceId</h4>
-<pre>final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.474">flushSequenceId</a></pre>
+<pre>final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.478">flushSequenceId</a></pre>
</li>
</ul>
<a name="wroteFlushWalMarker">
@@ -300,7 +300,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.
<ul class="blockListLast">
<li class="blockList">
<h4>wroteFlushWalMarker</h4>
-<pre>final boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.475">wroteFlushWalMarker</a></pre>
+<pre>final boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.479">wroteFlushWalMarker</a></pre>
</li>
</ul>
</li>
@@ -317,7 +317,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.
<ul class="blockList">
<li class="blockList">
<h4>FlushResultImpl</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.484">FlushResultImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> result,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.488">FlushResultImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> result,
long flushSequenceId)</pre>
<div class="block">Convenience constructor to use when the flush is successful, the failure message is set to
null.</div>
@@ -335,7 +335,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.
<ul class="blockList">
<li class="blockList">
<h4>FlushResultImpl</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.495">FlushResultImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> result,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.499">FlushResultImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> result,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> failureReason,
boolean wroteFlushMarker)</pre>
<div class="block">Convenience constructor to use when we cannot flush.</div>
@@ -352,7 +352,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.
<ul class="blockListLast">
<li class="blockList">
<h4>FlushResultImpl</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.506">FlushResultImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> result,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.510">FlushResultImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> result,
long flushSequenceId,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> failureReason,
boolean wroteFlushMarker)</pre>
@@ -379,7 +379,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.
<ul class="blockList">
<li class="blockList">
<h4>isFlushSucceeded</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.520">isFlushSucceeded</a>()</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.524">isFlushSucceeded</a>()</pre>
<div class="block">Convenience method, the equivalent of checking if result is
FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_NO_COMPACTION_NEEDED.</div>
<dl>
@@ -396,7 +396,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.
<ul class="blockList">
<li class="blockList">
<h4>isCompactionNeeded</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.530">isCompactionNeeded</a>()</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.534">isCompactionNeeded</a>()</pre>
<div class="block">Convenience method, the equivalent of checking if result is FLUSHED_COMPACTION_NEEDED.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -412,7 +412,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.535">toString</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.539">toString</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code> in class <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -425,7 +425,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.
<ul class="blockListLast">
<li class="blockList">
<h4>getResult</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.543">getResult</a>()</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.547">getResult</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html#getResult--">getResult</a></code> in interface <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult</a></code></dd>
[50/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/checkstyle-aggregate.html
----------------------------------------------------------------------
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index 11e2a63..886c36a 100644
--- a/checkstyle-aggregate.html
+++ b/checkstyle-aggregate.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181215" />
+ <meta name="Date-Revision-yyyymmdd" content="20181218" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Checkstyle Results</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -294,7 +294,7 @@
<td>3823</td>
<td>0</td>
<td>0</td>
-<td>14724</td></tr></table></div>
+<td>14663</td></tr></table></div>
<div class="section">
<h2><a name="Files"></a>Files</h2>
<table border="0" class="table table-striped">
@@ -3282,7 +3282,7 @@
<td><a href="#org.apache.hadoop.hbase.io.hfile.CacheConfig.java">org/apache/hadoop/hbase/io/hfile/CacheConfig.java</a></td>
<td>0</td>
<td>0</td>
-<td>6</td></tr>
+<td>1</td></tr>
<tr class="b">
<td><a href="#org.apache.hadoop.hbase.io.hfile.CacheStats.java">org/apache/hadoop/hbase/io/hfile/CacheStats.java</a></td>
<td>0</td>
@@ -3382,7 +3382,7 @@
<td><a href="#org.apache.hadoop.hbase.io.hfile.HFileReaderImpl.java">org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.java</a></td>
<td>0</td>
<td>0</td>
-<td>52</td></tr>
+<td>26</td></tr>
<tr class="b">
<td><a href="#org.apache.hadoop.hbase.io.hfile.HFileScanner.java">org/apache/hadoop/hbase/io/hfile/HFileScanner.java</a></td>
<td>0</td>
@@ -3439,85 +3439,75 @@
<td>0</td>
<td>13</td></tr>
<tr class="a">
-<td><a href="#org.apache.hadoop.hbase.io.hfile.TestBlockCacheReporting.java">org/apache/hadoop/hbase/io/hfile/TestBlockCacheReporting.java</a></td>
+<td><a href="#org.apache.hadoop.hbase.io.hfile.TestCacheConfig.java">org/apache/hadoop/hbase/io/hfile/TestCacheConfig.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
<tr class="b">
-<td><a href="#org.apache.hadoop.hbase.io.hfile.TestCacheConfig.java">org/apache/hadoop/hbase/io/hfile/TestCacheConfig.java</a></td>
-<td>0</td>
-<td>0</td>
-<td>3</td></tr>
-<tr class="a">
<td><a href="#org.apache.hadoop.hbase.io.hfile.TestCacheOnWrite.java">org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.java</a></td>
<td>0</td>
<td>0</td>
-<td>3</td></tr>
-<tr class="b">
+<td>2</td></tr>
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.io.hfile.TestCachedBlockQueue.java">org/apache/hadoop/hbase/io/hfile/TestCachedBlockQueue.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.io.hfile.TestChecksum.java">org/apache/hadoop/hbase/io/hfile/TestChecksum.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.io.hfile.TestFixedFileTrailer.java">org/apache/hadoop/hbase/io/hfile/TestFixedFileTrailer.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.io.hfile.TestForceCacheImportantBlocks.java">org/apache/hadoop/hbase/io/hfile/TestForceCacheImportantBlocks.java</a></td>
<td>0</td>
<td>0</td>
-<td>3</td></tr>
-<tr class="b">
+<td>2</td></tr>
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.io.hfile.TestHFile.java">org/apache/hadoop/hbase/io/hfile/TestHFile.java</a></td>
<td>0</td>
<td>0</td>
-<td>27</td></tr>
-<tr class="a">
+<td>21</td></tr>
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.io.hfile.TestHFileBlock.java">org/apache/hadoop/hbase/io/hfile/TestHFileBlock.java</a></td>
<td>0</td>
<td>0</td>
<td>8</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.io.hfile.TestHFileBlockIndex.java">org/apache/hadoop/hbase/io/hfile/TestHFileBlockIndex.java</a></td>
<td>0</td>
<td>0</td>
<td>8</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.io.hfile.TestHFileBlockPositionalRead.java">org/apache/hadoop/hbase/io/hfile/TestHFileBlockPositionalRead.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.io.hfile.TestHFileDataBlockEncoder.java">org/apache/hadoop/hbase/io/hfile/TestHFileDataBlockEncoder.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.io.hfile.TestHFileWriterV3.java">org/apache/hadoop/hbase/io/hfile/TestHFileWriterV3.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.io.hfile.TestLruBlockCache.java">org/apache/hadoop/hbase/io/hfile/TestLruBlockCache.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
-<td><a href="#org.apache.hadoop.hbase.io.hfile.TestPrefetch.java">org/apache/hadoop/hbase/io/hfile/TestPrefetch.java</a></td>
-<td>0</td>
-<td>0</td>
-<td>2</td></tr>
<tr class="b">
-<td><a href="#org.apache.hadoop.hbase.io.hfile.TestScannerFromBucketCache.java">org/apache/hadoop/hbase/io/hfile/TestScannerFromBucketCache.java</a></td>
+<td><a href="#org.apache.hadoop.hbase.io.hfile.TestPrefetch.java">org/apache/hadoop/hbase/io/hfile/TestPrefetch.java</a></td>
<td>0</td>
<td>0</td>
-<td>8</td></tr>
+<td>1</td></tr>
<tr class="a">
<td><a href="#org.apache.hadoop.hbase.io.hfile.TestScannerSelectionUsingKeyRange.java">org/apache/hadoop/hbase/io/hfile/TestScannerSelectionUsingKeyRange.java</a></td>
<td>0</td>
@@ -5214,4431 +5204,4426 @@
<td>0</td>
<td>2</td></tr>
<tr class="b">
-<td><a href="#org.apache.hadoop.hbase.mob.MobCacheConfig.java">org/apache/hadoop/hbase/mob/MobCacheConfig.java</a></td>
-<td>0</td>
-<td>0</td>
-<td>2</td></tr>
-<tr class="a">
<td><a href="#org.apache.hadoop.hbase.mob.MobConstants.java">org/apache/hadoop/hbase/mob/MobConstants.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.mob.MobFile.java">org/apache/hadoop/hbase/mob/MobFile.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.mob.MobFileCache.java">org/apache/hadoop/hbase/mob/MobFileCache.java</a></td>
<td>0</td>
<td>0</td>
-<td>2</td></tr>
-<tr class="b">
+<td>1</td></tr>
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.mob.MobFileName.java">org/apache/hadoop/hbase/mob/MobFileName.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.mob.MobTestUtil.java">org/apache/hadoop/hbase/mob/MobTestUtil.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.mob.MobUtils.java">org/apache/hadoop/hbase/mob/MobUtils.java</a></td>
<td>0</td>
<td>0</td>
<td>15</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.mob.TestDefaultMobStoreFlusher.java">org/apache/hadoop/hbase/mob/TestDefaultMobStoreFlusher.java</a></td>
<td>0</td>
<td>0</td>
<td>35</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.mob.TestExpiredMobFileCleaner.java">org/apache/hadoop/hbase/mob/TestExpiredMobFileCleaner.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.mob.compactions.MobCompactor.java">org/apache/hadoop/hbase/mob/compactions/MobCompactor.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.mob.compactions.PartitionedMobCompactionRequest.java">org/apache/hadoop/hbase/mob/compactions/PartitionedMobCompactionRequest.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.mob.compactions.PartitionedMobCompactor.java">org/apache/hadoop/hbase/mob/compactions/PartitionedMobCompactor.java</a></td>
<td>0</td>
<td>0</td>
<td>10</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.mob.compactions.TestMobCompactor.java">org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.mob.compactions.TestPartitionedMobCompactor.java">org/apache/hadoop/hbase/mob/compactions/TestPartitionedMobCompactor.java</a></td>
<td>0</td>
<td>0</td>
<td>9</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.monitoring.LogMonitoring.java">org/apache/hadoop/hbase/monitoring/LogMonitoring.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.monitoring.MemoryBoundedLogMessageBuffer.java">org/apache/hadoop/hbase/monitoring/MemoryBoundedLogMessageBuffer.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.monitoring.MonitoredRPCHandlerImpl.java">org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.monitoring.MonitoredTaskImpl.java">org/apache/hadoop/hbase/monitoring/MonitoredTaskImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.monitoring.StateDumpServlet.java">org/apache/hadoop/hbase/monitoring/StateDumpServlet.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.monitoring.TaskMonitor.java">org/apache/hadoop/hbase/monitoring/TaskMonitor.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.monitoring.TestTaskMonitor.java">org/apache/hadoop/hbase/monitoring/TestTaskMonitor.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.monitoring.ThreadMonitoring.java">org/apache/hadoop/hbase/monitoring/ThreadMonitoring.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.mttr.IntegrationTestMTTR.java">org/apache/hadoop/hbase/mttr/IntegrationTestMTTR.java</a></td>
<td>0</td>
<td>0</td>
<td>9</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.namespace.NamespaceStateManager.java">org/apache/hadoop/hbase/namespace/NamespaceStateManager.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.namespace.NamespaceTableAndRegionInfo.java">org/apache/hadoop/hbase/namespace/NamespaceTableAndRegionInfo.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.namespace.TestNamespaceAuditor.java">org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.net.Address.java">org/apache/hadoop/hbase/net/Address.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.net.TestAddress.java">org/apache/hadoop/hbase/net/TestAddress.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.nio.ByteBuff.java">org/apache/hadoop/hbase/nio/ByteBuff.java</a></td>
<td>0</td>
<td>0</td>
<td>24</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.nio.MultiByteBuff.java">org/apache/hadoop/hbase/nio/MultiByteBuff.java</a></td>
<td>0</td>
<td>0</td>
<td>29</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.nio.SingleByteBuff.java">org/apache/hadoop/hbase/nio/SingleByteBuff.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure.MasterProcedureManager.java">org/apache/hadoop/hbase/procedure/MasterProcedureManager.java</a></td>
<td>0</td>
<td>0</td>
<td>9</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure.Procedure.java">org/apache/hadoop/hbase/procedure/Procedure.java</a></td>
<td>0</td>
<td>0</td>
<td>14</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure.ProcedureCoordinator.java">org/apache/hadoop/hbase/procedure/ProcedureCoordinator.java</a></td>
<td>0</td>
<td>0</td>
<td>11</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure.ProcedureCoordinatorRpcs.java">org/apache/hadoop/hbase/procedure/ProcedureCoordinatorRpcs.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure.ProcedureManagerHost.java">org/apache/hadoop/hbase/procedure/ProcedureManagerHost.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure.ProcedureMember.java">org/apache/hadoop/hbase/procedure/ProcedureMember.java</a></td>
<td>0</td>
<td>0</td>
<td>16</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure.ProcedureMemberRpcs.java">org/apache/hadoop/hbase/procedure/ProcedureMemberRpcs.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure.RegionServerProcedureManager.java">org/apache/hadoop/hbase/procedure/RegionServerProcedureManager.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure.SimpleMasterProcedureManager.java">org/apache/hadoop/hbase/procedure/SimpleMasterProcedureManager.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure.SimpleRSProcedureManager.java">org/apache/hadoop/hbase/procedure/SimpleRSProcedureManager.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure.Subprocedure.java">org/apache/hadoop/hbase/procedure/Subprocedure.java</a></td>
<td>0</td>
<td>0</td>
<td>9</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure.TestProcedureCoordinator.java">org/apache/hadoop/hbase/procedure/TestProcedureCoordinator.java</a></td>
<td>0</td>
<td>0</td>
<td>11</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure.TestProcedureDescriber.java">org/apache/hadoop/hbase/procedure/TestProcedureDescriber.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure.TestProcedureMember.java">org/apache/hadoop/hbase/procedure/TestProcedureMember.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure.TestZKProcedure.java">org/apache/hadoop/hbase/procedure/TestZKProcedure.java</a></td>
<td>0</td>
<td>0</td>
<td>27</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure.TestZKProcedureControllers.java">org/apache/hadoop/hbase/procedure/TestZKProcedureControllers.java</a></td>
<td>0</td>
<td>0</td>
<td>7</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure.ZKProcedureCoordinator.java">org/apache/hadoop/hbase/procedure/ZKProcedureCoordinator.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure.ZKProcedureMemberRpcs.java">org/apache/hadoop/hbase/procedure/ZKProcedureMemberRpcs.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure.ZKProcedureUtil.java">org/apache/hadoop/hbase/procedure/ZKProcedureUtil.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure.flush.FlushTableSubprocedure.java">org/apache/hadoop/hbase/procedure/flush/FlushTableSubprocedure.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure.flush.MasterFlushTableProcedureManager.java">org/apache/hadoop/hbase/procedure/flush/MasterFlushTableProcedureManager.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure.flush.RegionServerFlushTableProcedureManager.java">org/apache/hadoop/hbase/procedure/flush/RegionServerFlushTableProcedureManager.java</a></td>
<td>0</td>
<td>0</td>
<td>10</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure2.AbstractProcedureScheduler.java">org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure2.BadProcedureException.java">org/apache/hadoop/hbase/procedure2/BadProcedureException.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure2.LockedResource.java">org/apache/hadoop/hbase/procedure2/LockedResource.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure2.Procedure.java">org/apache/hadoop/hbase/procedure2/Procedure.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure2.ProcedureDeque.java">org/apache/hadoop/hbase/procedure2/ProcedureDeque.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure2.ProcedureException.java">org/apache/hadoop/hbase/procedure2/ProcedureException.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure2.ProcedureExecutor.java">org/apache/hadoop/hbase/procedure2/ProcedureExecutor.java</a></td>
<td>0</td>
<td>0</td>
<td>8</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure2.ProcedureScheduler.java">org/apache/hadoop/hbase/procedure2/ProcedureScheduler.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.java">org/apache/hadoop/hbase/procedure2/ProcedureTestingUtility.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure2.ProcedureUtil.java">org/apache/hadoop/hbase/procedure2/ProcedureUtil.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure2.RemoteProcedureDispatcher.java">org/apache/hadoop/hbase/procedure2/RemoteProcedureDispatcher.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure2.RemoteProcedureException.java">org/apache/hadoop/hbase/procedure2/RemoteProcedureException.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure2.RootProcedureState.java">org/apache/hadoop/hbase/procedure2/RootProcedureState.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure2.StateMachineProcedure.java">org/apache/hadoop/hbase/procedure2/StateMachineProcedure.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure2.TestProcedureExecution.java">org/apache/hadoop/hbase/procedure2/TestProcedureExecution.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.java">org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure2.TestProcedureNonce.java">org/apache/hadoop/hbase/procedure2/TestProcedureNonce.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure2.TestProcedureRecovery.java">org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure2.TestProcedureReplayOrder.java">org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure2.TestProcedureSchedulerConcurrency.java">org/apache/hadoop/hbase/procedure2/TestProcedureSchedulerConcurrency.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure2.TestProcedureSuspended.java">org/apache/hadoop/hbase/procedure2/TestProcedureSuspended.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure2.TestProcedureToString.java">org/apache/hadoop/hbase/procedure2/TestProcedureToString.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure2.TestStateMachineProcedure.java">org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure2.TestYieldProcedures.java">org/apache/hadoop/hbase/procedure2/TestYieldProcedures.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure2.store.ProcedureStore.java">org/apache/hadoop/hbase/procedure2/store/ProcedureStore.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure2.store.ProcedureStoreBase.java">org/apache/hadoop/hbase/procedure2/store/ProcedureStoreBase.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure2.store.ProcedureStoreTracker.java">org/apache/hadoop/hbase/procedure2/store/ProcedureStoreTracker.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure2.store.TestProcedureStoreTracker.java">org/apache/hadoop/hbase/procedure2/store/TestProcedureStoreTracker.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure2.store.wal.ProcedureWALFile.java">org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFile.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure2.store.wal.ProcedureWALLoaderPerformanceEvaluation.java">org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALLoaderPerformanceEvaluation.java</a></td>
<td>0</td>
<td>0</td>
<td>7</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure2.store.wal.ProcedureWALPerformanceEvaluation.java">org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALPerformanceEvaluation.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure2.store.wal.TestStressWALProcedureStore.java">org/apache/hadoop/hbase/procedure2/store/wal/TestStressWALProcedureStore.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure2.store.wal.TestWALProcedureStore.java">org/apache/hadoop/hbase/procedure2/store/wal/TestWALProcedureStore.java</a></td>
<td>0</td>
<td>0</td>
<td>10</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore.java">org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure2.util.DelayedUtil.java">org/apache/hadoop/hbase/procedure2/util/DelayedUtil.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure2.util.StringUtils.java">org/apache/hadoop/hbase/procedure2/util/StringUtils.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.protobuf.ProtobufMagic.java">org/apache/hadoop/hbase/protobuf/ProtobufMagic.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.protobuf.ProtobufMessageConverter.java">org/apache/hadoop/hbase/protobuf/ProtobufMessageConverter.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.protobuf.ProtobufUtil.java">org/apache/hadoop/hbase/protobuf/ProtobufUtil.java</a></td>
<td>0</td>
<td>0</td>
<td>115</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.protobuf.ReplicationProtbufUtil.java">org/apache/hadoop/hbase/protobuf/ReplicationProtbufUtil.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.protobuf.TestProtobufUtil.java">org/apache/hadoop/hbase/protobuf/TestProtobufUtil.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.protobuf.TestReplicationProtobuf.java">org/apache/hadoop/hbase/protobuf/TestReplicationProtobuf.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.ActivePolicyEnforcement.java">org/apache/hadoop/hbase/quotas/ActivePolicyEnforcement.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.AverageIntervalRateLimiter.java">org/apache/hadoop/hbase/quotas/AverageIntervalRateLimiter.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.DefaultOperationQuota.java">org/apache/hadoop/hbase/quotas/DefaultOperationQuota.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.FileSystemUtilizationChore.java">org/apache/hadoop/hbase/quotas/FileSystemUtilizationChore.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.FixedIntervalRateLimiter.java">org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.GlobalQuotaSettings.java">org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.GlobalQuotaSettingsImpl.java">org/apache/hadoop/hbase/quotas/GlobalQuotaSettingsImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.NamespaceQuotaSnapshotStore.java">org/apache/hadoop/hbase/quotas/NamespaceQuotaSnapshotStore.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.NoopOperationQuota.java">org/apache/hadoop/hbase/quotas/NoopOperationQuota.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.NoopQuotaLimiter.java">org/apache/hadoop/hbase/quotas/NoopQuotaLimiter.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.OperationQuota.java">org/apache/hadoop/hbase/quotas/OperationQuota.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.QuotaCache.java">org/apache/hadoop/hbase/quotas/QuotaCache.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.QuotaLimiterFactory.java">org/apache/hadoop/hbase/quotas/QuotaLimiterFactory.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.QuotaObserverChore.java">org/apache/hadoop/hbase/quotas/QuotaObserverChore.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.QuotaRetriever.java">org/apache/hadoop/hbase/quotas/QuotaRetriever.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.QuotaSettings.java">org/apache/hadoop/hbase/quotas/QuotaSettings.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.QuotaSettingsFactory.java">org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.QuotaState.java">org/apache/hadoop/hbase/quotas/QuotaState.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.QuotaTableUtil.java">org/apache/hadoop/hbase/quotas/QuotaTableUtil.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.QuotaUtil.java">org/apache/hadoop/hbase/quotas/QuotaUtil.java</a></td>
<td>0</td>
<td>0</td>
<td>8</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.RateLimiter.java">org/apache/hadoop/hbase/quotas/RateLimiter.java</a></td>
<td>0</td>
<td>0</td>
<td>18</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.RegionServerRpcQuotaManager.java">org/apache/hadoop/hbase/quotas/RegionServerRpcQuotaManager.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.RegionServerSpaceQuotaManager.java">org/apache/hadoop/hbase/quotas/RegionServerSpaceQuotaManager.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.SnapshotQuotaObserverChore.java">org/apache/hadoop/hbase/quotas/SnapshotQuotaObserverChore.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.SpaceLimitSettings.java">org/apache/hadoop/hbase/quotas/SpaceLimitSettings.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.SpaceQuotaRefresherChore.java">org/apache/hadoop/hbase/quotas/SpaceQuotaRefresherChore.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshot.java">org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshot.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshotNotifier.java">org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifier.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshotNotifierFactory.java">org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifierFactory.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshotNotifierForTest.java">org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifierForTest.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.SpaceViolationPolicyEnforcement.java">org/apache/hadoop/hbase/quotas/SpaceViolationPolicyEnforcement.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.SpaceViolationPolicyEnforcementFactory.java">org/apache/hadoop/hbase/quotas/SpaceViolationPolicyEnforcementFactory.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.TableQuotaSnapshotStore.java">org/apache/hadoop/hbase/quotas/TableQuotaSnapshotStore.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.TestFileSystemUtilizationChore.java">org/apache/hadoop/hbase/quotas/TestFileSystemUtilizationChore.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.TestNamespaceQuotaViolationStore.java">org/apache/hadoop/hbase/quotas/TestNamespaceQuotaViolationStore.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.TestQuotaFilter.java">org/apache/hadoop/hbase/quotas/TestQuotaFilter.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.TestQuotaObserverChoreWithMiniCluster.java">org/apache/hadoop/hbase/quotas/TestQuotaObserverChoreWithMiniCluster.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.TestQuotaSettingsFactory.java">org/apache/hadoop/hbase/quotas/TestQuotaSettingsFactory.java</a></td>
<td>0</td>
<td>0</td>
<td>7</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.TestQuotaStatusRPCs.java">org/apache/hadoop/hbase/quotas/TestQuotaStatusRPCs.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.TestQuotaThrottle.java">org/apache/hadoop/hbase/quotas/TestQuotaThrottle.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.TestRateLimiter.java">org/apache/hadoop/hbase/quotas/TestRateLimiter.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.TestSpaceQuotas.java">org/apache/hadoop/hbase/quotas/TestSpaceQuotas.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.TestTableQuotaViolationStore.java">org/apache/hadoop/hbase/quotas/TestTableQuotaViolationStore.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.TestTablesWithQuotas.java">org/apache/hadoop/hbase/quotas/TestTablesWithQuotas.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.ThrottleSettings.java">org/apache/hadoop/hbase/quotas/ThrottleSettings.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.TimeBasedLimiter.java">org/apache/hadoop/hbase/quotas/TimeBasedLimiter.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.UserQuotaState.java">org/apache/hadoop/hbase/quotas/UserQuotaState.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.policies.BaseViolationPolicyEnforcement.java">org/apache/hadoop/hbase/quotas/policies/BaseViolationPolicyEnforcement.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.policies.DefaultViolationPolicyEnforcement.java">org/apache/hadoop/hbase/quotas/policies/DefaultViolationPolicyEnforcement.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.policies.DisableTableViolationPolicyEnforcement.java">org/apache/hadoop/hbase/quotas/policies/DisableTableViolationPolicyEnforcement.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.policies.NoInsertsViolationPolicyEnforcement.java">org/apache/hadoop/hbase/quotas/policies/NoInsertsViolationPolicyEnforcement.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.policies.NoWritesCompactionsViolationPolicyEnforcement.java">org/apache/hadoop/hbase/quotas/policies/NoWritesCompactionsViolationPolicyEnforcement.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.policies.NoWritesViolationPolicyEnforcement.java">org/apache/hadoop/hbase/quotas/policies/NoWritesViolationPolicyEnforcement.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.policies.TestBulkLoadCheckingViolationPolicyEnforcement.java">org/apache/hadoop/hbase/quotas/policies/TestBulkLoadCheckingViolationPolicyEnforcement.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.AbstractMemStore.java">org/apache/hadoop/hbase/regionserver/AbstractMemStore.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.AbstractTestDateTieredCompactionPolicy.java">org/apache/hadoop/hbase/regionserver/AbstractTestDateTieredCompactionPolicy.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.AnnotationReadingPriorityFunction.java">org/apache/hadoop/hbase/regionserver/AnnotationReadingPriorityFunction.java</a></td>
<td>0</td>
<td>0</td>
<td>16</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.BaseRowProcessor.java">org/apache/hadoop/hbase/regionserver/BaseRowProcessor.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.BusyRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/BusyRegionSplitPolicy.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.ByteBufferChunkKeyValue.java">org/apache/hadoop/hbase/regionserver/ByteBufferChunkKeyValue.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.CSLMImmutableSegment.java">org/apache/hadoop/hbase/regionserver/CSLMImmutableSegment.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.CellArrayImmutableSegment.java">org/apache/hadoop/hbase/regionserver/CellArrayImmutableSegment.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.CellArrayMap.java">org/apache/hadoop/hbase/regionserver/CellArrayMap.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.CellChunkMap.java">org/apache/hadoop/hbase/regionserver/CellChunkMap.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.CellFlatMap.java">org/apache/hadoop/hbase/regionserver/CellFlatMap.java</a></td>
<td>0</td>
<td>0</td>
<td>11</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.CellSet.java">org/apache/hadoop/hbase/regionserver/CellSet.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.CellSink.java">org/apache/hadoop/hbase/regionserver/CellSink.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.ChangedReadersObserver.java">org/apache/hadoop/hbase/regionserver/ChangedReadersObserver.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.Chunk.java">org/apache/hadoop/hbase/regionserver/Chunk.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.ChunkCreator.java">org/apache/hadoop/hbase/regionserver/ChunkCreator.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.CompactSplit.java">org/apache/hadoop/hbase/regionserver/CompactSplit.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.CompactedHFilesDischargeHandler.java">org/apache/hadoop/hbase/regionserver/CompactedHFilesDischargeHandler.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.CompactedHFilesDischarger.java">org/apache/hadoop/hbase/regionserver/CompactedHFilesDischarger.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.CompactingMemStore.java">org/apache/hadoop/hbase/regionserver/CompactingMemStore.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.CompactionPipeline.java">org/apache/hadoop/hbase/regionserver/CompactionPipeline.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.CompactionTool.java">org/apache/hadoop/hbase/regionserver/CompactionTool.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.CompositeImmutableSegment.java">org/apache/hadoop/hbase/regionserver/CompositeImmutableSegment.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/ConstantSizeRegionSplitPolicy.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.CreateRandomStoreFile.java">org/apache/hadoop/hbase/regionserver/CreateRandomStoreFile.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.DataBlockEncodingTool.java">org/apache/hadoop/hbase/regionserver/DataBlockEncodingTool.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.DateTieredStoreEngine.java">org/apache/hadoop/hbase/regionserver/DateTieredStoreEngine.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.DefaultHeapMemoryTuner.java">org/apache/hadoop/hbase/regionserver/DefaultHeapMemoryTuner.java</a></td>
<td>0</td>
<td>0</td>
<td>31</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.DefaultMemStore.java">org/apache/hadoop/hbase/regionserver/DefaultMemStore.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.DefaultStoreFlusher.java">org/apache/hadoop/hbase/regionserver/DefaultStoreFlusher.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.DelegatingKeyValueScanner.java">org/apache/hadoop/hbase/regionserver/DelegatingKeyValueScanner.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.DelimitedKeyPrefixRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/DelimitedKeyPrefixRegionSplitPolicy.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.DisabledRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/DisabledRegionSplitPolicy.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.FavoredNodesForRegion.java">org/apache/hadoop/hbase/regionserver/FavoredNodesForRegion.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.FifoRpcSchedulerFactory.java">org/apache/hadoop/hbase/regionserver/FifoRpcSchedulerFactory.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.FlushPolicyFactory.java">org/apache/hadoop/hbase/regionserver/FlushPolicyFactory.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.FlushRequestListener.java">org/apache/hadoop/hbase/regionserver/FlushRequestListener.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.FlushRequester.java">org/apache/hadoop/hbase/regionserver/FlushRequester.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.HMobStore.java">org/apache/hadoop/hbase/regionserver/HMobStore.java</a></td>
<td>0</td>
<td>0</td>
<td>8</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.HRegion.java">org/apache/hadoop/hbase/regionserver/HRegion.java</a></td>
<td>0</td>
<td>0</td>
-<td>209</td></tr>
-<tr class="a">
+<td>208</td></tr>
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.HRegionFileSystem.java">org/apache/hadoop/hbase/regionserver/HRegionFileSystem.java</a></td>
<td>0</td>
<td>0</td>
<td>47</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.HRegionServer.java">org/apache/hadoop/hbase/regionserver/HRegionServer.java</a></td>
<td>0</td>
<td>0</td>
<td>73</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine.java">org/apache/hadoop/hbase/regionserver/HRegionServerCommandLine.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.HStore.java">org/apache/hadoop/hbase/regionserver/HStore.java</a></td>
<td>0</td>
<td>0</td>
<td>43</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.HStoreFile.java">org/apache/hadoop/hbase/regionserver/HStoreFile.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.HeapMemoryManager.java">org/apache/hadoop/hbase/regionserver/HeapMemoryManager.java</a></td>
<td>0</td>
<td>0</td>
-<td>11</td></tr>
-<tr class="a">
+<td>10</td></tr>
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.HeapMemoryTuner.java">org/apache/hadoop/hbase/regionserver/HeapMemoryTuner.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.ImmutableSegment.java">org/apache/hadoop/hbase/regionserver/ImmutableSegment.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.IncreasingToUpperBoundRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/IncreasingToUpperBoundRegionSplitPolicy.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.InternalScan.java">org/apache/hadoop/hbase/regionserver/InternalScan.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.InternalScanner.java">org/apache/hadoop/hbase/regionserver/InternalScanner.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.KeyPrefixRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/KeyPrefixRegionSplitPolicy.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.KeyValueHeap.java">org/apache/hadoop/hbase/regionserver/KeyValueHeap.java</a></td>
<td>0</td>
<td>0</td>
<td>11</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.KeyValueScanner.java">org/apache/hadoop/hbase/regionserver/KeyValueScanner.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.LeaseException.java">org/apache/hadoop/hbase/regionserver/LeaseException.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.Leases.java">org/apache/hadoop/hbase/regionserver/Leases.java</a></td>
<td>0</td>
<td>0</td>
<td>10</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.LogRoller.java">org/apache/hadoop/hbase/regionserver/LogRoller.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.MemStore.java">org/apache/hadoop/hbase/regionserver/MemStore.java</a></td>
<td>0</td>
<td>0</td>
<td>10</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.MemStoreCompactor.java">org/apache/hadoop/hbase/regionserver/MemStoreCompactor.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.MemStoreFlusher.java">org/apache/hadoop/hbase/regionserver/MemStoreFlusher.java</a></td>
<td>0</td>
<td>0</td>
<td>29</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.MemStoreLAB.java">org/apache/hadoop/hbase/regionserver/MemStoreLAB.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.MemStoreLABImpl.java">org/apache/hadoop/hbase/regionserver/MemStoreLABImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.MemStoreMergerSegmentsIterator.java">org/apache/hadoop/hbase/regionserver/MemStoreMergerSegmentsIterator.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.MemStoreSegmentsIterator.java">org/apache/hadoop/hbase/regionserver/MemStoreSegmentsIterator.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.MemStoreSnapshot.java">org/apache/hadoop/hbase/regionserver/MemStoreSnapshot.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.MetricsRegion.java">org/apache/hadoop/hbase/regionserver/MetricsRegion.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.MetricsRegionServer.java">org/apache/hadoop/hbase/regionserver/MetricsRegionServer.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.MetricsRegionServerWrapperImpl.java">org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.MetricsTable.java">org/apache/hadoop/hbase/regionserver/MetricsTable.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.MetricsTableSource.java">org/apache/hadoop/hbase/regionserver/MetricsTableSource.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.MetricsTableWrapperAggregateImpl.java">org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregateImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.MetricsTableWrapperStub.java">org/apache/hadoop/hbase/regionserver/MetricsTableWrapperStub.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress.java">org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.java</a></td>
<td>0</td>
<td>0</td>
<td>10</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.MobReferenceOnlyFilter.java">org/apache/hadoop/hbase/regionserver/MobReferenceOnlyFilter.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.java">org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.MutableOnlineRegions.java">org/apache/hadoop/hbase/regionserver/MutableOnlineRegions.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.MutableSegment.java">org/apache/hadoop/hbase/regionserver/MutableSegment.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.NoTagByteBufferChunkKeyValue.java">org/apache/hadoop/hbase/regionserver/NoTagByteBufferChunkKeyValue.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.NonLazyKeyValueScanner.java">org/apache/hadoop/hbase/regionserver/NonLazyKeyValueScanner.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.NonReversedNonLazyKeyValueScanner.java">org/apache/hadoop/hbase/regionserver/NonReversedNonLazyKeyValueScanner.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.OOMERegionServer.java">org/apache/hadoop/hbase/regionserver/OOMERegionServer.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.OnlineRegions.java">org/apache/hadoop/hbase/regionserver/OnlineRegions.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.OperationStatus.java">org/apache/hadoop/hbase/regionserver/OperationStatus.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.RSDumpServlet.java">org/apache/hadoop/hbase/regionserver/RSDumpServlet.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.RSRpcServices.java">org/apache/hadoop/hbase/regionserver/RSRpcServices.java</a></td>
<td>0</td>
<td>0</td>
<td>64</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.RSStatusServlet.java">org/apache/hadoop/hbase/regionserver/RSStatusServlet.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.Region.java">org/apache/hadoop/hbase/regionserver/Region.java</a></td>
<td>0</td>
<td>0</td>
<td>25</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.RegionAsTable.java">org/apache/hadoop/hbase/regionserver/RegionAsTable.java</a></td>
<td>0</td>
<td>0</td>
<td>41</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.java">org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java</a></td>
<td>0</td>
<td>0</td>
<td>79</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.RegionScanner.java">org/apache/hadoop/hbase/regionserver/RegionScanner.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.RegionServerAccounting.java">org/apache/hadoop/hbase/regionserver/RegionServerAccounting.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.RegionServerCoprocessorHost.java">org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.java</a></td>
<td>0</td>
<td>0</td>
<td>8</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.RegionServerServices.java">org/apache/hadoop/hbase/regionserver/RegionServerServices.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.RegionServicesForStores.java">org/apache/hadoop/hbase/regionserver/RegionServicesForStores.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.RegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/RegionSplitPolicy.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.ReplicationSinkService.java">org/apache/hadoop/hbase/regionserver/ReplicationSinkService.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.ReversedKeyValueHeap.java">org/apache/hadoop/hbase/regionserver/ReversedKeyValueHeap.java</a></td>
<td>0</td>
<td>0</td>
<td>7</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.ReversedRegionScannerImpl.java">org/apache/hadoop/hbase/regionserver/ReversedRegionScannerImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.ReversedStoreScanner.java">org/apache/hadoop/hbase/regionserver/ReversedStoreScanner.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.RowProcessor.java">org/apache/hadoop/hbase/regionserver/RowProcessor.java</a></td>
<td>0</td>
<td>0</td>
<td>7</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.RpcSchedulerFactory.java">org/apache/hadoop/hbase/regionserver/RpcSchedulerFactory.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.ScanInfo.java">org/apache/hadoop/hbase/regionserver/ScanInfo.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.ScanOptions.java">org/apache/hadoop/hbase/regionserver/ScanOptions.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.ScannerContext.java">org/apache/hadoop/hbase/regionserver/ScannerContext.java</a></td>
<td>0</td>
<td>0</td>
<td>9</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.ScannerIdGenerator.java">org/apache/hadoop/hbase/regionserver/ScannerIdGenerator.java</a></td>
<td>0</td>
<td>0</td>
<td>7</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.SecureBulkLoadManager.java">org/apache/hadoop/hbase/regionserver/SecureBulkLoadManager.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.Segment.java">org/apache/hadoop/hbase/regionserver/Segment.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.SegmentFactory.java">org/apache/hadoop/hbase/regionserver/SegmentFactory.java</a></td>
<td>0</td>
<td>0</td>
<td>10</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.SegmentScanner.java">org/apache/hadoop/hbase/regionserver/SegmentScanner.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.ServerNonceManager.java">org/apache/hadoop/hbase/regionserver/ServerNonceManager.java</a></td>
<td>0</td>
<td>0</td>
<td>8</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.ShipperListener.java">org/apache/hadoop/hbase/regionserver/ShipperListener.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.ShutdownHook.java">org/apache/hadoop/hbase/regionserver/ShutdownHook.java</a></td>
<td>0</td>
<td>0</td>
<td>7</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.SimpleRpcSchedulerFactory.java">org/apache/hadoop/hbase/regionserver/SimpleRpcSchedulerFactory.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.SplitRequest.java">org/apache/hadoop/hbase/regionserver/SplitRequest.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.SteppingSplitPolicy.java">org/apache/hadoop/hbase/regionserver/SteppingSplitPolicy.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.Store.java">org/apache/hadoop/hbase/regionserver/Store.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.StoreFileComparators.java">org/apache/hadoop/hbase/regionserver/StoreFileComparators.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.StoreFileInfo.java">org/apache/hadoop/hbase/regionserver/StoreFileInfo.java</a></td>
<td>0</td>
<td>0</td>
<td>18</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.StoreFileManager.java">org/apache/hadoop/hbase/regionserver/StoreFileManager.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.StoreFileReader.java">org/apache/hadoop/hbase/regionserver/StoreFileReader.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.StoreFileScanner.java">org/apache/hadoop/hbase/regionserver/StoreFileScanner.java</a></td>
<td>0</td>
<td>0</td>
<td>12</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.StoreFileWriter.java">org/apache/hadoop/hbase/regionserver/StoreFileWriter.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.StoreFlushContext.java">org/apache/hadoop/hbase/regionserver/StoreFlushContext.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.StoreFlusher.java">org/apache/hadoop/hbase/regionserver/StoreFlusher.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.StoreScanner.java">org/apache/hadoop/hbase/regionserver/StoreScanner.java</a></td>
<td>0</td>
<td>0</td>
<td>21</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.StoreUtils.java">org/apache/hadoop/hbase/regionserver/StoreUtils.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.StorefileRefresherChore.java">org/apache/hadoop/hbase/regionserver/StorefileRefresherChore.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.StripeMultiFileWriter.java">org/apache/hadoop/hbase/regionserver/StripeMultiFileWriter.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.StripeStoreConfig.java">org/apache/hadoop/hbase/regionserver/StripeStoreConfig.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.StripeStoreEngine.java">org/apache/hadoop/hbase/regionserver/StripeStoreEngine.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.StripeStoreFileManager.java">org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.java</a></td>
<td>0</td>
<td>0</td>
<td>14</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.StripeStoreFlusher.java">org/apache/hadoop/hbase/regionserver/StripeStoreFlusher.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestAtomicOperation.java">org/apache/hadoop/hbase/regionserver/TestAtomicOperation.java</a></td>
<td>0</td>
<td>0</td>
-<td>13</td></tr>
-<tr class="b">
+<td>11</td></tr>
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestBlocksRead.java">org/apache/hadoop/hbase/regionserver/TestBlocksRead.java</a></td>
<td>0</td>
<td>0</td>
-<td>16</td></tr>
-<tr class="a">
+<td>15</td></tr>
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestBlocksScanned.java">org/apache/hadoop/hbase/regionserver/TestBlocksScanned.java</a></td>
<td>0</td>
<td>0</td>
-<td>5</td></tr>
-<tr class="b">
+<td>4</td></tr>
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestBulkLoad.java">org/apache/hadoop/hbase/regionserver/TestBulkLoad.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestCacheOnWriteInSchema.java">org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestCellFlatSet.java">org/apache/hadoop/hbase/regionserver/TestCellFlatSet.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestCellSkipListSet.java">org/apache/hadoop/hbase/regionserver/TestCellSkipListSet.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestCleanupMetaWAL.java">org/apache/hadoop/hbase/regionserver/TestCleanupMetaWAL.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestClearRegionBlockCache.java">org/apache/hadoop/hbase/regionserver/TestClearRegionBlockCache.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestColumnSeeking.java">org/apache/hadoop/hbase/regionserver/TestColumnSeeking.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestCompactSplitThread.java">org/apache/hadoop/hbase/regionserver/TestCompactSplitThread.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestCompactingMemStore.java">org/apache/hadoop/hbase/regionserver/TestCompactingMemStore.java</a></td>
<td>0</td>
<td>0</td>
<td>16</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestCompactingToCellFlatMapMemStore.java">org/apache/hadoop/hbase/regionserver/TestCompactingToCellFlatMapMemStore.java</a></td>
<td>0</td>
<td>0</td>
<td>16</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestCompaction.java">org/apache/hadoop/hbase/regionserver/TestCompaction.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestCompactionState.java">org/apache/hadoop/hbase/regionserver/TestCompactionState.java</a></td>
<td>0</td>
<td>0</td>
<td>7</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestCompoundBloomFilter.java">org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.java</a></td>
<td>0</td>
<td>0</td>
<td>16</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestDateTieredCompactionPolicy.java">org/apache/hadoop/hbase/regionserver/TestDateTieredCompactionPolicy.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestDateTieredCompactionPolicyOverflow.java">org/apache/hadoop/hbase/regionserver/TestDateTieredCompactionPolicyOverflow.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestDefaultMemStore.java">org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.java</a></td>
<td>0</td>
<td>0</td>
<td>17</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestDeleteMobTable.java">org/apache/hadoop/hbase/regionserver/TestDeleteMobTable.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestEndToEndSplitTransaction.java">org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestFSErrorsExposed.java">org/apache/hadoop/hbase/regionserver/TestFSErrorsExposed.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestFailedAppendAndSync.java">org/apache/hadoop/hbase/regionserver/TestFailedAppendAndSync.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestGetClosestAtOrBefore.java">org/apache/hadoop/hbase/regionserver/TestGetClosestAtOrBefore.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestHMobStore.java">org/apache/hadoop/hbase/regionserver/TestHMobStore.java</a></td>
<td>0</td>
<td>0</td>
-<td>12</td></tr>
-<tr class="b">
+<td>11</td></tr>
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestHRegion.java">org/apache/hadoop/hbase/regionserver/TestHRegion.java</a></td>
<td>0</td>
<td>0</td>
<td>29</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestHRegionFileSystem.java">org/apache/hadoop/hbase/regionserver/TestHRegionFileSystem.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestHRegionInfo.java">org/apache/hadoop/hbase/regionserver/TestHRegionInfo.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestHRegionOnCluster.java">org/apache/hadoop/hbase/regionserver/TestHRegionOnCluster.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestHRegionReplayEvents.java">org/apache/hadoop/hbase/regionserver/TestHRegionReplayEvents.java</a></td>
<td>0</td>
<td>0</td>
<td>16</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestHRegionServerBulkLoad.java">org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.java</a></td>
<td>0</td>
<td>0</td>
<td>8</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestHRegionServerBulkLoadWithOldClient.java">org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoadWithOldClient.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestHStore.java">org/apache/hadoop/hbase/regionserver/TestHStore.java</a></td>
<td>0</td>
<td>0</td>
<td>40</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestHStoreFile.java">org/apache/hadoop/hbase/regionserver/TestHStoreFile.java</a></td>
<td>0</td>
<td>0</td>
<td>22</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestJoinedScanners.java">org/apache/hadoop/hbase/regionserver/TestJoinedScanners.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestKeepDeletes.java">org/apache/hadoop/hbase/regionserver/TestKeepDeletes.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestKeyValueHeap.java">org/apache/hadoop/hbase/regionserver/TestKeyValueHeap.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestKeyValueScanFixture.java">org/apache/hadoop/hbase/regionserver/TestKeyValueScanFixture.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestMajorCompaction.java">org/apache/hadoop/hbase/regionserver/TestMajorCompaction.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestMasterAddressTracker.java">org/apache/hadoop/hbase/regionserver/TestMasterAddressTracker.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestMemStoreLAB.java">org/apache/hadoop/hbase/regionserver/TestMemStoreLAB.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestMemstoreLABWithoutPool.java">org/apache/hadoop/hbase/regionserver/TestMemstoreLABWithoutPool.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestMetricsRegion.java">org/apache/hadoop/hbase/regionserver/TestMetricsRegion.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestMetricsRegionServer.java">org/apache/hadoop/hbase/regionserver/TestMetricsRegionServer.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestMinorCompaction.java">org/apache/hadoop/hbase/regionserver/TestMinorCompaction.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestMobStoreScanner.java">org/apache/hadoop/hbase/regionserver/TestMobStoreScanner.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestMultiColumnScanner.java">org/apache/hadoop/hbase/regionserver/TestMultiColumnScanner.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestMultiLogThreshold.java">org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.java</a></td>
<td>0</td>
<td>0</td>
<td>10</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestMultiVersionConcurrencyControl.java">org/apache/hadoop/hbase/regionserver/TestMultiVersionConcurrencyControl.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestParallelPut.java">org/apache/hadoop/hbase/regionserver/TestParallelPut.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.java">org/apache/hadoop/hbase/regionserver/TestPerColumnFamilyFlush.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestPriorityRpc.java">org/apache/hadoop/hbase/regionserver/TestPriorityRpc.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestQosFunction.java">org/apache/hadoop/hbase/regionserver/TestQosFunction.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestRSKilledWhenInitializing.java">org/apache/hadoop/hbase/regionserver/TestRSKilledWhenInitializing.java</a></td>
<td>0</td>
<td>0</td>
<td>7</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestRecoveredEdits.java">org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.java</a></td>
<td>0</td>
<td>0</td>
<td>10</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestRegionIncrement.java">org/apache/hadoop/hbase/regionserver/TestRegionIncrement.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestRegionInfoBuilder.java">org/apache/hadoop/hbase/regionserver/TestRegionInfoBuilder.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestRegionMergeTransactionOnCluster.java">org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestRegionOpen.java">org/apache/hadoop/hbase/regionserver/TestRegionOpen.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestRegionReplicaFailover.java">org/apache/hadoop/hbase/regionserver/TestRegionReplicaFailover.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestRegionReplicas.java">org/apache/hadoop/hbase/regionserver/TestRegionReplicas.java</a></td>
<td>0</td>
<td>0</td>
<td>7</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestRegionServerAbort.java">org/apache/hadoop/hbase/regionserver/TestRegionServerAbort.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestRegionServerHostname.java">org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestRegionServerMetrics.java">org/apache/hadoop/hbase/regionserver/TestRegionServerMetrics.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestRegionServerNoMaster.java">org/apache/hadoop/hbase/regionserver/TestRegionServerNoMaster.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestRegionServerOnlineConfigChange.java">org/apache/hadoop/hbase/regionserver/TestRegionServerOnlineConfigChange.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestRegionServerReadRequestMetrics.java">org/apache/hadoop/hbase/regionserver/TestRegionServerReadRequestMetrics.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestRegionServerReportForDuty.java">org/apache/hadoop/hbase/regionserver/TestRegionServerReportForDuty.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/TestRegionSplitPolicy.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestResettingCounters.java">org/apache/hadoop/hbase/regionserver/TestResettingCounters.java</a></td>
<td>0</td>
<td>0</td>
<td>8</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestReversibleScanners.java">org/apache/hadoop/hbase/regionserver/TestReversibleScanners.java</a></td>
<td>0</td>
<td>0</td>
<td>15</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestRowTooBig.java">org/apache/hadoop/hbase/regionserver/TestRowTooBig.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestScanWithBloomError.java">org/apache/hadoop/hbase/regionserver/TestScanWithBloomError.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestScanner.java">org/apache/hadoop/hbase/regionserver/TestScanner.java</a></td>
<td>0</td>
<td>0</td>
<td>12</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestScannerHeartbeatMessages.java">org/apache/hadoop/hbase/regionserver/TestScannerHeartbeatMessages.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestScannerRetriableFailure.java">org/apache/hadoop/hbase/regionserver/TestScannerRetriableFailure.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestScannerWithBulkload.java">org/apache/hadoop/hbase/regionserver/TestScannerWithBulkload.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestSeekOptimizations.java">org/apache/hadoop/hbase/regionserver/TestSeekOptimizations.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestServerNonceManager.java">org/apache/hadoop/hbase/regionserver/TestServerNonceManager.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestSettingTimeoutOnBlockingPoint.java">org/apache/hadoop/hbase/regionserver/TestSettingTimeoutOnBlockingPoint.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestSimpleTimeRangeTracker.java">org/apache/hadoop/hbase/regionserver/TestSimpleTimeRangeTracker.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestSplitLogWorker.java">org/apache/hadoop/hbase/regionserver/TestSplitLogWorker.java</a></td>
<td>0</td>
<td>0</td>
<td>7</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestSplitTransactionOnCluster.java">org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java</a></td>
<td>0</td>
<td>0</td>
<td>27</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestStoreFileInfo.java">org/apache/hadoop/hbase/regionserver/TestStoreFileInfo.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestStoreFileRefresherChore.java">org/apache/hadoop/hbase/regionserver/TestStoreFileRefresherChore.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestStoreScanner.java">org/apache/hadoop/hbase/regionserver/TestStoreScanner.java</a></td>
<td>0</td>
<td>0</td>
<td>12</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestStripeStoreFileManager.java">org/apache/hadoop/hbase/regionserver/TestStripeStoreFileManager.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestSyncTimeRangeTracker.java">org/apache/hadoop/hbase/regionserver/TestSyncTimeRangeTracker.java</a></td>
<td>0</td>
<td>0</td>
<td>7</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestTags.java">org/apache/hadoop/hbase/regionserver/TestTags.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestTimestampFilterSeekHint.java">org/apache/hadoop/hbase/regionserver/TestTimestampFilterSeekHint.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestWALLockup.java">org/apache/hadoop/hbase/regionserver/TestWALLockup.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestWALMonotonicallyIncreasingSeqId.java">org/apache/hadoop/hbase/regionserver/TestWALMonotonicallyIncreasingSeqId.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TestWalAndCompactingMemStoreFlush.java">org/apache/hadoop/hbase/regionserver/TestWalAndCompactingMemStoreFlush.java</a></td>
<td>0</td>
<td>0</td>
<td>9</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.TimeRangeTracker.java">org/apache/hadoop/hbase/regionserver/TimeRangeTracker.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.compactions.CompactionConfiguration.java">org/apache/hadoop/hbase/regionserver/compactions/CompactionConfiguration.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.compactions.CompactionProgress.java">org/apache/hadoop/hbase/regionserver/compactions/CompactionProgress.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apa
<TRUNCATED>
[31/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html
index b062755..1ed3578 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3510">HRegion.MutationBatchOperation</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3544">HRegion.MutationBatchOperation</a>
extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>></pre>
<div class="block">Batch of mutation operations. Base class is shared with <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver"><code>HRegion.ReplayBatchOperation</code></a> as most
of the logic is same.</div>
@@ -342,7 +342,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>nonceGroup</h4>
-<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3511">nonceGroup</a></pre>
+<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3545">nonceGroup</a></pre>
</li>
</ul>
<a name="nonce">
@@ -351,7 +351,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockListLast">
<li class="blockList">
<h4>nonce</h4>
-<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3512">nonce</a></pre>
+<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3546">nonce</a></pre>
</li>
</ul>
</li>
@@ -368,7 +368,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockListLast">
<li class="blockList">
<h4>MutationBatchOperation</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3513">MutationBatchOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region,
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3547">MutationBatchOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region,
<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[] operations,
boolean atomic,
long nonceGroup,
@@ -389,7 +389,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>getMutation</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3522">getMutation</a>(int index)</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3556">getMutation</a>(int index)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getMutation-int-">getMutation</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>></code></dd>
@@ -402,7 +402,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>getNonceGroup</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3527">getNonceGroup</a>(int index)</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3561">getNonceGroup</a>(int index)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getNonceGroup-int-">getNonceGroup</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>></code></dd>
@@ -415,7 +415,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>getNonce</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3532">getNonce</a>(int index)</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3566">getNonce</a>(int index)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getNonce-int-">getNonce</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>></code></dd>
@@ -428,7 +428,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>getMutationsForCoprocs</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3537">getMutationsForCoprocs</a>()</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3571">getMutationsForCoprocs</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getMutationsForCoprocs--">HRegion.BatchOperation</a></code></span></div>
<div class="block">This method is potentially expensive and useful mostly for non-replay CP path.</div>
<dl>
@@ -443,7 +443,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>isInReplay</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3542">isInReplay</a>()</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3576">isInReplay</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#isInReplay--">isInReplay</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>></code></dd>
@@ -456,7 +456,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>getOrigLogSeqNum</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3547">getOrigLogSeqNum</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3581">getOrigLogSeqNum</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getOrigLogSeqNum--">getOrigLogSeqNum</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>></code></dd>
@@ -469,7 +469,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>startRegionOperation</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3552">startRegionOperation</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3586">startRegionOperation</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -485,7 +485,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>closeRegionOperation</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3557">closeRegionOperation</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3591">closeRegionOperation</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -501,7 +501,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>checkAndPreparePut</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3562">checkAndPreparePut</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a> p)
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3596">checkAndPreparePut</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a> p)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#checkAndPreparePut-org.apache.hadoop.hbase.client.Put-">HRegion.BatchOperation</a></code></span></div>
<div class="block">Implement any Put request specific check and prepare logic here. Please refer to
@@ -520,7 +520,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>checkAndPrepare</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3567">checkAndPrepare</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3601">checkAndPrepare</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#checkAndPrepare--">HRegion.BatchOperation</a></code></span></div>
<div class="block">Validates each mutation and prepares a batch for write. If necessary (non-replay case), runs
@@ -542,7 +542,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>prepareMiniBatchOperations</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3612">prepareMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> miniBatchOp,
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3646">prepareMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> miniBatchOp,
long timestamp,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>> acquiredRowLocks)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -563,7 +563,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>buildWALEdits</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><<a href="../../../../../org/apache/hadoop/hbase/util/NonceKey.html" title="class in org.apache.hadoop.hbase.util">NonceKey</a>,<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3648">buildWALEdits</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>>
; miniBatchOp)
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><<a href="../../../../../org/apache/hadoop/hbase/util/NonceKey.html" title="class in org.apache.hadoop.hbase.util">NonceKey</a>,<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3682">buildWALEdits</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>>
; miniBatchOp)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#buildWALEdits-org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress-">HRegion.BatchOperation</a></code></span></div>
<div class="block">Builds separate WALEdit per nonce by applying input mutations. If WALEdits from CP are
@@ -582,7 +582,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>writeMiniBatchOperationsToMemStore</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3659">writeMiniBatchOperationsToMemStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> miniBatchOp,
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3693">writeMiniBatchOperationsToMemStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> miniBatchOp,
@Nullable
<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a> writeEntry)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -602,7 +602,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>completeMiniBatchOperations</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3670">completeMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> miniBatchOp,
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3704">completeMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> miniBatchOp,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a> writeEntry)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#completeMiniBatchOperations-org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress-org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry-">HRegion.BatchOperation</a></code></span></div>
@@ -622,7 +622,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>doPostOpCleanupForMiniBatch</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3682">doPostOpCleanupForMiniBatch</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> miniBatchOp,
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3716">doPostOpCleanupForMiniBatch</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> miniBatchOp,
<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a> walEdit,
boolean success)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -640,7 +640,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>callPreMutateCPHook</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3731">callPreMutateCPHook</a>(int index,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3765">callPreMutateCPHook</a>(int index,
<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a> walEdit,
int[] metrics)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -659,7 +659,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockList">
<li class="blockList">
<h4>checkAndMergeCPMutations</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3768">checkAndMergeCPMutations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> miniBatchOp,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3802">checkAndMergeCPMutations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a><<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>> miniBatchOp,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>> acquiredRowLocks,
long timestamp)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -675,7 +675,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
<ul class="blockListLast">
<li class="blockList">
<h4>mergeFamilyMaps</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3803">mergeFamilyMaps</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>>> familyMap,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3837">mergeFamilyMaps</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>>> familyMap,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>>> toBeMerged)</pre>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html
index ca9385a..93696f9 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.599">HRegion.ObservedExceptionsInBatch</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.603">HRegion.ObservedExceptionsInBatch</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">A class that tracks exceptions that have been observed in one batch. Not thread safe.</div>
</li>
@@ -236,7 +236,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>wrongRegion</h4>
-<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.600">wrongRegion</a></pre>
+<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.604">wrongRegion</a></pre>
</li>
</ul>
<a name="failedSanityCheck">
@@ -245,7 +245,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>failedSanityCheck</h4>
-<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.601">failedSanityCheck</a></pre>
+<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.605">failedSanityCheck</a></pre>
</li>
</ul>
<a name="wrongFamily">
@@ -254,7 +254,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>wrongFamily</h4>
-<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.602">wrongFamily</a></pre>
+<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.606">wrongFamily</a></pre>
</li>
</ul>
</li>
@@ -271,7 +271,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>ObservedExceptionsInBatch</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.599">ObservedExceptionsInBatch</a>()</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.603">ObservedExceptionsInBatch</a>()</pre>
</li>
</ul>
</li>
@@ -288,7 +288,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>hasSeenWrongRegion</h4>
-<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.607">hasSeenWrongRegion</a>()</pre>
+<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.611">hasSeenWrongRegion</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>If a <a href="../../../../../org/apache/hadoop/hbase/regionserver/WrongRegionException.html" title="class in org.apache.hadoop.hbase.regionserver"><code>WrongRegionException</code></a> has been observed.</dd>
@@ -301,7 +301,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>sawWrongRegion</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.614">sawWrongRegion</a>()</pre>
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.618">sawWrongRegion</a>()</pre>
<div class="block">Records that a <a href="../../../../../org/apache/hadoop/hbase/regionserver/WrongRegionException.html" title="class in org.apache.hadoop.hbase.regionserver"><code>WrongRegionException</code></a> has been observed.</div>
</li>
</ul>
@@ -311,7 +311,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>hasSeenFailedSanityCheck</h4>
-<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.621">hasSeenFailedSanityCheck</a>()</pre>
+<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.625">hasSeenFailedSanityCheck</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>If a <a href="../../../../../org/apache/hadoop/hbase/exceptions/FailedSanityCheckException.html" title="class in org.apache.hadoop.hbase.exceptions"><code>FailedSanityCheckException</code></a> has been observed.</dd>
@@ -324,7 +324,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>sawFailedSanityCheck</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.628">sawFailedSanityCheck</a>()</pre>
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.632">sawFailedSanityCheck</a>()</pre>
<div class="block">Records that a <a href="../../../../../org/apache/hadoop/hbase/exceptions/FailedSanityCheckException.html" title="class in org.apache.hadoop.hbase.exceptions"><code>FailedSanityCheckException</code></a> has been observed.</div>
</li>
</ul>
@@ -334,7 +334,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>hasSeenNoSuchFamily</h4>
-<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.635">hasSeenNoSuchFamily</a>()</pre>
+<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.639">hasSeenNoSuchFamily</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>If a <a href="../../../../../org/apache/hadoop/hbase/regionserver/NoSuchColumnFamilyException.html" title="class in org.apache.hadoop.hbase.regionserver"><code>NoSuchColumnFamilyException</code></a> has been observed.</dd>
@@ -347,7 +347,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>sawNoSuchFamily</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.642">sawNoSuchFamily</a>()</pre>
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.646">sawNoSuchFamily</a>()</pre>
<div class="block">Records that a <a href="../../../../../org/apache/hadoop/hbase/regionserver/NoSuchColumnFamilyException.html" title="class in org.apache.hadoop.hbase.regionserver"><code>NoSuchColumnFamilyException</code></a> has been observed.</div>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html
index f1f356c..a9c51dd 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.550">HRegion.PrepareFlushResult</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.554">HRegion.PrepareFlushResult</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">A result object from prepare flush cache stage</div>
</li>
@@ -258,7 +258,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>result</h4>
-<pre>final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.FlushResultImpl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.551">result</a></pre>
+<pre>final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.FlushResultImpl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.555">result</a></pre>
</li>
</ul>
<a name="storeFlushCtxs">
@@ -267,7 +267,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>storeFlushCtxs</h4>
-<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a><byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlushContext.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreFlushContext</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.552">storeFlushCtxs</a></pre>
+<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a><byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlushContext.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreFlushContext</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.556">storeFlushCtxs</a></pre>
</li>
</ul>
<a name="committedFiles">
@@ -276,7 +276,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>committedFiles</h4>
-<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a><byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.fs.Path>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.553">committedFiles</a></pre>
+<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a><byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.fs.Path>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.557">committedFiles</a></pre>
</li>
</ul>
<a name="storeFlushableSize">
@@ -285,7 +285,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>storeFlushableSize</h4>
-<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a><byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSize.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreSize</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.554">storeFlushableSize</a></pre>
+<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a><byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSize.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreSize</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.558">storeFlushableSize</a></pre>
</li>
</ul>
<a name="startTime">
@@ -294,7 +294,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>startTime</h4>
-<pre>final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.555">startTime</a></pre>
+<pre>final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.559">startTime</a></pre>
</li>
</ul>
<a name="flushOpSeqId">
@@ -303,7 +303,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>flushOpSeqId</h4>
-<pre>final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.556">flushOpSeqId</a></pre>
+<pre>final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.560">flushOpSeqId</a></pre>
</li>
</ul>
<a name="flushedSeqId">
@@ -312,7 +312,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>flushedSeqId</h4>
-<pre>final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.557">flushedSeqId</a></pre>
+<pre>final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.561">flushedSeqId</a></pre>
</li>
</ul>
<a name="totalFlushableSize">
@@ -321,7 +321,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>totalFlushableSize</h4>
-<pre>final <a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSizing.html" title="interface in org.apache.hadoop.hbase.regionserver">MemStoreSizing</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.558">totalFlushableSize</a></pre>
+<pre>final <a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSizing.html" title="interface in org.apache.hadoop.hbase.regionserver">MemStoreSizing</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.562">totalFlushableSize</a></pre>
</li>
</ul>
</li>
@@ -338,7 +338,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>PrepareFlushResult</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.561">PrepareFlushResult</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.FlushResultImpl</a> result,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.565">PrepareFlushResult</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.FlushResultImpl</a> result,
long flushSeqId)</pre>
<div class="block">Constructs an early exit case</div>
</li>
@@ -349,7 +349,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>PrepareFlushResult</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.566">PrepareFlushResult</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a><byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlushContext.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreFlushContext</a>> storeFlushCtxs,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.570">PrepareFlushResult</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a><byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlushContext.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreFlushContext</a>> storeFlushCtxs,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a><byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.fs.Path>> committedFiles,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a><byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSize.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreSize</a>> storeFlushableSize,
long startTime,
@@ -365,7 +365,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>PrepareFlushResult</h4>
-<pre>private <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.575">PrepareFlushResult</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.FlushResultImpl</a> result,
+<pre>private <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.579">PrepareFlushResult</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.FlushResultImpl</a> result,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a><byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlushContext.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreFlushContext</a>> storeFlushCtxs,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a><byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.fs.Path>> committedFiles,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a><byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSize.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreSize</a>> storeFlushableSize,
@@ -389,7 +389,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>getResult</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.591">getResult</a>()</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.595">getResult</a>()</pre>
</li>
</ul>
</li>
[39/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/CacheStats.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/CacheStats.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/CacheStats.html
index 93a07a2..99de7d0 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/CacheStats.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/CacheStats.html
@@ -158,11 +158,11 @@
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CacheConfig.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#getL2CacheStats--">getL2CacheStats</a></span>()</code> </td>
+<td class="colLast"><span class="typeNameLabel">CombinedBlockCache.CombinedCacheStats.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getBucketCacheStats--">getBucketCacheStats</a></span>()</code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CacheConfig.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#getOnHeapCacheStats--">getOnHeapCacheStats</a></span>()</code> </td>
+<td class="colLast"><span class="typeNameLabel">CombinedBlockCache.CombinedCacheStats.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html#getLruCacheStats--">getLruCacheStats</a></span>()</code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></td>
@@ -237,22 +237,22 @@
</a>
<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a> in <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a></h3>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
-<caption><span>Fields in <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> declared as <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></span><span class="tabEnd"> </span></caption>
+<caption><span>Fields in <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> with type parameters of type <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></span><span class="tabEnd"> </span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tbody>
<tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></td>
+<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a>></code></td>
<td class="colLast"><span class="typeNameLabel">MetricsRegionServerWrapperImpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#cacheStats">cacheStats</a></span></code> </td>
</tr>
<tr class="rowColor">
-<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></td>
+<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a>></code></td>
<td class="colLast"><span class="typeNameLabel">MetricsRegionServerWrapperImpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#l1Stats">l1Stats</a></span></code> </td>
</tr>
<tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></code></td>
+<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a>></code></td>
<td class="colLast"><span class="typeNameLabel">MetricsRegionServerWrapperImpl.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#l2Stats">l2Stats</a></span></code> </td>
</tr>
</tbody>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/LruBlockCache.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/LruBlockCache.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/LruBlockCache.html
index c28bba1..50e1b41 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/LruBlockCache.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/LruBlockCache.html
@@ -110,10 +110,6 @@
<td class="colLast"><span class="typeNameLabel">LruBlockCache.StatisticsThread.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/LruBlockCache.StatisticsThread.html#lru">lru</a></span></code> </td>
</tr>
<tr class="rowColor">
-<td class="colFirst"><code>private static <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/LruBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile">LruBlockCache</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CacheConfig.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#ONHEAP_CACHE_INSTANCE">ONHEAP_CACHE_INSTANCE</a></span></code> </td>
-</tr>
-<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/LruBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile">LruBlockCache</a></code></td>
<td class="colLast"><span class="typeNameLabel">CombinedBlockCache.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#onHeapCache">onHeapCache</a></span></code> </td>
</tr>
@@ -140,12 +136,12 @@
</tr>
<tbody>
<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/LruBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile">LruBlockCache</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CacheConfig.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#getOnHeapCache-org.apache.hadoop.conf.Configuration-">getOnHeapCache</a></span>(org.apache.hadoop.conf.Configuration c)</code> </td>
+<td class="colFirst"><code>private static <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/LruBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile">LruBlockCache</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BlockCacheFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#createOnHeapCache-org.apache.hadoop.conf.Configuration-">createOnHeapCache</a></span>(org.apache.hadoop.conf.Configuration c)</code> </td>
</tr>
<tr class="rowColor">
-<td class="colFirst"><code>private static <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/LruBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile">LruBlockCache</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CacheConfig.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#getOnHeapCacheInternal-org.apache.hadoop.conf.Configuration-">getOnHeapCacheInternal</a></span>(org.apache.hadoop.conf.Configuration c)</code> </td>
+<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/LruBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile">LruBlockCache</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CombinedBlockCache.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#getOnHeapCache--">getOnHeapCache</a></span>()</code> </td>
</tr>
</tbody>
</table>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/ResizableBlockCache.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/ResizableBlockCache.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/ResizableBlockCache.html
index 831e29c..3d29977 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/ResizableBlockCache.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/class-use/ResizableBlockCache.html
@@ -149,17 +149,16 @@
</tr>
</tbody>
</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructors in <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> with parameters of type <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/ResizableBlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">ResizableBlockCache</a></span><span class="tabEnd"> </span></caption>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> that return <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/ResizableBlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">ResizableBlockCache</a></span><span class="tabEnd"> </span></caption>
<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
</tr>
<tbody>
<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#HeapMemoryManager-org.apache.hadoop.hbase.io.hfile.ResizableBlockCache-org.apache.hadoop.hbase.regionserver.FlushRequester-org.apache.hadoop.hbase.Server-org.apache.hadoop.hbase.regionserver.RegionServerAccounting-">HeapMemoryManager</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/ResizableBlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">ResizableBlockCache</a> blockCache,
- <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/FlushRequester.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushRequester</a> memStoreFlusher,
- <a href="../../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> server,
- <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a> regionServerAccounting)</code> </td>
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/ResizableBlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">ResizableBlockCache</a></code></td>
+<td class="colLast"><span class="typeNameLabel">HeapMemoryManager.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#toResizableBlockCache-org.apache.hadoop.hbase.io.hfile.BlockCache-">toResizableBlockCache</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache)</code> </td>
</tr>
</tbody>
</table>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/package-frame.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-frame.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-frame.html
index 36fefd4..40c4cde 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-frame.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-frame.html
@@ -31,6 +31,7 @@
<h2 title="Classes">Classes</h2>
<ul title="Classes">
<li><a href="AgeSnapshot.html" title="class in org.apache.hadoop.hbase.io.hfile" target="classFrame">AgeSnapshot</a></li>
+<li><a href="BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile" target="classFrame">BlockCacheFactory</a></li>
<li><a href="BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile" target="classFrame">BlockCacheKey</a></li>
<li><a href="BlockCachesIterator.html" title="class in org.apache.hadoop.hbase.io.hfile" target="classFrame">BlockCachesIterator</a></li>
<li><a href="BlockCacheUtil.html" title="class in org.apache.hadoop.hbase.io.hfile" target="classFrame">BlockCacheUtil</a></li>
@@ -89,11 +90,11 @@
</ul>
<h2 title="Enums">Enums</h2>
<ul title="Enums">
+<li><a href="BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile" target="classFrame">BlockCacheFactory.ExternalBlockCaches</a></li>
<li><a href="BlockPriority.html" title="enum in org.apache.hadoop.hbase.io.hfile" target="classFrame">BlockPriority</a></li>
<li><a href="BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile" target="classFrame">BlockType</a></li>
<li><a href="BlockType.BlockCategory.html" title="enum in org.apache.hadoop.hbase.io.hfile" target="classFrame">BlockType.BlockCategory</a></li>
<li><a href="Cacheable.MemoryType.html" title="enum in org.apache.hadoop.hbase.io.hfile" target="classFrame">Cacheable.MemoryType</a></li>
-<li><a href="CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile" target="classFrame">CacheConfig.ExternalBlockCaches</a></li>
<li><a href="HFileBlock.Writer.State.html" title="enum in org.apache.hadoop.hbase.io.hfile" target="classFrame">HFileBlock.Writer.State</a></li>
</ul>
<h2 title="Exceptions">Exceptions</h2>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/package-summary.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-summary.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-summary.html
index c7e06bd..0ff7921 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-summary.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-summary.html
@@ -188,77 +188,81 @@
</td>
</tr>
<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory</a></td>
+<td class="colLast"> </td>
+</tr>
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a></td>
<td class="colLast">
<div class="block">Cache Key for use with implementations of <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile"><code>BlockCache</code></a></div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCachesIterator.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCachesIterator</a></td>
<td class="colLast">
<div class="block">Iterator over an array of BlockCache CachedBlocks.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheUtil.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheUtil</a></td>
<td class="colLast">
<div class="block">Utilty for aggregating counts in CachedBlocks and toString/toJSON CachedBlocks and BlockCaches.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheUtil.CachedBlockCountsPerFile.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheUtil.CachedBlockCountsPerFile</a></td>
<td class="colLast">
<div class="block">Little data structure to hold counts for a file.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheUtil.CachedBlocksByFile.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheUtil.CachedBlocksByFile</a></td>
<td class="colLast">
<div class="block">Use one of these to keep a running account of cached blocks by file.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockWithScanInfo.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockWithScanInfo</a></td>
<td class="colLast">
<div class="block">BlockWithScanInfo is wrapper class for HFileBlock with other attributes.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheableDeserializerIdManager.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheableDeserializerIdManager</a></td>
<td class="colLast">
<div class="block">This class is used to manage the identifiers for <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheableDeserializer.html" title="interface in org.apache.hadoop.hbase.io.hfile"><code>CacheableDeserializer</code></a>.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></td>
<td class="colLast">
<div class="block">Stores all of the cache objects and configuration for a single HFile.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></td>
<td class="colLast">
<div class="block">Class that implements cache metrics.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/ChecksumUtil.html" title="class in org.apache.hadoop.hbase.io.hfile">ChecksumUtil</a></td>
<td class="colLast">
<div class="block">Utility methods to compute and validate checksums.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile">CombinedBlockCache</a></td>
<td class="colLast">
<div class="block">CombinedBlockCache is an abstraction layer that combines
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/LruBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile"><code>LruBlockCache</code></a> and <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket"><code>BucketCache</code></a>.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.CombinedCacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CombinedBlockCache.CombinedCacheStats</a></td>
<td class="colLast"> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CompoundBloomFilter.html" title="class in org.apache.hadoop.hbase.io.hfile">CompoundBloomFilter</a></td>
<td class="colLast">
<div class="block">A Bloom filter implementation built on top of
@@ -268,11 +272,11 @@
block stream, and loaded on demand at query time.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CompoundBloomFilterBase.html" title="class in org.apache.hadoop.hbase.io.hfile">CompoundBloomFilterBase</a></td>
<td class="colLast"> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CompoundBloomFilterWriter.html" title="class in org.apache.hadoop.hbase.io.hfile">CompoundBloomFilterWriter</a></td>
<td class="colLast">
<div class="block">Adds methods required for writing a compound Bloom filter to the data
@@ -280,71 +284,71 @@
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CompoundBloomFilter.html" title="class in org.apache.hadoop.hbase.io.hfile"><code>CompoundBloomFilter</code></a> class.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CompoundBloomFilterWriter.ReadyChunk.html" title="class in org.apache.hadoop.hbase.io.hfile">CompoundBloomFilterWriter.ReadyChunk</a></td>
<td class="colLast">
<div class="block">A Bloom filter chunk enqueued for writing</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.html" title="class in org.apache.hadoop.hbase.io.hfile">FixedFileTrailer</a></td>
<td class="colLast">
<div class="block">The <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.html" title="class in org.apache.hadoop.hbase.io.hfile"><code>HFile</code></a> has a fixed trailer which contains offsets to other
variable parts of the file.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.html" title="class in org.apache.hadoop.hbase.io.hfile">HFile</a></td>
<td class="colLast">
<div class="block">File format for hbase.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.FileInfo.html" title="class in org.apache.hadoop.hbase.io.hfile">HFile.FileInfo</a></td>
<td class="colLast">
<div class="block">Metadata for this file.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.WriterFactory.html" title="class in org.apache.hadoop.hbase.io.hfile">HFile.WriterFactory</a></td>
<td class="colLast">
<div class="block">This variety of ways to construct writers is used throughout the code, and
we want to be able to swap writer implementations.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a></td>
<td class="colLast">
<div class="block">Cacheable Blocks of an <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.html" title="class in org.apache.hadoop.hbase.io.hfile"><code>HFile</code></a> version 2 file.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.BlockDeserializer.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock.BlockDeserializer</a></td>
<td class="colLast"> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.FSReaderImpl.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock.FSReaderImpl</a></td>
<td class="colLast">
<div class="block">Reads version 2 HFile blocks from the filesystem.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.Header.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock.Header</a></td>
<td class="colLast"> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.PrefetchedHeader.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock.PrefetchedHeader</a></td>
<td class="colLast">
<div class="block">Data-structure to use caching the header of the NEXT block.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.Writer.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock.Writer</a></td>
<td class="colLast">
<div class="block">Unified version 2 <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.html" title="class in org.apache.hadoop.hbase.io.hfile"><code>HFile</code></a> block writer.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlockIndex</a></td>
<td class="colLast">
<div class="block">Provides functionality to write (<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html" title="class in org.apache.hadoop.hbase.io.hfile"><code>HFileBlockIndex.BlockIndexWriter</code></a>) and read
@@ -352,32 +356,32 @@
single-level and multi-level block indexes.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlockIndex.BlockIndexChunk</a></td>
<td class="colLast">
<div class="block">A single chunk of the block index in the process of writing.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexReader.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlockIndex.BlockIndexReader</a></td>
<td class="colLast">
<div class="block">The reader will always hold the root level index in the memory.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexWriter.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlockIndex.BlockIndexWriter</a></td>
<td class="colLast">
<div class="block">Writes the block index into the output stream.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.ByteArrayKeyBlockIndexReader.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlockIndex.ByteArrayKeyBlockIndexReader</a></td>
<td class="colLast">
<div class="block">An implementation of the BlockIndexReader that deals with block keys which are plain
byte[] like MetaBlock or the Bloom Block for ROW bloom.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.CellBasedKeyBlockIndexReader.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlockIndex.CellBasedKeyBlockIndexReader</a></td>
<td class="colLast">
<div class="block">An implementation of the BlockIndexReader that deals with block keys which are the key
@@ -385,79 +389,79 @@
This needs a comparator to work with the Cells</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileContext.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileContext</a></td>
<td class="colLast">
<div class="block">This carries the information on some of the meta data about the HFile.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileContextBuilder.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileContextBuilder</a></td>
<td class="colLast">
<div class="block">A builder that helps in building up the HFileContext</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileDataBlockEncoderImpl.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileDataBlockEncoderImpl</a></td>
<td class="colLast">
<div class="block">Do different kinds of data block encoding according to column family
options.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFilePrettyPrinter.html" title="class in org.apache.hadoop.hbase.io.hfile">HFilePrettyPrinter</a></td>
<td class="colLast">
<div class="block">Implements pretty-printing functionality for <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.html" title="class in org.apache.hadoop.hbase.io.hfile"><code>HFile</code></a>s.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFilePrettyPrinter.KeyValueStatsCollector.html" title="class in org.apache.hadoop.hbase.io.hfile">HFilePrettyPrinter.KeyValueStatsCollector</a></td>
<td class="colLast"> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFilePrettyPrinter.SimpleReporter.html" title="class in org.apache.hadoop.hbase.io.hfile">HFilePrettyPrinter.SimpleReporter</a></td>
<td class="colLast">
<div class="block">Almost identical to ConsoleReporter, but extending ScheduledReporter,
as extending ConsoleReporter in this version of dropwizard is now too much trouble.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFilePrettyPrinter.SimpleReporter.Builder.html" title="class in org.apache.hadoop.hbase.io.hfile">HFilePrettyPrinter.SimpleReporter.Builder</a></td>
<td class="colLast">
<div class="block">A builder for <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFilePrettyPrinter.SimpleReporter.html" title="class in org.apache.hadoop.hbase.io.hfile"><code>HFilePrettyPrinter.SimpleReporter</code></a> instances.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileReaderImpl</a></td>
<td class="colLast">
<div class="block">Implementation that can handle all hfile versions of <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile"><code>HFile.Reader</code></a>.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileReaderImpl.EncodedScanner</a></td>
<td class="colLast">
<div class="block">Scanner that operates on encoded data blocks.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileReaderImpl.HFileScannerImpl</a></td>
<td class="colLast"> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileUtil.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileUtil</a></td>
<td class="colLast"> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileWriterImpl</a></td>
<td class="colLast">
<div class="block">Common functionality needed by all versions of <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.html" title="class in org.apache.hadoop.hbase.io.hfile"><code>HFile</code></a> writers.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/InclusiveCombinedBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile">InclusiveCombinedBlockCache</a></td>
<td class="colLast"> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/LruBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile">LruBlockCache</a></td>
<td class="colLast">
<div class="block">A block cache implementation that is memory-aware using <a href="../../../../../../org/apache/hadoop/hbase/io/HeapSize.html" title="interface in org.apache.hadoop.hbase.io"><code>HeapSize</code></a>,
@@ -466,50 +470,50 @@
constant-time <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/LruBlockCache.html#cacheBlock-org.apache.hadoop.hbase.io.hfile.BlockCacheKey-org.apache.hadoop.hbase.io.hfile.Cacheable-boolean-"><code>LruBlockCache.cacheBlock(org.apache.hadoop.hbase.io.hfile.BlockCacheKey, org.apache.hadoop.hbase.io.hfile.Cacheable, boolean)</code></a> and <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/LruBlockCache.html#getBlock-org.apache.hadoop.hbase.io.hfile.BlockCacheKey-boolean-boolean-boolean-"><code>LruBlockCache.getBlock(org.apache.hadoop.hbase.io.hfile.BlockCacheKey, boolean, boolean, boolean)</code></a> operations.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/LruBlockCache.EvictionThread.html" title="class in org.apache.hadoop.hbase.io.hfile">LruBlockCache.EvictionThread</a></td>
<td class="colLast"> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/LruBlockCache.StatisticsThread.html" title="class in org.apache.hadoop.hbase.io.hfile">LruBlockCache.StatisticsThread</a></td>
<td class="colLast"> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/LruCachedBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">LruCachedBlock</a></td>
<td class="colLast">
<div class="block">Represents an entry in the <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/LruBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile"><code>LruBlockCache</code></a>.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/LruCachedBlockQueue.html" title="class in org.apache.hadoop.hbase.io.hfile">LruCachedBlockQueue</a></td>
<td class="colLast">
<div class="block">A memory-bound queue that will grow until an element brings
total size >= maxSize.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/MemcachedBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile">MemcachedBlockCache</a></td>
<td class="colLast">
<div class="block">Class to store blocks into memcached.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/MemcachedBlockCache.HFileBlockTranscoder.html" title="class in org.apache.hadoop.hbase.io.hfile">MemcachedBlockCache.HFileBlockTranscoder</a></td>
<td class="colLast">
<div class="block">Class to encode and decode an HFileBlock to and from memecached's resulting byte arrays.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/NoOpDataBlockEncoder.html" title="class in org.apache.hadoop.hbase.io.hfile">NoOpDataBlockEncoder</a></td>
<td class="colLast">
<div class="block">Does not perform any kind of encoding/decoding.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/NoOpDataBlockEncoder.NoneEncodingState.html" title="class in org.apache.hadoop.hbase.io.hfile">NoOpDataBlockEncoder.NoneEncodingState</a></td>
<td class="colLast"> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/PrefetchExecutor.html" title="class in org.apache.hadoop.hbase.io.hfile">PrefetchExecutor</a></td>
<td class="colLast"> </td>
</tr>
@@ -525,32 +529,32 @@
</tr>
<tbody>
<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory.ExternalBlockCaches</a></td>
+<td class="colLast">
+<div class="block">Enum of all built in external block caches.</div>
+</td>
+</tr>
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockPriority.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockPriority</a></td>
<td class="colLast"> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockType</a></td>
<td class="colLast">
<div class="block">Various types of HFile blocks.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockType.BlockCategory</a></td>
<td class="colLast"> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.MemoryType.html" title="enum in org.apache.hadoop.hbase.io.hfile">Cacheable.MemoryType</a></td>
<td class="colLast">
<div class="block">SHARED means when this Cacheable is read back from cache it refers to the same memory area as
used by the cache for caching it.</div>
</td>
</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">CacheConfig.ExternalBlockCaches</a></td>
-<td class="colLast">
-<div class="block">Enum of all built in external block caches.</div>
-</td>
-</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.Writer.State.html" title="enum in org.apache.hadoop.hbase.io.hfile">HFileBlock.Writer.State</a></td>
<td class="colLast"> </td>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
index b481b18..5d0cf16 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
@@ -82,6 +82,7 @@
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
<ul>
<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/AgeSnapshot.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">AgeSnapshot</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockCacheFactory</span></a></li>
<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockCacheKey</span></a> (implements org.apache.hadoop.hbase.io.<a href="../../../../../../org/apache/hadoop/hbase/io/HeapSize.html" title="interface in org.apache.hadoop.hbase.io">HeapSize</a>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCachesIterator.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockCachesIterator</span></a> (implements java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a><E>)</li>
<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheUtil.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockCacheUtil</span></a></li>
@@ -274,12 +275,12 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">CacheConfig.ExternalBlockCaches</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.MemoryType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Cacheable.MemoryType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.Writer.State.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">HFileBlock.Writer.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockCacheFactory.ExternalBlockCaches</span></a></li>
<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockPriority.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockPriority</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.MemoryType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Cacheable.MemoryType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockType.BlockCategory</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.Writer.State.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">HFileBlock.Writer.State</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/package-use.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-use.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-use.html
index 109c123..fcdb450 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-use.html
@@ -226,57 +226,57 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
</td>
</tr>
<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/class-use/BlockCacheFactory.ExternalBlockCaches.html#org.apache.hadoop.hbase.io.hfile">BlockCacheFactory.ExternalBlockCaches</a>
+<div class="block">Enum of all built in external block caches.</div>
+</td>
+</tr>
+<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/class-use/BlockCacheKey.html#org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>
<div class="block">Cache Key for use with implementations of <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile"><code>BlockCache</code></a></div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/class-use/BlockCacheUtil.CachedBlocksByFile.html#org.apache.hadoop.hbase.io.hfile">BlockCacheUtil.CachedBlocksByFile</a>
<div class="block">Use one of these to keep a running account of cached blocks by file.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/class-use/BlockPriority.html#org.apache.hadoop.hbase.io.hfile">BlockPriority</a> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/class-use/BlockType.html#org.apache.hadoop.hbase.io.hfile">BlockType</a>
<div class="block">Various types of HFile blocks.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/class-use/BlockType.BlockCategory.html#org.apache.hadoop.hbase.io.hfile">BlockType.BlockCategory</a> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/class-use/BlockWithScanInfo.html#org.apache.hadoop.hbase.io.hfile">BlockWithScanInfo</a>
<div class="block">BlockWithScanInfo is wrapper class for HFileBlock with other attributes.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/class-use/Cacheable.html#org.apache.hadoop.hbase.io.hfile">Cacheable</a>
<div class="block">Cacheable is an interface that allows for an object to be cached.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/class-use/Cacheable.MemoryType.html#org.apache.hadoop.hbase.io.hfile">Cacheable.MemoryType</a>
<div class="block">SHARED means when this Cacheable is read back from cache it refers to the same memory area as
used by the cache for caching it.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/class-use/CacheableDeserializer.html#org.apache.hadoop.hbase.io.hfile">CacheableDeserializer</a>
<div class="block">Interface for a deserializer.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/class-use/CacheConfig.html#org.apache.hadoop.hbase.io.hfile">CacheConfig</a>
<div class="block">Stores all of the cache objects and configuration for a single HFile.</div>
</td>
</tr>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/class-use/CacheConfig.ExternalBlockCaches.html#org.apache.hadoop.hbase.io.hfile">CacheConfig.ExternalBlockCaches</a>
-<div class="block">Enum of all built in external block caches.</div>
-</td>
-</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/class-use/CachedBlock.html#org.apache.hadoop.hbase.io.hfile">CachedBlock</a> </td>
</tr>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html b/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
index 91a2ed4..7557e4f 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
@@ -353,8 +353,8 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/CallEvent.Type.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">CallEvent.Type</span></a></li>
<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/BufferCallBeforeInitHandler.BufferCallAction.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">BufferCallBeforeInitHandler.BufferCallAction</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/CallEvent.Type.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">CallEvent.Type</span></a></li>
<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceFactoryImpl.SourceStorage.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">MetricsHBaseServerSourceFactoryImpl.SourceStorage</span></a></li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
index a07a1d8..a1882cb 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
@@ -293,10 +293,10 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/CellCounter.CellCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">CellCounter.CellCounterMapper.Counters</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableSplit.Version.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TableSplit.Version</span></a></li>
<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/SyncTable.SyncMapper.Counter.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">SyncTable.SyncMapper.Counter</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableSplit.Version.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TableSplit.Version</span></a></li>
<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/RowCounter.RowCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">RowCounter.RowCounterMapper.Counters</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/CellCounter.CellCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">CellCounter.CellCounterMapper.Counters</span></a></li>
</ul>
</li>
</ul>
[14/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html
index 1124f8b..0c29054 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexChunk.html
@@ -1111,587 +1111,592 @@
<span class="sourceLineNo">1103</span> blockStream.write(midKeyMetadata);<a name="line.1103"></a>
<span class="sourceLineNo">1104</span> blockWriter.writeHeaderAndData(out);<a name="line.1104"></a>
<span class="sourceLineNo">1105</span> if (cacheConf != null) {<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span> HFileBlock blockForCaching = blockWriter.getBlockForCaching(cacheConf);<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span> cacheConf.getBlockCache().cacheBlock(new BlockCacheKey(nameForCaching,<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span> rootLevelIndexPos, true, blockForCaching.getBlockType()), blockForCaching);<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span> }<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span> }<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span><a name="line.1111"></a>
-<span class="sourceLineNo">1112</span> // Add root index block size<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span> totalBlockOnDiskSize += blockWriter.getOnDiskSizeWithoutHeader();<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span> totalBlockUncompressedSize +=<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span> blockWriter.getUncompressedSizeWithoutHeader();<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span><a name="line.1116"></a>
-<span class="sourceLineNo">1117</span> if (LOG.isTraceEnabled()) {<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span> LOG.trace("Wrote a " + numLevels + "-level index with root level at pos "<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span> + rootLevelIndexPos + ", " + rootChunk.getNumEntries()<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span> + " root-level entries, " + totalNumEntries + " total entries, "<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span> + StringUtils.humanReadableInt(this.totalBlockOnDiskSize) +<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span> " on-disk size, "<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span> + StringUtils.humanReadableInt(totalBlockUncompressedSize) +<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span> " total uncompressed size.");<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span> }<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span> return rootLevelIndexPos;<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span> }<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span><a name="line.1128"></a>
-<span class="sourceLineNo">1129</span> /**<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span> * Writes the block index data as a single level only. Does not do any<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span> * block framing.<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span> *<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span> * @param out the buffered output stream to write the index to. Typically a<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span> * stream writing into an {@link HFile} block.<a name="line.1134"></a>
-<span class="sourceLineNo">1135</span> * @param description a short description of the index being written. Used<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span> * in a log message.<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span> * @throws IOException<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span> */<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span> public void writeSingleLevelIndex(DataOutput out, String description)<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span> throws IOException {<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span> expectNumLevels(1);<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span><a name="line.1142"></a>
-<span class="sourceLineNo">1143</span> if (!singleLevelOnly)<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span> throw new IOException("Single-level mode is turned off");<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span><a name="line.1145"></a>
-<span class="sourceLineNo">1146</span> if (rootChunk.getNumEntries() > 0)<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span> throw new IOException("Root-level entries already added in " +<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span> "single-level mode");<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span><a name="line.1149"></a>
-<span class="sourceLineNo">1150</span> rootChunk = curInlineChunk;<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span> curInlineChunk = new BlockIndexChunk();<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span><a name="line.1152"></a>
-<span class="sourceLineNo">1153</span> if (LOG.isTraceEnabled()) {<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span> LOG.trace("Wrote a single-level " + description + " index with "<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span> + rootChunk.getNumEntries() + " entries, " + rootChunk.getRootSize()<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span> + " bytes");<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span> }<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span> rootChunk.writeRoot(out);<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span> }<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span><a name="line.1160"></a>
-<span class="sourceLineNo">1161</span> /**<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span> * Split the current level of the block index into intermediate index<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span> * blocks of permitted size and write those blocks to disk. Return the next<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span> * level of the block index referencing those intermediate-level blocks.<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span> *<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span> * @param out<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span> * @param currentLevel the current level of the block index, such as the a<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span> * chunk referencing all leaf-level index blocks<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span> * @return the parent level block index, which becomes the root index after<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span> * a few (usually zero) iterations<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span> * @throws IOException<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span> */<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span> private BlockIndexChunk writeIntermediateLevel(FSDataOutputStream out,<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span> BlockIndexChunk currentLevel) throws IOException {<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span> // Entries referencing intermediate-level blocks we are about to create.<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span> BlockIndexChunk parent = new BlockIndexChunk();<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span><a name="line.1177"></a>
-<span class="sourceLineNo">1178</span> // The current intermediate-level block index chunk.<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span> BlockIndexChunk curChunk = new BlockIndexChunk();<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span><a name="line.1180"></a>
-<span class="sourceLineNo">1181</span> for (int i = 0; i < currentLevel.getNumEntries(); ++i) {<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span> curChunk.add(currentLevel.getBlockKey(i),<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span> currentLevel.getBlockOffset(i), currentLevel.getOnDiskDataSize(i));<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span><a name="line.1184"></a>
-<span class="sourceLineNo">1185</span> // HBASE-16288: We have to have at least minIndexNumEntries(16) items in the index so that<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span> // we won't end up with too-many levels for a index with very large rowKeys. Also, if the<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span> // first key is larger than maxChunkSize this will cause infinite recursion.<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span> if (i >= minIndexNumEntries && curChunk.getRootSize() >= maxChunkSize) {<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span> writeIntermediateBlock(out, parent, curChunk);<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span> }<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span> }<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span><a name="line.1192"></a>
-<span class="sourceLineNo">1193</span> if (curChunk.getNumEntries() > 0) {<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span> writeIntermediateBlock(out, parent, curChunk);<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span> }<a name="line.1195"></a>
-<span class="sourceLineNo">1196</span><a name="line.1196"></a>
-<span class="sourceLineNo">1197</span> return parent;<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span> }<a name="line.1198"></a>
-<span class="sourceLineNo">1199</span><a name="line.1199"></a>
-<span class="sourceLineNo">1200</span> private void writeIntermediateBlock(FSDataOutputStream out,<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span> BlockIndexChunk parent, BlockIndexChunk curChunk) throws IOException {<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span> long beginOffset = out.getPos();<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span> DataOutputStream dos = blockWriter.startWriting(<a name="line.1203"></a>
-<span class="sourceLineNo">1204</span> BlockType.INTERMEDIATE_INDEX);<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span> curChunk.writeNonRoot(dos);<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span> byte[] curFirstKey = curChunk.getBlockKey(0);<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span> blockWriter.writeHeaderAndData(out);<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span><a name="line.1208"></a>
-<span class="sourceLineNo">1209</span> if (getCacheOnWrite()) {<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span> HFileBlock blockForCaching = blockWriter.getBlockForCaching(cacheConf);<a name="line.1210"></a>
-<span class="sourceLineNo">1211</span> cacheConf.getBlockCache().cacheBlock(new BlockCacheKey(nameForCaching,<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span> beginOffset, true, blockForCaching.getBlockType()), blockForCaching);<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span> }<a name="line.1213"></a>
-<span class="sourceLineNo">1214</span><a name="line.1214"></a>
-<span class="sourceLineNo">1215</span> // Add intermediate index block size<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span> totalBlockOnDiskSize += blockWriter.getOnDiskSizeWithoutHeader();<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span> totalBlockUncompressedSize +=<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span> blockWriter.getUncompressedSizeWithoutHeader();<a name="line.1218"></a>
+<span class="sourceLineNo">1106</span> cacheConf.getBlockCache().ifPresent(cache -> {<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span> HFileBlock blockForCaching = blockWriter.getBlockForCaching(cacheConf);<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span> cache.cacheBlock(new BlockCacheKey(nameForCaching, rootLevelIndexPos, true,<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span> blockForCaching.getBlockType()), blockForCaching);<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span> });<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span> }<a name="line.1111"></a>
+<span class="sourceLineNo">1112</span> }<a name="line.1112"></a>
+<span class="sourceLineNo">1113</span><a name="line.1113"></a>
+<span class="sourceLineNo">1114</span> // Add root index block size<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span> totalBlockOnDiskSize += blockWriter.getOnDiskSizeWithoutHeader();<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span> totalBlockUncompressedSize +=<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span> blockWriter.getUncompressedSizeWithoutHeader();<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span><a name="line.1118"></a>
+<span class="sourceLineNo">1119</span> if (LOG.isTraceEnabled()) {<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span> LOG.trace("Wrote a " + numLevels + "-level index with root level at pos "<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span> + rootLevelIndexPos + ", " + rootChunk.getNumEntries()<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span> + " root-level entries, " + totalNumEntries + " total entries, "<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span> + StringUtils.humanReadableInt(this.totalBlockOnDiskSize) +<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span> " on-disk size, "<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span> + StringUtils.humanReadableInt(totalBlockUncompressedSize) +<a name="line.1125"></a>
+<span class="sourceLineNo">1126</span> " total uncompressed size.");<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span> }<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span> return rootLevelIndexPos;<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span> }<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span><a name="line.1130"></a>
+<span class="sourceLineNo">1131</span> /**<a name="line.1131"></a>
+<span class="sourceLineNo">1132</span> * Writes the block index data as a single level only. Does not do any<a name="line.1132"></a>
+<span class="sourceLineNo">1133</span> * block framing.<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span> *<a name="line.1134"></a>
+<span class="sourceLineNo">1135</span> * @param out the buffered output stream to write the index to. Typically a<a name="line.1135"></a>
+<span class="sourceLineNo">1136</span> * stream writing into an {@link HFile} block.<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span> * @param description a short description of the index being written. Used<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span> * in a log message.<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span> * @throws IOException<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span> */<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span> public void writeSingleLevelIndex(DataOutput out, String description)<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span> throws IOException {<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span> expectNumLevels(1);<a name="line.1143"></a>
+<span class="sourceLineNo">1144</span><a name="line.1144"></a>
+<span class="sourceLineNo">1145</span> if (!singleLevelOnly)<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span> throw new IOException("Single-level mode is turned off");<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span><a name="line.1147"></a>
+<span class="sourceLineNo">1148</span> if (rootChunk.getNumEntries() > 0)<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span> throw new IOException("Root-level entries already added in " +<a name="line.1149"></a>
+<span class="sourceLineNo">1150</span> "single-level mode");<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span><a name="line.1151"></a>
+<span class="sourceLineNo">1152</span> rootChunk = curInlineChunk;<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span> curInlineChunk = new BlockIndexChunk();<a name="line.1153"></a>
+<span class="sourceLineNo">1154</span><a name="line.1154"></a>
+<span class="sourceLineNo">1155</span> if (LOG.isTraceEnabled()) {<a name="line.1155"></a>
+<span class="sourceLineNo">1156</span> LOG.trace("Wrote a single-level " + description + " index with "<a name="line.1156"></a>
+<span class="sourceLineNo">1157</span> + rootChunk.getNumEntries() + " entries, " + rootChunk.getRootSize()<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span> + " bytes");<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span> }<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span> rootChunk.writeRoot(out);<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span> }<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span><a name="line.1162"></a>
+<span class="sourceLineNo">1163</span> /**<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span> * Split the current level of the block index into intermediate index<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span> * blocks of permitted size and write those blocks to disk. Return the next<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span> * level of the block index referencing those intermediate-level blocks.<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span> *<a name="line.1167"></a>
+<span class="sourceLineNo">1168</span> * @param out<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span> * @param currentLevel the current level of the block index, such as the a<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span> * chunk referencing all leaf-level index blocks<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span> * @return the parent level block index, which becomes the root index after<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span> * a few (usually zero) iterations<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span> * @throws IOException<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span> */<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span> private BlockIndexChunk writeIntermediateLevel(FSDataOutputStream out,<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span> BlockIndexChunk currentLevel) throws IOException {<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span> // Entries referencing intermediate-level blocks we are about to create.<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span> BlockIndexChunk parent = new BlockIndexChunk();<a name="line.1178"></a>
+<span class="sourceLineNo">1179</span><a name="line.1179"></a>
+<span class="sourceLineNo">1180</span> // The current intermediate-level block index chunk.<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span> BlockIndexChunk curChunk = new BlockIndexChunk();<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span><a name="line.1182"></a>
+<span class="sourceLineNo">1183</span> for (int i = 0; i < currentLevel.getNumEntries(); ++i) {<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span> curChunk.add(currentLevel.getBlockKey(i),<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span> currentLevel.getBlockOffset(i), currentLevel.getOnDiskDataSize(i));<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span><a name="line.1186"></a>
+<span class="sourceLineNo">1187</span> // HBASE-16288: We have to have at least minIndexNumEntries(16) items in the index so that<a name="line.1187"></a>
+<span class="sourceLineNo">1188</span> // we won't end up with too-many levels for a index with very large rowKeys. Also, if the<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span> // first key is larger than maxChunkSize this will cause infinite recursion.<a name="line.1189"></a>
+<span class="sourceLineNo">1190</span> if (i >= minIndexNumEntries && curChunk.getRootSize() >= maxChunkSize) {<a name="line.1190"></a>
+<span class="sourceLineNo">1191</span> writeIntermediateBlock(out, parent, curChunk);<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span> }<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span> }<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span><a name="line.1194"></a>
+<span class="sourceLineNo">1195</span> if (curChunk.getNumEntries() > 0) {<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span> writeIntermediateBlock(out, parent, curChunk);<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span> }<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span><a name="line.1198"></a>
+<span class="sourceLineNo">1199</span> return parent;<a name="line.1199"></a>
+<span class="sourceLineNo">1200</span> }<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span><a name="line.1201"></a>
+<span class="sourceLineNo">1202</span> private void writeIntermediateBlock(FSDataOutputStream out,<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span> BlockIndexChunk parent, BlockIndexChunk curChunk) throws IOException {<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span> long beginOffset = out.getPos();<a name="line.1204"></a>
+<span class="sourceLineNo">1205</span> DataOutputStream dos = blockWriter.startWriting(<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span> BlockType.INTERMEDIATE_INDEX);<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span> curChunk.writeNonRoot(dos);<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span> byte[] curFirstKey = curChunk.getBlockKey(0);<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span> blockWriter.writeHeaderAndData(out);<a name="line.1209"></a>
+<span class="sourceLineNo">1210</span><a name="line.1210"></a>
+<span class="sourceLineNo">1211</span> if (getCacheOnWrite()) {<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span> cacheConf.getBlockCache().ifPresent(cache -> {<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span> HFileBlock blockForCaching = blockWriter.getBlockForCaching(cacheConf);<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span> cache.cacheBlock(<a name="line.1214"></a>
+<span class="sourceLineNo">1215</span> new BlockCacheKey(nameForCaching, beginOffset, true, blockForCaching.getBlockType()),<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span> blockForCaching);<a name="line.1216"></a>
+<span class="sourceLineNo">1217</span> });<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span> }<a name="line.1218"></a>
<span class="sourceLineNo">1219</span><a name="line.1219"></a>
-<span class="sourceLineNo">1220</span> // OFFSET is the beginning offset the chunk of block index entries.<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span> // SIZE is the total byte size of the chunk of block index entries<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span> // + the secondary index size<a name="line.1222"></a>
-<span class="sourceLineNo">1223</span> // FIRST_KEY is the first key in the chunk of block index<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span> // entries.<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span> parent.add(curFirstKey, beginOffset,<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span> blockWriter.getOnDiskSizeWithHeader());<a name="line.1226"></a>
-<span class="sourceLineNo">1227</span><a name="line.1227"></a>
-<span class="sourceLineNo">1228</span> // clear current block index chunk<a name="line.1228"></a>
-<span class="sourceLineNo">1229</span> curChunk.clear();<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span> curFirstKey = null;<a name="line.1230"></a>
-<span class="sourceLineNo">1231</span> }<a name="line.1231"></a>
+<span class="sourceLineNo">1220</span> // Add intermediate index block size<a name="line.1220"></a>
+<span class="sourceLineNo">1221</span> totalBlockOnDiskSize += blockWriter.getOnDiskSizeWithoutHeader();<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span> totalBlockUncompressedSize +=<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span> blockWriter.getUncompressedSizeWithoutHeader();<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span><a name="line.1224"></a>
+<span class="sourceLineNo">1225</span> // OFFSET is the beginning offset the chunk of block index entries.<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span> // SIZE is the total byte size of the chunk of block index entries<a name="line.1226"></a>
+<span class="sourceLineNo">1227</span> // + the secondary index size<a name="line.1227"></a>
+<span class="sourceLineNo">1228</span> // FIRST_KEY is the first key in the chunk of block index<a name="line.1228"></a>
+<span class="sourceLineNo">1229</span> // entries.<a name="line.1229"></a>
+<span class="sourceLineNo">1230</span> parent.add(curFirstKey, beginOffset,<a name="line.1230"></a>
+<span class="sourceLineNo">1231</span> blockWriter.getOnDiskSizeWithHeader());<a name="line.1231"></a>
<span class="sourceLineNo">1232</span><a name="line.1232"></a>
-<span class="sourceLineNo">1233</span> /**<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span> * @return how many block index entries there are in the root level<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span> */<a name="line.1235"></a>
-<span class="sourceLineNo">1236</span> public final int getNumRootEntries() {<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span> return rootChunk.getNumEntries();<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span> }<a name="line.1238"></a>
-<span class="sourceLineNo">1239</span><a name="line.1239"></a>
-<span class="sourceLineNo">1240</span> /**<a name="line.1240"></a>
-<span class="sourceLineNo">1241</span> * @return the number of levels in this block index.<a name="line.1241"></a>
-<span class="sourceLineNo">1242</span> */<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span> public int getNumLevels() {<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span> return numLevels;<a name="line.1244"></a>
-<span class="sourceLineNo">1245</span> }<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span><a name="line.1246"></a>
-<span class="sourceLineNo">1247</span> private void expectNumLevels(int expectedNumLevels) {<a name="line.1247"></a>
-<span class="sourceLineNo">1248</span> if (numLevels != expectedNumLevels) {<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span> throw new IllegalStateException("Number of block index levels is "<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span> + numLevels + "but is expected to be " + expectedNumLevels);<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span> }<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span> }<a name="line.1252"></a>
-<span class="sourceLineNo">1253</span><a name="line.1253"></a>
-<span class="sourceLineNo">1254</span> /**<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span> * Whether there is an inline block ready to be written. In general, we<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span> * write an leaf-level index block as an inline block as soon as its size<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span> * as serialized in the non-root format reaches a certain threshold.<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span> */<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span> @Override<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span> public boolean shouldWriteBlock(boolean closing) {<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span> if (singleLevelOnly) {<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1262"></a>
-<span class="sourceLineNo">1263</span> }<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span><a name="line.1264"></a>
-<span class="sourceLineNo">1265</span> if (curInlineChunk == null) {<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span> throw new IllegalStateException("curInlineChunk is null; has shouldWriteBlock been " +<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span> "called with closing=true and then called again?");<a name="line.1267"></a>
+<span class="sourceLineNo">1233</span> // clear current block index chunk<a name="line.1233"></a>
+<span class="sourceLineNo">1234</span> curChunk.clear();<a name="line.1234"></a>
+<span class="sourceLineNo">1235</span> curFirstKey = null;<a name="line.1235"></a>
+<span class="sourceLineNo">1236</span> }<a name="line.1236"></a>
+<span class="sourceLineNo">1237</span><a name="line.1237"></a>
+<span class="sourceLineNo">1238</span> /**<a name="line.1238"></a>
+<span class="sourceLineNo">1239</span> * @return how many block index entries there are in the root level<a name="line.1239"></a>
+<span class="sourceLineNo">1240</span> */<a name="line.1240"></a>
+<span class="sourceLineNo">1241</span> public final int getNumRootEntries() {<a name="line.1241"></a>
+<span class="sourceLineNo">1242</span> return rootChunk.getNumEntries();<a name="line.1242"></a>
+<span class="sourceLineNo">1243</span> }<a name="line.1243"></a>
+<span class="sourceLineNo">1244</span><a name="line.1244"></a>
+<span class="sourceLineNo">1245</span> /**<a name="line.1245"></a>
+<span class="sourceLineNo">1246</span> * @return the number of levels in this block index.<a name="line.1246"></a>
+<span class="sourceLineNo">1247</span> */<a name="line.1247"></a>
+<span class="sourceLineNo">1248</span> public int getNumLevels() {<a name="line.1248"></a>
+<span class="sourceLineNo">1249</span> return numLevels;<a name="line.1249"></a>
+<span class="sourceLineNo">1250</span> }<a name="line.1250"></a>
+<span class="sourceLineNo">1251</span><a name="line.1251"></a>
+<span class="sourceLineNo">1252</span> private void expectNumLevels(int expectedNumLevels) {<a name="line.1252"></a>
+<span class="sourceLineNo">1253</span> if (numLevels != expectedNumLevels) {<a name="line.1253"></a>
+<span class="sourceLineNo">1254</span> throw new IllegalStateException("Number of block index levels is "<a name="line.1254"></a>
+<span class="sourceLineNo">1255</span> + numLevels + "but is expected to be " + expectedNumLevels);<a name="line.1255"></a>
+<span class="sourceLineNo">1256</span> }<a name="line.1256"></a>
+<span class="sourceLineNo">1257</span> }<a name="line.1257"></a>
+<span class="sourceLineNo">1258</span><a name="line.1258"></a>
+<span class="sourceLineNo">1259</span> /**<a name="line.1259"></a>
+<span class="sourceLineNo">1260</span> * Whether there is an inline block ready to be written. In general, we<a name="line.1260"></a>
+<span class="sourceLineNo">1261</span> * write an leaf-level index block as an inline block as soon as its size<a name="line.1261"></a>
+<span class="sourceLineNo">1262</span> * as serialized in the non-root format reaches a certain threshold.<a name="line.1262"></a>
+<span class="sourceLineNo">1263</span> */<a name="line.1263"></a>
+<span class="sourceLineNo">1264</span> @Override<a name="line.1264"></a>
+<span class="sourceLineNo">1265</span> public boolean shouldWriteBlock(boolean closing) {<a name="line.1265"></a>
+<span class="sourceLineNo">1266</span> if (singleLevelOnly) {<a name="line.1266"></a>
+<span class="sourceLineNo">1267</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1267"></a>
<span class="sourceLineNo">1268</span> }<a name="line.1268"></a>
<span class="sourceLineNo">1269</span><a name="line.1269"></a>
-<span class="sourceLineNo">1270</span> if (curInlineChunk.getNumEntries() == 0) {<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span> return false;<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span> }<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span><a name="line.1273"></a>
-<span class="sourceLineNo">1274</span> // We do have some entries in the current inline chunk.<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span> if (closing) {<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span> if (rootChunk.getNumEntries() == 0) {<a name="line.1276"></a>
-<span class="sourceLineNo">1277</span> // We did not add any leaf-level blocks yet. Instead of creating a<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span> // leaf level with one block, move these entries to the root level.<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span><a name="line.1279"></a>
-<span class="sourceLineNo">1280</span> expectNumLevels(1);<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span> rootChunk = curInlineChunk;<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span> curInlineChunk = null; // Disallow adding any more index entries.<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span> return false;<a name="line.1283"></a>
-<span class="sourceLineNo">1284</span> }<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span><a name="line.1285"></a>
-<span class="sourceLineNo">1286</span> return true;<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span> } else {<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span> return curInlineChunk.getNonRootSize() >= maxChunkSize;<a name="line.1288"></a>
-<span class="sourceLineNo">1289</span> }<a name="line.1289"></a>
-<span class="sourceLineNo">1290</span> }<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span><a name="line.1291"></a>
-<span class="sourceLineNo">1292</span> /**<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span> * Write out the current inline index block. Inline blocks are non-root<a name="line.1293"></a>
-<span class="sourceLineNo">1294</span> * blocks, so the non-root index format is used.<a name="line.1294"></a>
-<span class="sourceLineNo">1295</span> *<a name="line.1295"></a>
-<span class="sourceLineNo">1296</span> * @param out<a name="line.1296"></a>
-<span class="sourceLineNo">1297</span> */<a name="line.1297"></a>
-<span class="sourceLineNo">1298</span> @Override<a name="line.1298"></a>
-<span class="sourceLineNo">1299</span> public void writeInlineBlock(DataOutput out) throws IOException {<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span> if (singleLevelOnly)<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1301"></a>
-<span class="sourceLineNo">1302</span><a name="line.1302"></a>
-<span class="sourceLineNo">1303</span> // Write the inline block index to the output stream in the non-root<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span> // index block format.<a name="line.1304"></a>
-<span class="sourceLineNo">1305</span> curInlineChunk.writeNonRoot(out);<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span><a name="line.1306"></a>
-<span class="sourceLineNo">1307</span> // Save the first key of the inline block so that we can add it to the<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span> // parent-level index.<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span> firstKey = curInlineChunk.getBlockKey(0);<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span><a name="line.1310"></a>
-<span class="sourceLineNo">1311</span> // Start a new inline index block<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span> curInlineChunk.clear();<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span> }<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span><a name="line.1314"></a>
-<span class="sourceLineNo">1315</span> /**<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span> * Called after an inline block has been written so that we can add an<a name="line.1316"></a>
-<span class="sourceLineNo">1317</span> * entry referring to that block to the parent-level index.<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span> */<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span> @Override<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span> public void blockWritten(long offset, int onDiskSize, int uncompressedSize) {<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span> // Add leaf index block size<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span> totalBlockOnDiskSize += onDiskSize;<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span> totalBlockUncompressedSize += uncompressedSize;<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span><a name="line.1324"></a>
-<span class="sourceLineNo">1325</span> if (singleLevelOnly)<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span><a name="line.1327"></a>
-<span class="sourceLineNo">1328</span> if (firstKey == null) {<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span> throw new IllegalStateException("Trying to add second-level index " +<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span> "entry with offset=" + offset + " and onDiskSize=" + onDiskSize +<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span> "but the first key was not set in writeInlineBlock");<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span> }<a name="line.1332"></a>
-<span class="sourceLineNo">1333</span><a name="line.1333"></a>
-<span class="sourceLineNo">1334</span> if (rootChunk.getNumEntries() == 0) {<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span> // We are writing the first leaf block, so increase index level.<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span> expectNumLevels(1);<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span> numLevels = 2;<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span> }<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span><a name="line.1339"></a>
-<span class="sourceLineNo">1340</span> // Add another entry to the second-level index. Include the number of<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span> // entries in all previous leaf-level chunks for mid-key calculation.<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span> rootChunk.add(firstKey, offset, onDiskSize, totalNumEntries);<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span> firstKey = null;<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span> }<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span><a name="line.1345"></a>
-<span class="sourceLineNo">1346</span> @Override<a name="line.1346"></a>
-<span class="sourceLineNo">1347</span> public BlockType getInlineBlockType() {<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span> return BlockType.LEAF_INDEX;<a name="line.1348"></a>
+<span class="sourceLineNo">1270</span> if (curInlineChunk == null) {<a name="line.1270"></a>
+<span class="sourceLineNo">1271</span> throw new IllegalStateException("curInlineChunk is null; has shouldWriteBlock been " +<a name="line.1271"></a>
+<span class="sourceLineNo">1272</span> "called with closing=true and then called again?");<a name="line.1272"></a>
+<span class="sourceLineNo">1273</span> }<a name="line.1273"></a>
+<span class="sourceLineNo">1274</span><a name="line.1274"></a>
+<span class="sourceLineNo">1275</span> if (curInlineChunk.getNumEntries() == 0) {<a name="line.1275"></a>
+<span class="sourceLineNo">1276</span> return false;<a name="line.1276"></a>
+<span class="sourceLineNo">1277</span> }<a name="line.1277"></a>
+<span class="sourceLineNo">1278</span><a name="line.1278"></a>
+<span class="sourceLineNo">1279</span> // We do have some entries in the current inline chunk.<a name="line.1279"></a>
+<span class="sourceLineNo">1280</span> if (closing) {<a name="line.1280"></a>
+<span class="sourceLineNo">1281</span> if (rootChunk.getNumEntries() == 0) {<a name="line.1281"></a>
+<span class="sourceLineNo">1282</span> // We did not add any leaf-level blocks yet. Instead of creating a<a name="line.1282"></a>
+<span class="sourceLineNo">1283</span> // leaf level with one block, move these entries to the root level.<a name="line.1283"></a>
+<span class="sourceLineNo">1284</span><a name="line.1284"></a>
+<span class="sourceLineNo">1285</span> expectNumLevels(1);<a name="line.1285"></a>
+<span class="sourceLineNo">1286</span> rootChunk = curInlineChunk;<a name="line.1286"></a>
+<span class="sourceLineNo">1287</span> curInlineChunk = null; // Disallow adding any more index entries.<a name="line.1287"></a>
+<span class="sourceLineNo">1288</span> return false;<a name="line.1288"></a>
+<span class="sourceLineNo">1289</span> }<a name="line.1289"></a>
+<span class="sourceLineNo">1290</span><a name="line.1290"></a>
+<span class="sourceLineNo">1291</span> return true;<a name="line.1291"></a>
+<span class="sourceLineNo">1292</span> } else {<a name="line.1292"></a>
+<span class="sourceLineNo">1293</span> return curInlineChunk.getNonRootSize() >= maxChunkSize;<a name="line.1293"></a>
+<span class="sourceLineNo">1294</span> }<a name="line.1294"></a>
+<span class="sourceLineNo">1295</span> }<a name="line.1295"></a>
+<span class="sourceLineNo">1296</span><a name="line.1296"></a>
+<span class="sourceLineNo">1297</span> /**<a name="line.1297"></a>
+<span class="sourceLineNo">1298</span> * Write out the current inline index block. Inline blocks are non-root<a name="line.1298"></a>
+<span class="sourceLineNo">1299</span> * blocks, so the non-root index format is used.<a name="line.1299"></a>
+<span class="sourceLineNo">1300</span> *<a name="line.1300"></a>
+<span class="sourceLineNo">1301</span> * @param out<a name="line.1301"></a>
+<span class="sourceLineNo">1302</span> */<a name="line.1302"></a>
+<span class="sourceLineNo">1303</span> @Override<a name="line.1303"></a>
+<span class="sourceLineNo">1304</span> public void writeInlineBlock(DataOutput out) throws IOException {<a name="line.1304"></a>
+<span class="sourceLineNo">1305</span> if (singleLevelOnly)<a name="line.1305"></a>
+<span class="sourceLineNo">1306</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1306"></a>
+<span class="sourceLineNo">1307</span><a name="line.1307"></a>
+<span class="sourceLineNo">1308</span> // Write the inline block index to the output stream in the non-root<a name="line.1308"></a>
+<span class="sourceLineNo">1309</span> // index block format.<a name="line.1309"></a>
+<span class="sourceLineNo">1310</span> curInlineChunk.writeNonRoot(out);<a name="line.1310"></a>
+<span class="sourceLineNo">1311</span><a name="line.1311"></a>
+<span class="sourceLineNo">1312</span> // Save the first key of the inline block so that we can add it to the<a name="line.1312"></a>
+<span class="sourceLineNo">1313</span> // parent-level index.<a name="line.1313"></a>
+<span class="sourceLineNo">1314</span> firstKey = curInlineChunk.getBlockKey(0);<a name="line.1314"></a>
+<span class="sourceLineNo">1315</span><a name="line.1315"></a>
+<span class="sourceLineNo">1316</span> // Start a new inline index block<a name="line.1316"></a>
+<span class="sourceLineNo">1317</span> curInlineChunk.clear();<a name="line.1317"></a>
+<span class="sourceLineNo">1318</span> }<a name="line.1318"></a>
+<span class="sourceLineNo">1319</span><a name="line.1319"></a>
+<span class="sourceLineNo">1320</span> /**<a name="line.1320"></a>
+<span class="sourceLineNo">1321</span> * Called after an inline block has been written so that we can add an<a name="line.1321"></a>
+<span class="sourceLineNo">1322</span> * entry referring to that block to the parent-level index.<a name="line.1322"></a>
+<span class="sourceLineNo">1323</span> */<a name="line.1323"></a>
+<span class="sourceLineNo">1324</span> @Override<a name="line.1324"></a>
+<span class="sourceLineNo">1325</span> public void blockWritten(long offset, int onDiskSize, int uncompressedSize) {<a name="line.1325"></a>
+<span class="sourceLineNo">1326</span> // Add leaf index block size<a name="line.1326"></a>
+<span class="sourceLineNo">1327</span> totalBlockOnDiskSize += onDiskSize;<a name="line.1327"></a>
+<span class="sourceLineNo">1328</span> totalBlockUncompressedSize += uncompressedSize;<a name="line.1328"></a>
+<span class="sourceLineNo">1329</span><a name="line.1329"></a>
+<span class="sourceLineNo">1330</span> if (singleLevelOnly)<a name="line.1330"></a>
+<span class="sourceLineNo">1331</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1331"></a>
+<span class="sourceLineNo">1332</span><a name="line.1332"></a>
+<span class="sourceLineNo">1333</span> if (firstKey == null) {<a name="line.1333"></a>
+<span class="sourceLineNo">1334</span> throw new IllegalStateException("Trying to add second-level index " +<a name="line.1334"></a>
+<span class="sourceLineNo">1335</span> "entry with offset=" + offset + " and onDiskSize=" + onDiskSize +<a name="line.1335"></a>
+<span class="sourceLineNo">1336</span> "but the first key was not set in writeInlineBlock");<a name="line.1336"></a>
+<span class="sourceLineNo">1337</span> }<a name="line.1337"></a>
+<span class="sourceLineNo">1338</span><a name="line.1338"></a>
+<span class="sourceLineNo">1339</span> if (rootChunk.getNumEntries() == 0) {<a name="line.1339"></a>
+<span class="sourceLineNo">1340</span> // We are writing the first leaf block, so increase index level.<a name="line.1340"></a>
+<span class="sourceLineNo">1341</span> expectNumLevels(1);<a name="line.1341"></a>
+<span class="sourceLineNo">1342</span> numLevels = 2;<a name="line.1342"></a>
+<span class="sourceLineNo">1343</span> }<a name="line.1343"></a>
+<span class="sourceLineNo">1344</span><a name="line.1344"></a>
+<span class="sourceLineNo">1345</span> // Add another entry to the second-level index. Include the number of<a name="line.1345"></a>
+<span class="sourceLineNo">1346</span> // entries in all previous leaf-level chunks for mid-key calculation.<a name="line.1346"></a>
+<span class="sourceLineNo">1347</span> rootChunk.add(firstKey, offset, onDiskSize, totalNumEntries);<a name="line.1347"></a>
+<span class="sourceLineNo">1348</span> firstKey = null;<a name="line.1348"></a>
<span class="sourceLineNo">1349</span> }<a name="line.1349"></a>
<span class="sourceLineNo">1350</span><a name="line.1350"></a>
-<span class="sourceLineNo">1351</span> /**<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span> * Add one index entry to the current leaf-level block. When the leaf-level<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span> * block gets large enough, it will be flushed to disk as an inline block.<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span> *<a name="line.1354"></a>
-<span class="sourceLineNo">1355</span> * @param firstKey the first key of the data block<a name="line.1355"></a>
-<span class="sourceLineNo">1356</span> * @param blockOffset the offset of the data block<a name="line.1356"></a>
-<span class="sourceLineNo">1357</span> * @param blockDataSize the on-disk size of the data block ({@link HFile}<a name="line.1357"></a>
-<span class="sourceLineNo">1358</span> * format version 2), or the uncompressed size of the data block (<a name="line.1358"></a>
-<span class="sourceLineNo">1359</span> * {@link HFile} format version 1).<a name="line.1359"></a>
-<span class="sourceLineNo">1360</span> */<a name="line.1360"></a>
-<span class="sourceLineNo">1361</span> public void addEntry(byte[] firstKey, long blockOffset, int blockDataSize) {<a name="line.1361"></a>
-<span class="sourceLineNo">1362</span> curInlineChunk.add(firstKey, blockOffset, blockDataSize);<a name="line.1362"></a>
-<span class="sourceLineNo">1363</span> ++totalNumEntries;<a name="line.1363"></a>
-<span class="sourceLineNo">1364</span> }<a name="line.1364"></a>
-<span class="sourceLineNo">1365</span><a name="line.1365"></a>
-<span class="sourceLineNo">1366</span> /**<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span> * @throws IOException if we happened to write a multi-level index.<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span> */<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span> public void ensureSingleLevel() throws IOException {<a name="line.1369"></a>
-<span class="sourceLineNo">1370</span> if (numLevels > 1) {<a name="line.1370"></a>
-<span class="sourceLineNo">1371</span> throw new IOException ("Wrote a " + numLevels + "-level index with " +<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span> rootChunk.getNumEntries() + " root-level entries, but " +<a name="line.1372"></a>
-<span class="sourceLineNo">1373</span> "this is expected to be a single-level block index.");<a name="line.1373"></a>
-<span class="sourceLineNo">1374</span> }<a name="line.1374"></a>
-<span class="sourceLineNo">1375</span> }<a name="line.1375"></a>
-<span class="sourceLineNo">1376</span><a name="line.1376"></a>
-<span class="sourceLineNo">1377</span> /**<a name="line.1377"></a>
-<span class="sourceLineNo">1378</span> * @return true if we are using cache-on-write. This is configured by the<a name="line.1378"></a>
-<span class="sourceLineNo">1379</span> * caller of the constructor by either passing a valid block cache<a name="line.1379"></a>
-<span class="sourceLineNo">1380</span> * or null.<a name="line.1380"></a>
-<span class="sourceLineNo">1381</span> */<a name="line.1381"></a>
-<span class="sourceLineNo">1382</span> @Override<a name="line.1382"></a>
-<span class="sourceLineNo">1383</span> public boolean getCacheOnWrite() {<a name="line.1383"></a>
-<span class="sourceLineNo">1384</span> return cacheConf != null && cacheConf.shouldCacheIndexesOnWrite();<a name="line.1384"></a>
-<span class="sourceLineNo">1385</span> }<a name="line.1385"></a>
-<span class="sourceLineNo">1386</span><a name="line.1386"></a>
-<span class="sourceLineNo">1387</span> /**<a name="line.1387"></a>
-<span class="sourceLineNo">1388</span> * The total uncompressed size of the root index block, intermediate-level<a name="line.1388"></a>
-<span class="sourceLineNo">1389</span> * index blocks, and leaf-level index blocks.<a name="line.1389"></a>
-<span class="sourceLineNo">1390</span> *<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span> * @return the total uncompressed size of all index blocks<a name="line.1391"></a>
-<span class="sourceLineNo">1392</span> */<a name="line.1392"></a>
-<span class="sourceLineNo">1393</span> public long getTotalUncompressedSize() {<a name="line.1393"></a>
-<span class="sourceLineNo">1394</span> return totalBlockUncompressedSize;<a name="line.1394"></a>
-<span class="sourceLineNo">1395</span> }<a name="line.1395"></a>
-<span class="sourceLineNo">1396</span><a name="line.1396"></a>
-<span class="sourceLineNo">1397</span> }<a name="line.1397"></a>
-<span class="sourceLineNo">1398</span><a name="line.1398"></a>
-<span class="sourceLineNo">1399</span> /**<a name="line.1399"></a>
-<span class="sourceLineNo">1400</span> * A single chunk of the block index in the process of writing. The data in<a name="line.1400"></a>
-<span class="sourceLineNo">1401</span> * this chunk can become a leaf-level, intermediate-level, or root index<a name="line.1401"></a>
-<span class="sourceLineNo">1402</span> * block.<a name="line.1402"></a>
-<span class="sourceLineNo">1403</span> */<a name="line.1403"></a>
-<span class="sourceLineNo">1404</span> static class BlockIndexChunk {<a name="line.1404"></a>
-<span class="sourceLineNo">1405</span><a name="line.1405"></a>
-<span class="sourceLineNo">1406</span> /** First keys of the key range corresponding to each index entry. */<a name="line.1406"></a>
-<span class="sourceLineNo">1407</span> private final List<byte[]> blockKeys = new ArrayList<>();<a name="line.1407"></a>
-<span class="sourceLineNo">1408</span><a name="line.1408"></a>
-<span class="sourceLineNo">1409</span> /** Block offset in backing stream. */<a name="line.1409"></a>
-<span class="sourceLineNo">1410</span> private final List<Long> blockOffsets = new ArrayList<>();<a name="line.1410"></a>
-<span class="sourceLineNo">1411</span><a name="line.1411"></a>
-<span class="sourceLineNo">1412</span> /** On-disk data sizes of lower-level data or index blocks. */<a name="line.1412"></a>
-<span class="sourceLineNo">1413</span> private final List<Integer> onDiskDataSizes = new ArrayList<>();<a name="line.1413"></a>
-<span class="sourceLineNo">1414</span><a name="line.1414"></a>
-<span class="sourceLineNo">1415</span> /**<a name="line.1415"></a>
-<span class="sourceLineNo">1416</span> * The cumulative number of sub-entries, i.e. entries on deeper-level block<a name="line.1416"></a>
-<span class="sourceLineNo">1417</span> * index entries. numSubEntriesAt[i] is the number of sub-entries in the<a name="line.1417"></a>
-<span class="sourceLineNo">1418</span> * blocks corresponding to this chunk's entries #0 through #i inclusively.<a name="line.1418"></a>
-<span class="sourceLineNo">1419</span> */<a name="line.1419"></a>
-<span class="sourceLineNo">1420</span> private final List<Long> numSubEntriesAt = new ArrayList<>();<a name="line.1420"></a>
-<span class="sourceLineNo">1421</span><a name="line.1421"></a>
-<span class="sourceLineNo">1422</span> /**<a name="line.1422"></a>
-<span class="sourceLineNo">1423</span> * The offset of the next entry to be added, relative to the end of the<a name="line.1423"></a>
-<span class="sourceLineNo">1424</span> * "secondary index" in the "non-root" format representation of this index<a name="line.1424"></a>
-<span class="sourceLineNo">1425</span> * chunk. This is the next value to be added to the secondary index.<a name="line.1425"></a>
-<span class="sourceLineNo">1426</span> */<a name="line.1426"></a>
-<span class="sourceLineNo">1427</span> private int curTotalNonRootEntrySize = 0;<a name="line.1427"></a>
-<span class="sourceLineNo">1428</span><a name="line.1428"></a>
-<span class="sourceLineNo">1429</span> /**<a name="line.1429"></a>
-<span class="sourceLineNo">1430</span> * The accumulated size of this chunk if stored in the root index format.<a name="line.1430"></a>
+<span class="sourceLineNo">1351</span> @Override<a name="line.1351"></a>
+<span class="sourceLineNo">1352</span> public BlockType getInlineBlockType() {<a name="line.1352"></a>
+<span class="sourceLineNo">1353</span> return BlockType.LEAF_INDEX;<a name="line.1353"></a>
+<span class="sourceLineNo">1354</span> }<a name="line.1354"></a>
+<span class="sourceLineNo">1355</span><a name="line.1355"></a>
+<span class="sourceLineNo">1356</span> /**<a name="line.1356"></a>
+<span class="sourceLineNo">1357</span> * Add one index entry to the current leaf-level block. When the leaf-level<a name="line.1357"></a>
+<span class="sourceLineNo">1358</span> * block gets large enough, it will be flushed to disk as an inline block.<a name="line.1358"></a>
+<span class="sourceLineNo">1359</span> *<a name="line.1359"></a>
+<span class="sourceLineNo">1360</span> * @param firstKey the first key of the data block<a name="line.1360"></a>
+<span class="sourceLineNo">1361</span> * @param blockOffset the offset of the data block<a name="line.1361"></a>
+<span class="sourceLineNo">1362</span> * @param blockDataSize the on-disk size of the data block ({@link HFile}<a name="line.1362"></a>
+<span class="sourceLineNo">1363</span> * format version 2), or the uncompressed size of the data block (<a name="line.1363"></a>
+<span class="sourceLineNo">1364</span> * {@link HFile} format version 1).<a name="line.1364"></a>
+<span class="sourceLineNo">1365</span> */<a name="line.1365"></a>
+<span class="sourceLineNo">1366</span> public void addEntry(byte[] firstKey, long blockOffset, int blockDataSize) {<a name="line.1366"></a>
+<span class="sourceLineNo">1367</span> curInlineChunk.add(firstKey, blockOffset, blockDataSize);<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span> ++totalNumEntries;<a name="line.1368"></a>
+<span class="sourceLineNo">1369</span> }<a name="line.1369"></a>
+<span class="sourceLineNo">1370</span><a name="line.1370"></a>
+<span class="sourceLineNo">1371</span> /**<a name="line.1371"></a>
+<span class="sourceLineNo">1372</span> * @throws IOException if we happened to write a multi-level index.<a name="line.1372"></a>
+<span class="sourceLineNo">1373</span> */<a name="line.1373"></a>
+<span class="sourceLineNo">1374</span> public void ensureSingleLevel() throws IOException {<a name="line.1374"></a>
+<span class="sourceLineNo">1375</span> if (numLevels > 1) {<a name="line.1375"></a>
+<span class="sourceLineNo">1376</span> throw new IOException ("Wrote a " + numLevels + "-level index with " +<a name="line.1376"></a>
+<span class="sourceLineNo">1377</span> rootChunk.getNumEntries() + " root-level entries, but " +<a name="line.1377"></a>
+<span class="sourceLineNo">1378</span> "this is expected to be a single-level block index.");<a name="line.1378"></a>
+<span class="sourceLineNo">1379</span> }<a name="line.1379"></a>
+<span class="sourceLineNo">1380</span> }<a name="line.1380"></a>
+<span class="sourceLineNo">1381</span><a name="line.1381"></a>
+<span class="sourceLineNo">1382</span> /**<a name="line.1382"></a>
+<span class="sourceLineNo">1383</span> * @return true if we are using cache-on-write. This is configured by the<a name="line.1383"></a>
+<span class="sourceLineNo">1384</span> * caller of the constructor by either passing a valid block cache<a name="line.1384"></a>
+<span class="sourceLineNo">1385</span> * or null.<a name="line.1385"></a>
+<span class="sourceLineNo">1386</span> */<a name="line.1386"></a>
+<span class="sourceLineNo">1387</span> @Override<a name="line.1387"></a>
+<span class="sourceLineNo">1388</span> public boolean getCacheOnWrite() {<a name="line.1388"></a>
+<span class="sourceLineNo">1389</span> return cacheConf != null && cacheConf.shouldCacheIndexesOnWrite();<a name="line.1389"></a>
+<span class="sourceLineNo">1390</span> }<a name="line.1390"></a>
+<span class="sourceLineNo">1391</span><a name="line.1391"></a>
+<span class="sourceLineNo">1392</span> /**<a name="line.1392"></a>
+<span class="sourceLineNo">1393</span> * The total uncompressed size of the root index block, intermediate-level<a name="line.1393"></a>
+<span class="sourceLineNo">1394</span> * index blocks, and leaf-level index blocks.<a name="line.1394"></a>
+<span class="sourceLineNo">1395</span> *<a name="line.1395"></a>
+<span class="sourceLineNo">1396</span> * @return the total uncompressed size of all index blocks<a name="line.1396"></a>
+<span class="sourceLineNo">1397</span> */<a name="line.1397"></a>
+<span class="sourceLineNo">1398</span> public long getTotalUncompressedSize() {<a name="line.1398"></a>
+<span class="sourceLineNo">1399</span> return totalBlockUncompressedSize;<a name="line.1399"></a>
+<span class="sourceLineNo">1400</span> }<a name="line.1400"></a>
+<span class="sourceLineNo">1401</span><a name="line.1401"></a>
+<span class="sourceLineNo">1402</span> }<a name="line.1402"></a>
+<span class="sourceLineNo">1403</span><a name="line.1403"></a>
+<span class="sourceLineNo">1404</span> /**<a name="line.1404"></a>
+<span class="sourceLineNo">1405</span> * A single chunk of the block index in the process of writing. The data in<a name="line.1405"></a>
+<span class="sourceLineNo">1406</span> * this chunk can become a leaf-level, intermediate-level, or root index<a name="line.1406"></a>
+<span class="sourceLineNo">1407</span> * block.<a name="line.1407"></a>
+<span class="sourceLineNo">1408</span> */<a name="line.1408"></a>
+<span class="sourceLineNo">1409</span> static class BlockIndexChunk {<a name="line.1409"></a>
+<span class="sourceLineNo">1410</span><a name="line.1410"></a>
+<span class="sourceLineNo">1411</span> /** First keys of the key range corresponding to each index entry. */<a name="line.1411"></a>
+<span class="sourceLineNo">1412</span> private final List<byte[]> blockKeys = new ArrayList<>();<a name="line.1412"></a>
+<span class="sourceLineNo">1413</span><a name="line.1413"></a>
+<span class="sourceLineNo">1414</span> /** Block offset in backing stream. */<a name="line.1414"></a>
+<span class="sourceLineNo">1415</span> private final List<Long> blockOffsets = new ArrayList<>();<a name="line.1415"></a>
+<span class="sourceLineNo">1416</span><a name="line.1416"></a>
+<span class="sourceLineNo">1417</span> /** On-disk data sizes of lower-level data or index blocks. */<a name="line.1417"></a>
+<span class="sourceLineNo">1418</span> private final List<Integer> onDiskDataSizes = new ArrayList<>();<a name="line.1418"></a>
+<span class="sourceLineNo">1419</span><a name="line.1419"></a>
+<span class="sourceLineNo">1420</span> /**<a name="line.1420"></a>
+<span class="sourceLineNo">1421</span> * The cumulative number of sub-entries, i.e. entries on deeper-level block<a name="line.1421"></a>
+<span class="sourceLineNo">1422</span> * index entries. numSubEntriesAt[i] is the number of sub-entries in the<a name="line.1422"></a>
+<span class="sourceLineNo">1423</span> * blocks corresponding to this chunk's entries #0 through #i inclusively.<a name="line.1423"></a>
+<span class="sourceLineNo">1424</span> */<a name="line.1424"></a>
+<span class="sourceLineNo">1425</span> private final List<Long> numSubEntriesAt = new ArrayList<>();<a name="line.1425"></a>
+<span class="sourceLineNo">1426</span><a name="line.1426"></a>
+<span class="sourceLineNo">1427</span> /**<a name="line.1427"></a>
+<span class="sourceLineNo">1428</span> * The offset of the next entry to be added, relative to the end of the<a name="line.1428"></a>
+<span class="sourceLineNo">1429</span> * "secondary index" in the "non-root" format representation of this index<a name="line.1429"></a>
+<span class="sourceLineNo">1430</span> * chunk. This is the next value to be added to the secondary index.<a name="line.1430"></a>
<span class="sourceLineNo">1431</span> */<a name="line.1431"></a>
-<span class="sourceLineNo">1432</span> private int curTotalRootSize = 0;<a name="line.1432"></a>
+<span class="sourceLineNo">1432</span> private int curTotalNonRootEntrySize = 0;<a name="line.1432"></a>
<span class="sourceLineNo">1433</span><a name="line.1433"></a>
<span class="sourceLineNo">1434</span> /**<a name="line.1434"></a>
-<span class="sourceLineNo">1435</span> * The "secondary index" used for binary search over variable-length<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span> * records in a "non-root" format block. These offsets are relative to the<a name="line.1436"></a>
-<span class="sourceLineNo">1437</span> * end of this secondary index.<a name="line.1437"></a>
-<span class="sourceLineNo">1438</span> */<a name="line.1438"></a>
-<span class="sourceLineNo">1439</span> private final List<Integer> secondaryIndexOffsetMarks = new ArrayList<>();<a name="line.1439"></a>
-<span class="sourceLineNo">1440</span><a name="line.1440"></a>
-<span class="sourceLineNo">1441</span> /**<a name="line.1441"></a>
-<span class="sourceLineNo">1442</span> * Adds a new entry to this block index chunk.<a name="line.1442"></a>
-<span class="sourceLineNo">1443</span> *<a name="line.1443"></a>
-<span class="sourceLineNo">1444</span> * @param firstKey the first key in the block pointed to by this entry<a name="line.1444"></a>
-<span class="sourceLineNo">1445</span> * @param blockOffset the offset of the next-level block pointed to by this<a name="line.1445"></a>
-<span class="sourceLineNo">1446</span> * entry<a name="line.1446"></a>
-<span class="sourceLineNo">1447</span> * @param onDiskDataSize the on-disk data of the block pointed to by this<a name="line.1447"></a>
-<span class="sourceLineNo">1448</span> * entry, including header size<a name="line.1448"></a>
-<span class="sourceLineNo">1449</span> * @param curTotalNumSubEntries if this chunk is the root index chunk under<a name="line.1449"></a>
-<span class="sourceLineNo">1450</span> * construction, this specifies the current total number of<a name="line.1450"></a>
-<span class="sourceLineNo">1451</span> * sub-entries in all leaf-level chunks, including the one<a name="line.1451"></a>
-<span class="sourceLineNo">1452</span> * corresponding to the second-level entry being added.<a name="line.1452"></a>
-<span class="sourceLineNo">1453</span> */<a name="line.1453"></a>
-<span class="sourceLineNo">1454</span> void add(byte[] firstKey, long blockOffset, int onDiskDataSize,<a name="line.1454"></a>
-<span class="sourceLineNo">1455</span> long curTotalNumSubEntries) {<a name="line.1455"></a>
-<span class="sourceLineNo">1456</span> // Record the offset for the secondary index<a name="line.1456"></a>
-<span class="sourceLineNo">1457</span> secondaryIndexOffsetMarks.add(curTotalNonRootEntrySize);<a name="line.1457"></a>
-<span class="sourceLineNo">1458</span> curTotalNonRootEntrySize += SECONDARY_INDEX_ENTRY_OVERHEAD<a name="line.1458"></a>
-<span class="sourceLineNo">1459</span> + firstKey.length;<a name="line.1459"></a>
-<span class="sourceLineNo">1460</span><a name="line.1460"></a>
-<span class="sourceLineNo">1461</span> curTotalRootSize += Bytes.SIZEOF_LONG + Bytes.SIZEOF_INT<a name="line.1461"></a>
-<span class="sourceLineNo">1462</span> + WritableUtils.getVIntSize(firstKey.length) + firstKey.length;<a name="line.1462"></a>
-<span class="sourceLineNo">1463</span><a name="line.1463"></a>
-<span class="sourceLineNo">1464</span> blockKeys.add(firstKey);<a name="line.1464"></a>
-<span class="sourceLineNo">1465</span> blockOffsets.add(blockOffset);<a name="line.1465"></a>
-<span class="sourceLineNo">1466</span> onDiskDataSizes.add(onDiskDataSize);<a name="line.1466"></a>
-<span class="sourceLineNo">1467</span><a name="line.1467"></a>
-<span class="sourceLineNo">1468</span> if (curTotalNumSubEntries != -1) {<a name="line.1468"></a>
-<span class="sourceLineNo">1469</span> numSubEntriesAt.add(curTotalNumSubEntries);<a name="line.1469"></a>
-<span class="sourceLineNo">1470</span><a name="line.1470"></a>
-<span class="sourceLineNo">1471</span> // Make sure the parallel arrays are in sync.<a name="line.1471"></a>
-<span class="sourceLineNo">1472</span> if (numSubEntriesAt.size() != blockKeys.size()) {<a name="line.1472"></a>
-<span class="sourceLineNo">1473</span> throw new IllegalStateException("Only have key/value count " +<a name="line.1473"></a>
-<span class="sourceLineNo">1474</span> "stats for " + numSubEntriesAt.size() + " block index " +<a name="line.1474"></a>
-<span class="sourceLineNo">1475</span> "entries out of " + blockKeys.size());<a name="line.1475"></a>
-<span class="sourceLineNo">1476</span> }<a name="line.1476"></a>
-<span class="sourceLineNo">1477</span> }<a name="line.1477"></a>
-<span class="sourceLineNo">1478</span> }<a name="line.1478"></a>
-<span class="sourceLineNo">1479</span><a name="line.1479"></a>
-<span class="sourceLineNo">1480</span> /**<a name="line.1480"></a>
-<span class="sourceLineNo">1481</span> * The same as {@link #add(byte[], long, int, long)} but does not take the<a name="line.1481"></a>
-<span class="sourceLineNo">1482</span> * key/value into account. Used for single-level indexes.<a name="line.1482"></a>
-<span class="sourceLineNo">1483</span> *<a name="line.1483"></a>
-<span class="sourceLineNo">1484</span> * @see #add(byte[], long, int, long)<a name="line.1484"></a>
-<span class="sourceLineNo">1485</span> */<a name="line.1485"></a>
-<span class="sourceLineNo">1486</span> public void add(byte[] firstKey, long blockOffset, int onDiskDataSize) {<a name="line.1486"></a>
-<span class="sourceLineNo">1487</span> add(firstKey, blockOffset, onDiskDataSize, -1);<a name="line.1487"></a>
-<span class="sourceLineNo">1488</span> }<a name="line.1488"></a>
-<span class="sourceLineNo">1489</span><a name="line.1489"></a>
-<span class="sourceLineNo">1490</span> public void clear() {<a name="line.1490"></a>
-<span class="sourceLineNo">1491</span> blockKeys.clear();<a name="line.1491"></a>
-<span class="sourceLineNo">1492</span> blockOffsets.clear();<a name="line.1492"></a>
-<span class="sourceLineNo">1493</span> onDiskDataSizes.clear();<a name="line.1493"></a>
-<span class="sourceLineNo">1494</span> secondaryIndexOffsetMarks.clear();<a name="line.1494"></a>
-<span class="sourceLineNo">1495</span> numSubEntriesAt.clear();<a name="line.1495"></a>
-<span class="sourceLineNo">1496</span> curTotalNonRootEntrySize = 0;<a name="line.1496"></a>
-<span class="sourceLineNo">1497</span> curTotalRootSize = 0;<a name="line.1497"></a>
-<span class="sourceLineNo">1498</span> }<a name="line.1498"></a>
-<span class="sourceLineNo">1499</span><a name="line.1499"></a>
-<span class="sourceLineNo">1500</span> /**<a name="line.1500"></a>
-<span class="sourceLineNo">1501</span> * Finds the entry corresponding to the deeper-level index block containing<a name="line.1501"></a>
-<span class="sourceLineNo">1502</span> * the given deeper-level entry (a "sub-entry"), assuming a global 0-based<a name="line.1502"></a>
-<span class="sourceLineNo">1503</span> * ordering of sub-entries.<a name="line.1503"></a>
-<span class="sourceLineNo">1504</span> *<a name="line.1504"></a>
-<span class="sourceLineNo">1505</span> * <p><a name="line.1505"></a>
-<span class="sourceLineNo">1506</span> * <i> Implementation note. </i> We are looking for i such that<a name="line.1506"></a>
-<span class="sourceLineNo">1507</span> * numSubEntriesAt[i - 1] <= k < numSubEntriesAt[i], because a deeper-level<a name="line.1507"></a>
-<span class="sourceLineNo">1508</span> * block #i (0-based) contains sub-entries # numSubEntriesAt[i - 1]'th<a name="line.1508"></a>
-<span class="sourceLineNo">1509</span> * through numSubEntriesAt[i] - 1, assuming a global 0-based ordering of<a name="line.1509"></a>
-<span class="sourceLineNo">1510</span> * sub-entries. i is by definition the insertion point of k in<a name="line.1510"></a>
-<span class="sourceLineNo">1511</span> * numSubEntriesAt.<a name="line.1511"></a>
-<span class="sourceLineNo">1512</span> *<a name="line.1512"></a>
-<span class="sourceLineNo">1513</span> * @param k sub-entry index, from 0 to the total number sub-entries - 1<a name="line.1513"></a>
-<span class="sourceLineNo">1514</span> * @return the 0-based index of the entry corresponding to the given<a name="line.1514"></a>
-<span class="sourceLineNo">1515</span> * sub-entry<a name="line.1515"></a>
-<span class="sourceLineNo">1516</span> */<a name="line.1516"></a>
-<span class="sourceLineNo">1517</span> public int getEntryBySubEntry(long k) {<a name="line.1517"></a>
-<span class="sourceLineNo">1518</span> // We define mid-key as the key corresponding to k'th sub-entry<a name="line.1518"></a>
-<span class="sourceLineNo">1519</span> // (0-based).<a name="line.1519"></a>
-<span class="sourceLineNo">1520</span><a name="line.1520"></a>
-<span class="sourceLineNo">1521</span> int i = Collections.binarySearch(numSubEntriesAt, k);<a name="line.1521"></a>
-<span class="sourceLineNo">1522</span><a name="line.1522"></a>
-<span class="sourceLineNo">1523</span> // Exact match: cumulativeWeight[i] = k. This means chunks #0 through<a name="line.1523"></a>
-<span class="sourceLineNo">1524</span> // #i contain exactly k sub-entries, and the sub-entry #k (0-based)<a name="line.1524"></a>
-<span class="sourceLineNo">1525</span> // is in the (i + 1)'th chunk.<a name="line.1525"></a>
-<span class="sourceLineNo">1526</span> if (i >= 0)<a name="line.1526"></a>
-<span class="sourceLineNo">1527</span> return i + 1;<a name="line.1527"></a>
-<span class="sourceLineNo">1528</span><a name="line.1528"></a>
-<span class="sourceLineNo">1529</span> // Inexact match. Return the insertion point.<a name="line.1529"></a>
-<span class="sourceLineNo">1530</span> return -i - 1;<a name="line.1530"></a>
-<span class="sourceLineNo">1531</span> }<a name="line.1531"></a>
-<span class="sourceLineNo">1532</span><a name="line.1532"></a>
-<span class="sourceLineNo">1533</span> /**<a name="line.1533"></a>
-<span class="sourceLineNo">1534</span> * Used when writing the root block index of a multi-level block index.<a name="line.1534"></a>
-<span class="sourceLineNo">1535</span> * Serializes additional information allowing to efficiently identify the<a name="line.1535"></a>
-<span class="sourceLineNo">1536</span> * mid-key.<a name="line.1536"></a>
-<span class="sourceLineNo">1537</span> *<a name="line.1537"></a>
-<span class="sourceLineNo">1538</span> * @return a few serialized fields for finding the mid-key<a name="line.1538"></a>
-<span class="sourceLineNo">1539</span> * @throws IOException if could not create metadata for computing mid-key<a name="line.1539"></a>
-<span class="sourceLineNo">1540</span> */<a name="line.1540"></a>
-<span class="sourceLineNo">1541</span> public byte[] getMidKeyMetadata() throws IOException {<a name="line.1541"></a>
-<span class="sourceLineNo">1542</span> ByteArrayOutputStream baos = new ByteArrayOutputStream(<a name="line.1542"></a>
-<span class="sourceLineNo">1543</span> MID_KEY_METADATA_SIZE);<a name="line.1543"></a>
-<span class="sourceLineNo">1544</span> DataOutputStream baosDos = new DataOutputStream(baos);<a name="line.1544"></a>
-<span class="sourceLineNo">1545</span> long totalNumSubEntries = numSubEntriesAt.get(blockKeys.size() - 1);<a name="line.1545"></a>
-<span class="sourceLineNo">1546</span> if (totalNumSubEntries == 0) {<a name="line.1546"></a>
-<span class="sourceLineNo">1547</span> throw new IOException("No leaf-level entries, mid-key unavailable");<a name="line.1547"></a>
-<span class="sourceLineNo">1548</span> }<a name="line.1548"></a>
-<span class="sourceLineNo">1549</span> long midKeySubEntry = (totalNumSubEntries - 1) / 2;<a name="line.1549"></a>
-<span class="sourceLineNo">1550</span> int midKeyEntry = getEntryBySubEntry(midKeySubEntry);<a name="line.1550"></a>
-<span class="sourceLineNo">1551</span><a name="line.1551"></a>
-<span class="sourceLineNo">1552</span> baosDos.writeLong(blockOffsets.get(midKeyEntry));<a name="line.1552"></a>
-<span class="sourceLineNo">1553</span> baosDos.writeInt(onDiskDataSizes.get(midKeyEntry));<a name="line.1553"></a>
-<span class="sourceLineNo">1554</span><a name="line.1554"></a>
-<span class="sourceLineNo">1555</span> long numSubEntriesBefore = midKeyEntry > 0<a name="line.1555"></a>
-<span class="sourceLineNo">1556</span> ? numSubEntriesAt.get(midKeyEntry - 1) : 0;<a name="line.1556"></a>
-<span class="sourceLineNo">1557</span> long subEntryWithinEntry = midKeySubEntry - numSubEntriesBefore;<a name="line.1557"></a>
-<span class="sourceLineNo">1558</span> if (subEntryWithinEntry < 0 || subEntryWithinEntry > Integer.MAX_VALUE)<a name="line.1558"></a>
-<span class="sourceLineNo">1559</span> {<a name="line.1559"></a>
-<span class="sourceLineNo">1560</span> throw new IOException("Could not identify mid-key index within the "<a name="line.1560"></a>
-<span class="sourceLineNo">1561</span> + "leaf-level block containing mid-key: out of range ("<a name="line.1561"></a>
-<span class="sourceLineNo">1562</span> + subEntryWithinEntry + ", numSubEntriesBefore="<a name="line.1562"></a>
-<span class="sourceLineNo">1563</span> + numSubEntriesBefore + ", midKeySubEntry=" + midKeySubEntry<a name="line.1563"></a>
-<span class="sourceLineNo">1564</span> + ")");<a name="line.1564"></a>
-<span class="sourceLineNo">1565</span> }<a name="line.1565"></a>
-<span class="sourceLineNo">1566</span><a name="line.1566"></a>
-<span class="sourceLineNo">1567</span> baosDos.writeInt((int) subEntryWithinEntry);<a name="line.1567"></a>
-<span class="sourceLineNo">1568</span><a name="line.1568"></a>
-<span class="sourceLineNo">1569</span> if (baosDos.size() != MID_KEY_METADATA_SIZE) {<a name="line.1569"></a>
-<span class="sourceLineNo">1570</span> throw new IOException("Could not write mid-key metadata: size=" +<a name="line.1570"></a>
-<span class="sourceLineNo">1571</span> baosDos.size() + ", correct size: " + MID_KEY_METADATA_SIZE);<a name="line.1571"></a>
-<span class="sourceLineNo">1572</span> }<a name="line.1572"></a>
+<span class="sourceLineNo">1435</span> * The accumulated size of this chunk if stored in the root index format.<a name="line.1435"></a>
+<span class="sourceLineNo">1436</span> */<a name="line.1436"></a>
+<span class="sourceLineNo">1437</span> private int curTotalRootSize = 0;<a name="line.1437"></a>
+<span class="sourceLineNo">1438</span><a name="line.1438"></a>
+<span class="sourceLineNo">1439</span> /**<a name="line.1439"></a>
+<span class="sourceLineNo">1440</span> * The "secondary index" used for binary search over variable-length<a name="line.1440"></a>
+<span class="sourceLineNo">1441</span> * records in a "non-root" format block. These offsets are relative to the<a name="line.1441"></a>
+<span class="sourceLineNo">1442</span> * end of this secondary index.<a name="line.1442"></a>
+<span class="sourceLineNo">1443</span> */<a name="line.1443"></a>
+<span class="sourceLineNo">1444</span> private final List<Integer> secondaryIndexOffsetMarks = new ArrayList<>();<a name="line.1444"></a>
+<span class="sourceLineNo">1445</span><a name="line.1445"></a>
+<span class="sourceLineNo">1446</span> /**<a name="line.1446"></a>
+<span class="sourceLineNo">1447</span> * Adds a new entry to this block index chunk.<a name="line.1447"></a>
+<span class="sourceLineNo">1448</span> *<a name="line.1448"></a>
+<span class="sourceLineNo">1449</span> * @param firstKey the first key in the block pointed to by this entry<a name="line.1449"></a>
+<span class="sourceLineNo">1450</span> * @param blockOffset the offset of the next-level block pointed to by this<a name="line.1450"></a>
+<span class="sourceLineNo">1451</span> * entry<a name="line.1451"></a>
+<span class="sourceLineNo">1452</span> * @param onDiskDataSize the on-disk data of the block pointed to by this<a name="line.1452"></a>
+<span class="sourceLineNo">1453</span> * entry, including header size<a name="line.1453"></a>
+<span class="sourceLineNo">1454</span> * @param curTotalNumSubEntries if this chunk is the root index chunk under<a name="line.1454"></a>
+<span class="sourceLineNo">1455</span> * construction, this specifies the current total number of<a name="line.1455"></a>
+<span class="sourceLineNo">1456</span> * sub-entries in all leaf-level chunks, including the one<a name="line.1456"></a>
+<span class="sourceLineNo">1457</span> * corresponding to the second-level entry being added.<a name="line.1457"></a>
+<span class="sourceLineNo">1458</span> */<a name="line.1458"></a>
+<span class="sourceLineNo">1459</span> void add(byte[] firstKey, long blockOffset, int onDiskDataSize,<a name="line.1459"></a>
+<span class="sourceLineNo">1460</span> long curTotalNumSubEntries) {<a name="line.1460"></a>
+<span class="sourceLineNo">1461</span> // Record the offset for the secondary index<a name="line.1461"></a>
+<span class="sourceLineNo">1462</span> secondaryIndexOffsetMarks.add(curTotalNonRootEntrySize);<a name="line.1462"></a>
+<span class="sourceLineNo">1463</span> curTotalNonRootEntrySize += SECONDARY_INDEX_ENTRY_OVERHEAD<a name="line.1463"></a>
+<span class="sourceLineNo">1464</span> + firstKey.length;<a name="line.1464"></a>
+<span class="sourceLineNo">1465</span><a name="line.1465"></a>
+<span class="sourceLineNo">1466</span> curTotalRootSize += Bytes.SIZEOF_LONG + Bytes.SIZEOF_INT<a name="line.1466"></a>
+<span class="sourceLineNo">1467</span> + WritableUtils.getVIntSize(firstKey.length) + firstKey.length;<a name="line.1467"></a>
+<span class="sourceLineNo">1468</span><a name="line.1468"></a>
+<span class="sourceLineNo">1469</span> blockKeys.add(firstKey);<a name="line.1469"></a>
+<span class="sourceLineNo">1470</span> blockOffsets.add(blockOffset);<a name="line.1470"></a>
+<span class="sourceLineNo">1471</span> onDiskDataSizes.add(onDiskDataSize);<a name="line.1471"></a>
+<span class="sourceLineNo">1472</span><a name="line.1472"></a>
+<span class="sourceLineNo">1473</span> if (curTotalNumSubEntries != -1) {<a name="line.1473"></a>
+<span class="sourceLineNo">1474</span> numSubEntriesAt.add(curTotalNumSubEntries);<a name="line.1474"></a>
+<span class="sourceLineNo">1475</span><a name="line.1475"></a>
+<span class="sourceLineNo">1476</span> // Make sure the parallel arrays are in sync.<a name="line.1476"></a>
+<span class="sourceLineNo">1477</span> if (numSubEntriesAt.size() != blockKeys.size()) {<a name="line.1477"></a>
+<span class="sourceLineNo">1478</span> throw new IllegalStateException("Only have key/value count " +<a name="line.1478"></a>
+<span class="sourceLineNo">1479</span> "stats for " + numSubEntriesAt.size() + " block index " +<a name="line.1479"></a>
+<span class="sourceLineNo">1480</span> "entries out of " + blockKeys.size());<a name="line.1480"></a>
+<span class="sourceLineNo">1481</span> }<a name="line.1481"></a>
+<span class="sourceLineNo">1482</span> }<a name="line.1482"></a>
+<span class="sourceLineNo">1483</span> }<a name="line.1483"></a>
+<span class="sourceLineNo">1484</span><a name="line.1484"></a>
+<span class="sourceLineNo">1485</span> /**<a name="line.1485"></a>
+<span class="sourceLineNo">1486</span> * The same as {@link #add(byte[], long, int, long)} but does not take the<a name="line.1486"></a>
+<span class="sourceLineNo">1487</span> * key/value into account. Used for single-level indexes.<a name="line.1487"></a>
+<span class="sourceLineNo">1488</span> *<a name="line.1488"></a>
+<span class="sourceLineNo">1489</span> * @see #add(byte[], long, int, long)<a name="line.1489"></a>
+<span class="sourceLineNo">1490</span> */<a name="line.1490"></a>
+<span class="sourceLineNo">1491</span> public void add(byte[] firstKey, long blockOffset, int onDiskDataSize) {<a name="line.1491"></a>
+<span class="sourceLineNo">1492</span> add(firstKey, blockOffset, onDiskDataSize, -1);<a name="line.1492"></a>
+<span class="sourceLineNo">1493</span> }<a name="line.1493"></a>
+<span class="sourceLineNo">1494</span><a name="line.1494"></a>
+<span class="sourceLineNo">1495</span> public void clear() {<a name="line.1495"></a>
+<span class="sourceLineNo">1496</span> blockKeys.clear();<a name="line.1496"></a>
+<span class="sourceLineNo">1497</span> blockOffsets.clear();<a name="line.1497"></a>
+<span class="sourceLineNo">1498</span> onDiskDataSizes.clear();<a name="line.1498"></a>
+<span class="sourceLineNo">1499</span> secondaryIndexOffsetMarks.clear();<a name="line.1499"></a>
+<span class="sourceLineNo">1500</span> numSubEntriesAt.clear();<a name="line.1500"></a>
+<span class="sourceLineNo">1501</span> curTotalNonRootEntrySize = 0;<a name="line.1501"></a>
+<span class="sourceLineNo">1502</span> curTotalRootSize = 0;<a name="line.1502"></a>
+<span class="sourceLineNo">1503</span> }<a name="line.1503"></a>
+<span class="sourceLineNo">1504</span><a name="line.1504"></a>
+<span class="sourceLineNo">1505</span> /**<a name="line.1505"></a>
+<span class="sourceLineNo">1506</span> * Finds the entry corresponding to the deeper-level index block containing<a name="line.1506"></a>
+<span class="sourceLineNo">1507</span> * the given deeper-level entry (a "sub-entry"), assuming a global 0-based<a name="line.1507"></a>
+<span class="sourceLineNo">1508</span> * ordering of sub-entries.<a name="line.1508"></a>
+<span class="sourceLineNo">1509</span> *<a name="line.1509"></a>
+<span class="sourceLineNo">1510</span> * <p><a name="line.1510"></a>
+<span class="sourceLineNo">1511</span> * <i> Implementation note. </i> We are looking for i such that<a name="line.1511"></a>
+<span class="sourceLineNo">1512</span> * numSubEntriesAt[i - 1] <= k < numSubEntriesAt[i], because a deeper-level<a name="line.1512"></a>
+<span class="sourceLineNo">1513</span> * block #i (0-based) contains sub-entries # numSubEntriesAt[i - 1]'th<a name="line.1513"></a>
+<span class="sourceLineNo">1514</span> * through numSubEntriesAt[i] - 1, assuming a global 0-based ordering of<a name="line.1514"></a>
+<span class="sourceLineNo">1515</span> * sub-entries. i is by definition the insertion point of k in<a name="line.1515"></a>
+<span class="sourceLineNo">1516</span> * numSubEntriesAt.<a name="line.1516"></a>
+<span class="sourceLineNo">1517</span> *<a name="line.1517"></a>
+<span class="sourceLineNo">1518</span> * @param k sub-entry index, from 0 to the total number sub-entries - 1<a name="line.1518"></a>
+<span class="sourceLineNo">1519</span> * @return the 0-based index of the entry corresponding to the given<a name="line.1519"></a>
+<span class="sourceLineNo">1520</span> * s
<TRUNCATED>
[33/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/HMobStore.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HMobStore.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HMobStore.html
index b2908c6..7529d79 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HMobStore.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HMobStore.html
@@ -18,7 +18,7 @@
catch(err) {
}
//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -190,13 +190,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#map">map</a></span></code> </td>
</tr>
<tr class="rowColor">
-<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob">MobCacheConfig</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#mobCacheConfig">mobCacheConfig</a></span></code> </td>
-</tr>
-<tr class="altColor">
<td class="colFirst"><code>private org.apache.hadoop.fs.Path</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#mobFamilyPath">mobFamilyPath</a></span></code> </td>
</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#mobFileCache">mobFileCache</a></span></code> </td>
+</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#mobFlushCount">mobFlushCount</a></span></code> </td>
@@ -277,12 +277,6 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
</td>
</tr>
<tr id="i1" class="rowColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#createCacheConf-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">createCacheConf</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a> family)</code>
-<div class="block">Creates the mob cache config.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileWriter.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileWriter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#createDelFileWriterInTmp-java.util.Date-long-org.apache.hadoop.hbase.io.compress.Compression.Algorithm-byte:A-">createDelFileWriterInTmp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</a> date,
long maxKeyCount,
@@ -291,7 +285,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<div class="block">Creates the writer for the del file in temp directory.</div>
</td>
</tr>
-<tr id="i3" class="rowColor">
+<tr id="i2" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#createScanner-org.apache.hadoop.hbase.client.Scan-org.apache.hadoop.hbase.regionserver.ScanInfo-java.util.NavigableSet-long-">createScanner</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a> scan,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a> scanInfo,
@@ -300,7 +294,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<div class="block">Gets the MobStoreScanner or MobReversedStoreScanner.</div>
</td>
</tr>
-<tr id="i4" class="altColor">
+<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreEngine.html" title="class in org.apache.hadoop.hbase.regionserver">StoreEngine</a><?,?,?,?></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#createStoreEngine-org.apache.hadoop.hbase.regionserver.HStore-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.CellComparator-">createStoreEngine</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a> store,
org.apache.hadoop.conf.Configuration conf,
@@ -308,7 +302,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<div class="block">Creates the mob store engine.</div>
</td>
</tr>
-<tr id="i5" class="rowColor">
+<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileWriter.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileWriter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#createWriterInTmp-java.util.Date-long-org.apache.hadoop.hbase.io.compress.Compression.Algorithm-byte:A-boolean-">createWriterInTmp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</a> date,
long maxKeyCount,
@@ -318,7 +312,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<div class="block">Creates the writer for the mob file in temp directory.</div>
</td>
</tr>
-<tr id="i6" class="altColor">
+<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileWriter.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileWriter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#createWriterInTmp-org.apache.hadoop.hbase.mob.MobFileName-org.apache.hadoop.fs.Path-long-org.apache.hadoop.hbase.io.compress.Compression.Algorithm-boolean-">createWriterInTmp</a></span>(<a href="../../../../../org/apache/hadoop/hbase/mob/MobFileName.html" title="class in org.apache.hadoop.hbase.mob">MobFileName</a> mobFileName,
org.apache.hadoop.fs.Path basePath,
@@ -328,7 +322,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<div class="block">Creates the writer for the mob file in temp directory.</div>
</td>
</tr>
-<tr id="i7" class="rowColor">
+<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileWriter.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileWriter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#createWriterInTmp-java.lang.String-org.apache.hadoop.fs.Path-long-org.apache.hadoop.hbase.io.compress.Compression.Algorithm-byte:A-boolean-">createWriterInTmp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> date,
org.apache.hadoop.fs.Path basePath,
@@ -339,65 +333,65 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<div class="block">Creates the writer for the mob file in temp directory.</div>
</td>
</tr>
-<tr id="i8" class="altColor">
+<tr id="i7" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#getCellsCountCompactedFromMob--">getCellsCountCompactedFromMob</a></span>()</code> </td>
</tr>
-<tr id="i9" class="rowColor">
+<tr id="i8" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#getCellsCountCompactedToMob--">getCellsCountCompactedToMob</a></span>()</code> </td>
</tr>
-<tr id="i10" class="altColor">
+<tr id="i9" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#getCellsSizeCompactedFromMob--">getCellsSizeCompactedFromMob</a></span>()</code> </td>
</tr>
-<tr id="i11" class="rowColor">
+<tr id="i10" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#getCellsSizeCompactedToMob--">getCellsSizeCompactedToMob</a></span>()</code> </td>
</tr>
-<tr id="i12" class="altColor">
+<tr id="i11" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.conf.Configuration</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#getConfiguration--">getConfiguration</a></span>()</code>
<div class="block">Gets current config.</div>
</td>
</tr>
-<tr id="i13" class="rowColor">
+<tr id="i12" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#getMobFlushCount--">getMobFlushCount</a></span>()</code> </td>
</tr>
-<tr id="i14" class="altColor">
+<tr id="i13" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#getMobFlushedCellsCount--">getMobFlushedCellsCount</a></span>()</code> </td>
</tr>
-<tr id="i15" class="rowColor">
+<tr id="i14" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#getMobFlushedCellsSize--">getMobFlushedCellsSize</a></span>()</code> </td>
</tr>
-<tr id="i16" class="altColor">
+<tr id="i15" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#getMobScanCellsCount--">getMobScanCellsCount</a></span>()</code> </td>
</tr>
-<tr id="i17" class="rowColor">
+<tr id="i16" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#getMobScanCellsSize--">getMobScanCellsSize</a></span>()</code> </td>
</tr>
-<tr id="i18" class="altColor">
+<tr id="i17" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.fs.Path</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#getPath--">getPath</a></span>()</code>
<div class="block">Gets the mob file path.</div>
</td>
</tr>
-<tr id="i19" class="rowColor">
+<tr id="i18" class="altColor">
<td class="colFirst"><code>byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#getRefCellTags--">getRefCellTags</a></span>()</code> </td>
</tr>
-<tr id="i20" class="altColor">
+<tr id="i19" class="rowColor">
<td class="colFirst"><code>private org.apache.hadoop.fs.Path</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#getTempDir--">getTempDir</a></span>()</code>
<div class="block">Gets the temp directory.</div>
</td>
</tr>
-<tr id="i21" class="rowColor">
+<tr id="i20" class="altColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#readCell-java.util.List-java.lang.String-org.apache.hadoop.hbase.Cell-boolean-long-boolean-">readCell</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.fs.Path> locations,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> fileName,
@@ -408,14 +402,14 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<div class="block">Reads the cell from a mob file.</div>
</td>
</tr>
-<tr id="i22" class="altColor">
+<tr id="i21" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#resolve-org.apache.hadoop.hbase.Cell-boolean-">resolve</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> reference,
boolean cacheBlocks)</code>
<div class="block">Reads the cell from the mob file, and the read point does not count.</div>
</td>
</tr>
-<tr id="i23" class="rowColor">
+<tr id="i22" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#resolve-org.apache.hadoop.hbase.Cell-boolean-long-boolean-">resolve</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> reference,
boolean cacheBlocks,
@@ -424,43 +418,43 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<div class="block">Reads the cell from the mob file.</div>
</td>
</tr>
-<tr id="i24" class="altColor">
+<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#updateCellsCountCompactedFromMob-long-">updateCellsCountCompactedFromMob</a></span>(long count)</code> </td>
</tr>
-<tr id="i25" class="rowColor">
+<tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#updateCellsCountCompactedToMob-long-">updateCellsCountCompactedToMob</a></span>(long count)</code> </td>
</tr>
-<tr id="i26" class="altColor">
+<tr id="i25" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#updateCellsSizeCompactedFromMob-long-">updateCellsSizeCompactedFromMob</a></span>(long size)</code> </td>
</tr>
-<tr id="i27" class="rowColor">
+<tr id="i26" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#updateCellsSizeCompactedToMob-long-">updateCellsSizeCompactedToMob</a></span>(long size)</code> </td>
</tr>
-<tr id="i28" class="altColor">
+<tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#updateMobFlushCount--">updateMobFlushCount</a></span>()</code> </td>
</tr>
-<tr id="i29" class="rowColor">
+<tr id="i28" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#updateMobFlushedCellsCount-long-">updateMobFlushedCellsCount</a></span>(long count)</code> </td>
</tr>
-<tr id="i30" class="altColor">
+<tr id="i29" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#updateMobFlushedCellsSize-long-">updateMobFlushedCellsSize</a></span>(long size)</code> </td>
</tr>
-<tr id="i31" class="rowColor">
+<tr id="i30" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#updateMobScanCellsCount-long-">updateMobScanCellsCount</a></span>(long count)</code> </td>
</tr>
-<tr id="i32" class="altColor">
+<tr id="i31" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#updateMobScanCellsSize-long-">updateMobScanCellsSize</a></span>(long size)</code> </td>
</tr>
-<tr id="i33" class="rowColor">
+<tr id="i32" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#validateMobFile-org.apache.hadoop.fs.Path-">validateMobFile</a></span>(org.apache.hadoop.fs.Path path)</code>
<div class="block">Validates a mob file by opening and closing it.</div>
@@ -472,7 +466,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#add-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.regionserver.MemStoreSizing-">add</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#add-java.lang.Iterable-org.apache.hadoop.hbase.regionserver.MemStoreSizing-">add</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#addChangedReaderObserver-org.apache.hadoop.hbase.regionserver.ChangedReadersObserver-">addChangedReaderObserver</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#areWritesEnabled--">areWritesEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#assertBulkLoadHFileOk-org.apache.hadoop.fs.Path-">assertBulkLoadHFileOk</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#bulkLoadHFile-byte:A-java.lang.String-org.apache.hadoop.fs.Path-">bulkLoadHFile</a>, <a href="../../../../../org/apache/hadoop/hbase/re
gionserver/HStore.html#bulkLoadHFile-org.apache.hadoop.hbase.regionserver.StoreFileInfo-">bulkLoadHFile</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#cancelRequestedCompaction-org.apache.hadoop.hbase.regionserver.compactions.CompactionContext-">cancelRequestedCompaction</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#canSplit--">canSplit</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#close--">close</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#closeAndArchiveCompactedFiles--">closeAndArchiveCompactedFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#closeAndArchiveCompactedFiles-boolean-">closeAndArchiveCompactedFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#compact-org.apache.hadoop.hbase.regionserver.compactions.CompactionContext-org.apache.hadoop.hbase.regionserver.throttle.ThroughputCont
roller-org.apache.hadoop.hbase.security.User-">compact</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#compactRecentForTestingAssumingDefaultPolicy-int-">compactRecentForTestingAssumingDefaultPolicy</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#completeCompaction-java.util.Collection-">completeCompaction</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#createFlushContext-long-org.apache.hadoop.hbase.regionserver.FlushLifeCycleTracker-">createFlushContext</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#createStoreFileAndReader-org.apache.hadoop.fs.Path-">createStoreFileAndReader</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#createWriterInTmp-long-org.apache.hadoop.hbase.io.compress.Compression.Algorithm-boolean-boolean-boolean-boolean-">createWriterInTmp</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#de
leteChangedReaderObserver-org.apache.hadoop.hbase.regionserver.ChangedReadersObserver-">deleteChangedReaderObserver</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#deregisterChildren-org.apache.hadoop.hbase.conf.ConfigurationManager-">deregisterChildren</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#determineTTLFromFamily-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">determineTTLFromFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#doCompaction-org.apache.hadoop.hbase.regionserver.compactions.CompactionRequestImpl-java.util.Collection-org.apache.hadoop.hbase.security.User-long-java.util.List-">doCompaction</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#flushCache-long-org.apache.hadoop.hbase.regionserver.MemStoreSnapshot-org.apache.hadoop.hbase.monitoring.MonitoredTask-org.apache.hadoop.hbase.regionserver.throttle.ThroughputController-org.apache.ha
doop.hbase.regionserver.FlushLifeCycleTracker-">flushCache</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getAvgStoreFileAge--">getAvgStoreFileAge</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getBlockingFileCount--">getBlockingFileCount</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getBytesPerChecksum-org.apache.hadoop.conf.Configuration-">getBytesPerChecksum</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getCacheConfig--">getCacheConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getChecksumType-org.apache.hadoop.conf.Configuration-">getChecksumType</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getCloseCheckInterval--">getCloseCheckInterval</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getColumnFamilyDescriptor--">getColumnFamilyDescriptor</a>, <a href="../../.
./../../org/apache/hadoop/hbase/regionserver/HStore.html#getColumnFamilyName--">getColumnFamilyName</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getCompactedCellsCount--">getCompactedCellsCount</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getCompactedCellsSize--">getCompactedCellsSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getCompactedFiles--">getCompactedFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getCompactedFilesCount--">getCompactedFilesCount</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getCompactionCheckMultiplier--">getCompactionCheckMultiplier</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getCompactionPressure--">getCompactionPressure</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getCompactionProgress--">getCompactionProgress</a>, <a href
="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getCompactPriority--">getCompactPriority</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getComparator--">getComparator</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getCoprocessorHost--">getCoprocessorHost</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getCurrentParallelPutCount--">getCurrentParallelPutCount</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getDataBlockEncoder--">getDataBlockEncoder</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getFileSystem--">getFileSystem</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getFlushableSize--">getFlushableSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getFlushedCellsCount--">getFlushedCellsCount</a>, <a href="../../../../../org/apache/hadoop/hbase/region
server/HStore.html#getFlushedCellsSize--">getFlushedCellsSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getFlushedOutputFileSize--">getFlushedOutputFileSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getHFilesSize--">getHFilesSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getHRegion--">getHRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getLastCompactSize--">getLastCompactSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getMajorCompactedCellsCount--">getMajorCompactedCellsCount</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getMajorCompactedCellsSize--">getMajorCompactedCellsSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getMaxMemStoreTS--">getMaxMemStoreTS</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getMaxSe
quenceId--">getMaxSequenceId</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getMaxStoreFileAge--">getMaxStoreFileAge</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getMemStoreFlushSize--">getMemStoreFlushSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getMemStoreSize--">getMemStoreSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getMinStoreFileAge--">getMinStoreFileAge</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getNumHFiles--">getNumHFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getNumReferenceFiles--">getNumReferenceFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getOffPeakHours--">getOffPeakHours</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getRegionFileSystem--">getRegionFileSystem</a>, <a href="../../../../../o
rg/apache/hadoop/hbase/regionserver/HStore.html#getRegionInfo--">getRegionInfo</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getScanInfo--">getScanInfo</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getScanner-org.apache.hadoop.hbase.client.Scan-java.util.NavigableSet-long-">getScanner</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getScanners-boolean-boolean-boolean-boolean-org.apache.hadoop.hbase.regionserver.querymatcher.ScanQueryMatcher-byte:A-byte:A-long-">getScanners</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getScanners-boolean-boolean-boolean-org.apache.hadoop.hbase.regionserver.querymatcher.ScanQueryMatcher-byte:A-boolean-byte:A-boolean-long-">getScanners</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getScanners-java.util.List-boolean-boolean-boolean-boolean-org.apache.hadoop.hbase.regionserver.querymatcher.ScanQuer
yMatcher-byte:A-byte:A-long-boolean-">getScanners</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getScanners-java.util.List-boolean-boolean-boolean-org.apache.hadoop.hbase.regionserver.querymatcher.ScanQueryMatcher-byte:A-boolean-byte:A-boolean-long-boolean-">getScanners</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getSize--">getSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getSmallestReadPoint--">getSmallestReadPoint</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getSnapshotSize--">getSnapshotSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getSplitPoint--">getSplitPoint</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getStoreEngine--">getStoreEngine</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getStorefiles--">getStorefiles</a>, <a href="../../../../../org
/apache/hadoop/hbase/regionserver/HStore.html#getStorefilesCount--">getStorefilesCount</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getStoreFileSize-org.apache.hadoop.hbase.regionserver.HStoreFile-">getStoreFileSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getStorefilesRootLevelIndexSize--">getStorefilesRootLevelIndexSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getStorefilesSize--">getStorefilesSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getStoreFileTtl--">getStoreFileTtl</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getStoreHomedir-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.client.RegionInfo-byte:A-">getStoreHomedir</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getStoreHomedir-org.apache.hadoop.fs.Path-java.lang.String-byte:A-">getStoreHomedir</a>, <a href="../../../.
./../org/apache/hadoop/hbase/regionserver/HStore.html#getStoreSizeUncompressed--">getStoreSizeUncompressed</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getTableName--">getTableName</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getTotalStaticBloomSize--">getTotalStaticBloomSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getTotalStaticIndexSize--">getTotalStaticIndexSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#hasReferences--">hasReferences</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#hasTooManyStoreFiles--">hasTooManyStoreFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#heapSize--">heapSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#isPrimaryReplicaStore--">isPrimaryReplicaStore</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HSt
ore.html#isSloppyMemStore--">isSloppyMemStore</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#moveFileIntoPlace-org.apache.hadoop.fs.Path-">moveFileIntoPlace</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#needsCompaction--">needsCompaction</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#onConfigurationChange-org.apache.hadoop.conf.Configuration-">onConfigurationChange</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#postSnapshotOperation--">postSnapshotOperation</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#preBulkLoadHFile-java.lang.String-long-">preBulkLoadHFile</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#preFlushSeqIDEstimation--">preFlushSeqIDEstimation</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#preSnapshotOperation--">preSnapshotOperation</a>, <a href="../../..
/../../org/apache/hadoop/hbase/regionserver/HStore.html#recreateScanners-java.util.List-boolean-boolean-boolean-org.apache.hadoop.hbase.regionserver.querymatcher.ScanQueryMatcher-byte:A-boolean-byte:A-boolean-long-boolean-">recreateScanners</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#refreshStoreFiles--">refreshStoreFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#refreshStoreFiles-java.util.Collection-">refreshStoreFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#registerChildren-org.apache.hadoop.hbase.conf.ConfigurationManager-">registerChildren</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#replaceStoreFiles-java.util.Collection-java.util.Collection-">replaceStoreFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#replayCompactionMarker-org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.CompactionDescripto
r-boolean-boolean-">replayCompactionMarker</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#reportArchivedFilesForQuota-java.util.List-java.util.List-">reportArchivedFilesForQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#requestCompaction--">requestCompaction</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#requestCompaction-int-org.apache.hadoop.hbase.regionserver.compactions.CompactionLifeCycleTracker-org.apache.hadoop.hbase.security.User-">requestCompaction</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#setDataBlockEncoderInTest-org.apache.hadoop.hbase.io.hfile.HFileDataBlockEncoder-">setDataBlockEncoderInTest</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#setScanInfo-org.apache.hadoop.hbase.regionserver.ScanInfo-">setScanInfo</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#shouldPerformMajorComp
action--">shouldPerformMajorCompaction</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#snapshot--">snapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#startReplayingFromWAL--">startReplayingFromWAL</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#stopReplayingFromWAL--">stopReplayingFromWAL</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#throttleCompaction-long-">throttleCompaction</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#timeOfOldestEdit--">timeOfOldestEdit</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#toString--">toString</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#triggerMajorCompaction--">triggerMajorCompaction</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#updateSpaceQuotaAfterFileReplacement-org.apache.hadoop.hbase.quotas.R
egionSizeStore-org.apache.hadoop.hbase.client.RegionInfo-java.util.Collection-java.util.Collection-">updateSpaceQuotaAfterFileReplacement</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#upsert-java.lang.Iterable-long-org.apache.hadoop.hbase.regionserver.MemStoreSizing-">upsert</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#versionsToReturn-int-">versionsToReturn</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#add-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.regionserver.MemStoreSizing-">add</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#add-java.lang.Iterable-org.apache.hadoop.hbase.regionserver.MemStoreSizing-">add</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#addChangedReaderObserver-org.apache.hadoop.hbase.regionserver.ChangedReadersObserver-">addChangedReaderObserver</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#areWritesEnabled--">areWritesEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#assertBulkLoadHFileOk-org.apache.hadoop.fs.Path-">assertBulkLoadHFileOk</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#bulkLoadHFile-byte:A-java.lang.String-org.apache.hadoop.fs.Path-">bulkLoadHFile</a>, <a href="../../../../../org/apache/hadoop/hbase/re
gionserver/HStore.html#bulkLoadHFile-org.apache.hadoop.hbase.regionserver.StoreFileInfo-">bulkLoadHFile</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#cancelRequestedCompaction-org.apache.hadoop.hbase.regionserver.compactions.CompactionContext-">cancelRequestedCompaction</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#canSplit--">canSplit</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#close--">close</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#closeAndArchiveCompactedFiles--">closeAndArchiveCompactedFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#closeAndArchiveCompactedFiles-boolean-">closeAndArchiveCompactedFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#compact-org.apache.hadoop.hbase.regionserver.compactions.CompactionContext-org.apache.hadoop.hbase.regionserver.throttle.ThroughputCont
roller-org.apache.hadoop.hbase.security.User-">compact</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#compactRecentForTestingAssumingDefaultPolicy-int-">compactRecentForTestingAssumingDefaultPolicy</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#completeCompaction-java.util.Collection-">completeCompaction</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#createCacheConf-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">createCacheConf</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#createFlushContext-long-org.apache.hadoop.hbase.regionserver.FlushLifeCycleTracker-">createFlushContext</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#createStoreFileAndReader-org.apache.hadoop.fs.Path-">createStoreFileAndReader</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#createWriterInTmp-long-org.apache.hadoop.hbase.
io.compress.Compression.Algorithm-boolean-boolean-boolean-boolean-">createWriterInTmp</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#deleteChangedReaderObserver-org.apache.hadoop.hbase.regionserver.ChangedReadersObserver-">deleteChangedReaderObserver</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#deregisterChildren-org.apache.hadoop.hbase.conf.ConfigurationManager-">deregisterChildren</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#determineTTLFromFamily-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">determineTTLFromFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#doCompaction-org.apache.hadoop.hbase.regionserver.compactions.CompactionRequestImpl-java.util.Collection-org.apache.hadoop.hbase.security.User-long-java.util.List-">doCompaction</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#flushCache-long-org.apache.hadoop
.hbase.regionserver.MemStoreSnapshot-org.apache.hadoop.hbase.monitoring.MonitoredTask-org.apache.hadoop.hbase.regionserver.throttle.ThroughputController-org.apache.hadoop.hbase.regionserver.FlushLifeCycleTracker-">flushCache</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getAvgStoreFileAge--">getAvgStoreFileAge</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getBlockingFileCount--">getBlockingFileCount</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getBytesPerChecksum-org.apache.hadoop.conf.Configuration-">getBytesPerChecksum</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getCacheConfig--">getCacheConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getChecksumType-org.apache.hadoop.conf.Configuration-">getChecksumType</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getCloseCheckInterval--">getCloseCh
eckInterval</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getColumnFamilyDescriptor--">getColumnFamilyDescriptor</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getColumnFamilyName--">getColumnFamilyName</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getCompactedCellsCount--">getCompactedCellsCount</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getCompactedCellsSize--">getCompactedCellsSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getCompactedFiles--">getCompactedFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getCompactedFilesCount--">getCompactedFilesCount</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getCompactionCheckMultiplier--">getCompactionCheckMultiplier</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getCompactionPress
ure--">getCompactionPressure</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getCompactionProgress--">getCompactionProgress</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getCompactPriority--">getCompactPriority</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getComparator--">getComparator</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getCoprocessorHost--">getCoprocessorHost</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getCurrentParallelPutCount--">getCurrentParallelPutCount</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getDataBlockEncoder--">getDataBlockEncoder</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getFileSystem--">getFileSystem</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getFlushableSize--">getFlushableSize</a>, <a href="..
/../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getFlushedCellsCount--">getFlushedCellsCount</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getFlushedCellsSize--">getFlushedCellsSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getFlushedOutputFileSize--">getFlushedOutputFileSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getHFilesSize--">getHFilesSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getHRegion--">getHRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getLastCompactSize--">getLastCompactSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getMajorCompactedCellsCount--">getMajorCompactedCellsCount</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getMajorCompactedCellsSize--">getMajorCompactedCellsSize</a>, <a href="../../../../../org/ap
ache/hadoop/hbase/regionserver/HStore.html#getMaxMemStoreTS--">getMaxMemStoreTS</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getMaxSequenceId--">getMaxSequenceId</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getMaxStoreFileAge--">getMaxStoreFileAge</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getMemStoreFlushSize--">getMemStoreFlushSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getMemStoreSize--">getMemStoreSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getMinStoreFileAge--">getMinStoreFileAge</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getNumHFiles--">getNumHFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getNumReferenceFiles--">getNumReferenceFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getOffPeakHours--">g
etOffPeakHours</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getRegionFileSystem--">getRegionFileSystem</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getRegionInfo--">getRegionInfo</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getScanInfo--">getScanInfo</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getScanner-org.apache.hadoop.hbase.client.Scan-java.util.NavigableSet-long-">getScanner</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getScanners-boolean-boolean-boolean-boolean-org.apache.hadoop.hbase.regionserver.querymatcher.ScanQueryMatcher-byte:A-byte:A-long-">getScanners</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getScanners-boolean-boolean-boolean-org.apache.hadoop.hbase.regionserver.querymatcher.ScanQueryMatcher-byte:A-boolean-byte:A-boolean-long-">getScanners</a>, <a href="../../../../../
org/apache/hadoop/hbase/regionserver/HStore.html#getScanners-java.util.List-boolean-boolean-boolean-boolean-org.apache.hadoop.hbase.regionserver.querymatcher.ScanQueryMatcher-byte:A-byte:A-long-boolean-">getScanners</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getScanners-java.util.List-boolean-boolean-boolean-org.apache.hadoop.hbase.regionserver.querymatcher.ScanQueryMatcher-byte:A-boolean-byte:A-boolean-long-boolean-">getScanners</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getSize--">getSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getSmallestReadPoint--">getSmallestReadPoint</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getSnapshotSize--">getSnapshotSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getSplitPoint--">getSplitPoint</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getStore
Engine--">getStoreEngine</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getStorefiles--">getStorefiles</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getStorefilesCount--">getStorefilesCount</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getStoreFileSize-org.apache.hadoop.hbase.regionserver.HStoreFile-">getStoreFileSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getStorefilesRootLevelIndexSize--">getStorefilesRootLevelIndexSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getStorefilesSize--">getStorefilesSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getStoreFileTtl--">getStoreFileTtl</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getStoreHomedir-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.client.RegionInfo-byte:A-">getStoreHomedir</a>, <a href="../../
../../../org/apache/hadoop/hbase/regionserver/HStore.html#getStoreHomedir-org.apache.hadoop.fs.Path-java.lang.String-byte:A-">getStoreHomedir</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getStoreSizeUncompressed--">getStoreSizeUncompressed</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getTableName--">getTableName</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getTotalStaticBloomSize--">getTotalStaticBloomSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#getTotalStaticIndexSize--">getTotalStaticIndexSize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#hasReferences--">hasReferences</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#hasTooManyStoreFiles--">hasTooManyStoreFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#heapSize--">heapSize</a>, <a href="../../../../..
/org/apache/hadoop/hbase/regionserver/HStore.html#isPrimaryReplicaStore--">isPrimaryReplicaStore</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#isSloppyMemStore--">isSloppyMemStore</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#moveFileIntoPlace-org.apache.hadoop.fs.Path-">moveFileIntoPlace</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#needsCompaction--">needsCompaction</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#onConfigurationChange-org.apache.hadoop.conf.Configuration-">onConfigurationChange</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#postSnapshotOperation--">postSnapshotOperation</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#preBulkLoadHFile-java.lang.String-long-">preBulkLoadHFile</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#preFlushSeqIDEstimation--">pre
FlushSeqIDEstimation</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#preSnapshotOperation--">preSnapshotOperation</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#recreateScanners-java.util.List-boolean-boolean-boolean-org.apache.hadoop.hbase.regionserver.querymatcher.ScanQueryMatcher-byte:A-boolean-byte:A-boolean-long-boolean-">recreateScanners</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#refreshStoreFiles--">refreshStoreFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#refreshStoreFiles-java.util.Collection-">refreshStoreFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#registerChildren-org.apache.hadoop.hbase.conf.ConfigurationManager-">registerChildren</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#replaceStoreFiles-java.util.Collection-java.util.Collection-">replaceStoreFiles</a>, <a href="
../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#replayCompactionMarker-org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.CompactionDescriptor-boolean-boolean-">replayCompactionMarker</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#reportArchivedFilesForQuota-java.util.List-java.util.List-">reportArchivedFilesForQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#requestCompaction--">requestCompaction</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#requestCompaction-int-org.apache.hadoop.hbase.regionserver.compactions.CompactionLifeCycleTracker-org.apache.hadoop.hbase.security.User-">requestCompaction</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#setDataBlockEncoderInTest-org.apache.hadoop.hbase.io.hfile.HFileDataBlockEncoder-">setDataBlockEncoderInTest</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#setSca
nInfo-org.apache.hadoop.hbase.regionserver.ScanInfo-">setScanInfo</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#shouldPerformMajorCompaction--">shouldPerformMajorCompaction</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#snapshot--">snapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#startReplayingFromWAL--">startReplayingFromWAL</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#stopReplayingFromWAL--">stopReplayingFromWAL</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#throttleCompaction-long-">throttleCompaction</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#timeOfOldestEdit--">timeOfOldestEdit</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#toString--">toString</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#triggerMajorCompaction--">trig
gerMajorCompaction</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#updateSpaceQuotaAfterFileReplacement-org.apache.hadoop.hbase.quotas.RegionSizeStore-org.apache.hadoop.hbase.client.RegionInfo-java.util.Collection-java.util.Collection-">updateSpaceQuotaAfterFileReplacement</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#upsert-java.lang.Iterable-long-org.apache.hadoop.hbase.regionserver.MemStoreSizing-">upsert</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#versionsToReturn-int-">versionsToReturn</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -504,13 +498,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<pre>private static final org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.82">LOG</a></pre>
</li>
</ul>
-<a name="mobCacheConfig">
+<a name="mobFileCache">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>mobCacheConfig</h4>
-<pre>private <a href="../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob">MobCacheConfig</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.83">mobCacheConfig</a></pre>
+<h4>mobFileCache</h4>
+<pre>private <a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.83">mobFileCache</a></pre>
</li>
</ul>
<a name="homePath">
@@ -680,29 +674,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<!-- -->
</a>
<h3>Method Detail</h3>
-<a name="createCacheConf-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>createCacheConf</h4>
-<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.132">createCacheConf</a>(<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a> family)</pre>
-<div class="block">Creates the mob cache config.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#createCacheConf-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">createCacheConf</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>family</code> - The current column family.</dd>
-</dl>
-</li>
-</ul>
<a name="getConfiguration--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConfiguration</h4>
-<pre>public org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.139">getConfiguration</a>()</pre>
+<pre>public org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.131">getConfiguration</a>()</pre>
<div class="block">Gets current config.</div>
</li>
</ul>
@@ -712,7 +690,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>createScanner</h4>
-<pre>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.148">createScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a> scan,
+<pre>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.140">createScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a> scan,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a> scanInfo,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a><byte[]> targetCols,
long readPt)
@@ -733,7 +711,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>createStoreEngine</h4>
-<pre>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreEngine.html" title="class in org.apache.hadoop.hbase.regionserver">StoreEngine</a><?,?,?,?> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.167">createStoreEngine</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a> store,
+<pre>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreEngine.html" title="class in org.apache.hadoop.hbase.regionserver">StoreEngine</a><?,?,?,?> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.159">createStoreEngine</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a> store,
org.apache.hadoop.conf.Configuration conf,
<a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a> cellComparator)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -759,7 +737,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>getTempDir</h4>
-<pre>private org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.178">getTempDir</a>()</pre>
+<pre>private org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.170">getTempDir</a>()</pre>
<div class="block">Gets the temp directory.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
@@ -773,7 +751,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>createWriterInTmp</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileWriter.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileWriter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.192">createWriterInTmp</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</a> date,
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileWriter.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileWriter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.184">createWriterInTmp</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</a> date,
long maxKeyCount,
<a href="../../../../../org/apache/hadoop/hbase/io/compress/Compression.Algorithm.html" title="enum in org.apache.hadoop.hbase.io.compress">Compression.Algorithm</a> compression,
byte[] startKey,
@@ -800,7 +778,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>createDelFileWriterInTmp</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileWriter.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileWriter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.214">createDelFileWriterInTmp</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</a> date,
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileWriter.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileWriter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.206">createDelFileWriterInTmp</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</a> date,
long maxKeyCount,
<a href="../../../../../org/apache/hadoop/hbase/io/compress/Compression.Algorithm.html" title="enum in org.apache.hadoop.hbase.io.compress">Compression.Algorithm</a> compression,
byte[] startKey)
@@ -827,7 +805,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>createWriterInTmp</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileWriter.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileWriter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.237">createWriterInTmp</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> date,
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileWriter.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileWriter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.229">createWriterInTmp</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> date,
org.apache.hadoop.fs.Path basePath,
long maxKeyCount,
<a href="../../../../../org/apache/hadoop/hbase/io/compress/Compression.Algorithm.html" title="enum in org.apache.hadoop.hbase.io.compress">Compression.Algorithm</a> compression,
@@ -856,7 +834,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>createWriterInTmp</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileWriter.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileWriter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.255">createWriterInTmp</a>(<a href="../../../../../org/apache/hadoop/hbase/mob/MobFileName.html" title="class in org.apache.hadoop.hbase.mob">MobFileName</a> mobFileName,
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileWriter.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileWriter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.247">createWriterInTmp</a>(<a href="../../../../../org/apache/hadoop/hbase/mob/MobFileName.html" title="class in org.apache.hadoop.hbase.mob">MobFileName</a> mobFileName,
org.apache.hadoop.fs.Path basePath,
long maxKeyCount,
<a href="../../../../../org/apache/hadoop/hbase/io/compress/Compression.Algorithm.html" title="enum in org.apache.hadoop.hbase.io.compress">Compression.Algorithm</a> compression,
@@ -883,7 +861,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>commitFile</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.269">commitFile</a>(org.apache.hadoop.fs.Path sourceFile,
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.261">commitFile</a>(org.apache.hadoop.fs.Path sourceFile,
org.apache.hadoop.fs.Path targetPath)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Commits the mob file.</div>
@@ -902,7 +880,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>validateMobFile</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.291">validateMobFile</a>(org.apache.hadoop.fs.Path path)
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.283">validateMobFile</a>(org.apache.hadoop.fs.Path path)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Validates a mob file by opening and closing it.</div>
<dl>
@@ -919,7 +897,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>resolve</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.315">resolve</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> reference,
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.307">resolve</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> reference,
boolean cacheBlocks)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Reads the cell from the mob file, and the read point does not count.
@@ -941,7 +919,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>resolve</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.329">resolve</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> reference,
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.321">resolve</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> reference,
boolean cacheBlocks,
long readPt,
boolean readEmptyValueOnMobCellMiss)
@@ -967,7 +945,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>readCell</h4>
-<pre>private <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.393">readCell</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.fs.Path> locations,
+<pre>private <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.385">readCell</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.fs.Path> locations,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> fileName,
<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> search,
boolean cacheMobBlocks,
@@ -1001,7 +979,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>getPath</h4>
-<pre>public org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.452">getPath</a>()</pre>
+<pre>public org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.444">getPath</a>()</pre>
<div class="block">Gets the mob file path.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
@@ -1015,7 +993,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>updateCellsCountCompactedToMob</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.456">updateCellsCountCompactedToMob</a>(long count)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.448">updateCellsCountCompactedToMob</a>(long count)</pre>
</li>
</ul>
<a name="getCellsCountCompactedToMob--">
@@ -1024,7 +1002,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>getCellsCountCompactedToMob</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.460">getCellsCountCompactedToMob</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.452">getCellsCountCompactedToMob</a>()</pre>
</li>
</ul>
<a name="updateCellsCountCompactedFromMob-long-">
@@ -1033,7 +1011,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>updateCellsCountCompactedFromMob</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.464">updateCellsCountCompactedFromMob</a>(long count)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.456">updateCellsCountCompactedFromMob</a>(long count)</pre>
</li>
</ul>
<a name="getCellsCountCompactedFromMob--">
@@ -1042,7 +1020,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>getCellsCountCompactedFromMob</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.468">getCellsCountCompactedFromMob</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.460">getCellsCountCompactedFromMob</a>()</pre>
</li>
</ul>
<a name="updateCellsSizeCompactedToMob-long-">
@@ -1051,7 +1029,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>updateCellsSizeCompactedToMob</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.472">updateCellsSizeCompactedToMob</a>(long size)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.464">updateCellsSizeCompactedToMob</a>(long size)</pre>
</li>
</ul>
<a name="getCellsSizeCompactedToMob--">
@@ -1060,7 +1038,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>getCellsSizeCompactedToMob</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.476">getCellsSizeCompactedToMob</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.468">getCellsSizeCompactedToMob</a>()</pre>
</li>
</ul>
<a name="updateCellsSizeCompactedFromMob-long-">
@@ -1069,7 +1047,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>updateCellsSizeCompactedFromMob</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.480">updateCellsSizeCompactedFromMob</a>(long size)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.472">updateCellsSizeCompactedFromMob</a>(long size)</pre>
</li>
</ul>
<a name="getCellsSizeCompactedFromMob--">
@@ -1078,7 +1056,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>getCellsSizeCompactedFromMob</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.484">getCellsSizeCompactedFromMob</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.476">getCellsSizeCompactedFromMob</a>()</pre>
</li>
</ul>
<a name="updateMobFlushCount--">
@@ -1087,7 +1065,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>updateMobFlushCount</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.488">updateMobFlushCount</a>()</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.480">updateMobFlushCount</a>()</pre>
</li>
</ul>
<a name="getMobFlushCount--">
@@ -1096,7 +1074,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>getMobFlushCount</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.492">getMobFlushCount</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.484">getMobFlushCount</a>()</pre>
</li>
</ul>
<a name="updateMobFlushedCellsCount-long-">
@@ -1105,7 +1083,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>updateMobFlushedCellsCount</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.496">updateMobFlushedCellsCount</a>(long count)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.488">updateMobFlushedCellsCount</a>(long count)</pre>
</li>
</ul>
<a name="getMobFlushedCellsCount--">
@@ -1114,7 +1092,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>getMobFlushedCellsCount</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.500">getMobFlushedCellsCount</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.492">getMobFlushedCellsCount</a>()</pre>
</li>
</ul>
<a name="updateMobFlushedCellsSize-long-">
@@ -1123,7 +1101,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>updateMobFlushedCellsSize</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.504">updateMobFlushedCellsSize</a>(long size)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.496">updateMobFlushedCellsSize</a>(long size)</pre>
</li>
</ul>
<a name="getMobFlushedCellsSize--">
@@ -1132,7 +1110,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>getMobFlushedCellsSize</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.508">getMobFlushedCellsSize</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.500">getMobFlushedCellsSize</a>()</pre>
</li>
</ul>
<a name="updateMobScanCellsCount-long-">
@@ -1141,7 +1119,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>updateMobScanCellsCount</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.512">updateMobScanCellsCount</a>(long count)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.504">updateMobScanCellsCount</a>(long count)</pre>
</li>
</ul>
<a name="getMobScanCellsCount--">
@@ -1150,7 +1128,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>getMobScanCellsCount</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.516">getMobScanCellsCount</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.508">getMobScanCellsCount</a>()</pre>
</li>
</ul>
<a name="updateMobScanCellsSize-long-">
@@ -1159,7 +1137,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>updateMobScanCellsSize</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.520">updateMobScanCellsSize</a>(long size)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.512">updateMobScanCellsSize</a>(long size)</pre>
</li>
</ul>
<a name="getMobScanCellsSize--">
@@ -1168,7 +1146,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockList">
<li class="blockList">
<h4>getMobScanCellsSize</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.524">getMobScanCellsSize</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.516">getMobScanCellsSize</a>()</pre>
</li>
</ul>
<a name="getRefCellTags--">
@@ -1177,7 +1155,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html
<ul class="blockListLast">
<li class="blockList">
<h4>getRefCellTags</h4>
-<pre>public byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.528">getRefCellTags</a>()</pre>
+<pre>public byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HMobStore.html#line.520">getRefCellTags</a>()</pre>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html
index a6291d4..e5d114a 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
<hr>
<br>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html?is-external=true" title="class or interface in java.lang">@FunctionalInterface</a>
-public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3108">HRegion.BatchOperation.Visitor</a></pre>
+public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3142">HRegion.BatchOperation.Visitor</a></pre>
<div class="block">Visitor interface for batch operations</div>
</li>
</ul>
@@ -155,7 +155,7 @@ public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase
<ul class="blockListLast">
<li class="blockList">
<h4>visit</h4>
-<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html#line.3113">visit</a>(int index)
+<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html#line.3147">visit</a>(int index)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
[04/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html
index 79cb21b..d8d391b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html
@@ -378,1508 +378,1510 @@
<span class="sourceLineNo">370</span><a name="line.370"></a>
<span class="sourceLineNo">371</span> @Override<a name="line.371"></a>
<span class="sourceLineNo">372</span> public void returnBlock(HFileBlock block) {<a name="line.372"></a>
-<span class="sourceLineNo">373</span> BlockCache blockCache = this.cacheConf.getBlockCache();<a name="line.373"></a>
-<span class="sourceLineNo">374</span> if (blockCache != null && block != null) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span> BlockCacheKey cacheKey = new BlockCacheKey(this.getFileContext().getHFileName(),<a name="line.375"></a>
-<span class="sourceLineNo">376</span> block.getOffset(), this.isPrimaryReplicaReader(), block.getBlockType());<a name="line.376"></a>
-<span class="sourceLineNo">377</span> blockCache.returnBlock(cacheKey, block);<a name="line.377"></a>
-<span class="sourceLineNo">378</span> }<a name="line.378"></a>
-<span class="sourceLineNo">379</span> }<a name="line.379"></a>
-<span class="sourceLineNo">380</span> /**<a name="line.380"></a>
-<span class="sourceLineNo">381</span> * @return the first key in the file. May be null if file has no entries. Note<a name="line.381"></a>
-<span class="sourceLineNo">382</span> * that this is not the first row key, but rather the byte form of the<a name="line.382"></a>
-<span class="sourceLineNo">383</span> * first KeyValue.<a name="line.383"></a>
-<span class="sourceLineNo">384</span> */<a name="line.384"></a>
-<span class="sourceLineNo">385</span> @Override<a name="line.385"></a>
-<span class="sourceLineNo">386</span> public Optional<Cell> getFirstKey() {<a name="line.386"></a>
-<span class="sourceLineNo">387</span> if (dataBlockIndexReader == null) {<a name="line.387"></a>
-<span class="sourceLineNo">388</span> throw new BlockIndexNotLoadedException();<a name="line.388"></a>
-<span class="sourceLineNo">389</span> }<a name="line.389"></a>
-<span class="sourceLineNo">390</span> return dataBlockIndexReader.isEmpty() ? Optional.empty()<a name="line.390"></a>
-<span class="sourceLineNo">391</span> : Optional.of(dataBlockIndexReader.getRootBlockKey(0));<a name="line.391"></a>
-<span class="sourceLineNo">392</span> }<a name="line.392"></a>
-<span class="sourceLineNo">393</span><a name="line.393"></a>
-<span class="sourceLineNo">394</span> /**<a name="line.394"></a>
-<span class="sourceLineNo">395</span> * TODO left from {@link HFile} version 1: move this to StoreFile after Ryan's<a name="line.395"></a>
-<span class="sourceLineNo">396</span> * patch goes in to eliminate {@link KeyValue} here.<a name="line.396"></a>
-<span class="sourceLineNo">397</span> *<a name="line.397"></a>
-<span class="sourceLineNo">398</span> * @return the first row key, or null if the file is empty.<a name="line.398"></a>
-<span class="sourceLineNo">399</span> */<a name="line.399"></a>
-<span class="sourceLineNo">400</span> @Override<a name="line.400"></a>
-<span class="sourceLineNo">401</span> public Optional<byte[]> getFirstRowKey() {<a name="line.401"></a>
-<span class="sourceLineNo">402</span> // We have to copy the row part to form the row key alone<a name="line.402"></a>
-<span class="sourceLineNo">403</span> return getFirstKey().map(CellUtil::cloneRow);<a name="line.403"></a>
-<span class="sourceLineNo">404</span> }<a name="line.404"></a>
-<span class="sourceLineNo">405</span><a name="line.405"></a>
-<span class="sourceLineNo">406</span> /**<a name="line.406"></a>
-<span class="sourceLineNo">407</span> * TODO left from {@link HFile} version 1: move this to StoreFile after<a name="line.407"></a>
-<span class="sourceLineNo">408</span> * Ryan's patch goes in to eliminate {@link KeyValue} here.<a name="line.408"></a>
-<span class="sourceLineNo">409</span> *<a name="line.409"></a>
-<span class="sourceLineNo">410</span> * @return the last row key, or null if the file is empty.<a name="line.410"></a>
-<span class="sourceLineNo">411</span> */<a name="line.411"></a>
-<span class="sourceLineNo">412</span> @Override<a name="line.412"></a>
-<span class="sourceLineNo">413</span> public Optional<byte[]> getLastRowKey() {<a name="line.413"></a>
-<span class="sourceLineNo">414</span> // We have to copy the row part to form the row key alone<a name="line.414"></a>
-<span class="sourceLineNo">415</span> return getLastKey().map(CellUtil::cloneRow);<a name="line.415"></a>
-<span class="sourceLineNo">416</span> }<a name="line.416"></a>
-<span class="sourceLineNo">417</span><a name="line.417"></a>
-<span class="sourceLineNo">418</span> /** @return number of KV entries in this HFile */<a name="line.418"></a>
-<span class="sourceLineNo">419</span> @Override<a name="line.419"></a>
-<span class="sourceLineNo">420</span> public long getEntries() {<a name="line.420"></a>
-<span class="sourceLineNo">421</span> return trailer.getEntryCount();<a name="line.421"></a>
-<span class="sourceLineNo">422</span> }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span> /** @return comparator */<a name="line.424"></a>
-<span class="sourceLineNo">425</span> @Override<a name="line.425"></a>
-<span class="sourceLineNo">426</span> public CellComparator getComparator() {<a name="line.426"></a>
-<span class="sourceLineNo">427</span> return comparator;<a name="line.427"></a>
-<span class="sourceLineNo">428</span> }<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span> /** @return compression algorithm */<a name="line.430"></a>
-<span class="sourceLineNo">431</span> @Override<a name="line.431"></a>
-<span class="sourceLineNo">432</span> public Compression.Algorithm getCompressionAlgorithm() {<a name="line.432"></a>
-<span class="sourceLineNo">433</span> return compressAlgo;<a name="line.433"></a>
-<span class="sourceLineNo">434</span> }<a name="line.434"></a>
-<span class="sourceLineNo">435</span><a name="line.435"></a>
-<span class="sourceLineNo">436</span> /**<a name="line.436"></a>
-<span class="sourceLineNo">437</span> * @return the total heap size of data and meta block indexes in bytes. Does<a name="line.437"></a>
-<span class="sourceLineNo">438</span> * not take into account non-root blocks of a multilevel data index.<a name="line.438"></a>
-<span class="sourceLineNo">439</span> */<a name="line.439"></a>
-<span class="sourceLineNo">440</span> @Override<a name="line.440"></a>
-<span class="sourceLineNo">441</span> public long indexSize() {<a name="line.441"></a>
-<span class="sourceLineNo">442</span> return (dataBlockIndexReader != null ? dataBlockIndexReader.heapSize() : 0)<a name="line.442"></a>
-<span class="sourceLineNo">443</span> + ((metaBlockIndexReader != null) ? metaBlockIndexReader.heapSize()<a name="line.443"></a>
-<span class="sourceLineNo">444</span> : 0);<a name="line.444"></a>
-<span class="sourceLineNo">445</span> }<a name="line.445"></a>
-<span class="sourceLineNo">446</span><a name="line.446"></a>
-<span class="sourceLineNo">447</span> @Override<a name="line.447"></a>
-<span class="sourceLineNo">448</span> public String getName() {<a name="line.448"></a>
-<span class="sourceLineNo">449</span> return name;<a name="line.449"></a>
-<span class="sourceLineNo">450</span> }<a name="line.450"></a>
-<span class="sourceLineNo">451</span><a name="line.451"></a>
-<span class="sourceLineNo">452</span> @Override<a name="line.452"></a>
-<span class="sourceLineNo">453</span> public HFileBlockIndex.BlockIndexReader getDataBlockIndexReader() {<a name="line.453"></a>
-<span class="sourceLineNo">454</span> return dataBlockIndexReader;<a name="line.454"></a>
-<span class="sourceLineNo">455</span> }<a name="line.455"></a>
-<span class="sourceLineNo">456</span><a name="line.456"></a>
-<span class="sourceLineNo">457</span> @Override<a name="line.457"></a>
-<span class="sourceLineNo">458</span> public FixedFileTrailer getTrailer() {<a name="line.458"></a>
-<span class="sourceLineNo">459</span> return trailer;<a name="line.459"></a>
-<span class="sourceLineNo">460</span> }<a name="line.460"></a>
-<span class="sourceLineNo">461</span><a name="line.461"></a>
-<span class="sourceLineNo">462</span> @Override<a name="line.462"></a>
-<span class="sourceLineNo">463</span> public boolean isPrimaryReplicaReader() {<a name="line.463"></a>
-<span class="sourceLineNo">464</span> return primaryReplicaReader;<a name="line.464"></a>
-<span class="sourceLineNo">465</span> }<a name="line.465"></a>
-<span class="sourceLineNo">466</span><a name="line.466"></a>
-<span class="sourceLineNo">467</span> @Override<a name="line.467"></a>
-<span class="sourceLineNo">468</span> public FileInfo loadFileInfo() throws IOException {<a name="line.468"></a>
-<span class="sourceLineNo">469</span> return fileInfo;<a name="line.469"></a>
-<span class="sourceLineNo">470</span> }<a name="line.470"></a>
-<span class="sourceLineNo">471</span><a name="line.471"></a>
-<span class="sourceLineNo">472</span> /**<a name="line.472"></a>
-<span class="sourceLineNo">473</span> * An exception thrown when an operation requiring a scanner to be seeked<a name="line.473"></a>
-<span class="sourceLineNo">474</span> * is invoked on a scanner that is not seeked.<a name="line.474"></a>
-<span class="sourceLineNo">475</span> */<a name="line.475"></a>
-<span class="sourceLineNo">476</span> @SuppressWarnings("serial")<a name="line.476"></a>
-<span class="sourceLineNo">477</span> public static class NotSeekedException extends IllegalStateException {<a name="line.477"></a>
-<span class="sourceLineNo">478</span> public NotSeekedException() {<a name="line.478"></a>
-<span class="sourceLineNo">479</span> super("Not seeked to a key/value");<a name="line.479"></a>
-<span class="sourceLineNo">480</span> }<a name="line.480"></a>
-<span class="sourceLineNo">481</span> }<a name="line.481"></a>
-<span class="sourceLineNo">482</span><a name="line.482"></a>
-<span class="sourceLineNo">483</span> protected static class HFileScannerImpl implements HFileScanner {<a name="line.483"></a>
-<span class="sourceLineNo">484</span> private ByteBuff blockBuffer;<a name="line.484"></a>
-<span class="sourceLineNo">485</span> protected final boolean cacheBlocks;<a name="line.485"></a>
-<span class="sourceLineNo">486</span> protected final boolean pread;<a name="line.486"></a>
-<span class="sourceLineNo">487</span> protected final boolean isCompaction;<a name="line.487"></a>
-<span class="sourceLineNo">488</span> private int currKeyLen;<a name="line.488"></a>
-<span class="sourceLineNo">489</span> private int currValueLen;<a name="line.489"></a>
-<span class="sourceLineNo">490</span> private int currMemstoreTSLen;<a name="line.490"></a>
-<span class="sourceLineNo">491</span> private long currMemstoreTS;<a name="line.491"></a>
-<span class="sourceLineNo">492</span> // Updated but never read?<a name="line.492"></a>
-<span class="sourceLineNo">493</span> protected AtomicInteger blockFetches = new AtomicInteger(0);<a name="line.493"></a>
-<span class="sourceLineNo">494</span> protected final HFile.Reader reader;<a name="line.494"></a>
-<span class="sourceLineNo">495</span> private int currTagsLen;<a name="line.495"></a>
-<span class="sourceLineNo">496</span> // buffer backed keyonlyKV<a name="line.496"></a>
-<span class="sourceLineNo">497</span> private ByteBufferKeyOnlyKeyValue bufBackedKeyOnlyKv = new ByteBufferKeyOnlyKeyValue();<a name="line.497"></a>
-<span class="sourceLineNo">498</span> // A pair for reusing in blockSeek() so that we don't garbage lot of objects<a name="line.498"></a>
-<span class="sourceLineNo">499</span> final ObjectIntPair<ByteBuffer> pair = new ObjectIntPair<>();<a name="line.499"></a>
-<span class="sourceLineNo">500</span><a name="line.500"></a>
-<span class="sourceLineNo">501</span> /**<a name="line.501"></a>
-<span class="sourceLineNo">502</span> * The next indexed key is to keep track of the indexed key of the next data block.<a name="line.502"></a>
-<span class="sourceLineNo">503</span> * If the nextIndexedKey is HConstants.NO_NEXT_INDEXED_KEY, it means that the<a name="line.503"></a>
-<span class="sourceLineNo">504</span> * current data block is the last data block.<a name="line.504"></a>
-<span class="sourceLineNo">505</span> *<a name="line.505"></a>
-<span class="sourceLineNo">506</span> * If the nextIndexedKey is null, it means the nextIndexedKey has not been loaded yet.<a name="line.506"></a>
-<span class="sourceLineNo">507</span> */<a name="line.507"></a>
-<span class="sourceLineNo">508</span> protected Cell nextIndexedKey;<a name="line.508"></a>
-<span class="sourceLineNo">509</span> // Current block being used<a name="line.509"></a>
-<span class="sourceLineNo">510</span> protected HFileBlock curBlock;<a name="line.510"></a>
-<span class="sourceLineNo">511</span> // Previous blocks that were used in the course of the read<a name="line.511"></a>
-<span class="sourceLineNo">512</span> protected final ArrayList<HFileBlock> prevBlocks = new ArrayList<>();<a name="line.512"></a>
-<span class="sourceLineNo">513</span><a name="line.513"></a>
-<span class="sourceLineNo">514</span> public HFileScannerImpl(final HFile.Reader reader, final boolean cacheBlocks,<a name="line.514"></a>
-<span class="sourceLineNo">515</span> final boolean pread, final boolean isCompaction) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span> this.reader = reader;<a name="line.516"></a>
-<span class="sourceLineNo">517</span> this.cacheBlocks = cacheBlocks;<a name="line.517"></a>
-<span class="sourceLineNo">518</span> this.pread = pread;<a name="line.518"></a>
-<span class="sourceLineNo">519</span> this.isCompaction = isCompaction;<a name="line.519"></a>
-<span class="sourceLineNo">520</span> }<a name="line.520"></a>
-<span class="sourceLineNo">521</span><a name="line.521"></a>
-<span class="sourceLineNo">522</span> void updateCurrBlockRef(HFileBlock block) {<a name="line.522"></a>
-<span class="sourceLineNo">523</span> if (block != null && this.curBlock != null &&<a name="line.523"></a>
-<span class="sourceLineNo">524</span> block.getOffset() == this.curBlock.getOffset()) {<a name="line.524"></a>
-<span class="sourceLineNo">525</span> return;<a name="line.525"></a>
-<span class="sourceLineNo">526</span> }<a name="line.526"></a>
-<span class="sourceLineNo">527</span> // We don't have to keep ref to EXCLUSIVE type of block<a name="line.527"></a>
-<span class="sourceLineNo">528</span> if (this.curBlock != null && this.curBlock.usesSharedMemory()) {<a name="line.528"></a>
-<span class="sourceLineNo">529</span> prevBlocks.add(this.curBlock);<a name="line.529"></a>
-<span class="sourceLineNo">530</span> }<a name="line.530"></a>
-<span class="sourceLineNo">531</span> this.curBlock = block;<a name="line.531"></a>
-<span class="sourceLineNo">532</span> }<a name="line.532"></a>
-<span class="sourceLineNo">533</span><a name="line.533"></a>
-<span class="sourceLineNo">534</span> void reset() {<a name="line.534"></a>
-<span class="sourceLineNo">535</span> // We don't have to keep ref to EXCLUSIVE type of block<a name="line.535"></a>
-<span class="sourceLineNo">536</span> if (this.curBlock != null && this.curBlock.usesSharedMemory()) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span> this.prevBlocks.add(this.curBlock);<a name="line.537"></a>
-<span class="sourceLineNo">538</span> }<a name="line.538"></a>
-<span class="sourceLineNo">539</span> this.curBlock = null;<a name="line.539"></a>
-<span class="sourceLineNo">540</span> }<a name="line.540"></a>
-<span class="sourceLineNo">541</span><a name="line.541"></a>
-<span class="sourceLineNo">542</span> private void returnBlockToCache(HFileBlock block) {<a name="line.542"></a>
-<span class="sourceLineNo">543</span> if (LOG.isTraceEnabled()) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span> LOG.trace("Returning the block : " + block);<a name="line.544"></a>
-<span class="sourceLineNo">545</span> }<a name="line.545"></a>
-<span class="sourceLineNo">546</span> this.reader.returnBlock(block);<a name="line.546"></a>
-<span class="sourceLineNo">547</span> }<a name="line.547"></a>
-<span class="sourceLineNo">548</span><a name="line.548"></a>
-<span class="sourceLineNo">549</span> private void returnBlocks(boolean returnAll) {<a name="line.549"></a>
-<span class="sourceLineNo">550</span> for (int i = 0; i < this.prevBlocks.size(); i++) {<a name="line.550"></a>
-<span class="sourceLineNo">551</span> returnBlockToCache(this.prevBlocks.get(i));<a name="line.551"></a>
-<span class="sourceLineNo">552</span> }<a name="line.552"></a>
-<span class="sourceLineNo">553</span> this.prevBlocks.clear();<a name="line.553"></a>
-<span class="sourceLineNo">554</span> if (returnAll && this.curBlock != null) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span> returnBlockToCache(this.curBlock);<a name="line.555"></a>
-<span class="sourceLineNo">556</span> this.curBlock = null;<a name="line.556"></a>
-<span class="sourceLineNo">557</span> }<a name="line.557"></a>
-<span class="sourceLineNo">558</span> }<a name="line.558"></a>
-<span class="sourceLineNo">559</span> @Override<a name="line.559"></a>
-<span class="sourceLineNo">560</span> public boolean isSeeked(){<a name="line.560"></a>
-<span class="sourceLineNo">561</span> return blockBuffer != null;<a name="line.561"></a>
-<span class="sourceLineNo">562</span> }<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span> @Override<a name="line.564"></a>
-<span class="sourceLineNo">565</span> public String toString() {<a name="line.565"></a>
-<span class="sourceLineNo">566</span> return "HFileScanner for reader " + String.valueOf(getReader());<a name="line.566"></a>
-<span class="sourceLineNo">567</span> }<a name="line.567"></a>
-<span class="sourceLineNo">568</span><a name="line.568"></a>
-<span class="sourceLineNo">569</span> protected void assertSeeked() {<a name="line.569"></a>
-<span class="sourceLineNo">570</span> if (!isSeeked())<a name="line.570"></a>
-<span class="sourceLineNo">571</span> throw new NotSeekedException();<a name="line.571"></a>
-<span class="sourceLineNo">572</span> }<a name="line.572"></a>
-<span class="sourceLineNo">573</span><a name="line.573"></a>
-<span class="sourceLineNo">574</span> @Override<a name="line.574"></a>
-<span class="sourceLineNo">575</span> public HFile.Reader getReader() {<a name="line.575"></a>
-<span class="sourceLineNo">576</span> return reader;<a name="line.576"></a>
-<span class="sourceLineNo">577</span> }<a name="line.577"></a>
-<span class="sourceLineNo">578</span><a name="line.578"></a>
-<span class="sourceLineNo">579</span> // From non encoded HFiles, we always read back KeyValue or its descendant.(Note: When HFile<a name="line.579"></a>
-<span class="sourceLineNo">580</span> // block is in DBB, it will be OffheapKV). So all parts of the Cell is in a contiguous<a name="line.580"></a>
-<span class="sourceLineNo">581</span> // array/buffer. How many bytes we should wrap to make the KV is what this method returns.<a name="line.581"></a>
-<span class="sourceLineNo">582</span> private int getKVBufSize() {<a name="line.582"></a>
-<span class="sourceLineNo">583</span> int kvBufSize = KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen;<a name="line.583"></a>
-<span class="sourceLineNo">584</span> if (currTagsLen > 0) {<a name="line.584"></a>
-<span class="sourceLineNo">585</span> kvBufSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.585"></a>
-<span class="sourceLineNo">586</span> }<a name="line.586"></a>
-<span class="sourceLineNo">587</span> return kvBufSize;<a name="line.587"></a>
-<span class="sourceLineNo">588</span> }<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span> @Override<a name="line.590"></a>
-<span class="sourceLineNo">591</span> public void close() {<a name="line.591"></a>
-<span class="sourceLineNo">592</span> if (!pread) {<a name="line.592"></a>
-<span class="sourceLineNo">593</span> // For seek + pread stream socket should be closed when the scanner is closed. HBASE-9393<a name="line.593"></a>
-<span class="sourceLineNo">594</span> reader.unbufferStream();<a name="line.594"></a>
-<span class="sourceLineNo">595</span> }<a name="line.595"></a>
-<span class="sourceLineNo">596</span> this.returnBlocks(true);<a name="line.596"></a>
-<span class="sourceLineNo">597</span> }<a name="line.597"></a>
-<span class="sourceLineNo">598</span><a name="line.598"></a>
-<span class="sourceLineNo">599</span> // Returns the #bytes in HFile for the current cell. Used to skip these many bytes in current<a name="line.599"></a>
-<span class="sourceLineNo">600</span> // HFile block's buffer so as to position to the next cell.<a name="line.600"></a>
-<span class="sourceLineNo">601</span> private int getCurCellSerializedSize() {<a name="line.601"></a>
-<span class="sourceLineNo">602</span> int curCellSize = KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen<a name="line.602"></a>
-<span class="sourceLineNo">603</span> + currMemstoreTSLen;<a name="line.603"></a>
-<span class="sourceLineNo">604</span> if (this.reader.getFileContext().isIncludesTags()) {<a name="line.604"></a>
-<span class="sourceLineNo">605</span> curCellSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.605"></a>
-<span class="sourceLineNo">606</span> }<a name="line.606"></a>
-<span class="sourceLineNo">607</span> return curCellSize;<a name="line.607"></a>
-<span class="sourceLineNo">608</span> }<a name="line.608"></a>
-<span class="sourceLineNo">609</span><a name="line.609"></a>
-<span class="sourceLineNo">610</span> protected void readKeyValueLen() {<a name="line.610"></a>
-<span class="sourceLineNo">611</span> // This is a hot method. We go out of our way to make this method short so it can be<a name="line.611"></a>
-<span class="sourceLineNo">612</span> // inlined and is not too big to compile. We also manage position in ByteBuffer ourselves<a name="line.612"></a>
-<span class="sourceLineNo">613</span> // because it is faster than going via range-checked ByteBuffer methods or going through a<a name="line.613"></a>
-<span class="sourceLineNo">614</span> // byte buffer array a byte at a time.<a name="line.614"></a>
-<span class="sourceLineNo">615</span> // Get a long at a time rather than read two individual ints. In micro-benchmarking, even<a name="line.615"></a>
-<span class="sourceLineNo">616</span> // with the extra bit-fiddling, this is order-of-magnitude faster than getting two ints.<a name="line.616"></a>
-<span class="sourceLineNo">617</span> // Trying to imitate what was done - need to profile if this is better or<a name="line.617"></a>
-<span class="sourceLineNo">618</span> // earlier way is better by doing mark and reset?<a name="line.618"></a>
-<span class="sourceLineNo">619</span> // But ensure that you read long instead of two ints<a name="line.619"></a>
-<span class="sourceLineNo">620</span> long ll = blockBuffer.getLongAfterPosition(0);<a name="line.620"></a>
-<span class="sourceLineNo">621</span> // Read top half as an int of key length and bottom int as value length<a name="line.621"></a>
-<span class="sourceLineNo">622</span> this.currKeyLen = (int)(ll >> Integer.SIZE);<a name="line.622"></a>
-<span class="sourceLineNo">623</span> this.currValueLen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.623"></a>
-<span class="sourceLineNo">624</span> checkKeyValueLen();<a name="line.624"></a>
-<span class="sourceLineNo">625</span> // Move position past the key and value lengths and then beyond the key and value<a name="line.625"></a>
-<span class="sourceLineNo">626</span> int p = (Bytes.SIZEOF_LONG + currKeyLen + currValueLen);<a name="line.626"></a>
-<span class="sourceLineNo">627</span> if (reader.getFileContext().isIncludesTags()) {<a name="line.627"></a>
-<span class="sourceLineNo">628</span> // Tags length is a short.<a name="line.628"></a>
-<span class="sourceLineNo">629</span> this.currTagsLen = blockBuffer.getShortAfterPosition(p);<a name="line.629"></a>
-<span class="sourceLineNo">630</span> checkTagsLen();<a name="line.630"></a>
-<span class="sourceLineNo">631</span> p += (Bytes.SIZEOF_SHORT + currTagsLen);<a name="line.631"></a>
-<span class="sourceLineNo">632</span> }<a name="line.632"></a>
-<span class="sourceLineNo">633</span> readMvccVersion(p);<a name="line.633"></a>
-<span class="sourceLineNo">634</span> }<a name="line.634"></a>
-<span class="sourceLineNo">635</span><a name="line.635"></a>
-<span class="sourceLineNo">636</span> private final void checkTagsLen() {<a name="line.636"></a>
-<span class="sourceLineNo">637</span> if (checkLen(this.currTagsLen)) {<a name="line.637"></a>
-<span class="sourceLineNo">638</span> throw new IllegalStateException("Invalid currTagsLen " + this.currTagsLen +<a name="line.638"></a>
-<span class="sourceLineNo">639</span> ". Block offset: " + curBlock.getOffset() + ", block length: " +<a name="line.639"></a>
-<span class="sourceLineNo">640</span> this.blockBuffer.limit() +<a name="line.640"></a>
-<span class="sourceLineNo">641</span> ", position: " + this.blockBuffer.position() + " (without header).");<a name="line.641"></a>
-<span class="sourceLineNo">642</span> }<a name="line.642"></a>
-<span class="sourceLineNo">643</span> }<a name="line.643"></a>
-<span class="sourceLineNo">644</span><a name="line.644"></a>
-<span class="sourceLineNo">645</span> /**<a name="line.645"></a>
-<span class="sourceLineNo">646</span> * Read mvcc. Does checks to see if we even need to read the mvcc at all.<a name="line.646"></a>
-<span class="sourceLineNo">647</span> * @param offsetFromPos<a name="line.647"></a>
-<span class="sourceLineNo">648</span> */<a name="line.648"></a>
-<span class="sourceLineNo">649</span> protected void readMvccVersion(final int offsetFromPos) {<a name="line.649"></a>
-<span class="sourceLineNo">650</span> // See if we even need to decode mvcc.<a name="line.650"></a>
-<span class="sourceLineNo">651</span> if (!this.reader.shouldIncludeMemStoreTS()) return;<a name="line.651"></a>
-<span class="sourceLineNo">652</span> if (!this.reader.isDecodeMemStoreTS()) {<a name="line.652"></a>
-<span class="sourceLineNo">653</span> currMemstoreTS = 0;<a name="line.653"></a>
-<span class="sourceLineNo">654</span> currMemstoreTSLen = 1;<a name="line.654"></a>
-<span class="sourceLineNo">655</span> return;<a name="line.655"></a>
-<span class="sourceLineNo">656</span> }<a name="line.656"></a>
-<span class="sourceLineNo">657</span> _readMvccVersion(offsetFromPos);<a name="line.657"></a>
-<span class="sourceLineNo">658</span> }<a name="line.658"></a>
-<span class="sourceLineNo">659</span><a name="line.659"></a>
-<span class="sourceLineNo">660</span> /**<a name="line.660"></a>
-<span class="sourceLineNo">661</span> * Actually do the mvcc read. Does no checks.<a name="line.661"></a>
-<span class="sourceLineNo">662</span> * @param offsetFromPos<a name="line.662"></a>
-<span class="sourceLineNo">663</span> */<a name="line.663"></a>
-<span class="sourceLineNo">664</span> private void _readMvccVersion(int offsetFromPos) {<a name="line.664"></a>
-<span class="sourceLineNo">665</span> // This is Bytes#bytesToVint inlined so can save a few instructions in this hot method; i.e.<a name="line.665"></a>
-<span class="sourceLineNo">666</span> // previous if one-byte vint, we'd redo the vint call to find int size.<a name="line.666"></a>
-<span class="sourceLineNo">667</span> // Also the method is kept small so can be inlined.<a name="line.667"></a>
-<span class="sourceLineNo">668</span> byte firstByte = blockBuffer.getByteAfterPosition(offsetFromPos);<a name="line.668"></a>
-<span class="sourceLineNo">669</span> int len = WritableUtils.decodeVIntSize(firstByte);<a name="line.669"></a>
-<span class="sourceLineNo">670</span> if (len == 1) {<a name="line.670"></a>
-<span class="sourceLineNo">671</span> this.currMemstoreTS = firstByte;<a name="line.671"></a>
-<span class="sourceLineNo">672</span> } else {<a name="line.672"></a>
-<span class="sourceLineNo">673</span> int remaining = len -1;<a name="line.673"></a>
-<span class="sourceLineNo">674</span> long i = 0;<a name="line.674"></a>
-<span class="sourceLineNo">675</span> offsetFromPos++;<a name="line.675"></a>
-<span class="sourceLineNo">676</span> if (remaining >= Bytes.SIZEOF_INT) {<a name="line.676"></a>
-<span class="sourceLineNo">677</span> // The int read has to be converted to unsigned long so the & op<a name="line.677"></a>
-<span class="sourceLineNo">678</span> i = (blockBuffer.getIntAfterPosition(offsetFromPos) & 0x00000000ffffffffL);<a name="line.678"></a>
-<span class="sourceLineNo">679</span> remaining -= Bytes.SIZEOF_INT;<a name="line.679"></a>
-<span class="sourceLineNo">680</span> offsetFromPos += Bytes.SIZEOF_INT;<a name="line.680"></a>
-<span class="sourceLineNo">681</span> }<a name="line.681"></a>
-<span class="sourceLineNo">682</span> if (remaining >= Bytes.SIZEOF_SHORT) {<a name="line.682"></a>
-<span class="sourceLineNo">683</span> short s = blockBuffer.getShortAfterPosition(offsetFromPos);<a name="line.683"></a>
-<span class="sourceLineNo">684</span> i = i << 16;<a name="line.684"></a>
-<span class="sourceLineNo">685</span> i = i | (s & 0xFFFF);<a name="line.685"></a>
-<span class="sourceLineNo">686</span> remaining -= Bytes.SIZEOF_SHORT;<a name="line.686"></a>
-<span class="sourceLineNo">687</span> offsetFromPos += Bytes.SIZEOF_SHORT;<a name="line.687"></a>
-<span class="sourceLineNo">688</span> }<a name="line.688"></a>
-<span class="sourceLineNo">689</span> for (int idx = 0; idx < remaining; idx++) {<a name="line.689"></a>
-<span class="sourceLineNo">690</span> byte b = blockBuffer.getByteAfterPosition(offsetFromPos + idx);<a name="line.690"></a>
-<span class="sourceLineNo">691</span> i = i << 8;<a name="line.691"></a>
-<span class="sourceLineNo">692</span> i = i | (b & 0xFF);<a name="line.692"></a>
-<span class="sourceLineNo">693</span> }<a name="line.693"></a>
-<span class="sourceLineNo">694</span> currMemstoreTS = (WritableUtils.isNegativeVInt(firstByte) ? ~i : i);<a name="line.694"></a>
-<span class="sourceLineNo">695</span> }<a name="line.695"></a>
-<span class="sourceLineNo">696</span> this.currMemstoreTSLen = len;<a name="line.696"></a>
-<span class="sourceLineNo">697</span> }<a name="line.697"></a>
-<span class="sourceLineNo">698</span><a name="line.698"></a>
-<span class="sourceLineNo">699</span> /**<a name="line.699"></a>
-<span class="sourceLineNo">700</span> * Within a loaded block, seek looking for the last key that is smaller than<a name="line.700"></a>
-<span class="sourceLineNo">701</span> * (or equal to?) the key we are interested in.<a name="line.701"></a>
-<span class="sourceLineNo">702</span> * A note on the seekBefore: if you have seekBefore = true, AND the first<a name="line.702"></a>
-<span class="sourceLineNo">703</span> * key in the block = key, then you'll get thrown exceptions. The caller has<a name="line.703"></a>
-<span class="sourceLineNo">704</span> * to check for that case and load the previous block as appropriate.<a name="line.704"></a>
-<span class="sourceLineNo">705</span> * @param key<a name="line.705"></a>
-<span class="sourceLineNo">706</span> * the key to find<a name="line.706"></a>
-<span class="sourceLineNo">707</span> * @param seekBefore<a name="line.707"></a>
-<span class="sourceLineNo">708</span> * find the key before the given key in case of exact match.<a name="line.708"></a>
-<span class="sourceLineNo">709</span> * @return 0 in case of an exact key match, 1 in case of an inexact match,<a name="line.709"></a>
-<span class="sourceLineNo">710</span> * -2 in case of an inexact match and furthermore, the input key<a name="line.710"></a>
-<span class="sourceLineNo">711</span> * less than the first key of current block(e.g. using a faked index<a name="line.711"></a>
-<span class="sourceLineNo">712</span> * key)<a name="line.712"></a>
-<span class="sourceLineNo">713</span> */<a name="line.713"></a>
-<span class="sourceLineNo">714</span> protected int blockSeek(Cell key, boolean seekBefore) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span> int klen, vlen, tlen = 0;<a name="line.715"></a>
-<span class="sourceLineNo">716</span> int lastKeyValueSize = -1;<a name="line.716"></a>
-<span class="sourceLineNo">717</span> int offsetFromPos;<a name="line.717"></a>
-<span class="sourceLineNo">718</span> do {<a name="line.718"></a>
-<span class="sourceLineNo">719</span> offsetFromPos = 0;<a name="line.719"></a>
-<span class="sourceLineNo">720</span> // Better to ensure that we use the BB Utils here<a name="line.720"></a>
-<span class="sourceLineNo">721</span> long ll = blockBuffer.getLongAfterPosition(offsetFromPos);<a name="line.721"></a>
-<span class="sourceLineNo">722</span> klen = (int)(ll >> Integer.SIZE);<a name="line.722"></a>
-<span class="sourceLineNo">723</span> vlen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.723"></a>
-<span class="sourceLineNo">724</span> if (checkKeyLen(klen) || checkLen(vlen)) {<a name="line.724"></a>
-<span class="sourceLineNo">725</span> throw new IllegalStateException("Invalid klen " + klen + " or vlen "<a name="line.725"></a>
-<span class="sourceLineNo">726</span> + vlen + ". Block offset: "<a name="line.726"></a>
-<span class="sourceLineNo">727</span> + curBlock.getOffset() + ", block length: " + blockBuffer.limit() + ", position: "<a name="line.727"></a>
-<span class="sourceLineNo">728</span> + blockBuffer.position() + " (without header).");<a name="line.728"></a>
-<span class="sourceLineNo">729</span> }<a name="line.729"></a>
-<span class="sourceLineNo">730</span> offsetFromPos += Bytes.SIZEOF_LONG;<a name="line.730"></a>
-<span class="sourceLineNo">731</span> blockBuffer.asSubByteBuffer(blockBuffer.position() + offsetFromPos, klen, pair);<a name="line.731"></a>
-<span class="sourceLineNo">732</span> bufBackedKeyOnlyKv.setKey(pair.getFirst(), pair.getSecond(), klen);<a name="line.732"></a>
-<span class="sourceLineNo">733</span> int comp =<a name="line.733"></a>
-<span class="sourceLineNo">734</span> PrivateCellUtil.compareKeyIgnoresMvcc(reader.getComparator(), key, bufBackedKeyOnlyKv);<a name="line.734"></a>
-<span class="sourceLineNo">735</span> offsetFromPos += klen + vlen;<a name="line.735"></a>
-<span class="sourceLineNo">736</span> if (this.reader.getFileContext().isIncludesTags()) {<a name="line.736"></a>
-<span class="sourceLineNo">737</span> // Read short as unsigned, high byte first<a name="line.737"></a>
-<span class="sourceLineNo">738</span> tlen = ((blockBuffer.getByteAfterPosition(offsetFromPos) & 0xff) << 8)<a name="line.738"></a>
-<span class="sourceLineNo">739</span> ^ (blockBuffer.getByteAfterPosition(offsetFromPos + 1) & 0xff);<a name="line.739"></a>
-<span class="sourceLineNo">740</span> if (checkLen(tlen)) {<a name="line.740"></a>
-<span class="sourceLineNo">741</span> throw new IllegalStateException("Invalid tlen " + tlen + ". Block offset: "<a name="line.741"></a>
-<span class="sourceLineNo">742</span> + curBlock.getOffset() + ", block length: " + blockBuffer.limit() + ", position: "<a name="line.742"></a>
-<span class="sourceLineNo">743</span> + blockBuffer.position() + " (without header).");<a name="line.743"></a>
-<span class="sourceLineNo">744</span> }<a name="line.744"></a>
-<span class="sourceLineNo">745</span> // add the two bytes read for the tags.<a name="line.745"></a>
-<span class="sourceLineNo">746</span> offsetFromPos += tlen + (Bytes.SIZEOF_SHORT);<a name="line.746"></a>
-<span class="sourceLineNo">747</span> }<a name="line.747"></a>
-<span class="sourceLineNo">748</span> if (this.reader.shouldIncludeMemStoreTS()) {<a name="line.748"></a>
-<span class="sourceLineNo">749</span> // Directly read the mvcc based on current position<a name="line.749"></a>
-<span class="sourceLineNo">750</span> readMvccVersion(offsetFromPos);<a name="line.750"></a>
-<span class="sourceLineNo">751</span> }<a name="line.751"></a>
-<span class="sourceLineNo">752</span> if (comp == 0) {<a name="line.752"></a>
-<span class="sourceLineNo">753</span> if (seekBefore) {<a name="line.753"></a>
-<span class="sourceLineNo">754</span> if (lastKeyValueSize < 0) {<a name="line.754"></a>
-<span class="sourceLineNo">755</span> throw new IllegalStateException("blockSeek with seekBefore "<a name="line.755"></a>
-<span class="sourceLineNo">756</span> + "at the first key of the block: key=" + CellUtil.getCellKeyAsString(key)<a name="line.756"></a>
-<span class="sourceLineNo">757</span> + ", blockOffset=" + curBlock.getOffset() + ", onDiskSize="<a name="line.757"></a>
-<span class="sourceLineNo">758</span> + curBlock.getOnDiskSizeWithHeader());<a name="line.758"></a>
-<span class="sourceLineNo">759</span> }<a name="line.759"></a>
-<span class="sourceLineNo">760</span> blockBuffer.moveBack(lastKeyValueSize);<a name="line.760"></a>
-<span class="sourceLineNo">761</span> readKeyValueLen();<a name="line.761"></a>
-<span class="sourceLineNo">762</span> return 1; // non exact match.<a name="line.762"></a>
-<span class="sourceLineNo">763</span> }<a name="line.763"></a>
-<span class="sourceLineNo">764</span> currKeyLen = klen;<a name="line.764"></a>
-<span class="sourceLineNo">765</span> currValueLen = vlen;<a name="line.765"></a>
-<span class="sourceLineNo">766</span> currTagsLen = tlen;<a name="line.766"></a>
-<span class="sourceLineNo">767</span> return 0; // indicate exact match<a name="line.767"></a>
-<span class="sourceLineNo">768</span> } else if (comp < 0) {<a name="line.768"></a>
-<span class="sourceLineNo">769</span> if (lastKeyValueSize > 0) {<a name="line.769"></a>
-<span class="sourceLineNo">770</span> blockBuffer.moveBack(lastKeyValueSize);<a name="line.770"></a>
-<span class="sourceLineNo">771</span> }<a name="line.771"></a>
-<span class="sourceLineNo">772</span> readKeyValueLen();<a name="line.772"></a>
-<span class="sourceLineNo">773</span> if (lastKeyValueSize == -1 && blockBuffer.position() == 0) {<a name="line.773"></a>
-<span class="sourceLineNo">774</span> return HConstants.INDEX_KEY_MAGIC;<a name="line.774"></a>
-<span class="sourceLineNo">775</span> }<a name="line.775"></a>
-<span class="sourceLineNo">776</span> return 1;<a name="line.776"></a>
-<span class="sourceLineNo">777</span> }<a name="line.777"></a>
-<span class="sourceLineNo">778</span> // The size of this key/value tuple, including key/value length fields.<a name="line.778"></a>
-<span class="sourceLineNo">779</span> lastKeyValueSize = klen + vlen + currMemstoreTSLen + KEY_VALUE_LEN_SIZE;<a name="line.779"></a>
-<span class="sourceLineNo">780</span> // include tag length also if tags included with KV<a name="line.780"></a>
-<span class="sourceLineNo">781</span> if (reader.getFileContext().isIncludesTags()) {<a name="line.781"></a>
-<span class="sourceLineNo">782</span> lastKeyValueSize += tlen + Bytes.SIZEOF_SHORT;<a name="line.782"></a>
-<span class="sourceLineNo">783</span> }<a name="line.783"></a>
-<span class="sourceLineNo">784</span> blockBuffer.skip(lastKeyValueSize);<a name="line.784"></a>
-<span class="sourceLineNo">785</span> } while (blockBuffer.hasRemaining());<a name="line.785"></a>
-<span class="sourceLineNo">786</span><a name="line.786"></a>
-<span class="sourceLineNo">787</span> // Seek to the last key we successfully read. This will happen if this is<a name="line.787"></a>
-<span class="sourceLineNo">788</span> // the last key/value pair in the file, in which case the following call<a name="line.788"></a>
-<span class="sourceLineNo">789</span> // to next() has to return false.<a name="line.789"></a>
-<span class="sourceLineNo">790</span> blockBuffer.moveBack(lastKeyValueSize);<a name="line.790"></a>
-<span class="sourceLineNo">791</span> readKeyValueLen();<a name="line.791"></a>
-<span class="sourceLineNo">792</span> return 1; // didn't exactly find it.<a name="line.792"></a>
-<span class="sourceLineNo">793</span> }<a name="line.793"></a>
-<span class="sourceLineNo">794</span><a name="line.794"></a>
-<span class="sourceLineNo">795</span> @Override<a name="line.795"></a>
-<span class="sourceLineNo">796</span> public Cell getNextIndexedKey() {<a name="line.796"></a>
-<span class="sourceLineNo">797</span> return nextIndexedKey;<a name="line.797"></a>
-<span class="sourceLineNo">798</span> }<a name="line.798"></a>
-<span class="sourceLineNo">799</span><a name="line.799"></a>
-<span class="sourceLineNo">800</span> @Override<a name="line.800"></a>
-<span class="sourceLineNo">801</span> public int seekTo(Cell key) throws IOException {<a name="line.801"></a>
-<span class="sourceLineNo">802</span> return seekTo(key, true);<a name="line.802"></a>
-<span class="sourceLineNo">803</span> }<a name="line.803"></a>
-<span class="sourceLineNo">804</span><a name="line.804"></a>
-<span class="sourceLineNo">805</span> @Override<a name="line.805"></a>
-<span class="sourceLineNo">806</span> public int reseekTo(Cell key) throws IOException {<a name="line.806"></a>
-<span class="sourceLineNo">807</span> int compared;<a name="line.807"></a>
-<span class="sourceLineNo">808</span> if (isSeeked()) {<a name="line.808"></a>
-<span class="sourceLineNo">809</span> compared = compareKey(reader.getComparator(), key);<a name="line.809"></a>
-<span class="sourceLineNo">810</span> if (compared < 1) {<a name="line.810"></a>
-<span class="sourceLineNo">811</span> // If the required key is less than or equal to current key, then<a name="line.811"></a>
-<span class="sourceLineNo">812</span> // don't do anything.<a name="line.812"></a>
-<span class="sourceLineNo">813</span> return compared;<a name="line.813"></a>
-<span class="sourceLineNo">814</span> } else {<a name="line.814"></a>
-<span class="sourceLineNo">815</span> // The comparison with no_next_index_key has to be checked<a name="line.815"></a>
-<span class="sourceLineNo">816</span> if (this.nextIndexedKey != null &&<a name="line.816"></a>
-<span class="sourceLineNo">817</span> (this.nextIndexedKey == KeyValueScanner.NO_NEXT_INDEXED_KEY || PrivateCellUtil<a name="line.817"></a>
-<span class="sourceLineNo">818</span> .compareKeyIgnoresMvcc(reader.getComparator(), key, nextIndexedKey) < 0)) {<a name="line.818"></a>
-<span class="sourceLineNo">819</span> // The reader shall continue to scan the current data block instead<a name="line.819"></a>
-<span class="sourceLineNo">820</span> // of querying the<a name="line.820"></a>
-<span class="sourceLineNo">821</span> // block index as long as it knows the target key is strictly<a name="line.821"></a>
-<span class="sourceLineNo">822</span> // smaller than<a name="line.822"></a>
-<span class="sourceLineNo">823</span> // the next indexed key or the current data block is the last data<a name="line.823"></a>
-<span class="sourceLineNo">824</span> // block.<a name="line.824"></a>
-<span class="sourceLineNo">825</span> return loadBlockAndSeekToKey(this.curBlock, nextIndexedKey, false, key,<a name="line.825"></a>
-<span class="sourceLineNo">826</span> false);<a name="line.826"></a>
-<span class="sourceLineNo">827</span> }<a name="line.827"></a>
-<span class="sourceLineNo">828</span><a name="line.828"></a>
-<span class="sourceLineNo">829</span> }<a name="line.829"></a>
-<span class="sourceLineNo">830</span> }<a name="line.830"></a>
-<span class="sourceLineNo">831</span> // Don't rewind on a reseek operation, because reseek implies that we are<a name="line.831"></a>
-<span class="sourceLineNo">832</span> // always going forward in the file.<a name="line.832"></a>
-<span class="sourceLineNo">833</span> return seekTo(key, false);<a name="line.833"></a>
-<span class="sourceLineNo">834</span> }<a name="line.834"></a>
-<span class="sourceLineNo">835</span><a name="line.835"></a>
-<span class="sourceLineNo">836</span> /**<a name="line.836"></a>
-<span class="sourceLineNo">837</span> * An internal API function. Seek to the given key, optionally rewinding to<a name="line.837"></a>
-<span class="sourceLineNo">838</span> * the first key of the block before doing the seek.<a name="line.838"></a>
-<span class="sourceLineNo">839</span> *<a name="line.839"></a>
-<span class="sourceLineNo">840</span> * @param key - a cell representing the key that we need to fetch<a name="line.840"></a>
-<span class="sourceLineNo">841</span> * @param rewind whether to rewind to the first key of the block before<a name="line.841"></a>
-<span class="sourceLineNo">842</span> * doing the seek. If this is false, we are assuming we never go<a name="line.842"></a>
-<span class="sourceLineNo">843</span> * back, otherwise the result is undefined.<a name="line.843"></a>
-<span class="sourceLineNo">844</span> * @return -1 if the key is earlier than the first key of the file,<a name="line.844"></a>
-<span class="sourceLineNo">845</span> * 0 if we are at the given key, 1 if we are past the given key<a name="line.845"></a>
-<span class="sourceLineNo">846</span> * -2 if the key is earlier than the first key of the file while<a name="line.846"></a>
-<span class="sourceLineNo">847</span> * using a faked index key<a name="line.847"></a>
-<span class="sourceLineNo">848</span> * @throws IOException<a name="line.848"></a>
-<span class="sourceLineNo">849</span> */<a name="line.849"></a>
-<span class="sourceLineNo">850</span> public int seekTo(Cell key, boolean rewind) throws IOException {<a name="line.850"></a>
-<span class="sourceLineNo">851</span> HFileBlockIndex.BlockIndexReader indexReader = reader.getDataBlockIndexReader();<a name="line.851"></a>
-<span class="sourceLineNo">852</span> BlockWithScanInfo blockWithScanInfo = indexReader.loadDataBlockWithScanInfo(key, curBlock,<a name="line.852"></a>
-<span class="sourceLineNo">853</span> cacheBlocks, pread, isCompaction, getEffectiveDataBlockEncoding());<a name="line.853"></a>
-<span class="sourceLineNo">854</span> if (blockWithScanInfo == null || blockWithScanInfo.getHFileBlock() == null) {<a name="line.854"></a>
-<span class="sourceLineNo">855</span> // This happens if the key e.g. falls before the beginning of the<a name="line.855"></a>
-<span class="sourceLineNo">856</span> // file.<a name="line.856"></a>
-<span class="sourceLineNo">857</span> return -1;<a name="line.857"></a>
-<span class="sourceLineNo">858</span> }<a name="line.858"></a>
-<span class="sourceLineNo">859</span> return loadBlockAndSeekToKey(blockWithScanInfo.getHFileBlock(),<a name="line.859"></a>
-<span class="sourceLineNo">860</span> blockWithScanInfo.getNextIndexedKey(), rewind, key, false);<a name="line.860"></a>
-<span class="sourceLineNo">861</span> }<a name="line.861"></a>
-<span class="sourceLineNo">862</span><a name="line.862"></a>
-<span class="sourceLineNo">863</span> @Override<a name="line.863"></a>
-<span class="sourceLineNo">864</span> public boolean seekBefore(Cell key) throws IOException {<a name="line.864"></a>
-<span class="sourceLineNo">865</span> HFileBlock seekToBlock = reader.getDataBlockIndexReader().seekToDataBlock(key, curBlock,<a name="line.865"></a>
-<span class="sourceLineNo">866</span> cacheBlocks, pread, isCompaction, reader.getEffectiveEncodingInCache(isCompaction));<a name="line.866"></a>
-<span class="sourceLineNo">867</span> if (seekToBlock == null) {<a name="line.867"></a>
-<span class="sourceLineNo">868</span> return false;<a name="line.868"></a>
-<span class="sourceLineNo">869</span> }<a name="line.869"></a>
-<span class="sourceLineNo">870</span> Cell firstKey = getFirstKeyCellInBlock(seekToBlock);<a name="line.870"></a>
-<span class="sourceLineNo">871</span> if (PrivateCellUtil.compareKeyIgnoresMvcc(reader.getComparator(), firstKey, key) >= 0) {<a name="line.871"></a>
-<span class="sourceLineNo">872</span> long previousBlockOffset = seekToBlock.getPrevBlockOffset();<a name="line.872"></a>
-<span class="sourceLineNo">873</span> // The key we are interested in<a name="line.873"></a>
-<span class="sourceLineNo">874</span> if (previousBlockOffset == -1) {<a name="line.874"></a>
-<span class="sourceLineNo">875</span> // we have a 'problem', the key we want is the first of the file.<a name="line.875"></a>
-<span class="sourceLineNo">876</span> return false;<a name="line.876"></a>
-<span class="sourceLineNo">877</span> }<a name="line.877"></a>
-<span class="sourceLineNo">878</span><a name="line.878"></a>
-<span class="sourceLineNo">879</span> // The first key in the current block 'seekToBlock' is greater than the given<a name="line.879"></a>
-<span class="sourceLineNo">880</span> // seekBefore key. We will go ahead by reading the next block that satisfies the<a name="line.880"></a>
-<span class="sourceLineNo">881</span> // given key. Return the current block before reading the next one.<a name="line.881"></a>
-<span class="sourceLineNo">882</span> reader.returnBlock(seekToBlock);<a name="line.882"></a>
-<span class="sourceLineNo">883</span> // It is important that we compute and pass onDiskSize to the block<a name="line.883"></a>
-<span class="sourceLineNo">884</span> // reader so that it does not have to read the header separately to<a name="line.884"></a>
-<span class="sourceLineNo">885</span> // figure out the size. Currently, we do not have a way to do this<a name="line.885"></a>
-<span class="sourceLineNo">886</span> // correctly in the general case however.<a name="line.886"></a>
-<span class="sourceLineNo">887</span> // TODO: See https://issues.apache.org/jira/browse/HBASE-14576<a name="line.887"></a>
-<span class="sourceLineNo">888</span> int prevBlockSize = -1;<a name="line.888"></a>
-<span class="sourceLineNo">889</span> seekToBlock = reader.readBlock(previousBlockOffset,<a name="line.889"></a>
-<span class="sourceLineNo">890</span> prevBlockSize, cacheBlocks,<a name="line.890"></a>
-<span class="sourceLineNo">891</span> pread, isCompaction, true, BlockType.DATA, getEffectiveDataBlockEncoding());<a name="line.891"></a>
-<span class="sourceLineNo">892</span> // TODO shortcut: seek forward in this block to the last key of the<a name="line.892"></a>
-<span class="sourceLineNo">893</span> // block.<a name="line.893"></a>
-<span class="sourceLineNo">894</span> }<a name="line.894"></a>
-<span class="sourceLineNo">895</span> loadBlockAndSeekToKey(seekToBlock, firstKey, true, key, true);<a name="line.895"></a>
-<span class="sourceLineNo">896</span> return true;<a name="line.896"></a>
-<span class="sourceLineNo">897</span> }<a name="line.897"></a>
-<span class="sourceLineNo">898</span><a name="line.898"></a>
-<span class="sourceLineNo">899</span> /**<a name="line.899"></a>
-<span class="sourceLineNo">900</span> * Scans blocks in the "scanned" section of the {@link HFile} until the next<a name="line.900"></a>
-<span class="sourceLineNo">901</span> * data block is found.<a name="line.901"></a>
-<span class="sourceLineNo">902</span> *<a name="line.902"></a>
-<span class="sourceLineNo">903</span> * @return the next block, or null if there are no more data blocks<a name="line.903"></a>
-<span class="sourceLineNo">904</span> * @throws IOException<a name="line.904"></a>
-<span class="sourceLineNo">905</span> */<a name="line.905"></a>
-<span class="sourceLineNo">906</span> @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.906"></a>
-<span class="sourceLineNo">907</span> justification="Yeah, unnecessary null check; could do w/ clean up")<a name="line.907"></a>
-<span class="sourceLineNo">908</span> protected HFileBlock readNextDataBlock() throws IOException {<a name="line.908"></a>
-<span class="sourceLineNo">909</span> long lastDataBlockOffset = reader.getTrailer().getLastDataBlockOffset();<a name="line.909"></a>
-<span class="sourceLineNo">910</span> if (curBlock == null)<a name="line.910"></a>
-<span class="sourceLineNo">911</span> return null;<a name="line.911"></a>
-<span class="sourceLineNo">912</span><a name="line.912"></a>
-<span class="sourceLineNo">913</span> HFileBlock block = this.curBlock;<a name="line.913"></a>
-<span class="sourceLineNo">914</span><a name="line.914"></a>
-<span class="sourceLineNo">915</span> do {<a name="line.915"></a>
-<span class="sourceLineNo">916</span> if (block.getOffset() >= lastDataBlockOffset) {<a name="line.916"></a>
-<span class="sourceLineNo">917</span> return null;<a name="line.917"></a>
-<span class="sourceLineNo">918</span> }<a name="line.918"></a>
-<span class="sourceLineNo">919</span><a name="line.919"></a>
-<span class="sourceLineNo">920</span> if (block.getOffset() < 0) {<a name="line.920"></a>
-<span class="sourceLineNo">921</span> throw new IOException("Invalid block file offset: " + block);<a name="line.921"></a>
-<span class="sourceLineNo">922</span> }<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span> // We are reading the next block without block type validation, because<a name="line.924"></a>
-<span class="sourceLineNo">925</span> // it might turn out to be a non-data block.<a name="line.925"></a>
-<span class="sourceLineNo">926</span> block = reader.readBlock(block.getOffset() + block.getOnDiskSizeWithHeader(),<a name="line.926"></a>
-<span class="sourceLineNo">927</span> block.getNextBlockOnDiskSize(), cacheBlocks, pread,<a name="line.927"></a>
-<span class="sourceLineNo">928</span> isCompaction, true, null, getEffectiveDataBlockEncoding());<a name="line.928"></a>
-<span class="sourceLineNo">929</span> if (block != null && !block.getBlockType().isData()) { // Findbugs: NP_NULL_ON_SOME_PATH<a name="line.929"></a>
-<span class="sourceLineNo">930</span> // Whatever block we read we will be returning it unless<a name="line.930"></a>
-<span class="sourceLineNo">931</span> // it is a datablock. Just in case the blocks are non data blocks<a name="line.931"></a>
-<span class="sourceLineNo">932</span> reader.returnBlock(block);<a name="line.932"></a>
-<span class="sourceLineNo">933</span> }<a name="line.933"></a>
-<span class="sourceLineNo">934</span> } while (!block.getBlockType().isData());<a name="line.934"></a>
-<span class="sourceLineNo">935</span><a name="line.935"></a>
-<span class="sourceLineNo">936</span> return block;<a name="line.936"></a>
-<span class="sourceLineNo">937</span> }<a name="line.937"></a>
+<span class="sourceLineNo">373</span> if (block != null) {<a name="line.373"></a>
+<span class="sourceLineNo">374</span> this.cacheConf.getBlockCache().ifPresent(blockCache -> {<a name="line.374"></a>
+<span class="sourceLineNo">375</span> BlockCacheKey cacheKey =<a name="line.375"></a>
+<span class="sourceLineNo">376</span> new BlockCacheKey(this.getFileContext().getHFileName(), block.getOffset(),<a name="line.376"></a>
+<span class="sourceLineNo">377</span> this.isPrimaryReplicaReader(), block.getBlockType());<a name="line.377"></a>
+<span class="sourceLineNo">378</span> blockCache.returnBlock(cacheKey, block);<a name="line.378"></a>
+<span class="sourceLineNo">379</span> });<a name="line.379"></a>
+<span class="sourceLineNo">380</span> }<a name="line.380"></a>
+<span class="sourceLineNo">381</span> }<a name="line.381"></a>
+<span class="sourceLineNo">382</span><a name="line.382"></a>
+<span class="sourceLineNo">383</span> /**<a name="line.383"></a>
+<span class="sourceLineNo">384</span> * @return the first key in the file. May be null if file has no entries. Note<a name="line.384"></a>
+<span class="sourceLineNo">385</span> * that this is not the first row key, but rather the byte form of the<a name="line.385"></a>
+<span class="sourceLineNo">386</span> * first KeyValue.<a name="line.386"></a>
+<span class="sourceLineNo">387</span> */<a name="line.387"></a>
+<span class="sourceLineNo">388</span> @Override<a name="line.388"></a>
+<span class="sourceLineNo">389</span> public Optional<Cell> getFirstKey() {<a name="line.389"></a>
+<span class="sourceLineNo">390</span> if (dataBlockIndexReader == null) {<a name="line.390"></a>
+<span class="sourceLineNo">391</span> throw new BlockIndexNotLoadedException();<a name="line.391"></a>
+<span class="sourceLineNo">392</span> }<a name="line.392"></a>
+<span class="sourceLineNo">393</span> return dataBlockIndexReader.isEmpty() ? Optional.empty()<a name="line.393"></a>
+<span class="sourceLineNo">394</span> : Optional.of(dataBlockIndexReader.getRootBlockKey(0));<a name="line.394"></a>
+<span class="sourceLineNo">395</span> }<a name="line.395"></a>
+<span class="sourceLineNo">396</span><a name="line.396"></a>
+<span class="sourceLineNo">397</span> /**<a name="line.397"></a>
+<span class="sourceLineNo">398</span> * TODO left from {@link HFile} version 1: move this to StoreFile after Ryan's<a name="line.398"></a>
+<span class="sourceLineNo">399</span> * patch goes in to eliminate {@link KeyValue} here.<a name="line.399"></a>
+<span class="sourceLineNo">400</span> *<a name="line.400"></a>
+<span class="sourceLineNo">401</span> * @return the first row key, or null if the file is empty.<a name="line.401"></a>
+<span class="sourceLineNo">402</span> */<a name="line.402"></a>
+<span class="sourceLineNo">403</span> @Override<a name="line.403"></a>
+<span class="sourceLineNo">404</span> public Optional<byte[]> getFirstRowKey() {<a name="line.404"></a>
+<span class="sourceLineNo">405</span> // We have to copy the row part to form the row key alone<a name="line.405"></a>
+<span class="sourceLineNo">406</span> return getFirstKey().map(CellUtil::cloneRow);<a name="line.406"></a>
+<span class="sourceLineNo">407</span> }<a name="line.407"></a>
+<span class="sourceLineNo">408</span><a name="line.408"></a>
+<span class="sourceLineNo">409</span> /**<a name="line.409"></a>
+<span class="sourceLineNo">410</span> * TODO left from {@link HFile} version 1: move this to StoreFile after<a name="line.410"></a>
+<span class="sourceLineNo">411</span> * Ryan's patch goes in to eliminate {@link KeyValue} here.<a name="line.411"></a>
+<span class="sourceLineNo">412</span> *<a name="line.412"></a>
+<span class="sourceLineNo">413</span> * @return the last row key, or null if the file is empty.<a name="line.413"></a>
+<span class="sourceLineNo">414</span> */<a name="line.414"></a>
+<span class="sourceLineNo">415</span> @Override<a name="line.415"></a>
+<span class="sourceLineNo">416</span> public Optional<byte[]> getLastRowKey() {<a name="line.416"></a>
+<span class="sourceLineNo">417</span> // We have to copy the row part to form the row key alone<a name="line.417"></a>
+<span class="sourceLineNo">418</span> return getLastKey().map(CellUtil::cloneRow);<a name="line.418"></a>
+<span class="sourceLineNo">419</span> }<a name="line.419"></a>
+<span class="sourceLineNo">420</span><a name="line.420"></a>
+<span class="sourceLineNo">421</span> /** @return number of KV entries in this HFile */<a name="line.421"></a>
+<span class="sourceLineNo">422</span> @Override<a name="line.422"></a>
+<span class="sourceLineNo">423</span> public long getEntries() {<a name="line.423"></a>
+<span class="sourceLineNo">424</span> return trailer.getEntryCount();<a name="line.424"></a>
+<span class="sourceLineNo">425</span> }<a name="line.425"></a>
+<span class="sourceLineNo">426</span><a name="line.426"></a>
+<span class="sourceLineNo">427</span> /** @return comparator */<a name="line.427"></a>
+<span class="sourceLineNo">428</span> @Override<a name="line.428"></a>
+<span class="sourceLineNo">429</span> public CellComparator getComparator() {<a name="line.429"></a>
+<span class="sourceLineNo">430</span> return comparator;<a name="line.430"></a>
+<span class="sourceLineNo">431</span> }<a name="line.431"></a>
+<span class="sourceLineNo">432</span><a name="line.432"></a>
+<span class="sourceLineNo">433</span> /** @return compression algorithm */<a name="line.433"></a>
+<span class="sourceLineNo">434</span> @Override<a name="line.434"></a>
+<span class="sourceLineNo">435</span> public Compression.Algorithm getCompressionAlgorithm() {<a name="line.435"></a>
+<span class="sourceLineNo">436</span> return compressAlgo;<a name="line.436"></a>
+<span class="sourceLineNo">437</span> }<a name="line.437"></a>
+<span class="sourceLineNo">438</span><a name="line.438"></a>
+<span class="sourceLineNo">439</span> /**<a name="line.439"></a>
+<span class="sourceLineNo">440</span> * @return the total heap size of data and meta block indexes in bytes. Does<a name="line.440"></a>
+<span class="sourceLineNo">441</span> * not take into account non-root blocks of a multilevel data index.<a name="line.441"></a>
+<span class="sourceLineNo">442</span> */<a name="line.442"></a>
+<span class="sourceLineNo">443</span> @Override<a name="line.443"></a>
+<span class="sourceLineNo">444</span> public long indexSize() {<a name="line.444"></a>
+<span class="sourceLineNo">445</span> return (dataBlockIndexReader != null ? dataBlockIndexReader.heapSize() : 0)<a name="line.445"></a>
+<span class="sourceLineNo">446</span> + ((metaBlockIndexReader != null) ? metaBlockIndexReader.heapSize()<a name="line.446"></a>
+<span class="sourceLineNo">447</span> : 0);<a name="line.447"></a>
+<span class="sourceLineNo">448</span> }<a name="line.448"></a>
+<span class="sourceLineNo">449</span><a name="line.449"></a>
+<span class="sourceLineNo">450</span> @Override<a name="line.450"></a>
+<span class="sourceLineNo">451</span> public String getName() {<a name="line.451"></a>
+<span class="sourceLineNo">452</span> return name;<a name="line.452"></a>
+<span class="sourceLineNo">453</span> }<a name="line.453"></a>
+<span class="sourceLineNo">454</span><a name="line.454"></a>
+<span class="sourceLineNo">455</span> @Override<a name="line.455"></a>
+<span class="sourceLineNo">456</span> public HFileBlockIndex.BlockIndexReader getDataBlockIndexReader() {<a name="line.456"></a>
+<span class="sourceLineNo">457</span> return dataBlockIndexReader;<a name="line.457"></a>
+<span class="sourceLineNo">458</span> }<a name="line.458"></a>
+<span class="sourceLineNo">459</span><a name="line.459"></a>
+<span class="sourceLineNo">460</span> @Override<a name="line.460"></a>
+<span class="sourceLineNo">461</span> public FixedFileTrailer getTrailer() {<a name="line.461"></a>
+<span class="sourceLineNo">462</span> return trailer;<a name="line.462"></a>
+<span class="sourceLineNo">463</span> }<a name="line.463"></a>
+<span class="sourceLineNo">464</span><a name="line.464"></a>
+<span class="sourceLineNo">465</span> @Override<a name="line.465"></a>
+<span class="sourceLineNo">466</span> public boolean isPrimaryReplicaReader() {<a name="line.466"></a>
+<span class="sourceLineNo">467</span> return primaryReplicaReader;<a name="line.467"></a>
+<span class="sourceLineNo">468</span> }<a name="line.468"></a>
+<span class="sourceLineNo">469</span><a name="line.469"></a>
+<span class="sourceLineNo">470</span> @Override<a name="line.470"></a>
+<span class="sourceLineNo">471</span> public FileInfo loadFileInfo() throws IOException {<a name="line.471"></a>
+<span class="sourceLineNo">472</span> return fileInfo;<a name="line.472"></a>
+<span class="sourceLineNo">473</span> }<a name="line.473"></a>
+<span class="sourceLineNo">474</span><a name="line.474"></a>
+<span class="sourceLineNo">475</span> /**<a name="line.475"></a>
+<span class="sourceLineNo">476</span> * An exception thrown when an operation requiring a scanner to be seeked<a name="line.476"></a>
+<span class="sourceLineNo">477</span> * is invoked on a scanner that is not seeked.<a name="line.477"></a>
+<span class="sourceLineNo">478</span> */<a name="line.478"></a>
+<span class="sourceLineNo">479</span> @SuppressWarnings("serial")<a name="line.479"></a>
+<span class="sourceLineNo">480</span> public static class NotSeekedException extends IllegalStateException {<a name="line.480"></a>
+<span class="sourceLineNo">481</span> public NotSeekedException() {<a name="line.481"></a>
+<span class="sourceLineNo">482</span> super("Not seeked to a key/value");<a name="line.482"></a>
+<span class="sourceLineNo">483</span> }<a name="line.483"></a>
+<span class="sourceLineNo">484</span> }<a name="line.484"></a>
+<span class="sourceLineNo">485</span><a name="line.485"></a>
+<span class="sourceLineNo">486</span> protected static class HFileScannerImpl implements HFileScanner {<a name="line.486"></a>
+<span class="sourceLineNo">487</span> private ByteBuff blockBuffer;<a name="line.487"></a>
+<span class="sourceLineNo">488</span> protected final boolean cacheBlocks;<a name="line.488"></a>
+<span class="sourceLineNo">489</span> protected final boolean pread;<a name="line.489"></a>
+<span class="sourceLineNo">490</span> protected final boolean isCompaction;<a name="line.490"></a>
+<span class="sourceLineNo">491</span> private int currKeyLen;<a name="line.491"></a>
+<span class="sourceLineNo">492</span> private int currValueLen;<a name="line.492"></a>
+<span class="sourceLineNo">493</span> private int currMemstoreTSLen;<a name="line.493"></a>
+<span class="sourceLineNo">494</span> private long currMemstoreTS;<a name="line.494"></a>
+<span class="sourceLineNo">495</span> // Updated but never read?<a name="line.495"></a>
+<span class="sourceLineNo">496</span> protected AtomicInteger blockFetches = new AtomicInteger(0);<a name="line.496"></a>
+<span class="sourceLineNo">497</span> protected final HFile.Reader reader;<a name="line.497"></a>
+<span class="sourceLineNo">498</span> private int currTagsLen;<a name="line.498"></a>
+<span class="sourceLineNo">499</span> // buffer backed keyonlyKV<a name="line.499"></a>
+<span class="sourceLineNo">500</span> private ByteBufferKeyOnlyKeyValue bufBackedKeyOnlyKv = new ByteBufferKeyOnlyKeyValue();<a name="line.500"></a>
+<span class="sourceLineNo">501</span> // A pair for reusing in blockSeek() so that we don't garbage lot of objects<a name="line.501"></a>
+<span class="sourceLineNo">502</span> final ObjectIntPair<ByteBuffer> pair = new ObjectIntPair<>();<a name="line.502"></a>
+<span class="sourceLineNo">503</span><a name="line.503"></a>
+<span class="sourceLineNo">504</span> /**<a name="line.504"></a>
+<span class="sourceLineNo">505</span> * The next indexed key is to keep track of the indexed key of the next data block.<a name="line.505"></a>
+<span class="sourceLineNo">506</span> * If the nextIndexedKey is HConstants.NO_NEXT_INDEXED_KEY, it means that the<a name="line.506"></a>
+<span class="sourceLineNo">507</span> * current data block is the last data block.<a name="line.507"></a>
+<span class="sourceLineNo">508</span> *<a name="line.508"></a>
+<span class="sourceLineNo">509</span> * If the nextIndexedKey is null, it means the nextIndexedKey has not been loaded yet.<a name="line.509"></a>
+<span class="sourceLineNo">510</span> */<a name="line.510"></a>
+<span class="sourceLineNo">511</span> protected Cell nextIndexedKey;<a name="line.511"></a>
+<span class="sourceLineNo">512</span> // Current block being used<a name="line.512"></a>
+<span class="sourceLineNo">513</span> protected HFileBlock curBlock;<a name="line.513"></a>
+<span class="sourceLineNo">514</span> // Previous blocks that were used in the course of the read<a name="line.514"></a>
+<span class="sourceLineNo">515</span> protected final ArrayList<HFileBlock> prevBlocks = new ArrayList<>();<a name="line.515"></a>
+<span class="sourceLineNo">516</span><a name="line.516"></a>
+<span class="sourceLineNo">517</span> public HFileScannerImpl(final HFile.Reader reader, final boolean cacheBlocks,<a name="line.517"></a>
+<span class="sourceLineNo">518</span> final boolean pread, final boolean isCompaction) {<a name="line.518"></a>
+<span class="sourceLineNo">519</span> this.reader = reader;<a name="line.519"></a>
+<span class="sourceLineNo">520</span> this.cacheBlocks = cacheBlocks;<a name="line.520"></a>
+<span class="sourceLineNo">521</span> this.pread = pread;<a name="line.521"></a>
+<span class="sourceLineNo">522</span> this.isCompaction = isCompaction;<a name="line.522"></a>
+<span class="sourceLineNo">523</span> }<a name="line.523"></a>
+<span class="sourceLineNo">524</span><a name="line.524"></a>
+<span class="sourceLineNo">525</span> void updateCurrBlockRef(HFileBlock block) {<a name="line.525"></a>
+<span class="sourceLineNo">526</span> if (block != null && this.curBlock != null &&<a name="line.526"></a>
+<span class="sourceLineNo">527</span> block.getOffset() == this.curBlock.getOffset()) {<a name="line.527"></a>
+<span class="sourceLineNo">528</span> return;<a name="line.528"></a>
+<span class="sourceLineNo">529</span> }<a name="line.529"></a>
+<span class="sourceLineNo">530</span> // We don't have to keep ref to EXCLUSIVE type of block<a name="line.530"></a>
+<span class="sourceLineNo">531</span> if (this.curBlock != null && this.curBlock.usesSharedMemory()) {<a name="line.531"></a>
+<span class="sourceLineNo">532</span> prevBlocks.add(this.curBlock);<a name="line.532"></a>
+<span class="sourceLineNo">533</span> }<a name="line.533"></a>
+<span class="sourceLineNo">534</span> this.curBlock = block;<a name="line.534"></a>
+<span class="sourceLineNo">535</span> }<a name="line.535"></a>
+<span class="sourceLineNo">536</span><a name="line.536"></a>
+<span class="sourceLineNo">537</span> void reset() {<a name="line.537"></a>
+<span class="sourceLineNo">538</span> // We don't have to keep ref to EXCLUSIVE type of block<a name="line.538"></a>
+<span class="sourceLineNo">539</span> if (this.curBlock != null && this.curBlock.usesSharedMemory()) {<a name="line.539"></a>
+<span class="sourceLineNo">540</span> this.prevBlocks.add(this.curBlock);<a name="line.540"></a>
+<span class="sourceLineNo">541</span> }<a name="line.541"></a>
+<span class="sourceLineNo">542</span> this.curBlock = null;<a name="line.542"></a>
+<span class="sourceLineNo">543</span> }<a name="line.543"></a>
+<span class="sourceLineNo">544</span><a name="line.544"></a>
+<span class="sourceLineNo">545</span> private void returnBlockToCache(HFileBlock block) {<a name="line.545"></a>
+<span class="sourceLineNo">546</span> if (LOG.isTraceEnabled()) {<a name="line.546"></a>
+<span class="sourceLineNo">547</span> LOG.trace("Returning the block : " + block);<a name="line.547"></a>
+<span class="sourceLineNo">548</span> }<a name="line.548"></a>
+<span class="sourceLineNo">549</span> this.reader.returnBlock(block);<a name="line.549"></a>
+<span class="sourceLineNo">550</span> }<a name="line.550"></a>
+<span class="sourceLineNo">551</span><a name="line.551"></a>
+<span class="sourceLineNo">552</span> private void returnBlocks(boolean returnAll) {<a name="line.552"></a>
+<span class="sourceLineNo">553</span> for (int i = 0; i < this.prevBlocks.size(); i++) {<a name="line.553"></a>
+<span class="sourceLineNo">554</span> returnBlockToCache(this.prevBlocks.get(i));<a name="line.554"></a>
+<span class="sourceLineNo">555</span> }<a name="line.555"></a>
+<span class="sourceLineNo">556</span> this.prevBlocks.clear();<a name="line.556"></a>
+<span class="sourceLineNo">557</span> if (returnAll && this.curBlock != null) {<a name="line.557"></a>
+<span class="sourceLineNo">558</span> returnBlockToCache(this.curBlock);<a name="line.558"></a>
+<span class="sourceLineNo">559</span> this.curBlock = null;<a name="line.559"></a>
+<span class="sourceLineNo">560</span> }<a name="line.560"></a>
+<span class="sourceLineNo">561</span> }<a name="line.561"></a>
+<span class="sourceLineNo">562</span> @Override<a name="line.562"></a>
+<span class="sourceLineNo">563</span> public boolean isSeeked(){<a name="line.563"></a>
+<span class="sourceLineNo">564</span> return blockBuffer != null;<a name="line.564"></a>
+<span class="sourceLineNo">565</span> }<a name="line.565"></a>
+<span class="sourceLineNo">566</span><a name="line.566"></a>
+<span class="sourceLineNo">567</span> @Override<a name="line.567"></a>
+<span class="sourceLineNo">568</span> public String toString() {<a name="line.568"></a>
+<span class="sourceLineNo">569</span> return "HFileScanner for reader " + String.valueOf(getReader());<a name="line.569"></a>
+<span class="sourceLineNo">570</span> }<a name="line.570"></a>
+<span class="sourceLineNo">571</span><a name="line.571"></a>
+<span class="sourceLineNo">572</span> protected void assertSeeked() {<a name="line.572"></a>
+<span class="sourceLineNo">573</span> if (!isSeeked())<a name="line.573"></a>
+<span class="sourceLineNo">574</span> throw new NotSeekedException();<a name="line.574"></a>
+<span class="sourceLineNo">575</span> }<a name="line.575"></a>
+<span class="sourceLineNo">576</span><a name="line.576"></a>
+<span class="sourceLineNo">577</span> @Override<a name="line.577"></a>
+<span class="sourceLineNo">578</span> public HFile.Reader getReader() {<a name="line.578"></a>
+<span class="sourceLineNo">579</span> return reader;<a name="line.579"></a>
+<span class="sourceLineNo">580</span> }<a name="line.580"></a>
+<span class="sourceLineNo">581</span><a name="line.581"></a>
+<span class="sourceLineNo">582</span> // From non encoded HFiles, we always read back KeyValue or its descendant.(Note: When HFile<a name="line.582"></a>
+<span class="sourceLineNo">583</span> // block is in DBB, it will be OffheapKV). So all parts of the Cell is in a contiguous<a name="line.583"></a>
+<span class="sourceLineNo">584</span> // array/buffer. How many bytes we should wrap to make the KV is what this method returns.<a name="line.584"></a>
+<span class="sourceLineNo">585</span> private int getKVBufSize() {<a name="line.585"></a>
+<span class="sourceLineNo">586</span> int kvBufSize = KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen;<a name="line.586"></a>
+<span class="sourceLineNo">587</span> if (currTagsLen > 0) {<a name="line.587"></a>
+<span class="sourceLineNo">588</span> kvBufSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.588"></a>
+<span class="sourceLineNo">589</span> }<a name="line.589"></a>
+<span class="sourceLineNo">590</span> return kvBufSize;<a name="line.590"></a>
+<span class="sourceLineNo">591</span> }<a name="line.591"></a>
+<span class="sourceLineNo">592</span><a name="line.592"></a>
+<span class="sourceLineNo">593</span> @Override<a name="line.593"></a>
+<span class="sourceLineNo">594</span> public void close() {<a name="line.594"></a>
+<span class="sourceLineNo">595</span> if (!pread) {<a name="line.595"></a>
+<span class="sourceLineNo">596</span> // For seek + pread stream socket should be closed when the scanner is closed. HBASE-9393<a name="line.596"></a>
+<span class="sourceLineNo">597</span> reader.unbufferStream();<a name="line.597"></a>
+<span class="sourceLineNo">598</span> }<a name="line.598"></a>
+<span class="sourceLineNo">599</span> this.returnBlocks(true);<a name="line.599"></a>
+<span class="sourceLineNo">600</span> }<a name="line.600"></a>
+<span class="sourceLineNo">601</span><a name="line.601"></a>
+<span class="sourceLineNo">602</span> // Returns the #bytes in HFile for the current cell. Used to skip these many bytes in current<a name="line.602"></a>
+<span class="sourceLineNo">603</span> // HFile block's buffer so as to position to the next cell.<a name="line.603"></a>
+<span class="sourceLineNo">604</span> private int getCurCellSerializedSize() {<a name="line.604"></a>
+<span class="sourceLineNo">605</span> int curCellSize = KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen<a name="line.605"></a>
+<span class="sourceLineNo">606</span> + currMemstoreTSLen;<a name="line.606"></a>
+<span class="sourceLineNo">607</span> if (this.reader.getFileContext().isIncludesTags()) {<a name="line.607"></a>
+<span class="sourceLineNo">608</span> curCellSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.608"></a>
+<span class="sourceLineNo">609</span> }<a name="line.609"></a>
+<span class="sourceLineNo">610</span> return curCellSize;<a name="line.610"></a>
+<span class="sourceLineNo">611</span> }<a name="line.611"></a>
+<span class="sourceLineNo">612</span><a name="line.612"></a>
+<span class="sourceLineNo">613</span> protected void readKeyValueLen() {<a name="line.613"></a>
+<span class="sourceLineNo">614</span> // This is a hot method. We go out of our way to make this method short so it can be<a name="line.614"></a>
+<span class="sourceLineNo">615</span> // inlined and is not too big to compile. We also manage position in ByteBuffer ourselves<a name="line.615"></a>
+<span class="sourceLineNo">616</span> // because it is faster than going via range-checked ByteBuffer methods or going through a<a name="line.616"></a>
+<span class="sourceLineNo">617</span> // byte buffer array a byte at a time.<a name="line.617"></a>
+<span class="sourceLineNo">618</span> // Get a long at a time rather than read two individual ints. In micro-benchmarking, even<a name="line.618"></a>
+<span class="sourceLineNo">619</span> // with the extra bit-fiddling, this is order-of-magnitude faster than getting two ints.<a name="line.619"></a>
+<span class="sourceLineNo">620</span> // Trying to imitate what was done - need to profile if this is better or<a name="line.620"></a>
+<span class="sourceLineNo">621</span> // earlier way is better by doing mark and reset?<a name="line.621"></a>
+<span class="sourceLineNo">622</span> // But ensure that you read long instead of two ints<a name="line.622"></a>
+<span class="sourceLineNo">623</span> long ll = blockBuffer.getLongAfterPosition(0);<a name="line.623"></a>
+<span class="sourceLineNo">624</span> // Read top half as an int of key length and bottom int as value length<a name="line.624"></a>
+<span class="sourceLineNo">625</span> this.currKeyLen = (int)(ll >> Integer.SIZE);<a name="line.625"></a>
+<span class="sourceLineNo">626</span> this.currValueLen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.626"></a>
+<span class="sourceLineNo">627</span> checkKeyValueLen();<a name="line.627"></a>
+<span class="sourceLineNo">628</span> // Move position past the key and value lengths and then beyond the key and value<a name="line.628"></a>
+<span class="sourceLineNo">629</span> int p = (Bytes.SIZEOF_LONG + currKeyLen + currValueLen);<a name="line.629"></a>
+<span class="sourceLineNo">630</span> if (reader.getFileContext().isIncludesTags()) {<a name="line.630"></a>
+<span class="sourceLineNo">631</span> // Tags length is a short.<a name="line.631"></a>
+<span class="sourceLineNo">632</span> this.currTagsLen = blockBuffer.getShortAfterPosition(p);<a name="line.632"></a>
+<span class="sourceLineNo">633</span> checkTagsLen();<a name="line.633"></a>
+<span class="sourceLineNo">634</span> p += (Bytes.SIZEOF_SHORT + currTagsLen);<a name="line.634"></a>
+<span class="sourceLineNo">635</span> }<a name="line.635"></a>
+<span class="sourceLineNo">636</span> readMvccVersion(p);<a name="line.636"></a>
+<span class="sourceLineNo">637</span> }<a name="line.637"></a>
+<span class="sourceLineNo">638</span><a name="line.638"></a>
+<span class="sourceLineNo">639</span> private final void checkTagsLen() {<a name="line.639"></a>
+<span class="sourceLineNo">640</span> if (checkLen(this.currTagsLen)) {<a name="line.640"></a>
+<span class="sourceLineNo">641</span> throw new IllegalStateException("Invalid currTagsLen " + this.currTagsLen +<a name="line.641"></a>
+<span class="sourceLineNo">642</span> ". Block offset: " + curBlock.getOffset() + ", block length: " +<a name="line.642"></a>
+<span class="sourceLineNo">643</span> this.blockBuffer.limit() +<a name="line.643"></a>
+<span class="sourceLineNo">644</span> ", position: " + this.blockBuffer.position() + " (without header).");<a name="line.644"></a>
+<span class="sourceLineNo">645</span> }<a name="line.645"></a>
+<span class="sourceLineNo">646</span> }<a name="line.646"></a>
+<span class="sourceLineNo">647</span><a name="line.647"></a>
+<span class="sourceLineNo">648</span> /**<a name="line.648"></a>
+<span class="sourceLineNo">649</span> * Read mvcc. Does checks to see if we even need to read the mvcc at all.<a name="line.649"></a>
+<span class="sourceLineNo">650</span> * @param offsetFromPos<a name="line.650"></a>
+<span class="sourceLineNo">651</span> */<a name="line.651"></a>
+<span class="sourceLineNo">652</span> protected void readMvccVersion(final int offsetFromPos) {<a name="line.652"></a>
+<span class="sourceLineNo">653</span> // See if we even need to decode mvcc.<a name="line.653"></a>
+<span class="sourceLineNo">654</span> if (!this.reader.shouldIncludeMemStoreTS()) return;<a name="line.654"></a>
+<span class="sourceLineNo">655</span> if (!this.reader.isDecodeMemStoreTS()) {<a name="line.655"></a>
+<span class="sourceLineNo">656</span> currMemstoreTS = 0;<a name="line.656"></a>
+<span class="sourceLineNo">657</span> currMemstoreTSLen = 1;<a name="line.657"></a>
+<span class="sourceLineNo">658</span> return;<a name="line.658"></a>
+<span class="sourceLineNo">659</span> }<a name="line.659"></a>
+<span class="sourceLineNo">660</span> _readMvccVersion(offsetFromPos);<a name="line.660"></a>
+<span class="sourceLineNo">661</span> }<a name="line.661"></a>
+<span class="sourceLineNo">662</span><a name="line.662"></a>
+<span class="sourceLineNo">663</span> /**<a name="line.663"></a>
+<span class="sourceLineNo">664</span> * Actually do the mvcc read. Does no checks.<a name="line.664"></a>
+<span class="sourceLineNo">665</span> * @param offsetFromPos<a name="line.665"></a>
+<span class="sourceLineNo">666</span> */<a name="line.666"></a>
+<span class="sourceLineNo">667</span> private void _readMvccVersion(int offsetFromPos) {<a name="line.667"></a>
+<span class="sourceLineNo">668</span> // This is Bytes#bytesToVint inlined so can save a few instructions in this hot method; i.e.<a name="line.668"></a>
+<span class="sourceLineNo">669</span> // previous if one-byte vint, we'd redo the vint call to find int size.<a name="line.669"></a>
+<span class="sourceLineNo">670</span> // Also the method is kept small so can be inlined.<a name="line.670"></a>
+<span class="sourceLineNo">671</span> byte firstByte = blockBuffer.getByteAfterPosition(offsetFromPos);<a name="line.671"></a>
+<span class="sourceLineNo">672</span> int len = WritableUtils.decodeVIntSize(firstByte);<a name="line.672"></a>
+<span class="sourceLineNo">673</span> if (len == 1) {<a name="line.673"></a>
+<span class="sourceLineNo">674</span> this.currMemstoreTS = firstByte;<a name="line.674"></a>
+<span class="sourceLineNo">675</span> } else {<a name="line.675"></a>
+<span class="sourceLineNo">676</span> int remaining = len -1;<a name="line.676"></a>
+<span class="sourceLineNo">677</span> long i = 0;<a name="line.677"></a>
+<span class="sourceLineNo">678</span> offsetFromPos++;<a name="line.678"></a>
+<span class="sourceLineNo">679</span> if (remaining >= Bytes.SIZEOF_INT) {<a name="line.679"></a>
+<span class="sourceLineNo">680</span> // The int read has to be converted to unsigned long so the & op<a name="line.680"></a>
+<span class="sourceLineNo">681</span> i = (blockBuffer.getIntAfterPosition(offsetFromPos) & 0x00000000ffffffffL);<a name="line.681"></a>
+<span class="sourceLineNo">682</span> remaining -= Bytes.SIZEOF_INT;<a name="line.682"></a>
+<span class="sourceLineNo">683</span> offsetFromPos += Bytes.SIZEOF_INT;<a name="line.683"></a>
+<span class="sourceLineNo">684</span> }<a name="line.684"></a>
+<span class="sourceLineNo">685</span> if (remaining >= Bytes.SIZEOF_SHORT) {<a name="line.685"></a>
+<span class="sourceLineNo">686</span> short s = blockBuffer.getShortAfterPosition(offsetFromPos);<a name="line.686"></a>
+<span class="sourceLineNo">687</span> i = i << 16;<a name="line.687"></a>
+<span class="sourceLineNo">688</span> i = i | (s & 0xFFFF);<a name="line.688"></a>
+<span class="sourceLineNo">689</span> remaining -= Bytes.SIZEOF_SHORT;<a name="line.689"></a>
+<span class="sourceLineNo">690</span> offsetFromPos += Bytes.SIZEOF_SHORT;<a name="line.690"></a>
+<span class="sourceLineNo">691</span> }<a name="line.691"></a>
+<span class="sourceLineNo">692</span> for (int idx = 0; idx < remaining; idx++) {<a name="line.692"></a>
+<span class="sourceLineNo">693</span> byte b = blockBuffer.getByteAfterPosition(offsetFromPos + idx);<a name="line.693"></a>
+<span class="sourceLineNo">694</span> i = i << 8;<a name="line.694"></a>
+<span class="sourceLineNo">695</span> i = i | (b & 0xFF);<a name="line.695"></a>
+<span class="sourceLineNo">696</span> }<a name="line.696"></a>
+<span class="sourceLineNo">697</span> currMemstoreTS = (WritableUtils.isNegativeVInt(firstByte) ? ~i : i);<a name="line.697"></a>
+<span class="sourceLineNo">698</span> }<a name="line.698"></a>
+<span class="sourceLineNo">699</span> this.currMemstoreTSLen = len;<a name="line.699"></a>
+<span class="sourceLineNo">700</span> }<a name="line.700"></a>
+<span class="sourceLineNo">701</span><a name="line.701"></a>
+<span class="sourceLineNo">702</span> /**<a name="line.702"></a>
+<span class="sourceLineNo">703</span> * Within a loaded block, seek looking for the last key that is smaller than<a name="line.703"></a>
+<spa
<TRUNCATED>
[27/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html
index b8d0e70..ac5997f 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1719">HRegionServer.CompactionChecker</a>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1722">HRegionServer.CompactionChecker</a>
extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" title="class in org.apache.hadoop.hbase">ScheduledChore</a></pre>
</li>
</ul>
@@ -233,7 +233,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
<ul class="blockList">
<li class="blockList">
<h4>instance</h4>
-<pre>private final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1720">instance</a></pre>
+<pre>private final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1723">instance</a></pre>
</li>
</ul>
<a name="majorCompactPriority">
@@ -242,7 +242,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
<ul class="blockList">
<li class="blockList">
<h4>majorCompactPriority</h4>
-<pre>private final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1721">majorCompactPriority</a></pre>
+<pre>private final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1724">majorCompactPriority</a></pre>
</li>
</ul>
<a name="DEFAULT_PRIORITY">
@@ -251,7 +251,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_PRIORITY</h4>
-<pre>private static final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1722">DEFAULT_PRIORITY</a></pre>
+<pre>private static final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1725">DEFAULT_PRIORITY</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegionServer.CompactionChecker.DEFAULT_PRIORITY">Constant Field Values</a></dd>
@@ -264,7 +264,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
<ul class="blockListLast">
<li class="blockList">
<h4>iteration</h4>
-<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1725">iteration</a></pre>
+<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1728">iteration</a></pre>
</li>
</ul>
</li>
@@ -281,7 +281,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
<ul class="blockListLast">
<li class="blockList">
<h4>CompactionChecker</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1727">CompactionChecker</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> h,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1730">CompactionChecker</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> h,
int sleepTime,
<a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a> stopper)</pre>
</li>
@@ -300,7 +300,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
<ul class="blockListLast">
<li class="blockList">
<h4>chore</h4>
-<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1741">chore</a>()</pre>
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1744">chore</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html#chore--">ScheduledChore</a></code></span></div>
<div class="block">The task to execute on each scheduled execution of the Chore</div>
<dl>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
index 5d4def3..30395a4 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3429">HRegionServer.MovedRegionInfo</a>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3432">HRegionServer.MovedRegionInfo</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
</li>
</ul>
@@ -218,7 +218,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>serverName</h4>
-<pre>private final <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3430">serverName</a></pre>
+<pre>private final <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3433">serverName</a></pre>
</li>
</ul>
<a name="seqNum">
@@ -227,7 +227,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>seqNum</h4>
-<pre>private final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3431">seqNum</a></pre>
+<pre>private final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3434">seqNum</a></pre>
</li>
</ul>
<a name="ts">
@@ -236,7 +236,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>ts</h4>
-<pre>private final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3432">ts</a></pre>
+<pre>private final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3435">ts</a></pre>
</li>
</ul>
</li>
@@ -253,7 +253,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>MovedRegionInfo</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3434">MovedRegionInfo</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName,
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3437">MovedRegionInfo</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName,
long closeSeqNum)</pre>
</li>
</ul>
@@ -271,7 +271,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getServerName</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3440">getServerName</a>()</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3443">getServerName</a>()</pre>
</li>
</ul>
<a name="getSeqNum--">
@@ -280,7 +280,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getSeqNum</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3444">getSeqNum</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3447">getSeqNum</a>()</pre>
</li>
</ul>
<a name="getMoveTime--">
@@ -289,7 +289,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>getMoveTime</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3448">getMoveTime</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3451">getMoveTime</a>()</pre>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html
index 2a00361..fa924cd 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>protected static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3516">HRegionServer.MovedRegionsCleaner</a>
+<pre>protected static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3519">HRegionServer.MovedRegionsCleaner</a>
extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" title="class in org.apache.hadoop.hbase">ScheduledChore</a>
implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a></pre>
<div class="block">Creates a Chore thread to clean the moved region cache.</div>
@@ -242,7 +242,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title
<ul class="blockList">
<li class="blockList">
<h4>regionServer</h4>
-<pre>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3517">regionServer</a></pre>
+<pre>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3520">regionServer</a></pre>
</li>
</ul>
<a name="stoppable">
@@ -251,7 +251,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title
<ul class="blockListLast">
<li class="blockList">
<h4>stoppable</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3518">stoppable</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3521">stoppable</a></pre>
</li>
</ul>
</li>
@@ -268,7 +268,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title
<ul class="blockListLast">
<li class="blockList">
<h4>MovedRegionsCleaner</h4>
-<pre>private <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3520">MovedRegionsCleaner</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> regionServer,
+<pre>private <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3523">MovedRegionsCleaner</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> regionServer,
<a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a> stoppable)</pre>
</li>
</ul>
@@ -286,7 +286,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title
<ul class="blockList">
<li class="blockList">
<h4>create</h4>
-<pre>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer.MovedRegionsCleaner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3528">create</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> rs)</pre>
+<pre>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer.MovedRegionsCleaner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3531">create</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> rs)</pre>
</li>
</ul>
<a name="chore--">
@@ -295,7 +295,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title
<ul class="blockList">
<li class="blockList">
<h4>chore</h4>
-<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3539">chore</a>()</pre>
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3542">chore</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html#chore--">ScheduledChore</a></code></span></div>
<div class="block">The task to execute on each scheduled execution of the Chore</div>
<dl>
@@ -310,7 +310,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title
<ul class="blockList">
<li class="blockList">
<h4>stop</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3544">stop</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> why)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3547">stop</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> why)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/Stoppable.html#stop-java.lang.String-">Stoppable</a></code></span></div>
<div class="block">Stop this service.
Implementers should favor logging errors over throwing RuntimeExceptions.</div>
@@ -328,7 +328,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title
<ul class="blockListLast">
<li class="blockList">
<h4>isStopped</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3549">isStopped</a>()</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3552">isStopped</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/Stoppable.html#isStopped--">isStopped</a></code> in interface <code><a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a></code></dd>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemStoreFlusher.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemStoreFlusher.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemStoreFlusher.html
index fce5824..dd31dd4 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemStoreFlusher.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemStoreFlusher.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1781">HRegionServer.PeriodicMemStoreFlusher</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1784">HRegionServer.PeriodicMemStoreFlusher</a>
extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" title="class in org.apache.hadoop.hbase">ScheduledChore</a></pre>
</li>
</ul>
@@ -232,7 +232,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
<ul class="blockList">
<li class="blockList">
<h4>server</h4>
-<pre>final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemStoreFlusher.html#line.1782">server</a></pre>
+<pre>final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemStoreFlusher.html#line.1785">server</a></pre>
</li>
</ul>
<a name="RANGE_OF_DELAY">
@@ -241,7 +241,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
<ul class="blockList">
<li class="blockList">
<h4>RANGE_OF_DELAY</h4>
-<pre>static final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemStoreFlusher.html#line.1783">RANGE_OF_DELAY</a></pre>
+<pre>static final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemStoreFlusher.html#line.1786">RANGE_OF_DELAY</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegionServer.PeriodicMemStoreFlusher.RANGE_OF_DELAY">Constant Field Values</a></dd>
@@ -254,7 +254,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
<ul class="blockList">
<li class="blockList">
<h4>MIN_DELAY_TIME</h4>
-<pre>static final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemStoreFlusher.html#line.1784">MIN_DELAY_TIME</a></pre>
+<pre>static final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemStoreFlusher.html#line.1787">MIN_DELAY_TIME</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegionServer.PeriodicMemStoreFlusher.MIN_DELAY_TIME">Constant Field Values</a></dd>
@@ -267,7 +267,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
<ul class="blockListLast">
<li class="blockList">
<h4>rangeOfDelay</h4>
-<pre>final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemStoreFlusher.html#line.1786">rangeOfDelay</a></pre>
+<pre>final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemStoreFlusher.html#line.1789">rangeOfDelay</a></pre>
</li>
</ul>
</li>
@@ -284,7 +284,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
<ul class="blockListLast">
<li class="blockList">
<h4>PeriodicMemStoreFlusher</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemStoreFlusher.html#line.1787">PeriodicMemStoreFlusher</a>(int cacheFlushInterval,
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemStoreFlusher.html#line.1790">PeriodicMemStoreFlusher</a>(int cacheFlushInterval,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> server)</pre>
</li>
</ul>
@@ -302,7 +302,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
<ul class="blockListLast">
<li class="blockList">
<h4>chore</h4>
-<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemStoreFlusher.html#line.1796">chore</a>()</pre>
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemStoreFlusher.html#line.1799">chore</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html#chore--">ScheduledChore</a></code></span></div>
<div class="block">The task to execute on each scheduled execution of the Chore</div>
<dl>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.SystemExitWhenAbortTimeout.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.SystemExitWhenAbortTimeout.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.SystemExitWhenAbortTimeout.html
index ff60765..05335e7 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.SystemExitWhenAbortTimeout.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.SystemExitWhenAbortTimeout.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3820">HRegionServer.SystemExitWhenAbortTimeout</a>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3835">HRegionServer.SystemExitWhenAbortTimeout</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/TimerTask.html?is-external=true" title="class or interface in java.util">TimerTask</a></pre>
<div class="block">Force to terminate region server when abort timeout.</div>
</li>
@@ -199,7 +199,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/TimerTask.h
<ul class="blockListLast">
<li class="blockList">
<h4>SystemExitWhenAbortTimeout</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.SystemExitWhenAbortTimeout.html#line.3822">SystemExitWhenAbortTimeout</a>()</pre>
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.SystemExitWhenAbortTimeout.html#line.3837">SystemExitWhenAbortTimeout</a>()</pre>
</li>
</ul>
</li>
@@ -216,7 +216,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/TimerTask.h
<ul class="blockListLast">
<li class="blockList">
<h4>run</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.SystemExitWhenAbortTimeout.html#line.3826">run</a>()</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.SystemExitWhenAbortTimeout.html#line.3841">run</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code> in interface <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
[20/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html b/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html
index 034077c..c20ff47 100644
--- a/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html
@@ -110,8 +110,8 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.rest.model.<a href="../../../../../../org/apache/hadoop/hbase/rest/model/ScannerModel.FilterModel.ByteArrayComparableModel.ComparatorType.html" title="enum in org.apache.hadoop.hbase.rest.model"><span class="typeNameLink">ScannerModel.FilterModel.ByteArrayComparableModel.ComparatorType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.rest.model.<a href="../../../../../../org/apache/hadoop/hbase/rest/model/ScannerModel.FilterModel.FilterType.html" title="enum in org.apache.hadoop.hbase.rest.model"><span class="typeNameLink">ScannerModel.FilterModel.FilterType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.rest.model.<a href="../../../../../../org/apache/hadoop/hbase/rest/model/ScannerModel.FilterModel.ByteArrayComparableModel.ComparatorType.html" title="enum in org.apache.hadoop.hbase.rest.model"><span class="typeNameLink">ScannerModel.FilterModel.ByteArrayComparableModel.ComparatorType</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html b/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
index aa0564c..56f5ff2 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
@@ -141,10 +141,10 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/Permission.Scope.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">Permission.Scope</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.OpType.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessController.OpType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/Permission.Action.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">Permission.Action</span></a></li>
<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessControlFilter.Strategy</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/Permission.Action.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">Permission.Action</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.OpType.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessController.OpType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/Permission.Scope.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">Permission.Scope</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html b/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
index 2cef8bd..4ade4c1 100644
--- a/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
@@ -199,8 +199,8 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/ThriftServerRunner.ImplType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ThriftServerRunner.ImplType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/ThriftMetrics.ThriftServerType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ThriftMetrics.ThriftServerType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/ThriftServerRunner.ImplType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ThriftServerRunner.ImplType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">MetricsThriftServerSourceFactoryImpl.FactoryStorage</span></a></li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html
index c0d1f12..20b038d 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html
@@ -18,7 +18,7 @@
catch(err) {
}
//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>public static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#line.62">BlockCacheTmpl.ImplData</a>
+<pre>public static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#line.63">BlockCacheTmpl.ImplData</a>
extends org.jamon.AbstractTemplateProxy.ImplData</pre>
</li>
</ul>
@@ -139,10 +139,14 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#m_bc">m_bc</a></span></code> </td>
+</tr>
+<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#m_cacheConfig">m_cacheConfig</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private org.apache.hadoop.conf.Configuration</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#m_config">m_config</a></span></code> </td>
</tr>
@@ -179,18 +183,26 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#getBc--">getBc</a></span>()</code> </td>
+</tr>
+<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#getCacheConfig--">getCacheConfig</a></span>()</code> </td>
</tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.conf.Configuration</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#getConfig--">getConfig</a></span>()</code> </td>
</tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#setBc-org.apache.hadoop.hbase.io.hfile.BlockCache-">setBc</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> bc)</code> </td>
+</tr>
+<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#setCacheConfig-org.apache.hadoop.hbase.io.hfile.CacheConfig-">setCacheConfig</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig)</code> </td>
</tr>
-<tr id="i3" class="rowColor">
+<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#setConfig-org.apache.hadoop.conf.Configuration-">setConfig</a></span>(org.apache.hadoop.conf.Configuration config)</code> </td>
</tr>
@@ -222,16 +234,25 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>m_cacheConfig</h4>
-<pre>private <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#line.75">m_cacheConfig</a></pre>
+<pre>private <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#line.76">m_cacheConfig</a></pre>
</li>
</ul>
<a name="m_config">
<!-- -->
</a>
-<ul class="blockListLast">
+<ul class="blockList">
<li class="blockList">
<h4>m_config</h4>
-<pre>private org.apache.hadoop.conf.Configuration <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#line.86">m_config</a></pre>
+<pre>private org.apache.hadoop.conf.Configuration <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#line.87">m_config</a></pre>
+</li>
+</ul>
+<a name="m_bc">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>m_bc</h4>
+<pre>private <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#line.98">m_bc</a></pre>
</li>
</ul>
</li>
@@ -248,7 +269,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockListLast">
<li class="blockList">
<h4>ImplData</h4>
-<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#line.62">ImplData</a>()</pre>
+<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#line.63">ImplData</a>()</pre>
</li>
</ul>
</li>
@@ -265,7 +286,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>setCacheConfig</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#line.66">setCacheConfig</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig)</pre>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#line.67">setCacheConfig</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig)</pre>
</li>
</ul>
<a name="getCacheConfig--">
@@ -274,7 +295,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>getCacheConfig</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#line.71">getCacheConfig</a>()</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#line.72">getCacheConfig</a>()</pre>
</li>
</ul>
<a name="setConfig-org.apache.hadoop.conf.Configuration-">
@@ -283,16 +304,34 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>setConfig</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#line.77">setConfig</a>(org.apache.hadoop.conf.Configuration config)</pre>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#line.78">setConfig</a>(org.apache.hadoop.conf.Configuration config)</pre>
</li>
</ul>
<a name="getConfig--">
<!-- -->
</a>
-<ul class="blockListLast">
+<ul class="blockList">
<li class="blockList">
<h4>getConfig</h4>
-<pre>public org.apache.hadoop.conf.Configuration <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#line.82">getConfig</a>()</pre>
+<pre>public org.apache.hadoop.conf.Configuration <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#line.83">getConfig</a>()</pre>
+</li>
+</ul>
+<a name="setBc-org.apache.hadoop.hbase.io.hfile.BlockCache-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setBc</h4>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#line.89">setBc</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> bc)</pre>
+</li>
+</ul>
+<a name="getBc--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getBc</h4>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html#line.94">getBc</a>()</pre>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.Intf.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.Intf.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.Intf.html
index 90a0035..899e233 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.Intf.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.Intf.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>public static interface <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#line.55">BlockCacheTmpl.Intf</a>
+<pre>public static interface <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#line.56">BlockCacheTmpl.Intf</a>
extends org.jamon.AbstractTemplateProxy.Intf</pre>
</li>
</ul>
@@ -158,7 +158,7 @@ extends org.jamon.AbstractTemplateProxy.Intf</pre>
<ul class="blockListLast">
<li class="blockList">
<h4>renderNoFlush</h4>
-<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.Intf.html#line.59">renderNoFlush</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter)
+<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.Intf.html#line.60">renderNoFlush</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html
index b8d8804..9f71d42 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
<li class="blockList">
<hr>
<br>
-<pre>public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#line.36">BlockCacheTmpl</a>
+<pre>public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#line.37">BlockCacheTmpl</a>
extends org.jamon.AbstractTemplateProxy</pre>
</li>
</ul>
@@ -209,20 +209,23 @@ extends org.jamon.AbstractTemplateProxy</pre>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>org.jamon.Renderer</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#makeRenderer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-">makeRenderer</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
- org.apache.hadoop.conf.Configuration config)</code> </td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#makeRenderer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.io.hfile.BlockCache-">makeRenderer</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
+ org.apache.hadoop.conf.Configuration config,
+ <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> bc)</code> </td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#render-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-">render</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#render-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.io.hfile.BlockCache-">render</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
- org.apache.hadoop.conf.Configuration config)</code> </td>
+ org.apache.hadoop.conf.Configuration config,
+ <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> bc)</code> </td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#renderNoFlush-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-">renderNoFlush</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#renderNoFlush-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.io.hfile.BlockCache-">renderNoFlush</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
- org.apache.hadoop.conf.Configuration config)</code> </td>
+ org.apache.hadoop.conf.Configuration config,
+ <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> bc)</code> </td>
</tr>
</table>
<ul class="blockList">
@@ -259,7 +262,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockList">
<li class="blockList">
<h4>BlockCacheTmpl</h4>
-<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#line.40">BlockCacheTmpl</a>(org.jamon.TemplateManager p_manager)</pre>
+<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#line.41">BlockCacheTmpl</a>(org.jamon.TemplateManager p_manager)</pre>
</li>
</ul>
<a name="BlockCacheTmpl-java.lang.String-">
@@ -268,7 +271,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockList">
<li class="blockList">
<h4>BlockCacheTmpl</h4>
-<pre>protected <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#line.45">BlockCacheTmpl</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> p_path)</pre>
+<pre>protected <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#line.46">BlockCacheTmpl</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> p_path)</pre>
</li>
</ul>
<a name="BlockCacheTmpl--">
@@ -277,7 +280,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockListLast">
<li class="blockList">
<h4>BlockCacheTmpl</h4>
-<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#line.50">BlockCacheTmpl</a>()</pre>
+<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#line.51">BlockCacheTmpl</a>()</pre>
</li>
</ul>
</li>
@@ -294,7 +297,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockList">
<li class="blockList">
<h4>makeImplData</h4>
-<pre>protected org.jamon.AbstractTemplateProxy.ImplData <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#line.89">makeImplData</a>()</pre>
+<pre>protected org.jamon.AbstractTemplateProxy.ImplData <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#line.101">makeImplData</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>makeImplData</code> in class <code>org.jamon.AbstractTemplateProxy</code></dd>
@@ -307,7 +310,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockList">
<li class="blockList">
<h4>getImplData</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheTmpl.ImplData</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#line.93">getImplData</a>()</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheTmpl.ImplData</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#line.105">getImplData</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getImplData</code> in class <code>org.jamon.AbstractTemplateProxy</code></dd>
@@ -320,7 +323,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockList">
<li class="blockList">
<h4>constructImpl</h4>
-<pre>public org.jamon.AbstractTemplateImpl <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#line.100">constructImpl</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends org.jamon.AbstractTemplateImpl> p_class)</pre>
+<pre>public org.jamon.AbstractTemplateImpl <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#line.112">constructImpl</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends org.jamon.AbstractTemplateImpl> p_class)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>constructImpl</code> in class <code>org.jamon.AbstractTemplateProxy</code></dd>
@@ -333,32 +336,34 @@ extends org.jamon.AbstractTemplateProxy</pre>
<ul class="blockList">
<li class="blockList">
<h4>constructImpl</h4>
-<pre>protected org.jamon.AbstractTemplateImpl <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#line.118">constructImpl</a>()</pre>
+<pre>protected org.jamon.AbstractTemplateImpl <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#line.130">constructImpl</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>constructImpl</code> in class <code>org.jamon.AbstractTemplateProxy</code></dd>
</dl>
</li>
</ul>
-<a name="makeRenderer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-">
+<a name="makeRenderer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.io.hfile.BlockCache-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>makeRenderer</h4>
-<pre>public org.jamon.Renderer <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#line.121">makeRenderer</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
- org.apache.hadoop.conf.Configuration config)</pre>
+<pre>public org.jamon.Renderer <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#line.133">makeRenderer</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
+ org.apache.hadoop.conf.Configuration config,
+ <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> bc)</pre>
</li>
</ul>
-<a name="render-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-">
+<a name="render-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.io.hfile.BlockCache-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>render</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#line.133">render</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#line.145">render</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
- org.apache.hadoop.conf.Configuration config)
+ org.apache.hadoop.conf.Configuration config,
+ <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> bc)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -366,15 +371,16 @@ extends org.jamon.AbstractTemplateProxy</pre>
</dl>
</li>
</ul>
-<a name="renderNoFlush-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-">
+<a name="renderNoFlush-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.io.hfile.BlockCache-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>renderNoFlush</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#line.139">renderNoFlush</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.html#line.151">renderNoFlush</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
- org.apache.hadoop.conf.Configuration config)
+ org.apache.hadoop.conf.Configuration config,
+ <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> bc)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html
index 682ed52..e97321f 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html
@@ -140,10 +140,14 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#bc">bc</a></span></code> </td>
+</tr>
+<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#cacheConfig">cacheConfig</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private org.apache.hadoop.conf.Configuration</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#config">config</a></span></code> </td>
</tr>
@@ -182,8 +186,8 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>private void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#Z:Z__jamon_innerUnit__bc_baseInfo-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-java.lang.String-java.lang.String-">__jamon_innerUnit__bc_baseInfo</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
- <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#Z:Z__jamon_innerUnit__bc_baseInfo-java.io.Writer-org.apache.hadoop.hbase.io.hfile.BlockCache-java.lang.String-java.lang.String-">__jamon_innerUnit__bc_baseInfo</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+ <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> bc,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcUrl,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcName)</code> </td>
</tr>
@@ -201,8 +205,8 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>private void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#Z:Z__jamon_innerUnit__bc_stats-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-">__jamon_innerUnit__bc_stats</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
- <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig)</code> </td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#Z:Z__jamon_innerUnit__bc_stats-java.io.Writer-org.apache.hadoop.hbase.io.hfile.BlockCache-">__jamon_innerUnit__bc_stats</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+ <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> bc)</code> </td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>private void</code></td>
@@ -270,12 +274,21 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
<a name="config">
<!-- -->
</a>
-<ul class="blockListLast">
+<ul class="blockList">
<li class="blockList">
<h4>config</h4>
<pre>private final org.apache.hadoop.conf.Configuration <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#line.37">config</a></pre>
</li>
</ul>
+<a name="bc">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>bc</h4>
+<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#line.38">bc</a></pre>
+</li>
+</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
@@ -290,7 +303,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
<ul class="blockListLast">
<li class="blockList">
<h4>BlockCacheTmplImpl</h4>
-<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#line.42">BlockCacheTmplImpl</a>(org.jamon.TemplateManager p_templateManager,
+<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#line.43">BlockCacheTmplImpl</a>(org.jamon.TemplateManager p_templateManager,
<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheTmpl.ImplData</a> p_implData)</pre>
</li>
</ul>
@@ -308,7 +321,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
<ul class="blockList">
<li class="blockList">
<h4>__jamon_setOptionalArguments</h4>
-<pre>protected static <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheTmpl.ImplData</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#line.38">__jamon_setOptionalArguments</a>(<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheTmpl.ImplData</a> p_implData)</pre>
+<pre>protected static <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheTmpl.ImplData</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#line.39">__jamon_setOptionalArguments</a>(<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.ImplData.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">BlockCacheTmpl.ImplData</a> p_implData)</pre>
</li>
</ul>
<a name="renderNoFlush-java.io.Writer-">
@@ -317,7 +330,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
<ul class="blockList">
<li class="blockList">
<h4>renderNoFlush</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#line.49">renderNoFlush</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter)
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#line.51">renderNoFlush</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -327,14 +340,14 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
</dl>
</li>
</ul>
-<a name="Z:Z__jamon_innerUnit__bc_baseInfo-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-java.lang.String-java.lang.String-">
+<a name="Z:Z__jamon_innerUnit__bc_baseInfo-java.io.Writer-org.apache.hadoop.hbase.io.hfile.BlockCache-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>__jamon_innerUnit__bc_baseInfo</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#line.106">__jamon_innerUnit__bc_baseInfo</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
- <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig,
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#line.102">__jamon_innerUnit__bc_baseInfo</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+ <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> bc,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcUrl,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcName)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -350,7 +363,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
<ul class="blockList">
<li class="blockList">
<h4>__jamon_innerUnit__bc_config</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#line.144">__jamon_innerUnit__bc_config</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#line.139">__jamon_innerUnit__bc_config</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
@@ -365,7 +378,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
<ul class="blockList">
<li class="blockList">
<h4>__jamon_innerUnit__bc_l</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#line.193">__jamon_innerUnit__bc_l</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#line.188">__jamon_innerUnit__bc_l</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> bc,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name,
boolean evictions)
@@ -376,14 +389,14 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
</dl>
</li>
</ul>
-<a name="Z:Z__jamon_innerUnit__bc_stats-java.io.Writer-org.apache.hadoop.hbase.io.hfile.CacheConfig-">
+<a name="Z:Z__jamon_innerUnit__bc_stats-java.io.Writer-org.apache.hadoop.hbase.io.hfile.BlockCache-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>__jamon_innerUnit__bc_stats</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#line.225">__jamon_innerUnit__bc_stats</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
- <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig)
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#line.220">__jamon_innerUnit__bc_stats</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+ <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> bc)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -397,7 +410,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
<ul class="blockList">
<li class="blockList">
<h4>__jamon_innerUnit__block_cache</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#line.274">__jamon_innerUnit__block_cache</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#line.269">__jamon_innerUnit__block_cache</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> bc,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name,
boolean evictions)
@@ -414,7 +427,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
<ul class="blockList">
<li class="blockList">
<h4>__jamon_innerUnit__evictions_tmpl</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#line.408">__jamon_innerUnit__evictions_tmpl</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#line.403">__jamon_innerUnit__evictions_tmpl</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> bc)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
@@ -429,7 +442,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
<ul class="blockListLast">
<li class="blockList">
<h4>__jamon_innerUnit__hits_tmpl</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#line.434">__jamon_innerUnit__hits_tmpl</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.html#line.429">__jamon_innerUnit__hits_tmpl</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter,
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> bc)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html
index b9b808c..1fa7930 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html
@@ -18,7 +18,7 @@
catch(err) {
}
//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>public static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#line.64">BlockCacheViewTmpl.ImplData</a>
+<pre>public static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#line.65">BlockCacheViewTmpl.ImplData</a>
extends org.jamon.AbstractTemplateProxy.ImplData</pre>
</li>
</ul>
@@ -147,10 +147,14 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#m_bcv">m_bcv</a></span></code> </td>
</tr>
<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#m_blockCache">m_blockCache</a></span></code> </td>
+</tr>
+<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#m_cacheConfig">m_cacheConfig</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private org.apache.hadoop.conf.Configuration</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#m_conf">m_conf</a></span></code> </td>
</tr>
@@ -195,26 +199,34 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#getBcv--">getBcv</a></span>()</code> </td>
</tr>
<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#getBlockCache--">getBlockCache</a></span>()</code> </td>
+</tr>
+<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#getCacheConfig--">getCacheConfig</a></span>()</code> </td>
</tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.conf.Configuration</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#getConf--">getConf</a></span>()</code> </td>
</tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#setBcn-java.lang.String-">setBcn</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcn)</code> </td>
</tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#setBcv-java.lang.String-">setBcv</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcv)</code> </td>
</tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#setBlockCache-org.apache.hadoop.hbase.io.hfile.BlockCache-">setBlockCache</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache)</code> </td>
+</tr>
+<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#setCacheConfig-org.apache.hadoop.hbase.io.hfile.CacheConfig-">setCacheConfig</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig)</code> </td>
</tr>
-<tr id="i7" class="rowColor">
+<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#setConf-org.apache.hadoop.conf.Configuration-">setConf</a></span>(org.apache.hadoop.conf.Configuration conf)</code> </td>
</tr>
@@ -246,7 +258,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>m_cacheConfig</h4>
-<pre>private <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.77">m_cacheConfig</a></pre>
+<pre>private <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.78">m_cacheConfig</a></pre>
</li>
</ul>
<a name="m_conf">
@@ -255,7 +267,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>m_conf</h4>
-<pre>private org.apache.hadoop.conf.Configuration <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.88">m_conf</a></pre>
+<pre>private org.apache.hadoop.conf.Configuration <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.89">m_conf</a></pre>
</li>
</ul>
<a name="m_bcn">
@@ -264,16 +276,25 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>m_bcn</h4>
-<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.99">m_bcn</a></pre>
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.100">m_bcn</a></pre>
</li>
</ul>
<a name="m_bcv">
<!-- -->
</a>
-<ul class="blockListLast">
+<ul class="blockList">
<li class="blockList">
<h4>m_bcv</h4>
-<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.110">m_bcv</a></pre>
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.111">m_bcv</a></pre>
+</li>
+</ul>
+<a name="m_blockCache">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>m_blockCache</h4>
+<pre>private <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.122">m_blockCache</a></pre>
</li>
</ul>
</li>
@@ -290,7 +311,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockListLast">
<li class="blockList">
<h4>ImplData</h4>
-<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.64">ImplData</a>()</pre>
+<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.65">ImplData</a>()</pre>
</li>
</ul>
</li>
@@ -307,7 +328,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>setCacheConfig</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.68">setCacheConfig</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig)</pre>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.69">setCacheConfig</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> cacheConfig)</pre>
</li>
</ul>
<a name="getCacheConfig--">
@@ -316,7 +337,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>getCacheConfig</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.73">getCacheConfig</a>()</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.74">getCacheConfig</a>()</pre>
</li>
</ul>
<a name="setConf-org.apache.hadoop.conf.Configuration-">
@@ -325,7 +346,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>setConf</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.79">setConf</a>(org.apache.hadoop.conf.Configuration conf)</pre>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.80">setConf</a>(org.apache.hadoop.conf.Configuration conf)</pre>
</li>
</ul>
<a name="getConf--">
@@ -334,7 +355,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>getConf</h4>
-<pre>public org.apache.hadoop.conf.Configuration <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.84">getConf</a>()</pre>
+<pre>public org.apache.hadoop.conf.Configuration <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.85">getConf</a>()</pre>
</li>
</ul>
<a name="setBcn-java.lang.String-">
@@ -343,7 +364,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>setBcn</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.90">setBcn</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcn)</pre>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.91">setBcn</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcn)</pre>
</li>
</ul>
<a name="getBcn--">
@@ -352,7 +373,7 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>getBcn</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.95">getBcn</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.96">getBcn</a>()</pre>
</li>
</ul>
<a name="setBcv-java.lang.String-">
@@ -361,16 +382,34 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<ul class="blockList">
<li class="blockList">
<h4>setBcv</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.101">setBcv</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcv)</pre>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.102">setBcv</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> bcv)</pre>
</li>
</ul>
<a name="getBcv--">
<!-- -->
</a>
-<ul class="blockListLast">
+<ul class="blockList">
<li class="blockList">
<h4>getBcv</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.106">getBcv</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.107">getBcv</a>()</pre>
+</li>
+</ul>
+<a name="setBlockCache-org.apache.hadoop.hbase.io.hfile.BlockCache-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setBlockCache</h4>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.113">setBlockCache</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache)</pre>
+</li>
+</ul>
+<a name="getBlockCache--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getBlockCache</h4>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.ImplData.html#line.118">getBlockCache</a>()</pre>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.Intf.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.Intf.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.Intf.html
index adf295a..4ac038d 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.Intf.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.Intf.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>public static interface <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#line.57">BlockCacheViewTmpl.Intf</a>
+<pre>public static interface <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.html#line.58">BlockCacheViewTmpl.Intf</a>
extends org.jamon.AbstractTemplateProxy.Intf</pre>
</li>
</ul>
@@ -158,7 +158,7 @@ extends org.jamon.AbstractTemplateProxy.Intf</pre>
<ul class="blockListLast">
<li class="blockList">
<h4>renderNoFlush</h4>
-<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.Intf.html#line.61">renderNoFlush</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter)
+<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.Intf.html#line.62">renderNoFlush</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> jamonWriter)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
[09/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.html
index 1124f8b..0c29054 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.html
@@ -1111,587 +1111,592 @@
<span class="sourceLineNo">1103</span> blockStream.write(midKeyMetadata);<a name="line.1103"></a>
<span class="sourceLineNo">1104</span> blockWriter.writeHeaderAndData(out);<a name="line.1104"></a>
<span class="sourceLineNo">1105</span> if (cacheConf != null) {<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span> HFileBlock blockForCaching = blockWriter.getBlockForCaching(cacheConf);<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span> cacheConf.getBlockCache().cacheBlock(new BlockCacheKey(nameForCaching,<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span> rootLevelIndexPos, true, blockForCaching.getBlockType()), blockForCaching);<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span> }<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span> }<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span><a name="line.1111"></a>
-<span class="sourceLineNo">1112</span> // Add root index block size<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span> totalBlockOnDiskSize += blockWriter.getOnDiskSizeWithoutHeader();<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span> totalBlockUncompressedSize +=<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span> blockWriter.getUncompressedSizeWithoutHeader();<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span><a name="line.1116"></a>
-<span class="sourceLineNo">1117</span> if (LOG.isTraceEnabled()) {<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span> LOG.trace("Wrote a " + numLevels + "-level index with root level at pos "<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span> + rootLevelIndexPos + ", " + rootChunk.getNumEntries()<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span> + " root-level entries, " + totalNumEntries + " total entries, "<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span> + StringUtils.humanReadableInt(this.totalBlockOnDiskSize) +<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span> " on-disk size, "<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span> + StringUtils.humanReadableInt(totalBlockUncompressedSize) +<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span> " total uncompressed size.");<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span> }<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span> return rootLevelIndexPos;<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span> }<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span><a name="line.1128"></a>
-<span class="sourceLineNo">1129</span> /**<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span> * Writes the block index data as a single level only. Does not do any<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span> * block framing.<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span> *<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span> * @param out the buffered output stream to write the index to. Typically a<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span> * stream writing into an {@link HFile} block.<a name="line.1134"></a>
-<span class="sourceLineNo">1135</span> * @param description a short description of the index being written. Used<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span> * in a log message.<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span> * @throws IOException<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span> */<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span> public void writeSingleLevelIndex(DataOutput out, String description)<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span> throws IOException {<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span> expectNumLevels(1);<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span><a name="line.1142"></a>
-<span class="sourceLineNo">1143</span> if (!singleLevelOnly)<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span> throw new IOException("Single-level mode is turned off");<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span><a name="line.1145"></a>
-<span class="sourceLineNo">1146</span> if (rootChunk.getNumEntries() > 0)<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span> throw new IOException("Root-level entries already added in " +<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span> "single-level mode");<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span><a name="line.1149"></a>
-<span class="sourceLineNo">1150</span> rootChunk = curInlineChunk;<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span> curInlineChunk = new BlockIndexChunk();<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span><a name="line.1152"></a>
-<span class="sourceLineNo">1153</span> if (LOG.isTraceEnabled()) {<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span> LOG.trace("Wrote a single-level " + description + " index with "<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span> + rootChunk.getNumEntries() + " entries, " + rootChunk.getRootSize()<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span> + " bytes");<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span> }<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span> rootChunk.writeRoot(out);<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span> }<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span><a name="line.1160"></a>
-<span class="sourceLineNo">1161</span> /**<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span> * Split the current level of the block index into intermediate index<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span> * blocks of permitted size and write those blocks to disk. Return the next<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span> * level of the block index referencing those intermediate-level blocks.<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span> *<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span> * @param out<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span> * @param currentLevel the current level of the block index, such as the a<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span> * chunk referencing all leaf-level index blocks<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span> * @return the parent level block index, which becomes the root index after<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span> * a few (usually zero) iterations<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span> * @throws IOException<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span> */<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span> private BlockIndexChunk writeIntermediateLevel(FSDataOutputStream out,<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span> BlockIndexChunk currentLevel) throws IOException {<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span> // Entries referencing intermediate-level blocks we are about to create.<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span> BlockIndexChunk parent = new BlockIndexChunk();<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span><a name="line.1177"></a>
-<span class="sourceLineNo">1178</span> // The current intermediate-level block index chunk.<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span> BlockIndexChunk curChunk = new BlockIndexChunk();<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span><a name="line.1180"></a>
-<span class="sourceLineNo">1181</span> for (int i = 0; i < currentLevel.getNumEntries(); ++i) {<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span> curChunk.add(currentLevel.getBlockKey(i),<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span> currentLevel.getBlockOffset(i), currentLevel.getOnDiskDataSize(i));<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span><a name="line.1184"></a>
-<span class="sourceLineNo">1185</span> // HBASE-16288: We have to have at least minIndexNumEntries(16) items in the index so that<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span> // we won't end up with too-many levels for a index with very large rowKeys. Also, if the<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span> // first key is larger than maxChunkSize this will cause infinite recursion.<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span> if (i >= minIndexNumEntries && curChunk.getRootSize() >= maxChunkSize) {<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span> writeIntermediateBlock(out, parent, curChunk);<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span> }<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span> }<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span><a name="line.1192"></a>
-<span class="sourceLineNo">1193</span> if (curChunk.getNumEntries() > 0) {<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span> writeIntermediateBlock(out, parent, curChunk);<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span> }<a name="line.1195"></a>
-<span class="sourceLineNo">1196</span><a name="line.1196"></a>
-<span class="sourceLineNo">1197</span> return parent;<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span> }<a name="line.1198"></a>
-<span class="sourceLineNo">1199</span><a name="line.1199"></a>
-<span class="sourceLineNo">1200</span> private void writeIntermediateBlock(FSDataOutputStream out,<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span> BlockIndexChunk parent, BlockIndexChunk curChunk) throws IOException {<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span> long beginOffset = out.getPos();<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span> DataOutputStream dos = blockWriter.startWriting(<a name="line.1203"></a>
-<span class="sourceLineNo">1204</span> BlockType.INTERMEDIATE_INDEX);<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span> curChunk.writeNonRoot(dos);<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span> byte[] curFirstKey = curChunk.getBlockKey(0);<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span> blockWriter.writeHeaderAndData(out);<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span><a name="line.1208"></a>
-<span class="sourceLineNo">1209</span> if (getCacheOnWrite()) {<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span> HFileBlock blockForCaching = blockWriter.getBlockForCaching(cacheConf);<a name="line.1210"></a>
-<span class="sourceLineNo">1211</span> cacheConf.getBlockCache().cacheBlock(new BlockCacheKey(nameForCaching,<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span> beginOffset, true, blockForCaching.getBlockType()), blockForCaching);<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span> }<a name="line.1213"></a>
-<span class="sourceLineNo">1214</span><a name="line.1214"></a>
-<span class="sourceLineNo">1215</span> // Add intermediate index block size<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span> totalBlockOnDiskSize += blockWriter.getOnDiskSizeWithoutHeader();<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span> totalBlockUncompressedSize +=<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span> blockWriter.getUncompressedSizeWithoutHeader();<a name="line.1218"></a>
+<span class="sourceLineNo">1106</span> cacheConf.getBlockCache().ifPresent(cache -> {<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span> HFileBlock blockForCaching = blockWriter.getBlockForCaching(cacheConf);<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span> cache.cacheBlock(new BlockCacheKey(nameForCaching, rootLevelIndexPos, true,<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span> blockForCaching.getBlockType()), blockForCaching);<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span> });<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span> }<a name="line.1111"></a>
+<span class="sourceLineNo">1112</span> }<a name="line.1112"></a>
+<span class="sourceLineNo">1113</span><a name="line.1113"></a>
+<span class="sourceLineNo">1114</span> // Add root index block size<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span> totalBlockOnDiskSize += blockWriter.getOnDiskSizeWithoutHeader();<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span> totalBlockUncompressedSize +=<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span> blockWriter.getUncompressedSizeWithoutHeader();<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span><a name="line.1118"></a>
+<span class="sourceLineNo">1119</span> if (LOG.isTraceEnabled()) {<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span> LOG.trace("Wrote a " + numLevels + "-level index with root level at pos "<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span> + rootLevelIndexPos + ", " + rootChunk.getNumEntries()<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span> + " root-level entries, " + totalNumEntries + " total entries, "<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span> + StringUtils.humanReadableInt(this.totalBlockOnDiskSize) +<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span> " on-disk size, "<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span> + StringUtils.humanReadableInt(totalBlockUncompressedSize) +<a name="line.1125"></a>
+<span class="sourceLineNo">1126</span> " total uncompressed size.");<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span> }<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span> return rootLevelIndexPos;<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span> }<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span><a name="line.1130"></a>
+<span class="sourceLineNo">1131</span> /**<a name="line.1131"></a>
+<span class="sourceLineNo">1132</span> * Writes the block index data as a single level only. Does not do any<a name="line.1132"></a>
+<span class="sourceLineNo">1133</span> * block framing.<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span> *<a name="line.1134"></a>
+<span class="sourceLineNo">1135</span> * @param out the buffered output stream to write the index to. Typically a<a name="line.1135"></a>
+<span class="sourceLineNo">1136</span> * stream writing into an {@link HFile} block.<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span> * @param description a short description of the index being written. Used<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span> * in a log message.<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span> * @throws IOException<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span> */<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span> public void writeSingleLevelIndex(DataOutput out, String description)<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span> throws IOException {<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span> expectNumLevels(1);<a name="line.1143"></a>
+<span class="sourceLineNo">1144</span><a name="line.1144"></a>
+<span class="sourceLineNo">1145</span> if (!singleLevelOnly)<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span> throw new IOException("Single-level mode is turned off");<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span><a name="line.1147"></a>
+<span class="sourceLineNo">1148</span> if (rootChunk.getNumEntries() > 0)<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span> throw new IOException("Root-level entries already added in " +<a name="line.1149"></a>
+<span class="sourceLineNo">1150</span> "single-level mode");<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span><a name="line.1151"></a>
+<span class="sourceLineNo">1152</span> rootChunk = curInlineChunk;<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span> curInlineChunk = new BlockIndexChunk();<a name="line.1153"></a>
+<span class="sourceLineNo">1154</span><a name="line.1154"></a>
+<span class="sourceLineNo">1155</span> if (LOG.isTraceEnabled()) {<a name="line.1155"></a>
+<span class="sourceLineNo">1156</span> LOG.trace("Wrote a single-level " + description + " index with "<a name="line.1156"></a>
+<span class="sourceLineNo">1157</span> + rootChunk.getNumEntries() + " entries, " + rootChunk.getRootSize()<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span> + " bytes");<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span> }<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span> rootChunk.writeRoot(out);<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span> }<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span><a name="line.1162"></a>
+<span class="sourceLineNo">1163</span> /**<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span> * Split the current level of the block index into intermediate index<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span> * blocks of permitted size and write those blocks to disk. Return the next<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span> * level of the block index referencing those intermediate-level blocks.<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span> *<a name="line.1167"></a>
+<span class="sourceLineNo">1168</span> * @param out<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span> * @param currentLevel the current level of the block index, such as the a<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span> * chunk referencing all leaf-level index blocks<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span> * @return the parent level block index, which becomes the root index after<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span> * a few (usually zero) iterations<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span> * @throws IOException<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span> */<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span> private BlockIndexChunk writeIntermediateLevel(FSDataOutputStream out,<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span> BlockIndexChunk currentLevel) throws IOException {<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span> // Entries referencing intermediate-level blocks we are about to create.<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span> BlockIndexChunk parent = new BlockIndexChunk();<a name="line.1178"></a>
+<span class="sourceLineNo">1179</span><a name="line.1179"></a>
+<span class="sourceLineNo">1180</span> // The current intermediate-level block index chunk.<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span> BlockIndexChunk curChunk = new BlockIndexChunk();<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span><a name="line.1182"></a>
+<span class="sourceLineNo">1183</span> for (int i = 0; i < currentLevel.getNumEntries(); ++i) {<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span> curChunk.add(currentLevel.getBlockKey(i),<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span> currentLevel.getBlockOffset(i), currentLevel.getOnDiskDataSize(i));<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span><a name="line.1186"></a>
+<span class="sourceLineNo">1187</span> // HBASE-16288: We have to have at least minIndexNumEntries(16) items in the index so that<a name="line.1187"></a>
+<span class="sourceLineNo">1188</span> // we won't end up with too-many levels for a index with very large rowKeys. Also, if the<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span> // first key is larger than maxChunkSize this will cause infinite recursion.<a name="line.1189"></a>
+<span class="sourceLineNo">1190</span> if (i >= minIndexNumEntries && curChunk.getRootSize() >= maxChunkSize) {<a name="line.1190"></a>
+<span class="sourceLineNo">1191</span> writeIntermediateBlock(out, parent, curChunk);<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span> }<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span> }<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span><a name="line.1194"></a>
+<span class="sourceLineNo">1195</span> if (curChunk.getNumEntries() > 0) {<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span> writeIntermediateBlock(out, parent, curChunk);<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span> }<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span><a name="line.1198"></a>
+<span class="sourceLineNo">1199</span> return parent;<a name="line.1199"></a>
+<span class="sourceLineNo">1200</span> }<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span><a name="line.1201"></a>
+<span class="sourceLineNo">1202</span> private void writeIntermediateBlock(FSDataOutputStream out,<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span> BlockIndexChunk parent, BlockIndexChunk curChunk) throws IOException {<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span> long beginOffset = out.getPos();<a name="line.1204"></a>
+<span class="sourceLineNo">1205</span> DataOutputStream dos = blockWriter.startWriting(<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span> BlockType.INTERMEDIATE_INDEX);<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span> curChunk.writeNonRoot(dos);<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span> byte[] curFirstKey = curChunk.getBlockKey(0);<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span> blockWriter.writeHeaderAndData(out);<a name="line.1209"></a>
+<span class="sourceLineNo">1210</span><a name="line.1210"></a>
+<span class="sourceLineNo">1211</span> if (getCacheOnWrite()) {<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span> cacheConf.getBlockCache().ifPresent(cache -> {<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span> HFileBlock blockForCaching = blockWriter.getBlockForCaching(cacheConf);<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span> cache.cacheBlock(<a name="line.1214"></a>
+<span class="sourceLineNo">1215</span> new BlockCacheKey(nameForCaching, beginOffset, true, blockForCaching.getBlockType()),<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span> blockForCaching);<a name="line.1216"></a>
+<span class="sourceLineNo">1217</span> });<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span> }<a name="line.1218"></a>
<span class="sourceLineNo">1219</span><a name="line.1219"></a>
-<span class="sourceLineNo">1220</span> // OFFSET is the beginning offset the chunk of block index entries.<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span> // SIZE is the total byte size of the chunk of block index entries<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span> // + the secondary index size<a name="line.1222"></a>
-<span class="sourceLineNo">1223</span> // FIRST_KEY is the first key in the chunk of block index<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span> // entries.<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span> parent.add(curFirstKey, beginOffset,<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span> blockWriter.getOnDiskSizeWithHeader());<a name="line.1226"></a>
-<span class="sourceLineNo">1227</span><a name="line.1227"></a>
-<span class="sourceLineNo">1228</span> // clear current block index chunk<a name="line.1228"></a>
-<span class="sourceLineNo">1229</span> curChunk.clear();<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span> curFirstKey = null;<a name="line.1230"></a>
-<span class="sourceLineNo">1231</span> }<a name="line.1231"></a>
+<span class="sourceLineNo">1220</span> // Add intermediate index block size<a name="line.1220"></a>
+<span class="sourceLineNo">1221</span> totalBlockOnDiskSize += blockWriter.getOnDiskSizeWithoutHeader();<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span> totalBlockUncompressedSize +=<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span> blockWriter.getUncompressedSizeWithoutHeader();<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span><a name="line.1224"></a>
+<span class="sourceLineNo">1225</span> // OFFSET is the beginning offset the chunk of block index entries.<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span> // SIZE is the total byte size of the chunk of block index entries<a name="line.1226"></a>
+<span class="sourceLineNo">1227</span> // + the secondary index size<a name="line.1227"></a>
+<span class="sourceLineNo">1228</span> // FIRST_KEY is the first key in the chunk of block index<a name="line.1228"></a>
+<span class="sourceLineNo">1229</span> // entries.<a name="line.1229"></a>
+<span class="sourceLineNo">1230</span> parent.add(curFirstKey, beginOffset,<a name="line.1230"></a>
+<span class="sourceLineNo">1231</span> blockWriter.getOnDiskSizeWithHeader());<a name="line.1231"></a>
<span class="sourceLineNo">1232</span><a name="line.1232"></a>
-<span class="sourceLineNo">1233</span> /**<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span> * @return how many block index entries there are in the root level<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span> */<a name="line.1235"></a>
-<span class="sourceLineNo">1236</span> public final int getNumRootEntries() {<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span> return rootChunk.getNumEntries();<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span> }<a name="line.1238"></a>
-<span class="sourceLineNo">1239</span><a name="line.1239"></a>
-<span class="sourceLineNo">1240</span> /**<a name="line.1240"></a>
-<span class="sourceLineNo">1241</span> * @return the number of levels in this block index.<a name="line.1241"></a>
-<span class="sourceLineNo">1242</span> */<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span> public int getNumLevels() {<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span> return numLevels;<a name="line.1244"></a>
-<span class="sourceLineNo">1245</span> }<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span><a name="line.1246"></a>
-<span class="sourceLineNo">1247</span> private void expectNumLevels(int expectedNumLevels) {<a name="line.1247"></a>
-<span class="sourceLineNo">1248</span> if (numLevels != expectedNumLevels) {<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span> throw new IllegalStateException("Number of block index levels is "<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span> + numLevels + "but is expected to be " + expectedNumLevels);<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span> }<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span> }<a name="line.1252"></a>
-<span class="sourceLineNo">1253</span><a name="line.1253"></a>
-<span class="sourceLineNo">1254</span> /**<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span> * Whether there is an inline block ready to be written. In general, we<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span> * write an leaf-level index block as an inline block as soon as its size<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span> * as serialized in the non-root format reaches a certain threshold.<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span> */<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span> @Override<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span> public boolean shouldWriteBlock(boolean closing) {<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span> if (singleLevelOnly) {<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1262"></a>
-<span class="sourceLineNo">1263</span> }<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span><a name="line.1264"></a>
-<span class="sourceLineNo">1265</span> if (curInlineChunk == null) {<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span> throw new IllegalStateException("curInlineChunk is null; has shouldWriteBlock been " +<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span> "called with closing=true and then called again?");<a name="line.1267"></a>
+<span class="sourceLineNo">1233</span> // clear current block index chunk<a name="line.1233"></a>
+<span class="sourceLineNo">1234</span> curChunk.clear();<a name="line.1234"></a>
+<span class="sourceLineNo">1235</span> curFirstKey = null;<a name="line.1235"></a>
+<span class="sourceLineNo">1236</span> }<a name="line.1236"></a>
+<span class="sourceLineNo">1237</span><a name="line.1237"></a>
+<span class="sourceLineNo">1238</span> /**<a name="line.1238"></a>
+<span class="sourceLineNo">1239</span> * @return how many block index entries there are in the root level<a name="line.1239"></a>
+<span class="sourceLineNo">1240</span> */<a name="line.1240"></a>
+<span class="sourceLineNo">1241</span> public final int getNumRootEntries() {<a name="line.1241"></a>
+<span class="sourceLineNo">1242</span> return rootChunk.getNumEntries();<a name="line.1242"></a>
+<span class="sourceLineNo">1243</span> }<a name="line.1243"></a>
+<span class="sourceLineNo">1244</span><a name="line.1244"></a>
+<span class="sourceLineNo">1245</span> /**<a name="line.1245"></a>
+<span class="sourceLineNo">1246</span> * @return the number of levels in this block index.<a name="line.1246"></a>
+<span class="sourceLineNo">1247</span> */<a name="line.1247"></a>
+<span class="sourceLineNo">1248</span> public int getNumLevels() {<a name="line.1248"></a>
+<span class="sourceLineNo">1249</span> return numLevels;<a name="line.1249"></a>
+<span class="sourceLineNo">1250</span> }<a name="line.1250"></a>
+<span class="sourceLineNo">1251</span><a name="line.1251"></a>
+<span class="sourceLineNo">1252</span> private void expectNumLevels(int expectedNumLevels) {<a name="line.1252"></a>
+<span class="sourceLineNo">1253</span> if (numLevels != expectedNumLevels) {<a name="line.1253"></a>
+<span class="sourceLineNo">1254</span> throw new IllegalStateException("Number of block index levels is "<a name="line.1254"></a>
+<span class="sourceLineNo">1255</span> + numLevels + "but is expected to be " + expectedNumLevels);<a name="line.1255"></a>
+<span class="sourceLineNo">1256</span> }<a name="line.1256"></a>
+<span class="sourceLineNo">1257</span> }<a name="line.1257"></a>
+<span class="sourceLineNo">1258</span><a name="line.1258"></a>
+<span class="sourceLineNo">1259</span> /**<a name="line.1259"></a>
+<span class="sourceLineNo">1260</span> * Whether there is an inline block ready to be written. In general, we<a name="line.1260"></a>
+<span class="sourceLineNo">1261</span> * write an leaf-level index block as an inline block as soon as its size<a name="line.1261"></a>
+<span class="sourceLineNo">1262</span> * as serialized in the non-root format reaches a certain threshold.<a name="line.1262"></a>
+<span class="sourceLineNo">1263</span> */<a name="line.1263"></a>
+<span class="sourceLineNo">1264</span> @Override<a name="line.1264"></a>
+<span class="sourceLineNo">1265</span> public boolean shouldWriteBlock(boolean closing) {<a name="line.1265"></a>
+<span class="sourceLineNo">1266</span> if (singleLevelOnly) {<a name="line.1266"></a>
+<span class="sourceLineNo">1267</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1267"></a>
<span class="sourceLineNo">1268</span> }<a name="line.1268"></a>
<span class="sourceLineNo">1269</span><a name="line.1269"></a>
-<span class="sourceLineNo">1270</span> if (curInlineChunk.getNumEntries() == 0) {<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span> return false;<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span> }<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span><a name="line.1273"></a>
-<span class="sourceLineNo">1274</span> // We do have some entries in the current inline chunk.<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span> if (closing) {<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span> if (rootChunk.getNumEntries() == 0) {<a name="line.1276"></a>
-<span class="sourceLineNo">1277</span> // We did not add any leaf-level blocks yet. Instead of creating a<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span> // leaf level with one block, move these entries to the root level.<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span><a name="line.1279"></a>
-<span class="sourceLineNo">1280</span> expectNumLevels(1);<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span> rootChunk = curInlineChunk;<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span> curInlineChunk = null; // Disallow adding any more index entries.<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span> return false;<a name="line.1283"></a>
-<span class="sourceLineNo">1284</span> }<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span><a name="line.1285"></a>
-<span class="sourceLineNo">1286</span> return true;<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span> } else {<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span> return curInlineChunk.getNonRootSize() >= maxChunkSize;<a name="line.1288"></a>
-<span class="sourceLineNo">1289</span> }<a name="line.1289"></a>
-<span class="sourceLineNo">1290</span> }<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span><a name="line.1291"></a>
-<span class="sourceLineNo">1292</span> /**<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span> * Write out the current inline index block. Inline blocks are non-root<a name="line.1293"></a>
-<span class="sourceLineNo">1294</span> * blocks, so the non-root index format is used.<a name="line.1294"></a>
-<span class="sourceLineNo">1295</span> *<a name="line.1295"></a>
-<span class="sourceLineNo">1296</span> * @param out<a name="line.1296"></a>
-<span class="sourceLineNo">1297</span> */<a name="line.1297"></a>
-<span class="sourceLineNo">1298</span> @Override<a name="line.1298"></a>
-<span class="sourceLineNo">1299</span> public void writeInlineBlock(DataOutput out) throws IOException {<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span> if (singleLevelOnly)<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1301"></a>
-<span class="sourceLineNo">1302</span><a name="line.1302"></a>
-<span class="sourceLineNo">1303</span> // Write the inline block index to the output stream in the non-root<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span> // index block format.<a name="line.1304"></a>
-<span class="sourceLineNo">1305</span> curInlineChunk.writeNonRoot(out);<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span><a name="line.1306"></a>
-<span class="sourceLineNo">1307</span> // Save the first key of the inline block so that we can add it to the<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span> // parent-level index.<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span> firstKey = curInlineChunk.getBlockKey(0);<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span><a name="line.1310"></a>
-<span class="sourceLineNo">1311</span> // Start a new inline index block<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span> curInlineChunk.clear();<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span> }<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span><a name="line.1314"></a>
-<span class="sourceLineNo">1315</span> /**<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span> * Called after an inline block has been written so that we can add an<a name="line.1316"></a>
-<span class="sourceLineNo">1317</span> * entry referring to that block to the parent-level index.<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span> */<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span> @Override<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span> public void blockWritten(long offset, int onDiskSize, int uncompressedSize) {<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span> // Add leaf index block size<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span> totalBlockOnDiskSize += onDiskSize;<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span> totalBlockUncompressedSize += uncompressedSize;<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span><a name="line.1324"></a>
-<span class="sourceLineNo">1325</span> if (singleLevelOnly)<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span><a name="line.1327"></a>
-<span class="sourceLineNo">1328</span> if (firstKey == null) {<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span> throw new IllegalStateException("Trying to add second-level index " +<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span> "entry with offset=" + offset + " and onDiskSize=" + onDiskSize +<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span> "but the first key was not set in writeInlineBlock");<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span> }<a name="line.1332"></a>
-<span class="sourceLineNo">1333</span><a name="line.1333"></a>
-<span class="sourceLineNo">1334</span> if (rootChunk.getNumEntries() == 0) {<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span> // We are writing the first leaf block, so increase index level.<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span> expectNumLevels(1);<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span> numLevels = 2;<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span> }<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span><a name="line.1339"></a>
-<span class="sourceLineNo">1340</span> // Add another entry to the second-level index. Include the number of<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span> // entries in all previous leaf-level chunks for mid-key calculation.<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span> rootChunk.add(firstKey, offset, onDiskSize, totalNumEntries);<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span> firstKey = null;<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span> }<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span><a name="line.1345"></a>
-<span class="sourceLineNo">1346</span> @Override<a name="line.1346"></a>
-<span class="sourceLineNo">1347</span> public BlockType getInlineBlockType() {<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span> return BlockType.LEAF_INDEX;<a name="line.1348"></a>
+<span class="sourceLineNo">1270</span> if (curInlineChunk == null) {<a name="line.1270"></a>
+<span class="sourceLineNo">1271</span> throw new IllegalStateException("curInlineChunk is null; has shouldWriteBlock been " +<a name="line.1271"></a>
+<span class="sourceLineNo">1272</span> "called with closing=true and then called again?");<a name="line.1272"></a>
+<span class="sourceLineNo">1273</span> }<a name="line.1273"></a>
+<span class="sourceLineNo">1274</span><a name="line.1274"></a>
+<span class="sourceLineNo">1275</span> if (curInlineChunk.getNumEntries() == 0) {<a name="line.1275"></a>
+<span class="sourceLineNo">1276</span> return false;<a name="line.1276"></a>
+<span class="sourceLineNo">1277</span> }<a name="line.1277"></a>
+<span class="sourceLineNo">1278</span><a name="line.1278"></a>
+<span class="sourceLineNo">1279</span> // We do have some entries in the current inline chunk.<a name="line.1279"></a>
+<span class="sourceLineNo">1280</span> if (closing) {<a name="line.1280"></a>
+<span class="sourceLineNo">1281</span> if (rootChunk.getNumEntries() == 0) {<a name="line.1281"></a>
+<span class="sourceLineNo">1282</span> // We did not add any leaf-level blocks yet. Instead of creating a<a name="line.1282"></a>
+<span class="sourceLineNo">1283</span> // leaf level with one block, move these entries to the root level.<a name="line.1283"></a>
+<span class="sourceLineNo">1284</span><a name="line.1284"></a>
+<span class="sourceLineNo">1285</span> expectNumLevels(1);<a name="line.1285"></a>
+<span class="sourceLineNo">1286</span> rootChunk = curInlineChunk;<a name="line.1286"></a>
+<span class="sourceLineNo">1287</span> curInlineChunk = null; // Disallow adding any more index entries.<a name="line.1287"></a>
+<span class="sourceLineNo">1288</span> return false;<a name="line.1288"></a>
+<span class="sourceLineNo">1289</span> }<a name="line.1289"></a>
+<span class="sourceLineNo">1290</span><a name="line.1290"></a>
+<span class="sourceLineNo">1291</span> return true;<a name="line.1291"></a>
+<span class="sourceLineNo">1292</span> } else {<a name="line.1292"></a>
+<span class="sourceLineNo">1293</span> return curInlineChunk.getNonRootSize() >= maxChunkSize;<a name="line.1293"></a>
+<span class="sourceLineNo">1294</span> }<a name="line.1294"></a>
+<span class="sourceLineNo">1295</span> }<a name="line.1295"></a>
+<span class="sourceLineNo">1296</span><a name="line.1296"></a>
+<span class="sourceLineNo">1297</span> /**<a name="line.1297"></a>
+<span class="sourceLineNo">1298</span> * Write out the current inline index block. Inline blocks are non-root<a name="line.1298"></a>
+<span class="sourceLineNo">1299</span> * blocks, so the non-root index format is used.<a name="line.1299"></a>
+<span class="sourceLineNo">1300</span> *<a name="line.1300"></a>
+<span class="sourceLineNo">1301</span> * @param out<a name="line.1301"></a>
+<span class="sourceLineNo">1302</span> */<a name="line.1302"></a>
+<span class="sourceLineNo">1303</span> @Override<a name="line.1303"></a>
+<span class="sourceLineNo">1304</span> public void writeInlineBlock(DataOutput out) throws IOException {<a name="line.1304"></a>
+<span class="sourceLineNo">1305</span> if (singleLevelOnly)<a name="line.1305"></a>
+<span class="sourceLineNo">1306</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1306"></a>
+<span class="sourceLineNo">1307</span><a name="line.1307"></a>
+<span class="sourceLineNo">1308</span> // Write the inline block index to the output stream in the non-root<a name="line.1308"></a>
+<span class="sourceLineNo">1309</span> // index block format.<a name="line.1309"></a>
+<span class="sourceLineNo">1310</span> curInlineChunk.writeNonRoot(out);<a name="line.1310"></a>
+<span class="sourceLineNo">1311</span><a name="line.1311"></a>
+<span class="sourceLineNo">1312</span> // Save the first key of the inline block so that we can add it to the<a name="line.1312"></a>
+<span class="sourceLineNo">1313</span> // parent-level index.<a name="line.1313"></a>
+<span class="sourceLineNo">1314</span> firstKey = curInlineChunk.getBlockKey(0);<a name="line.1314"></a>
+<span class="sourceLineNo">1315</span><a name="line.1315"></a>
+<span class="sourceLineNo">1316</span> // Start a new inline index block<a name="line.1316"></a>
+<span class="sourceLineNo">1317</span> curInlineChunk.clear();<a name="line.1317"></a>
+<span class="sourceLineNo">1318</span> }<a name="line.1318"></a>
+<span class="sourceLineNo">1319</span><a name="line.1319"></a>
+<span class="sourceLineNo">1320</span> /**<a name="line.1320"></a>
+<span class="sourceLineNo">1321</span> * Called after an inline block has been written so that we can add an<a name="line.1321"></a>
+<span class="sourceLineNo">1322</span> * entry referring to that block to the parent-level index.<a name="line.1322"></a>
+<span class="sourceLineNo">1323</span> */<a name="line.1323"></a>
+<span class="sourceLineNo">1324</span> @Override<a name="line.1324"></a>
+<span class="sourceLineNo">1325</span> public void blockWritten(long offset, int onDiskSize, int uncompressedSize) {<a name="line.1325"></a>
+<span class="sourceLineNo">1326</span> // Add leaf index block size<a name="line.1326"></a>
+<span class="sourceLineNo">1327</span> totalBlockOnDiskSize += onDiskSize;<a name="line.1327"></a>
+<span class="sourceLineNo">1328</span> totalBlockUncompressedSize += uncompressedSize;<a name="line.1328"></a>
+<span class="sourceLineNo">1329</span><a name="line.1329"></a>
+<span class="sourceLineNo">1330</span> if (singleLevelOnly)<a name="line.1330"></a>
+<span class="sourceLineNo">1331</span> throw new UnsupportedOperationException(INLINE_BLOCKS_NOT_ALLOWED);<a name="line.1331"></a>
+<span class="sourceLineNo">1332</span><a name="line.1332"></a>
+<span class="sourceLineNo">1333</span> if (firstKey == null) {<a name="line.1333"></a>
+<span class="sourceLineNo">1334</span> throw new IllegalStateException("Trying to add second-level index " +<a name="line.1334"></a>
+<span class="sourceLineNo">1335</span> "entry with offset=" + offset + " and onDiskSize=" + onDiskSize +<a name="line.1335"></a>
+<span class="sourceLineNo">1336</span> "but the first key was not set in writeInlineBlock");<a name="line.1336"></a>
+<span class="sourceLineNo">1337</span> }<a name="line.1337"></a>
+<span class="sourceLineNo">1338</span><a name="line.1338"></a>
+<span class="sourceLineNo">1339</span> if (rootChunk.getNumEntries() == 0) {<a name="line.1339"></a>
+<span class="sourceLineNo">1340</span> // We are writing the first leaf block, so increase index level.<a name="line.1340"></a>
+<span class="sourceLineNo">1341</span> expectNumLevels(1);<a name="line.1341"></a>
+<span class="sourceLineNo">1342</span> numLevels = 2;<a name="line.1342"></a>
+<span class="sourceLineNo">1343</span> }<a name="line.1343"></a>
+<span class="sourceLineNo">1344</span><a name="line.1344"></a>
+<span class="sourceLineNo">1345</span> // Add another entry to the second-level index. Include the number of<a name="line.1345"></a>
+<span class="sourceLineNo">1346</span> // entries in all previous leaf-level chunks for mid-key calculation.<a name="line.1346"></a>
+<span class="sourceLineNo">1347</span> rootChunk.add(firstKey, offset, onDiskSize, totalNumEntries);<a name="line.1347"></a>
+<span class="sourceLineNo">1348</span> firstKey = null;<a name="line.1348"></a>
<span class="sourceLineNo">1349</span> }<a name="line.1349"></a>
<span class="sourceLineNo">1350</span><a name="line.1350"></a>
-<span class="sourceLineNo">1351</span> /**<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span> * Add one index entry to the current leaf-level block. When the leaf-level<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span> * block gets large enough, it will be flushed to disk as an inline block.<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span> *<a name="line.1354"></a>
-<span class="sourceLineNo">1355</span> * @param firstKey the first key of the data block<a name="line.1355"></a>
-<span class="sourceLineNo">1356</span> * @param blockOffset the offset of the data block<a name="line.1356"></a>
-<span class="sourceLineNo">1357</span> * @param blockDataSize the on-disk size of the data block ({@link HFile}<a name="line.1357"></a>
-<span class="sourceLineNo">1358</span> * format version 2), or the uncompressed size of the data block (<a name="line.1358"></a>
-<span class="sourceLineNo">1359</span> * {@link HFile} format version 1).<a name="line.1359"></a>
-<span class="sourceLineNo">1360</span> */<a name="line.1360"></a>
-<span class="sourceLineNo">1361</span> public void addEntry(byte[] firstKey, long blockOffset, int blockDataSize) {<a name="line.1361"></a>
-<span class="sourceLineNo">1362</span> curInlineChunk.add(firstKey, blockOffset, blockDataSize);<a name="line.1362"></a>
-<span class="sourceLineNo">1363</span> ++totalNumEntries;<a name="line.1363"></a>
-<span class="sourceLineNo">1364</span> }<a name="line.1364"></a>
-<span class="sourceLineNo">1365</span><a name="line.1365"></a>
-<span class="sourceLineNo">1366</span> /**<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span> * @throws IOException if we happened to write a multi-level index.<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span> */<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span> public void ensureSingleLevel() throws IOException {<a name="line.1369"></a>
-<span class="sourceLineNo">1370</span> if (numLevels > 1) {<a name="line.1370"></a>
-<span class="sourceLineNo">1371</span> throw new IOException ("Wrote a " + numLevels + "-level index with " +<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span> rootChunk.getNumEntries() + " root-level entries, but " +<a name="line.1372"></a>
-<span class="sourceLineNo">1373</span> "this is expected to be a single-level block index.");<a name="line.1373"></a>
-<span class="sourceLineNo">1374</span> }<a name="line.1374"></a>
-<span class="sourceLineNo">1375</span> }<a name="line.1375"></a>
-<span class="sourceLineNo">1376</span><a name="line.1376"></a>
-<span class="sourceLineNo">1377</span> /**<a name="line.1377"></a>
-<span class="sourceLineNo">1378</span> * @return true if we are using cache-on-write. This is configured by the<a name="line.1378"></a>
-<span class="sourceLineNo">1379</span> * caller of the constructor by either passing a valid block cache<a name="line.1379"></a>
-<span class="sourceLineNo">1380</span> * or null.<a name="line.1380"></a>
-<span class="sourceLineNo">1381</span> */<a name="line.1381"></a>
-<span class="sourceLineNo">1382</span> @Override<a name="line.1382"></a>
-<span class="sourceLineNo">1383</span> public boolean getCacheOnWrite() {<a name="line.1383"></a>
-<span class="sourceLineNo">1384</span> return cacheConf != null && cacheConf.shouldCacheIndexesOnWrite();<a name="line.1384"></a>
-<span class="sourceLineNo">1385</span> }<a name="line.1385"></a>
-<span class="sourceLineNo">1386</span><a name="line.1386"></a>
-<span class="sourceLineNo">1387</span> /**<a name="line.1387"></a>
-<span class="sourceLineNo">1388</span> * The total uncompressed size of the root index block, intermediate-level<a name="line.1388"></a>
-<span class="sourceLineNo">1389</span> * index blocks, and leaf-level index blocks.<a name="line.1389"></a>
-<span class="sourceLineNo">1390</span> *<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span> * @return the total uncompressed size of all index blocks<a name="line.1391"></a>
-<span class="sourceLineNo">1392</span> */<a name="line.1392"></a>
-<span class="sourceLineNo">1393</span> public long getTotalUncompressedSize() {<a name="line.1393"></a>
-<span class="sourceLineNo">1394</span> return totalBlockUncompressedSize;<a name="line.1394"></a>
-<span class="sourceLineNo">1395</span> }<a name="line.1395"></a>
-<span class="sourceLineNo">1396</span><a name="line.1396"></a>
-<span class="sourceLineNo">1397</span> }<a name="line.1397"></a>
-<span class="sourceLineNo">1398</span><a name="line.1398"></a>
-<span class="sourceLineNo">1399</span> /**<a name="line.1399"></a>
-<span class="sourceLineNo">1400</span> * A single chunk of the block index in the process of writing. The data in<a name="line.1400"></a>
-<span class="sourceLineNo">1401</span> * this chunk can become a leaf-level, intermediate-level, or root index<a name="line.1401"></a>
-<span class="sourceLineNo">1402</span> * block.<a name="line.1402"></a>
-<span class="sourceLineNo">1403</span> */<a name="line.1403"></a>
-<span class="sourceLineNo">1404</span> static class BlockIndexChunk {<a name="line.1404"></a>
-<span class="sourceLineNo">1405</span><a name="line.1405"></a>
-<span class="sourceLineNo">1406</span> /** First keys of the key range corresponding to each index entry. */<a name="line.1406"></a>
-<span class="sourceLineNo">1407</span> private final List<byte[]> blockKeys = new ArrayList<>();<a name="line.1407"></a>
-<span class="sourceLineNo">1408</span><a name="line.1408"></a>
-<span class="sourceLineNo">1409</span> /** Block offset in backing stream. */<a name="line.1409"></a>
-<span class="sourceLineNo">1410</span> private final List<Long> blockOffsets = new ArrayList<>();<a name="line.1410"></a>
-<span class="sourceLineNo">1411</span><a name="line.1411"></a>
-<span class="sourceLineNo">1412</span> /** On-disk data sizes of lower-level data or index blocks. */<a name="line.1412"></a>
-<span class="sourceLineNo">1413</span> private final List<Integer> onDiskDataSizes = new ArrayList<>();<a name="line.1413"></a>
-<span class="sourceLineNo">1414</span><a name="line.1414"></a>
-<span class="sourceLineNo">1415</span> /**<a name="line.1415"></a>
-<span class="sourceLineNo">1416</span> * The cumulative number of sub-entries, i.e. entries on deeper-level block<a name="line.1416"></a>
-<span class="sourceLineNo">1417</span> * index entries. numSubEntriesAt[i] is the number of sub-entries in the<a name="line.1417"></a>
-<span class="sourceLineNo">1418</span> * blocks corresponding to this chunk's entries #0 through #i inclusively.<a name="line.1418"></a>
-<span class="sourceLineNo">1419</span> */<a name="line.1419"></a>
-<span class="sourceLineNo">1420</span> private final List<Long> numSubEntriesAt = new ArrayList<>();<a name="line.1420"></a>
-<span class="sourceLineNo">1421</span><a name="line.1421"></a>
-<span class="sourceLineNo">1422</span> /**<a name="line.1422"></a>
-<span class="sourceLineNo">1423</span> * The offset of the next entry to be added, relative to the end of the<a name="line.1423"></a>
-<span class="sourceLineNo">1424</span> * "secondary index" in the "non-root" format representation of this index<a name="line.1424"></a>
-<span class="sourceLineNo">1425</span> * chunk. This is the next value to be added to the secondary index.<a name="line.1425"></a>
-<span class="sourceLineNo">1426</span> */<a name="line.1426"></a>
-<span class="sourceLineNo">1427</span> private int curTotalNonRootEntrySize = 0;<a name="line.1427"></a>
-<span class="sourceLineNo">1428</span><a name="line.1428"></a>
-<span class="sourceLineNo">1429</span> /**<a name="line.1429"></a>
-<span class="sourceLineNo">1430</span> * The accumulated size of this chunk if stored in the root index format.<a name="line.1430"></a>
+<span class="sourceLineNo">1351</span> @Override<a name="line.1351"></a>
+<span class="sourceLineNo">1352</span> public BlockType getInlineBlockType() {<a name="line.1352"></a>
+<span class="sourceLineNo">1353</span> return BlockType.LEAF_INDEX;<a name="line.1353"></a>
+<span class="sourceLineNo">1354</span> }<a name="line.1354"></a>
+<span class="sourceLineNo">1355</span><a name="line.1355"></a>
+<span class="sourceLineNo">1356</span> /**<a name="line.1356"></a>
+<span class="sourceLineNo">1357</span> * Add one index entry to the current leaf-level block. When the leaf-level<a name="line.1357"></a>
+<span class="sourceLineNo">1358</span> * block gets large enough, it will be flushed to disk as an inline block.<a name="line.1358"></a>
+<span class="sourceLineNo">1359</span> *<a name="line.1359"></a>
+<span class="sourceLineNo">1360</span> * @param firstKey the first key of the data block<a name="line.1360"></a>
+<span class="sourceLineNo">1361</span> * @param blockOffset the offset of the data block<a name="line.1361"></a>
+<span class="sourceLineNo">1362</span> * @param blockDataSize the on-disk size of the data block ({@link HFile}<a name="line.1362"></a>
+<span class="sourceLineNo">1363</span> * format version 2), or the uncompressed size of the data block (<a name="line.1363"></a>
+<span class="sourceLineNo">1364</span> * {@link HFile} format version 1).<a name="line.1364"></a>
+<span class="sourceLineNo">1365</span> */<a name="line.1365"></a>
+<span class="sourceLineNo">1366</span> public void addEntry(byte[] firstKey, long blockOffset, int blockDataSize) {<a name="line.1366"></a>
+<span class="sourceLineNo">1367</span> curInlineChunk.add(firstKey, blockOffset, blockDataSize);<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span> ++totalNumEntries;<a name="line.1368"></a>
+<span class="sourceLineNo">1369</span> }<a name="line.1369"></a>
+<span class="sourceLineNo">1370</span><a name="line.1370"></a>
+<span class="sourceLineNo">1371</span> /**<a name="line.1371"></a>
+<span class="sourceLineNo">1372</span> * @throws IOException if we happened to write a multi-level index.<a name="line.1372"></a>
+<span class="sourceLineNo">1373</span> */<a name="line.1373"></a>
+<span class="sourceLineNo">1374</span> public void ensureSingleLevel() throws IOException {<a name="line.1374"></a>
+<span class="sourceLineNo">1375</span> if (numLevels > 1) {<a name="line.1375"></a>
+<span class="sourceLineNo">1376</span> throw new IOException ("Wrote a " + numLevels + "-level index with " +<a name="line.1376"></a>
+<span class="sourceLineNo">1377</span> rootChunk.getNumEntries() + " root-level entries, but " +<a name="line.1377"></a>
+<span class="sourceLineNo">1378</span> "this is expected to be a single-level block index.");<a name="line.1378"></a>
+<span class="sourceLineNo">1379</span> }<a name="line.1379"></a>
+<span class="sourceLineNo">1380</span> }<a name="line.1380"></a>
+<span class="sourceLineNo">1381</span><a name="line.1381"></a>
+<span class="sourceLineNo">1382</span> /**<a name="line.1382"></a>
+<span class="sourceLineNo">1383</span> * @return true if we are using cache-on-write. This is configured by the<a name="line.1383"></a>
+<span class="sourceLineNo">1384</span> * caller of the constructor by either passing a valid block cache<a name="line.1384"></a>
+<span class="sourceLineNo">1385</span> * or null.<a name="line.1385"></a>
+<span class="sourceLineNo">1386</span> */<a name="line.1386"></a>
+<span class="sourceLineNo">1387</span> @Override<a name="line.1387"></a>
+<span class="sourceLineNo">1388</span> public boolean getCacheOnWrite() {<a name="line.1388"></a>
+<span class="sourceLineNo">1389</span> return cacheConf != null && cacheConf.shouldCacheIndexesOnWrite();<a name="line.1389"></a>
+<span class="sourceLineNo">1390</span> }<a name="line.1390"></a>
+<span class="sourceLineNo">1391</span><a name="line.1391"></a>
+<span class="sourceLineNo">1392</span> /**<a name="line.1392"></a>
+<span class="sourceLineNo">1393</span> * The total uncompressed size of the root index block, intermediate-level<a name="line.1393"></a>
+<span class="sourceLineNo">1394</span> * index blocks, and leaf-level index blocks.<a name="line.1394"></a>
+<span class="sourceLineNo">1395</span> *<a name="line.1395"></a>
+<span class="sourceLineNo">1396</span> * @return the total uncompressed size of all index blocks<a name="line.1396"></a>
+<span class="sourceLineNo">1397</span> */<a name="line.1397"></a>
+<span class="sourceLineNo">1398</span> public long getTotalUncompressedSize() {<a name="line.1398"></a>
+<span class="sourceLineNo">1399</span> return totalBlockUncompressedSize;<a name="line.1399"></a>
+<span class="sourceLineNo">1400</span> }<a name="line.1400"></a>
+<span class="sourceLineNo">1401</span><a name="line.1401"></a>
+<span class="sourceLineNo">1402</span> }<a name="line.1402"></a>
+<span class="sourceLineNo">1403</span><a name="line.1403"></a>
+<span class="sourceLineNo">1404</span> /**<a name="line.1404"></a>
+<span class="sourceLineNo">1405</span> * A single chunk of the block index in the process of writing. The data in<a name="line.1405"></a>
+<span class="sourceLineNo">1406</span> * this chunk can become a leaf-level, intermediate-level, or root index<a name="line.1406"></a>
+<span class="sourceLineNo">1407</span> * block.<a name="line.1407"></a>
+<span class="sourceLineNo">1408</span> */<a name="line.1408"></a>
+<span class="sourceLineNo">1409</span> static class BlockIndexChunk {<a name="line.1409"></a>
+<span class="sourceLineNo">1410</span><a name="line.1410"></a>
+<span class="sourceLineNo">1411</span> /** First keys of the key range corresponding to each index entry. */<a name="line.1411"></a>
+<span class="sourceLineNo">1412</span> private final List<byte[]> blockKeys = new ArrayList<>();<a name="line.1412"></a>
+<span class="sourceLineNo">1413</span><a name="line.1413"></a>
+<span class="sourceLineNo">1414</span> /** Block offset in backing stream. */<a name="line.1414"></a>
+<span class="sourceLineNo">1415</span> private final List<Long> blockOffsets = new ArrayList<>();<a name="line.1415"></a>
+<span class="sourceLineNo">1416</span><a name="line.1416"></a>
+<span class="sourceLineNo">1417</span> /** On-disk data sizes of lower-level data or index blocks. */<a name="line.1417"></a>
+<span class="sourceLineNo">1418</span> private final List<Integer> onDiskDataSizes = new ArrayList<>();<a name="line.1418"></a>
+<span class="sourceLineNo">1419</span><a name="line.1419"></a>
+<span class="sourceLineNo">1420</span> /**<a name="line.1420"></a>
+<span class="sourceLineNo">1421</span> * The cumulative number of sub-entries, i.e. entries on deeper-level block<a name="line.1421"></a>
+<span class="sourceLineNo">1422</span> * index entries. numSubEntriesAt[i] is the number of sub-entries in the<a name="line.1422"></a>
+<span class="sourceLineNo">1423</span> * blocks corresponding to this chunk's entries #0 through #i inclusively.<a name="line.1423"></a>
+<span class="sourceLineNo">1424</span> */<a name="line.1424"></a>
+<span class="sourceLineNo">1425</span> private final List<Long> numSubEntriesAt = new ArrayList<>();<a name="line.1425"></a>
+<span class="sourceLineNo">1426</span><a name="line.1426"></a>
+<span class="sourceLineNo">1427</span> /**<a name="line.1427"></a>
+<span class="sourceLineNo">1428</span> * The offset of the next entry to be added, relative to the end of the<a name="line.1428"></a>
+<span class="sourceLineNo">1429</span> * "secondary index" in the "non-root" format representation of this index<a name="line.1429"></a>
+<span class="sourceLineNo">1430</span> * chunk. This is the next value to be added to the secondary index.<a name="line.1430"></a>
<span class="sourceLineNo">1431</span> */<a name="line.1431"></a>
-<span class="sourceLineNo">1432</span> private int curTotalRootSize = 0;<a name="line.1432"></a>
+<span class="sourceLineNo">1432</span> private int curTotalNonRootEntrySize = 0;<a name="line.1432"></a>
<span class="sourceLineNo">1433</span><a name="line.1433"></a>
<span class="sourceLineNo">1434</span> /**<a name="line.1434"></a>
-<span class="sourceLineNo">1435</span> * The "secondary index" used for binary search over variable-length<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span> * records in a "non-root" format block. These offsets are relative to the<a name="line.1436"></a>
-<span class="sourceLineNo">1437</span> * end of this secondary index.<a name="line.1437"></a>
-<span class="sourceLineNo">1438</span> */<a name="line.1438"></a>
-<span class="sourceLineNo">1439</span> private final List<Integer> secondaryIndexOffsetMarks = new ArrayList<>();<a name="line.1439"></a>
-<span class="sourceLineNo">1440</span><a name="line.1440"></a>
-<span class="sourceLineNo">1441</span> /**<a name="line.1441"></a>
-<span class="sourceLineNo">1442</span> * Adds a new entry to this block index chunk.<a name="line.1442"></a>
-<span class="sourceLineNo">1443</span> *<a name="line.1443"></a>
-<span class="sourceLineNo">1444</span> * @param firstKey the first key in the block pointed to by this entry<a name="line.1444"></a>
-<span class="sourceLineNo">1445</span> * @param blockOffset the offset of the next-level block pointed to by this<a name="line.1445"></a>
-<span class="sourceLineNo">1446</span> * entry<a name="line.1446"></a>
-<span class="sourceLineNo">1447</span> * @param onDiskDataSize the on-disk data of the block pointed to by this<a name="line.1447"></a>
-<span class="sourceLineNo">1448</span> * entry, including header size<a name="line.1448"></a>
-<span class="sourceLineNo">1449</span> * @param curTotalNumSubEntries if this chunk is the root index chunk under<a name="line.1449"></a>
-<span class="sourceLineNo">1450</span> * construction, this specifies the current total number of<a name="line.1450"></a>
-<span class="sourceLineNo">1451</span> * sub-entries in all leaf-level chunks, including the one<a name="line.1451"></a>
-<span class="sourceLineNo">1452</span> * corresponding to the second-level entry being added.<a name="line.1452"></a>
-<span class="sourceLineNo">1453</span> */<a name="line.1453"></a>
-<span class="sourceLineNo">1454</span> void add(byte[] firstKey, long blockOffset, int onDiskDataSize,<a name="line.1454"></a>
-<span class="sourceLineNo">1455</span> long curTotalNumSubEntries) {<a name="line.1455"></a>
-<span class="sourceLineNo">1456</span> // Record the offset for the secondary index<a name="line.1456"></a>
-<span class="sourceLineNo">1457</span> secondaryIndexOffsetMarks.add(curTotalNonRootEntrySize);<a name="line.1457"></a>
-<span class="sourceLineNo">1458</span> curTotalNonRootEntrySize += SECONDARY_INDEX_ENTRY_OVERHEAD<a name="line.1458"></a>
-<span class="sourceLineNo">1459</span> + firstKey.length;<a name="line.1459"></a>
-<span class="sourceLineNo">1460</span><a name="line.1460"></a>
-<span class="sourceLineNo">1461</span> curTotalRootSize += Bytes.SIZEOF_LONG + Bytes.SIZEOF_INT<a name="line.1461"></a>
-<span class="sourceLineNo">1462</span> + WritableUtils.getVIntSize(firstKey.length) + firstKey.length;<a name="line.1462"></a>
-<span class="sourceLineNo">1463</span><a name="line.1463"></a>
-<span class="sourceLineNo">1464</span> blockKeys.add(firstKey);<a name="line.1464"></a>
-<span class="sourceLineNo">1465</span> blockOffsets.add(blockOffset);<a name="line.1465"></a>
-<span class="sourceLineNo">1466</span> onDiskDataSizes.add(onDiskDataSize);<a name="line.1466"></a>
-<span class="sourceLineNo">1467</span><a name="line.1467"></a>
-<span class="sourceLineNo">1468</span> if (curTotalNumSubEntries != -1) {<a name="line.1468"></a>
-<span class="sourceLineNo">1469</span> numSubEntriesAt.add(curTotalNumSubEntries);<a name="line.1469"></a>
-<span class="sourceLineNo">1470</span><a name="line.1470"></a>
-<span class="sourceLineNo">1471</span> // Make sure the parallel arrays are in sync.<a name="line.1471"></a>
-<span class="sourceLineNo">1472</span> if (numSubEntriesAt.size() != blockKeys.size()) {<a name="line.1472"></a>
-<span class="sourceLineNo">1473</span> throw new IllegalStateException("Only have key/value count " +<a name="line.1473"></a>
-<span class="sourceLineNo">1474</span> "stats for " + numSubEntriesAt.size() + " block index " +<a name="line.1474"></a>
-<span class="sourceLineNo">1475</span> "entries out of " + blockKeys.size());<a name="line.1475"></a>
-<span class="sourceLineNo">1476</span> }<a name="line.1476"></a>
-<span class="sourceLineNo">1477</span> }<a name="line.1477"></a>
-<span class="sourceLineNo">1478</span> }<a name="line.1478"></a>
-<span class="sourceLineNo">1479</span><a name="line.1479"></a>
-<span class="sourceLineNo">1480</span> /**<a name="line.1480"></a>
-<span class="sourceLineNo">1481</span> * The same as {@link #add(byte[], long, int, long)} but does not take the<a name="line.1481"></a>
-<span class="sourceLineNo">1482</span> * key/value into account. Used for single-level indexes.<a name="line.1482"></a>
-<span class="sourceLineNo">1483</span> *<a name="line.1483"></a>
-<span class="sourceLineNo">1484</span> * @see #add(byte[], long, int, long)<a name="line.1484"></a>
-<span class="sourceLineNo">1485</span> */<a name="line.1485"></a>
-<span class="sourceLineNo">1486</span> public void add(byte[] firstKey, long blockOffset, int onDiskDataSize) {<a name="line.1486"></a>
-<span class="sourceLineNo">1487</span> add(firstKey, blockOffset, onDiskDataSize, -1);<a name="line.1487"></a>
-<span class="sourceLineNo">1488</span> }<a name="line.1488"></a>
-<span class="sourceLineNo">1489</span><a name="line.1489"></a>
-<span class="sourceLineNo">1490</span> public void clear() {<a name="line.1490"></a>
-<span class="sourceLineNo">1491</span> blockKeys.clear();<a name="line.1491"></a>
-<span class="sourceLineNo">1492</span> blockOffsets.clear();<a name="line.1492"></a>
-<span class="sourceLineNo">1493</span> onDiskDataSizes.clear();<a name="line.1493"></a>
-<span class="sourceLineNo">1494</span> secondaryIndexOffsetMarks.clear();<a name="line.1494"></a>
-<span class="sourceLineNo">1495</span> numSubEntriesAt.clear();<a name="line.1495"></a>
-<span class="sourceLineNo">1496</span> curTotalNonRootEntrySize = 0;<a name="line.1496"></a>
-<span class="sourceLineNo">1497</span> curTotalRootSize = 0;<a name="line.1497"></a>
-<span class="sourceLineNo">1498</span> }<a name="line.1498"></a>
-<span class="sourceLineNo">1499</span><a name="line.1499"></a>
-<span class="sourceLineNo">1500</span> /**<a name="line.1500"></a>
-<span class="sourceLineNo">1501</span> * Finds the entry corresponding to the deeper-level index block containing<a name="line.1501"></a>
-<span class="sourceLineNo">1502</span> * the given deeper-level entry (a "sub-entry"), assuming a global 0-based<a name="line.1502"></a>
-<span class="sourceLineNo">1503</span> * ordering of sub-entries.<a name="line.1503"></a>
-<span class="sourceLineNo">1504</span> *<a name="line.1504"></a>
-<span class="sourceLineNo">1505</span> * <p><a name="line.1505"></a>
-<span class="sourceLineNo">1506</span> * <i> Implementation note. </i> We are looking for i such that<a name="line.1506"></a>
-<span class="sourceLineNo">1507</span> * numSubEntriesAt[i - 1] <= k < numSubEntriesAt[i], because a deeper-level<a name="line.1507"></a>
-<span class="sourceLineNo">1508</span> * block #i (0-based) contains sub-entries # numSubEntriesAt[i - 1]'th<a name="line.1508"></a>
-<span class="sourceLineNo">1509</span> * through numSubEntriesAt[i] - 1, assuming a global 0-based ordering of<a name="line.1509"></a>
-<span class="sourceLineNo">1510</span> * sub-entries. i is by definition the insertion point of k in<a name="line.1510"></a>
-<span class="sourceLineNo">1511</span> * numSubEntriesAt.<a name="line.1511"></a>
-<span class="sourceLineNo">1512</span> *<a name="line.1512"></a>
-<span class="sourceLineNo">1513</span> * @param k sub-entry index, from 0 to the total number sub-entries - 1<a name="line.1513"></a>
-<span class="sourceLineNo">1514</span> * @return the 0-based index of the entry corresponding to the given<a name="line.1514"></a>
-<span class="sourceLineNo">1515</span> * sub-entry<a name="line.1515"></a>
-<span class="sourceLineNo">1516</span> */<a name="line.1516"></a>
-<span class="sourceLineNo">1517</span> public int getEntryBySubEntry(long k) {<a name="line.1517"></a>
-<span class="sourceLineNo">1518</span> // We define mid-key as the key corresponding to k'th sub-entry<a name="line.1518"></a>
-<span class="sourceLineNo">1519</span> // (0-based).<a name="line.1519"></a>
-<span class="sourceLineNo">1520</span><a name="line.1520"></a>
-<span class="sourceLineNo">1521</span> int i = Collections.binarySearch(numSubEntriesAt, k);<a name="line.1521"></a>
-<span class="sourceLineNo">1522</span><a name="line.1522"></a>
-<span class="sourceLineNo">1523</span> // Exact match: cumulativeWeight[i] = k. This means chunks #0 through<a name="line.1523"></a>
-<span class="sourceLineNo">1524</span> // #i contain exactly k sub-entries, and the sub-entry #k (0-based)<a name="line.1524"></a>
-<span class="sourceLineNo">1525</span> // is in the (i + 1)'th chunk.<a name="line.1525"></a>
-<span class="sourceLineNo">1526</span> if (i >= 0)<a name="line.1526"></a>
-<span class="sourceLineNo">1527</span> return i + 1;<a name="line.1527"></a>
-<span class="sourceLineNo">1528</span><a name="line.1528"></a>
-<span class="sourceLineNo">1529</span> // Inexact match. Return the insertion point.<a name="line.1529"></a>
-<span class="sourceLineNo">1530</span> return -i - 1;<a name="line.1530"></a>
-<span class="sourceLineNo">1531</span> }<a name="line.1531"></a>
-<span class="sourceLineNo">1532</span><a name="line.1532"></a>
-<span class="sourceLineNo">1533</span> /**<a name="line.1533"></a>
-<span class="sourceLineNo">1534</span> * Used when writing the root block index of a multi-level block index.<a name="line.1534"></a>
-<span class="sourceLineNo">1535</span> * Serializes additional information allowing to efficiently identify the<a name="line.1535"></a>
-<span class="sourceLineNo">1536</span> * mid-key.<a name="line.1536"></a>
-<span class="sourceLineNo">1537</span> *<a name="line.1537"></a>
-<span class="sourceLineNo">1538</span> * @return a few serialized fields for finding the mid-key<a name="line.1538"></a>
-<span class="sourceLineNo">1539</span> * @throws IOException if could not create metadata for computing mid-key<a name="line.1539"></a>
-<span class="sourceLineNo">1540</span> */<a name="line.1540"></a>
-<span class="sourceLineNo">1541</span> public byte[] getMidKeyMetadata() throws IOException {<a name="line.1541"></a>
-<span class="sourceLineNo">1542</span> ByteArrayOutputStream baos = new ByteArrayOutputStream(<a name="line.1542"></a>
-<span class="sourceLineNo">1543</span> MID_KEY_METADATA_SIZE);<a name="line.1543"></a>
-<span class="sourceLineNo">1544</span> DataOutputStream baosDos = new DataOutputStream(baos);<a name="line.1544"></a>
-<span class="sourceLineNo">1545</span> long totalNumSubEntries = numSubEntriesAt.get(blockKeys.size() - 1);<a name="line.1545"></a>
-<span class="sourceLineNo">1546</span> if (totalNumSubEntries == 0) {<a name="line.1546"></a>
-<span class="sourceLineNo">1547</span> throw new IOException("No leaf-level entries, mid-key unavailable");<a name="line.1547"></a>
-<span class="sourceLineNo">1548</span> }<a name="line.1548"></a>
-<span class="sourceLineNo">1549</span> long midKeySubEntry = (totalNumSubEntries - 1) / 2;<a name="line.1549"></a>
-<span class="sourceLineNo">1550</span> int midKeyEntry = getEntryBySubEntry(midKeySubEntry);<a name="line.1550"></a>
-<span class="sourceLineNo">1551</span><a name="line.1551"></a>
-<span class="sourceLineNo">1552</span> baosDos.writeLong(blockOffsets.get(midKeyEntry));<a name="line.1552"></a>
-<span class="sourceLineNo">1553</span> baosDos.writeInt(onDiskDataSizes.get(midKeyEntry));<a name="line.1553"></a>
-<span class="sourceLineNo">1554</span><a name="line.1554"></a>
-<span class="sourceLineNo">1555</span> long numSubEntriesBefore = midKeyEntry > 0<a name="line.1555"></a>
-<span class="sourceLineNo">1556</span> ? numSubEntriesAt.get(midKeyEntry - 1) : 0;<a name="line.1556"></a>
-<span class="sourceLineNo">1557</span> long subEntryWithinEntry = midKeySubEntry - numSubEntriesBefore;<a name="line.1557"></a>
-<span class="sourceLineNo">1558</span> if (subEntryWithinEntry < 0 || subEntryWithinEntry > Integer.MAX_VALUE)<a name="line.1558"></a>
-<span class="sourceLineNo">1559</span> {<a name="line.1559"></a>
-<span class="sourceLineNo">1560</span> throw new IOException("Could not identify mid-key index within the "<a name="line.1560"></a>
-<span class="sourceLineNo">1561</span> + "leaf-level block containing mid-key: out of range ("<a name="line.1561"></a>
-<span class="sourceLineNo">1562</span> + subEntryWithinEntry + ", numSubEntriesBefore="<a name="line.1562"></a>
-<span class="sourceLineNo">1563</span> + numSubEntriesBefore + ", midKeySubEntry=" + midKeySubEntry<a name="line.1563"></a>
-<span class="sourceLineNo">1564</span> + ")");<a name="line.1564"></a>
-<span class="sourceLineNo">1565</span> }<a name="line.1565"></a>
-<span class="sourceLineNo">1566</span><a name="line.1566"></a>
-<span class="sourceLineNo">1567</span> baosDos.writeInt((int) subEntryWithinEntry);<a name="line.1567"></a>
-<span class="sourceLineNo">1568</span><a name="line.1568"></a>
-<span class="sourceLineNo">1569</span> if (baosDos.size() != MID_KEY_METADATA_SIZE) {<a name="line.1569"></a>
-<span class="sourceLineNo">1570</span> throw new IOException("Could not write mid-key metadata: size=" +<a name="line.1570"></a>
-<span class="sourceLineNo">1571</span> baosDos.size() + ", correct size: " + MID_KEY_METADATA_SIZE);<a name="line.1571"></a>
-<span class="sourceLineNo">1572</span> }<a name="line.1572"></a>
+<span class="sourceLineNo">1435</span> * The accumulated size of this chunk if stored in the root index format.<a name="line.1435"></a>
+<span class="sourceLineNo">1436</span> */<a name="line.1436"></a>
+<span class="sourceLineNo">1437</span> private int curTotalRootSize = 0;<a name="line.1437"></a>
+<span class="sourceLineNo">1438</span><a name="line.1438"></a>
+<span class="sourceLineNo">1439</span> /**<a name="line.1439"></a>
+<span class="sourceLineNo">1440</span> * The "secondary index" used for binary search over variable-length<a name="line.1440"></a>
+<span class="sourceLineNo">1441</span> * records in a "non-root" format block. These offsets are relative to the<a name="line.1441"></a>
+<span class="sourceLineNo">1442</span> * end of this secondary index.<a name="line.1442"></a>
+<span class="sourceLineNo">1443</span> */<a name="line.1443"></a>
+<span class="sourceLineNo">1444</span> private final List<Integer> secondaryIndexOffsetMarks = new ArrayList<>();<a name="line.1444"></a>
+<span class="sourceLineNo">1445</span><a name="line.1445"></a>
+<span class="sourceLineNo">1446</span> /**<a name="line.1446"></a>
+<span class="sourceLineNo">1447</span> * Adds a new entry to this block index chunk.<a name="line.1447"></a>
+<span class="sourceLineNo">1448</span> *<a name="line.1448"></a>
+<span class="sourceLineNo">1449</span> * @param firstKey the first key in the block pointed to by this entry<a name="line.1449"></a>
+<span class="sourceLineNo">1450</span> * @param blockOffset the offset of the next-level block pointed to by this<a name="line.1450"></a>
+<span class="sourceLineNo">1451</span> * entry<a name="line.1451"></a>
+<span class="sourceLineNo">1452</span> * @param onDiskDataSize the on-disk data of the block pointed to by this<a name="line.1452"></a>
+<span class="sourceLineNo">1453</span> * entry, including header size<a name="line.1453"></a>
+<span class="sourceLineNo">1454</span> * @param curTotalNumSubEntries if this chunk is the root index chunk under<a name="line.1454"></a>
+<span class="sourceLineNo">1455</span> * construction, this specifies the current total number of<a name="line.1455"></a>
+<span class="sourceLineNo">1456</span> * sub-entries in all leaf-level chunks, including the one<a name="line.1456"></a>
+<span class="sourceLineNo">1457</span> * corresponding to the second-level entry being added.<a name="line.1457"></a>
+<span class="sourceLineNo">1458</span> */<a name="line.1458"></a>
+<span class="sourceLineNo">1459</span> void add(byte[] firstKey, long blockOffset, int onDiskDataSize,<a name="line.1459"></a>
+<span class="sourceLineNo">1460</span> long curTotalNumSubEntries) {<a name="line.1460"></a>
+<span class="sourceLineNo">1461</span> // Record the offset for the secondary index<a name="line.1461"></a>
+<span class="sourceLineNo">1462</span> secondaryIndexOffsetMarks.add(curTotalNonRootEntrySize);<a name="line.1462"></a>
+<span class="sourceLineNo">1463</span> curTotalNonRootEntrySize += SECONDARY_INDEX_ENTRY_OVERHEAD<a name="line.1463"></a>
+<span class="sourceLineNo">1464</span> + firstKey.length;<a name="line.1464"></a>
+<span class="sourceLineNo">1465</span><a name="line.1465"></a>
+<span class="sourceLineNo">1466</span> curTotalRootSize += Bytes.SIZEOF_LONG + Bytes.SIZEOF_INT<a name="line.1466"></a>
+<span class="sourceLineNo">1467</span> + WritableUtils.getVIntSize(firstKey.length) + firstKey.length;<a name="line.1467"></a>
+<span class="sourceLineNo">1468</span><a name="line.1468"></a>
+<span class="sourceLineNo">1469</span> blockKeys.add(firstKey);<a name="line.1469"></a>
+<span class="sourceLineNo">1470</span> blockOffsets.add(blockOffset);<a name="line.1470"></a>
+<span class="sourceLineNo">1471</span> onDiskDataSizes.add(onDiskDataSize);<a name="line.1471"></a>
+<span class="sourceLineNo">1472</span><a name="line.1472"></a>
+<span class="sourceLineNo">1473</span> if (curTotalNumSubEntries != -1) {<a name="line.1473"></a>
+<span class="sourceLineNo">1474</span> numSubEntriesAt.add(curTotalNumSubEntries);<a name="line.1474"></a>
+<span class="sourceLineNo">1475</span><a name="line.1475"></a>
+<span class="sourceLineNo">1476</span> // Make sure the parallel arrays are in sync.<a name="line.1476"></a>
+<span class="sourceLineNo">1477</span> if (numSubEntriesAt.size() != blockKeys.size()) {<a name="line.1477"></a>
+<span class="sourceLineNo">1478</span> throw new IllegalStateException("Only have key/value count " +<a name="line.1478"></a>
+<span class="sourceLineNo">1479</span> "stats for " + numSubEntriesAt.size() + " block index " +<a name="line.1479"></a>
+<span class="sourceLineNo">1480</span> "entries out of " + blockKeys.size());<a name="line.1480"></a>
+<span class="sourceLineNo">1481</span> }<a name="line.1481"></a>
+<span class="sourceLineNo">1482</span> }<a name="line.1482"></a>
+<span class="sourceLineNo">1483</span> }<a name="line.1483"></a>
+<span class="sourceLineNo">1484</span><a name="line.1484"></a>
+<span class="sourceLineNo">1485</span> /**<a name="line.1485"></a>
+<span class="sourceLineNo">1486</span> * The same as {@link #add(byte[], long, int, long)} but does not take the<a name="line.1486"></a>
+<span class="sourceLineNo">1487</span> * key/value into account. Used for single-level indexes.<a name="line.1487"></a>
+<span class="sourceLineNo">1488</span> *<a name="line.1488"></a>
+<span class="sourceLineNo">1489</span> * @see #add(byte[], long, int, long)<a name="line.1489"></a>
+<span class="sourceLineNo">1490</span> */<a name="line.1490"></a>
+<span class="sourceLineNo">1491</span> public void add(byte[] firstKey, long blockOffset, int onDiskDataSize) {<a name="line.1491"></a>
+<span class="sourceLineNo">1492</span> add(firstKey, blockOffset, onDiskDataSize, -1);<a name="line.1492"></a>
+<span class="sourceLineNo">1493</span> }<a name="line.1493"></a>
+<span class="sourceLineNo">1494</span><a name="line.1494"></a>
+<span class="sourceLineNo">1495</span> public void clear() {<a name="line.1495"></a>
+<span class="sourceLineNo">1496</span> blockKeys.clear();<a name="line.1496"></a>
+<span class="sourceLineNo">1497</span> blockOffsets.clear();<a name="line.1497"></a>
+<span class="sourceLineNo">1498</span> onDiskDataSizes.clear();<a name="line.1498"></a>
+<span class="sourceLineNo">1499</span> secondaryIndexOffsetMarks.clear();<a name="line.1499"></a>
+<span class="sourceLineNo">1500</span> numSubEntriesAt.clear();<a name="line.1500"></a>
+<span class="sourceLineNo">1501</span> curTotalNonRootEntrySize = 0;<a name="line.1501"></a>
+<span class="sourceLineNo">1502</span> curTotalRootSize = 0;<a name="line.1502"></a>
+<span class="sourceLineNo">1503</span> }<a name="line.1503"></a>
+<span class="sourceLineNo">1504</span><a name="line.1504"></a>
+<span class="sourceLineNo">1505</span> /**<a name="line.1505"></a>
+<span class="sourceLineNo">1506</span> * Finds the entry corresponding to the deeper-level index block containing<a name="line.1506"></a>
+<span class="sourceLineNo">1507</span> * the given deeper-level entry (a "sub-entry"), assuming a global 0-based<a name="line.1507"></a>
+<span class="sourceLineNo">1508</span> * ordering of sub-entries.<a name="line.1508"></a>
+<span class="sourceLineNo">1509</span> *<a name="line.1509"></a>
+<span class="sourceLineNo">1510</span> * <p><a name="line.1510"></a>
+<span class="sourceLineNo">1511</span> * <i> Implementation note. </i> We are looking for i such that<a name="line.1511"></a>
+<span class="sourceLineNo">1512</span> * numSubEntriesAt[i - 1] <= k < numSubEntriesAt[i], because a deeper-level<a name="line.1512"></a>
+<span class="sourceLineNo">1513</span> * block #i (0-based) contains sub-entries # numSubEntriesAt[i - 1]'th<a name="line.1513"></a>
+<span class="sourceLineNo">1514</span> * through numSubEntriesAt[i] - 1, assuming a global 0-based ordering of<a name="line.1514"></a>
+<span class="sourceLineNo">1515</span> * sub-entries. i is by definition the insertion point of k in<a name="line.1515"></a>
+<span class="sourceLineNo">1516</span> * numSubEntriesAt.<a name="line.1516"></a>
+<span class="sourceLineNo">1517</span> *<a name="line.1517"></a>
+<span class="sourceLineNo">1518</span> * @param k sub-entry index, from 0 to the total number sub-entries - 1<a name="line.1518"></a>
+<span class="sourceLineNo">1519</span> * @return the 0-based index of the entry corresponding to the given<a name="line.1519"></a>
+<span class="sourceLineNo">1520</span> * sub-entry<a name="line.1520"></a>
+<span class="sourceLineNo">1521</span> */<
<TRUNCATED>
[29/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html
index b390abe..6424016 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.424">HRegion.WriteState</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.428">HRegion.WriteState</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
</li>
</ul>
@@ -239,7 +239,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>flushing</h4>
-<pre>volatile boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.426">flushing</a></pre>
+<pre>volatile boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.430">flushing</a></pre>
</li>
</ul>
<a name="flushRequested">
@@ -248,7 +248,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>flushRequested</h4>
-<pre>volatile boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.428">flushRequested</a></pre>
+<pre>volatile boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.432">flushRequested</a></pre>
</li>
</ul>
<a name="compacting">
@@ -257,7 +257,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>compacting</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.430">compacting</a></pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.434">compacting</a></pre>
</li>
</ul>
<a name="writesEnabled">
@@ -266,7 +266,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>writesEnabled</h4>
-<pre>volatile boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.432">writesEnabled</a></pre>
+<pre>volatile boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.436">writesEnabled</a></pre>
</li>
</ul>
<a name="readOnly">
@@ -275,7 +275,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>readOnly</h4>
-<pre>volatile boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.434">readOnly</a></pre>
+<pre>volatile boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.438">readOnly</a></pre>
</li>
</ul>
<a name="readsEnabled">
@@ -284,7 +284,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>readsEnabled</h4>
-<pre>volatile boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.437">readsEnabled</a></pre>
+<pre>volatile boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.441">readsEnabled</a></pre>
</li>
</ul>
<a name="HEAP_SIZE">
@@ -293,7 +293,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>HEAP_SIZE</h4>
-<pre>static final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.461">HEAP_SIZE</a></pre>
+<pre>static final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.465">HEAP_SIZE</a></pre>
</li>
</ul>
</li>
@@ -310,7 +310,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>WriteState</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.424">WriteState</a>()</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.428">WriteState</a>()</pre>
</li>
</ul>
</li>
@@ -327,7 +327,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>setReadOnly</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.444">setReadOnly</a>(boolean onOff)</pre>
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.448">setReadOnly</a>(boolean onOff)</pre>
<div class="block">Set flags that make this region read-only.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -341,7 +341,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>isReadOnly</h4>
-<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.449">isReadOnly</a>()</pre>
+<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.453">isReadOnly</a>()</pre>
</li>
</ul>
<a name="isFlushRequested--">
@@ -350,7 +350,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>isFlushRequested</h4>
-<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.453">isFlushRequested</a>()</pre>
+<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.457">isFlushRequested</a>()</pre>
</li>
</ul>
<a name="setReadsEnabled-boolean-">
@@ -359,7 +359,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>setReadsEnabled</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.457">setReadsEnabled</a>(boolean readsEnabled)</pre>
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.461">setReadsEnabled</a>(boolean readsEnabled)</pre>
</li>
</ul>
</li>
[21/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/RegionServerServices.PostOpenDeployContext.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/RegionServerServices.PostOpenDeployContext.html b/devapidocs/org/apache/hadoop/hbase/regionserver/RegionServerServices.PostOpenDeployContext.html
index bfe700b..bd404ad 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/RegionServerServices.PostOpenDeployContext.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/RegionServerServices.PostOpenDeployContext.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.98">RegionServerServices.PostOpenDeployContext</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.101">RegionServerServices.PostOpenDeployContext</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Context for postOpenDeployTasks().</div>
</li>
@@ -211,7 +211,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>region</h4>
-<pre>private final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.PostOpenDeployContext.html#line.99">region</a></pre>
+<pre>private final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.PostOpenDeployContext.html#line.102">region</a></pre>
</li>
</ul>
<a name="masterSystemTime">
@@ -220,7 +220,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>masterSystemTime</h4>
-<pre>private final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.PostOpenDeployContext.html#line.100">masterSystemTime</a></pre>
+<pre>private final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.PostOpenDeployContext.html#line.103">masterSystemTime</a></pre>
</li>
</ul>
</li>
@@ -238,7 +238,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<li class="blockList">
<h4>PostOpenDeployContext</h4>
<pre>@InterfaceAudience.Private
-public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.PostOpenDeployContext.html#line.103">PostOpenDeployContext</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region,
+public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.PostOpenDeployContext.html#line.106">PostOpenDeployContext</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region,
long masterSystemTime)</pre>
</li>
</ul>
@@ -256,7 +256,7 @@ public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserve
<ul class="blockList">
<li class="blockList">
<h4>getRegion</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.PostOpenDeployContext.html#line.107">getRegion</a>()</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.PostOpenDeployContext.html#line.110">getRegion</a>()</pre>
</li>
</ul>
<a name="getMasterSystemTime--">
@@ -265,7 +265,7 @@ public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserve
<ul class="blockListLast">
<li class="blockList">
<h4>getMasterSystemTime</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.PostOpenDeployContext.html#line.110">getMasterSystemTime</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.PostOpenDeployContext.html#line.113">getMasterSystemTime</a>()</pre>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html b/devapidocs/org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html
index c642a6b..84b5eca 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.121">RegionServerServices.RegionStateTransitionContext</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.124">RegionServerServices.RegionStateTransitionContext</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
</li>
</ul>
@@ -228,7 +228,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>code</h4>
-<pre>private final org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html#line.122">code</a></pre>
+<pre>private final org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html#line.125">code</a></pre>
</li>
</ul>
<a name="openSeqNum">
@@ -237,7 +237,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>openSeqNum</h4>
-<pre>private final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html#line.123">openSeqNum</a></pre>
+<pre>private final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html#line.126">openSeqNum</a></pre>
</li>
</ul>
<a name="masterSystemTime">
@@ -246,7 +246,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>masterSystemTime</h4>
-<pre>private final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html#line.124">masterSystemTime</a></pre>
+<pre>private final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html#line.127">masterSystemTime</a></pre>
</li>
</ul>
<a name="hris">
@@ -255,7 +255,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>hris</h4>
-<pre>private final <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html#line.125">hris</a></pre>
+<pre>private final <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html#line.128">hris</a></pre>
</li>
</ul>
</li>
@@ -273,7 +273,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<li class="blockList">
<h4>RegionStateTransitionContext</h4>
<pre>@InterfaceAudience.Private
-public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html#line.128">RegionStateTransitionContext</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode code,
+public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html#line.131">RegionStateTransitionContext</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode code,
long openSeqNum,
long masterSystemTime,
<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>... hris)</pre>
@@ -293,7 +293,7 @@ public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserve
<ul class="blockList">
<li class="blockList">
<h4>getCode</h4>
-<pre>public org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html#line.135">getCode</a>()</pre>
+<pre>public org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html#line.138">getCode</a>()</pre>
</li>
</ul>
<a name="getOpenSeqNum--">
@@ -302,7 +302,7 @@ public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserve
<ul class="blockList">
<li class="blockList">
<h4>getOpenSeqNum</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html#line.138">getOpenSeqNum</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html#line.141">getOpenSeqNum</a>()</pre>
</li>
</ul>
<a name="getMasterSystemTime--">
@@ -311,7 +311,7 @@ public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserve
<ul class="blockList">
<li class="blockList">
<h4>getMasterSystemTime</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html#line.141">getMasterSystemTime</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html#line.144">getMasterSystemTime</a>()</pre>
</li>
</ul>
<a name="getHris--">
@@ -320,7 +320,7 @@ public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserve
<ul class="blockListLast">
<li class="blockList">
<h4>getHris</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html#line.144">getHris</a>()</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html#line.147">getHris</a>()</pre>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/RegionServerServices.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/RegionServerServices.html b/devapidocs/org/apache/hadoop/hbase/regionserver/RegionServerServices.html
index 399a075..1356fbf 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/RegionServerServices.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/RegionServerServices.html
@@ -18,7 +18,7 @@
catch(err) {
}
//-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":38,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6};
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":38,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
<hr>
<br>
<pre>@InterfaceAudience.Private
-public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.52">RegionServerServices</a>
+public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.55">RegionServerServices</a>
extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MutableOnlineRegions.html" title="interface in org.apache.hadoop.hbase.regionserver">MutableOnlineRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/FavoredNodesForRegion.html" title="interface in org.apache.hadoop.hbase.regionserver">FavoredNodesForRegion</a></pre>
<div class="block">A curated subset of services provided by <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver"><code>HRegionServer</code></a>.
For use internally only. Passed to Managers, Services and Chores so can pass less-than-a
@@ -160,104 +160,112 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getBlockCache--">getBlockCache</a></span>()</code> </td>
+</tr>
+<tr id="i1" class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getCompactionPressure--">getCompactionPressure</a></span>()</code> </td>
</tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionRequester.html" title="interface in org.apache.hadoop.hbase.regionserver.compactions">CompactionRequester</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getCompactionRequestor--">getCompactionRequestor</a></span>()</code> </td>
</tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/executor/ExecutorService.html" title="class in org.apache.hadoop.hbase.executor">ExecutorService</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getExecutorService--">getExecutorService</a></span>()</code> </td>
</tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getFlushPressure--">getFlushPressure</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span> </div>
</td>
</tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushRequester.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushRequester</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getFlushRequester--">getFlushRequester</a></span>()</code> </td>
</tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/throttle/ThroughputController.html" title="interface in org.apache.hadoop.hbase.regionserver.throttle">ThroughputController</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getFlushThroughputController--">getFlushThroughputController</a></span>()</code> </td>
</tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html" title="class in org.apache.hadoop.hbase.regionserver">HeapMemoryManager</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getHeapMemoryManager--">getHeapMemoryManager</a></span>()</code> </td>
</tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Leases.html" title="class in org.apache.hadoop.hbase.regionserver">Leases</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getLeases--">getLeases</a></span>()</code> </td>
</tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getMetrics--">getMetrics</a></span>()</code> </td>
</tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getMobFileCache--">getMobFileCache</a></span>()</code> </td>
+</tr>
+<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/ServerNonceManager.html" title="class in org.apache.hadoop.hbase.regionserver">ServerNonceManager</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getNonceManager--">getNonceManager</a></span>()</code>
<div class="block">Only required for "old" log replay; if it's removed, remove this.</div>
</td>
</tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getRegionServerAccounting--">getRegionServerAccounting</a></span>()</code> </td>
</tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerRpcQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerRpcQuotaManager</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getRegionServerRpcQuotaManager--">getRegionServerRpcQuotaManager</a></span>()</code> </td>
</tr>
-<tr id="i12" class="altColor">
+<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerSpaceQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerSpaceQuotaManager</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getRegionServerSpaceQuotaManager--">getRegionServerSpaceQuotaManager</a></span>()</code> </td>
</tr>
-<tr id="i13" class="rowColor">
+<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a><byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getRegionsInTransitionInRS--">getRegionsInTransitionInRS</a></span>()</code>
<div class="block">Get the regions that are currently being opened or closed in the RS</div>
</td>
</tr>
-<tr id="i14" class="altColor">
+<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSourceService</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getReplicationSourceService--">getReplicationSourceService</a></span>()</code> </td>
</tr>
-<tr id="i15" class="rowColor">
+<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getRpcServer--">getRpcServer</a></span>()</code>
<div class="block">Returns a reference to the region server's RPC server</div>
</td>
</tr>
-<tr id="i16" class="altColor">
+<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/SecureBulkLoadManager.html" title="class in org.apache.hadoop.hbase.regionserver">SecureBulkLoadManager</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getSecureBulkLoadManager--">getSecureBulkLoadManager</a></span>()</code> </td>
</tr>
-<tr id="i17" class="rowColor">
+<tr id="i19" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getTableDescriptors--">getTableDescriptors</a></span>()</code> </td>
</tr>
-<tr id="i18" class="altColor">
+<tr id="i20" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getWAL-org.apache.hadoop.hbase.client.RegionInfo-">getWAL</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> regionInfo)</code> </td>
</tr>
-<tr id="i19" class="rowColor">
+<tr id="i21" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getWALs--">getWALs</a></span>()</code> </td>
</tr>
-<tr id="i20" class="altColor">
+<tr id="i22" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#isClusterUp--">isClusterUp</a></span>()</code> </td>
</tr>
-<tr id="i21" class="rowColor">
+<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#postOpenDeployTasks-org.apache.hadoop.hbase.regionserver.RegionServerServices.PostOpenDeployContext-">postOpenDeployTasks</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.PostOpenDeployContext.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerServices.PostOpenDeployContext</a> context)</code>
<div class="block">Tasks to perform after region open to complete deploy of region on regionserver</div>
</td>
</tr>
-<tr id="i22" class="altColor">
+<tr id="i24" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/locking/EntityLock.html" title="class in org.apache.hadoop.hbase.client.locking">EntityLock</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#regionLock-java.util.List-java.lang.String-org.apache.hadoop.hbase.Abortable-">regionLock</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>> regionInfos,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> description,
@@ -265,14 +273,14 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
<div class="block">Master based locks on namespaces/tables/regions.</div>
</td>
</tr>
-<tr id="i23" class="rowColor">
+<tr id="i25" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#registerService-com.google.protobuf.Service-">registerService</a></span>(com.google.protobuf.Service service)</code>
<div class="block">Registers a new protocol buffer <code>Service</code> subclass as a coprocessor endpoint to be
available for handling</div>
</td>
</tr>
-<tr id="i24" class="altColor">
+<tr id="i26" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#reportFileArchivalForQuotas-org.apache.hadoop.hbase.TableName-java.util.Collection-">reportFileArchivalForQuotas</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>>> archivedFiles)</code>
@@ -280,19 +288,19 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
just moved to the archive directory.</div>
</td>
</tr>
-<tr id="i25" class="rowColor">
+<tr id="i27" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#reportRegionSizesForQuotas-org.apache.hadoop.hbase.quotas.RegionSizeStore-">reportRegionSizesForQuotas</a></span>(<a href="../../../../../org/apache/hadoop/hbase/quotas/RegionSizeStore.html" title="interface in org.apache.hadoop.hbase.quotas">RegionSizeStore</a> sizeStore)</code>
<div class="block">Reports the provided Region sizes hosted by this RegionServer to the active Master.</div>
</td>
</tr>
-<tr id="i26" class="altColor">
+<tr id="i28" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#reportRegionStateTransition-org.apache.hadoop.hbase.regionserver.RegionServerServices.RegionStateTransitionContext-">reportRegionStateTransition</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerServices.RegionStateTransitionContext</a> context)</code>
<div class="block">Notify master that a handler requests to change a region state</div>
</td>
</tr>
-<tr id="i27" class="rowColor">
+<tr id="i29" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#unassign-byte:A-">unassign</a></span>(byte[] regionName)</code>
<div class="block">Unassign the given region from the current regionserver and assign it randomly.</div>
@@ -361,7 +369,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
<ul class="blockList">
<li class="blockList">
<h4>getWAL</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.56">getWAL</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> regionInfo)
+<pre><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.59">getWAL</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> regionInfo)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
@@ -378,7 +386,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
<ul class="blockList">
<li class="blockList">
<h4>getWALs</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.61">getWALs</a>()
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.64">getWALs</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
@@ -395,7 +403,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
<ul class="blockList">
<li class="blockList">
<h4>getFlushRequester</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushRequester.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushRequester</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.67">getFlushRequester</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushRequester.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushRequester</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.70">getFlushRequester</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Implementation of <a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushRequester.html" title="interface in org.apache.hadoop.hbase.regionserver"><code>FlushRequester</code></a> or null. Usually it will not be null unless
@@ -409,7 +417,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
<ul class="blockList">
<li class="blockList">
<h4>getCompactionRequestor</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionRequester.html" title="interface in org.apache.hadoop.hbase.regionserver.compactions">CompactionRequester</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.73">getCompactionRequestor</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionRequester.html" title="interface in org.apache.hadoop.hbase.regionserver.compactions">CompactionRequester</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.76">getCompactionRequestor</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Implementation of <a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionRequester.html" title="interface in org.apache.hadoop.hbase.regionserver.compactions"><code>CompactionRequester</code></a> or null. Usually it will not be null
@@ -423,7 +431,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
<ul class="blockList">
<li class="blockList">
<h4>getRegionServerAccounting</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.78">getRegionServerAccounting</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.81">getRegionServerAccounting</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the RegionServerAccounting for this Region Server</dd>
@@ -436,7 +444,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
<ul class="blockList">
<li class="blockList">
<h4>getRegionServerRpcQuotaManager</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerRpcQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerRpcQuotaManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.83">getRegionServerRpcQuotaManager</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerRpcQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerRpcQuotaManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.86">getRegionServerRpcQuotaManager</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>RegionServer's instance of <a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerRpcQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas"><code>RegionServerRpcQuotaManager</code></a></dd>
@@ -449,7 +457,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
<ul class="blockList">
<li class="blockList">
<h4>getSecureBulkLoadManager</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/SecureBulkLoadManager.html" title="class in org.apache.hadoop.hbase.regionserver">SecureBulkLoadManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.88">getSecureBulkLoadManager</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/SecureBulkLoadManager.html" title="class in org.apache.hadoop.hbase.regionserver">SecureBulkLoadManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.91">getSecureBulkLoadManager</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>RegionServer's instance of <a href="../../../../../org/apache/hadoop/hbase/regionserver/SecureBulkLoadManager.html" title="class in org.apache.hadoop.hbase.regionserver"><code>SecureBulkLoadManager</code></a></dd>
@@ -462,7 +470,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
<ul class="blockList">
<li class="blockList">
<h4>getRegionServerSpaceQuotaManager</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerSpaceQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerSpaceQuotaManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.93">getRegionServerSpaceQuotaManager</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerSpaceQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerSpaceQuotaManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.96">getRegionServerSpaceQuotaManager</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>RegionServer's instance of <a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerSpaceQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas"><code>RegionServerSpaceQuotaManager</code></a></dd>
@@ -475,7 +483,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
<ul class="blockList">
<li class="blockList">
<h4>postOpenDeployTasks</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.119">postOpenDeployTasks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.PostOpenDeployContext.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerServices.PostOpenDeployContext</a> context)
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.122">postOpenDeployTasks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.PostOpenDeployContext.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerServices.PostOpenDeployContext</a> context)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Tasks to perform after region open to complete deploy of region on regionserver</div>
<dl>
@@ -492,7 +500,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
<ul class="blockList">
<li class="blockList">
<h4>reportRegionStateTransition</h4>
-<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.152">reportRegionStateTransition</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerServices.RegionStateTransitionContext</a> context)</pre>
+<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.155">reportRegionStateTransition</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerServices.RegionStateTransitionContext</a> context)</pre>
<div class="block">Notify master that a handler requests to change a region state</div>
</li>
</ul>
@@ -502,7 +510,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
<ul class="blockList">
<li class="blockList">
<h4>getRpcServer</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.157">getRpcServer</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.160">getRpcServer</a>()</pre>
<div class="block">Returns a reference to the region server's RPC server</div>
</li>
</ul>
@@ -512,7 +520,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
<ul class="blockList">
<li class="blockList">
<h4>getRegionsInTransitionInRS</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a><byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.163">getRegionsInTransitionInRS</a>()</pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a><byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.166">getRegionsInTransitionInRS</a>()</pre>
<div class="block">Get the regions that are currently being opened or closed in the RS</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
@@ -526,7 +534,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
<ul class="blockList">
<li class="blockList">
<h4>getLeases</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/Leases.html" title="class in org.apache.hadoop.hbase.regionserver">Leases</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.168">getLeases</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/Leases.html" title="class in org.apache.hadoop.hbase.regionserver">Leases</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.171">getLeases</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The RegionServer's "Leases" service</dd>
@@ -539,7 +547,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
<ul class="blockList">
<li class="blockList">
<h4>getExecutorService</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/executor/ExecutorService.html" title="class in org.apache.hadoop.hbase.executor">ExecutorService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.173">getExecutorService</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/executor/ExecutorService.html" title="class in org.apache.hadoop.hbase.executor">ExecutorService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.176">getExecutorService</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>hbase executor service</dd>
@@ -552,7 +560,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
<ul class="blockList">
<li class="blockList">
<h4>getNonceManager</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/ServerNonceManager.html" title="class in org.apache.hadoop.hbase.regionserver">ServerNonceManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.179">getNonceManager</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/ServerNonceManager.html" title="class in org.apache.hadoop.hbase.regionserver">ServerNonceManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.182">getNonceManager</a>()</pre>
<div class="block">Only required for "old" log replay; if it's removed, remove this.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
@@ -566,7 +574,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
<ul class="blockList">
<li class="blockList">
<h4>registerService</h4>
-<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.187">registerService</a>(com.google.protobuf.Service service)</pre>
+<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.190">registerService</a>(com.google.protobuf.Service service)</pre>
<div class="block">Registers a new protocol buffer <code>Service</code> subclass as a coprocessor endpoint to be
available for handling</div>
<dl>
@@ -583,7 +591,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
<ul class="blockList">
<li class="blockList">
<h4>getHeapMemoryManager</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html" title="class in org.apache.hadoop.hbase.regionserver">HeapMemoryManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.192">getHeapMemoryManager</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html" title="class in org.apache.hadoop.hbase.regionserver">HeapMemoryManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.195">getHeapMemoryManager</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>heap memory manager instance</dd>
@@ -596,7 +604,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
<ul class="blockList">
<li class="blockList">
<h4>getCompactionPressure</h4>
-<pre>double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.200">getCompactionPressure</a>()</pre>
+<pre>double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.203">getCompactionPressure</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the max compaction pressure of all stores on this regionserver. The value should be
@@ -613,7 +621,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
<ul class="blockList">
<li class="blockList">
<h4>getFlushThroughputController</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/throttle/ThroughputController.html" title="interface in org.apache.hadoop.hbase.regionserver.throttle">ThroughputController</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.205">getFlushThroughputController</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/throttle/ThroughputController.html" title="interface in org.apache.hadoop.hbase.regionserver.throttle">ThroughputController</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.208">getFlushThroughputController</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the controller to avoid flush too fast</dd>
@@ -627,7 +635,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="inte
<li class="blockList">
<h4>getFlushPressure</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.213">getFlushPressure</a>()</pre>
+double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.216">getFlushPressure</a>()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span> </div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
@@ -643,7 +651,7 @@ double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserve
<ul class="blockList">
<li class="blockList">
<h4>getMetrics</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.218">getMetrics</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.221">getMetrics</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the metrics tracker for the region server</dd>
@@ -656,7 +664,7 @@ double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserve
<ul class="blockList">
<li class="blockList">
<h4>regionLock</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/client/locking/EntityLock.html" title="class in org.apache.hadoop.hbase.client.locking">EntityLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.223">regionLock</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>> regionInfos,
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/locking/EntityLock.html" title="class in org.apache.hadoop.hbase.client.locking">EntityLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.226">regionLock</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>> regionInfos,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> description,
<a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="interface in org.apache.hadoop.hbase">Abortable</a> abort)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -673,7 +681,7 @@ double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserve
<ul class="blockList">
<li class="blockList">
<h4>unassign</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.234">unassign</a>(byte[] regionName)
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.237">unassign</a>(byte[] regionName)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Unassign the given region from the current regionserver and assign it randomly. Could still be
assigned to us. This is used to solve some tough problems for which you need to reset the state
@@ -693,7 +701,7 @@ double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserve
<ul class="blockList">
<li class="blockList">
<h4>reportRegionSizesForQuotas</h4>
-<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.242">reportRegionSizesForQuotas</a>(<a href="../../../../../org/apache/hadoop/hbase/quotas/RegionSizeStore.html" title="interface in org.apache.hadoop.hbase.quotas">RegionSizeStore</a> sizeStore)</pre>
+<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.245">reportRegionSizesForQuotas</a>(<a href="../../../../../org/apache/hadoop/hbase/quotas/RegionSizeStore.html" title="interface in org.apache.hadoop.hbase.quotas">RegionSizeStore</a> sizeStore)</pre>
<div class="block">Reports the provided Region sizes hosted by this RegionServer to the active Master.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -709,7 +717,7 @@ double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserve
<ul class="blockList">
<li class="blockList">
<h4>reportFileArchivalForQuotas</h4>
-<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.252">reportFileArchivalForQuotas</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
+<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.255">reportFileArchivalForQuotas</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>>> archivedFiles)</pre>
<div class="block">Reports a collection of files, and their sizes, that belonged to the given <code>table</code> were
just moved to the archive directory.</div>
@@ -728,7 +736,7 @@ double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserve
<ul class="blockList">
<li class="blockList">
<h4>isClusterUp</h4>
-<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.258">isClusterUp</a>()</pre>
+<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.261">isClusterUp</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if cluster is up; false if cluster is not up (we are shutting down).</dd>
@@ -741,7 +749,7 @@ double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserve
<ul class="blockList">
<li class="blockList">
<h4>getReplicationSourceService</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSourceService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.263">getReplicationSourceService</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSourceService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.266">getReplicationSourceService</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Return the object that implements the replication source executorService.</dd>
@@ -751,16 +759,42 @@ double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserve
<a name="getTableDescriptors--">
<!-- -->
</a>
-<ul class="blockListLast">
+<ul class="blockList">
<li class="blockList">
<h4>getTableDescriptors</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.268">getTableDescriptors</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.271">getTableDescriptors</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Return table descriptors implementation.</dd>
</dl>
</li>
</ul>
+<a name="getBlockCache--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getBlockCache</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.276">getBlockCache</a>()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The block cache instance.</dd>
+</dl>
+</li>
+</ul>
+<a name="getMobFileCache--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getMobFileCache</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerServices.html#line.281">getMobFileCache</a>()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The cache for mob files.</dd>
+</dl>
+</li>
+</ul>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/FlushRequester.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/FlushRequester.html b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/FlushRequester.html
index f060ad2..9e615dc 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/FlushRequester.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/FlushRequester.html
@@ -144,22 +144,6 @@
</tr>
</tbody>
</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/regionserver/FlushRequester.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushRequester</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html" title="class in org.apache.hadoop.hbase.regionserver">HeapMemoryManager</a></code></td>
-<td class="colLast"><span class="typeNameLabel">HeapMemoryManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#create-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.FlushRequester-org.apache.hadoop.hbase.Server-org.apache.hadoop.hbase.regionserver.RegionServerAccounting-">create</a></span>(org.apache.hadoop.conf.Configuration conf,
- <a href="../../../../../../org/apache/hadoop/hbase/regionserver/FlushRequester.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushRequester</a> memStoreFlusher,
- <a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> server,
- <a href="../../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a> regionServerAccounting)</code> </td>
-</tr>
-</tbody>
-</table>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
<caption><span>Constructors in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/regionserver/FlushRequester.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushRequester</a></span><span class="tabEnd"> </span></caption>
<tr>
@@ -167,7 +151,7 @@
</tr>
<tbody>
<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#HeapMemoryManager-org.apache.hadoop.hbase.io.hfile.ResizableBlockCache-org.apache.hadoop.hbase.regionserver.FlushRequester-org.apache.hadoop.hbase.Server-org.apache.hadoop.hbase.regionserver.RegionServerAccounting-">HeapMemoryManager</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/ResizableBlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">ResizableBlockCache</a> blockCache,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#HeapMemoryManager-org.apache.hadoop.hbase.io.hfile.BlockCache-org.apache.hadoop.hbase.regionserver.FlushRequester-org.apache.hadoop.hbase.Server-org.apache.hadoop.hbase.regionserver.RegionServerAccounting-">HeapMemoryManager</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache,
<a href="../../../../../../org/apache/hadoop/hbase/regionserver/FlushRequester.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushRequester</a> memStoreFlusher,
<a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> server,
<a href="../../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a> regionServerAccounting)</code> </td>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/HeapMemoryManager.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/HeapMemoryManager.html b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/HeapMemoryManager.html
index 1ef5e53..41a3a43 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/HeapMemoryManager.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/HeapMemoryManager.html
@@ -116,17 +116,10 @@
</tr>
<tbody>
<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html" title="class in org.apache.hadoop.hbase.regionserver">HeapMemoryManager</a></code></td>
-<td class="colLast"><span class="typeNameLabel">HeapMemoryManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#create-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.FlushRequester-org.apache.hadoop.hbase.Server-org.apache.hadoop.hbase.regionserver.RegionServerAccounting-">create</a></span>(org.apache.hadoop.conf.Configuration conf,
- <a href="../../../../../../org/apache/hadoop/hbase/regionserver/FlushRequester.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushRequester</a> memStoreFlusher,
- <a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> server,
- <a href="../../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a> regionServerAccounting)</code> </td>
-</tr>
-<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html" title="class in org.apache.hadoop.hbase.regionserver">HeapMemoryManager</a></code></td>
<td class="colLast"><span class="typeNameLabel">RegionServerServices.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getHeapMemoryManager--">getHeapMemoryManager</a></span>()</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html" title="class in org.apache.hadoop.hbase.regionserver">HeapMemoryManager</a></code></td>
<td class="colLast"><span class="typeNameLabel">HRegionServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getHeapMemoryManager--">getHeapMemoryManager</a></span>()</code> </td>
</tr>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/RegionServerAccounting.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/RegionServerAccounting.html b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/RegionServerAccounting.html
index 25b41e6..efec620 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/RegionServerAccounting.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/RegionServerAccounting.html
@@ -133,22 +133,6 @@
</tr>
</tbody>
</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html" title="class in org.apache.hadoop.hbase.regionserver">HeapMemoryManager</a></code></td>
-<td class="colLast"><span class="typeNameLabel">HeapMemoryManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#create-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.FlushRequester-org.apache.hadoop.hbase.Server-org.apache.hadoop.hbase.regionserver.RegionServerAccounting-">create</a></span>(org.apache.hadoop.conf.Configuration conf,
- <a href="../../../../../../org/apache/hadoop/hbase/regionserver/FlushRequester.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushRequester</a> memStoreFlusher,
- <a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> server,
- <a href="../../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a> regionServerAccounting)</code> </td>
-</tr>
-</tbody>
-</table>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
<caption><span>Constructors in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a></span><span class="tabEnd"> </span></caption>
<tr>
@@ -156,7 +140,7 @@
</tr>
<tbody>
<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#HeapMemoryManager-org.apache.hadoop.hbase.io.hfile.ResizableBlockCache-org.apache.hadoop.hbase.regionserver.FlushRequester-org.apache.hadoop.hbase.Server-org.apache.hadoop.hbase.regionserver.RegionServerAccounting-">HeapMemoryManager</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/ResizableBlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">ResizableBlockCache</a> blockCache,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#HeapMemoryManager-org.apache.hadoop.hbase.io.hfile.BlockCache-org.apache.hadoop.hbase.regionserver.FlushRequester-org.apache.hadoop.hbase.Server-org.apache.hadoop.hbase.regionserver.RegionServerAccounting-">HeapMemoryManager</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache,
<a href="../../../../../../org/apache/hadoop/hbase/regionserver/FlushRequester.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushRequester</a> memStoreFlusher,
<a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> server,
<a href="../../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a> regionServerAccounting)</code> </td>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
index b8ec2f4..47f803b 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -716,20 +716,20 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">HRegion.FlushResult.Result</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Region.Operation</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.Status.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">SplitLogWorker.TaskExecutor.Status</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ChunkCreator.ChunkType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ChunkCreator.ChunkType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/BloomType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">BloomType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">FlushType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreCompactionStrategy.Action.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MemStoreCompactionStrategy.Action</span></a></li>
<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactingMemStore.IndexType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">CompactingMemStore.IndexType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.Status.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">SplitLogWorker.TaskExecutor.Status</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.NextState</span></a></li>
<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.LimitScope</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ChunkCreator.ChunkType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ChunkCreator.ChunkType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsRegionServerSourceFactoryImpl.FactoryStorage</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultHeapMemoryTuner.StepDirection.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">DefaultHeapMemoryTuner.StepDirection</span></a></li>
<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScanType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreCompactionStrategy.Action.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MemStoreCompactionStrategy.Action</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.NextState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">HRegion.FlushResult.Result</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultHeapMemoryTuner.StepDirection.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">DefaultHeapMemoryTuner.StepDirection</span></a></li>
<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TimeRangeTracker.Type.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TimeRangeTracker.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Region.Operation</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">FlushType</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
index 23060c2..b377318 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
@@ -131,8 +131,8 @@
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/StripeCompactionScanQueryMatcher.DropDeletesInOutput.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">StripeCompactionScanQueryMatcher.DropDeletesInOutput</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">DeleteTracker.DeleteResult</span></a></li>
<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">ScanQueryMatcher.MatchCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">DeleteTracker.DeleteResult</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
index 7eedc5c..f0c55c8 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
@@ -247,9 +247,9 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/ProtobufLogReader.WALHdrResult.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">ProtobufLogReader.WALHdrResult</span></a></li>
<li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/RingBufferTruck.Type.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">RingBufferTruck.Type</span></a></li>
<li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/CompressionContext.DictionaryIndex.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">CompressionContext.DictionaryIndex</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/ProtobufLogReader.WALHdrResult.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">ProtobufLogReader.WALHdrResult</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/replication/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/package-tree.html b/devapidocs/org/apache/hadoop/hbase/replication/package-tree.html
index f8e4b11..3c7146a 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/package-tree.html
@@ -160,8 +160,8 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.replication.<a href="../../../../../org/apache/hadoop/hbase/replication/SyncReplicationState.html" title="enum in org.apache.hadoop.hbase.replication"><span class="typeNameLink">SyncReplicationState</span></a></li>
<li type="circle">org.apache.hadoop.hbase.replication.<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeer.PeerState.html" title="enum in org.apache.hadoop.hbase.replication"><span class="typeNameLink">ReplicationPeer.PeerState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.replication.<a href="../../../../../org/apache/hadoop/hbase/replication/SyncReplicationState.html" title="enum in org.apache.hadoop.hbase.replication"><span class="typeNameLink">SyncReplicationState</span></a></li>
</ul>
</li>
</ul>
[02/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/src-html/org/apache/hadoop/hbase/master/ServerManager.FlushedSequenceIdFlusher.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/ServerManager.FlushedSequenceIdFlusher.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/ServerManager.FlushedSequenceIdFlusher.html
index f1c0bc3..88147e4 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/ServerManager.FlushedSequenceIdFlusher.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/ServerManager.FlushedSequenceIdFlusher.html
@@ -610,585 +610,588 @@
<span class="sourceLineNo">602</span> return false;<a name="line.602"></a>
<span class="sourceLineNo">603</span> }<a name="line.603"></a>
<span class="sourceLineNo">604</span> LOG.info("Processing expiration of " + serverName + " on " + this.master.getServerName());<a name="line.604"></a>
-<span class="sourceLineNo">605</span> master.getAssignmentManager().submitServerCrash(serverName, true);<a name="line.605"></a>
-<span class="sourceLineNo">606</span><a name="line.606"></a>
-<span class="sourceLineNo">607</span> // Tell our listeners that a server was removed<a name="line.607"></a>
-<span class="sourceLineNo">608</span> if (!this.listeners.isEmpty()) {<a name="line.608"></a>
-<span class="sourceLineNo">609</span> for (ServerListener listener : this.listeners) {<a name="line.609"></a>
-<span class="sourceLineNo">610</span> listener.serverRemoved(serverName);<a name="line.610"></a>
-<span class="sourceLineNo">611</span> }<a name="line.611"></a>
-<span class="sourceLineNo">612</span> }<a name="line.612"></a>
-<span class="sourceLineNo">613</span> // trigger a persist of flushedSeqId<a name="line.613"></a>
-<span class="sourceLineNo">614</span> if (flushedSeqIdFlusher != null) {<a name="line.614"></a>
-<span class="sourceLineNo">615</span> flushedSeqIdFlusher.triggerNow();<a name="line.615"></a>
-<span class="sourceLineNo">616</span> }<a name="line.616"></a>
-<span class="sourceLineNo">617</span> return true;<a name="line.617"></a>
-<span class="sourceLineNo">618</span> }<a name="line.618"></a>
-<span class="sourceLineNo">619</span><a name="line.619"></a>
-<span class="sourceLineNo">620</span> @VisibleForTesting<a name="line.620"></a>
-<span class="sourceLineNo">621</span> public void moveFromOnlineToDeadServers(final ServerName sn) {<a name="line.621"></a>
-<span class="sourceLineNo">622</span> synchronized (onlineServers) {<a name="line.622"></a>
-<span class="sourceLineNo">623</span> if (!this.onlineServers.containsKey(sn)) {<a name="line.623"></a>
-<span class="sourceLineNo">624</span> LOG.trace("Expiration of {} but server not online", sn);<a name="line.624"></a>
-<span class="sourceLineNo">625</span> }<a name="line.625"></a>
-<span class="sourceLineNo">626</span> // Remove the server from the known servers lists and update load info BUT<a name="line.626"></a>
-<span class="sourceLineNo">627</span> // add to deadservers first; do this so it'll show in dead servers list if<a name="line.627"></a>
-<span class="sourceLineNo">628</span> // not in online servers list.<a name="line.628"></a>
-<span class="sourceLineNo">629</span> this.deadservers.add(sn);<a name="line.629"></a>
-<span class="sourceLineNo">630</span> this.onlineServers.remove(sn);<a name="line.630"></a>
-<span class="sourceLineNo">631</span> onlineServers.notifyAll();<a name="line.631"></a>
-<span class="sourceLineNo">632</span> }<a name="line.632"></a>
-<span class="sourceLineNo">633</span> this.rsAdmins.remove(sn);<a name="line.633"></a>
-<span class="sourceLineNo">634</span> }<a name="line.634"></a>
-<span class="sourceLineNo">635</span><a name="line.635"></a>
-<span class="sourceLineNo">636</span> /*<a name="line.636"></a>
-<span class="sourceLineNo">637</span> * Remove the server from the drain list.<a name="line.637"></a>
-<span class="sourceLineNo">638</span> */<a name="line.638"></a>
-<span class="sourceLineNo">639</span> public synchronized boolean removeServerFromDrainList(final ServerName sn) {<a name="line.639"></a>
-<span class="sourceLineNo">640</span> // Warn if the server (sn) is not online. ServerName is of the form:<a name="line.640"></a>
-<span class="sourceLineNo">641</span> // <hostname> , <port> , <startcode><a name="line.641"></a>
-<span class="sourceLineNo">642</span><a name="line.642"></a>
-<span class="sourceLineNo">643</span> if (!this.isServerOnline(sn)) {<a name="line.643"></a>
-<span class="sourceLineNo">644</span> LOG.warn("Server " + sn + " is not currently online. " +<a name="line.644"></a>
-<span class="sourceLineNo">645</span> "Removing from draining list anyway, as requested.");<a name="line.645"></a>
-<span class="sourceLineNo">646</span> }<a name="line.646"></a>
-<span class="sourceLineNo">647</span> // Remove the server from the draining servers lists.<a name="line.647"></a>
-<span class="sourceLineNo">648</span> return this.drainingServers.remove(sn);<a name="line.648"></a>
-<span class="sourceLineNo">649</span> }<a name="line.649"></a>
-<span class="sourceLineNo">650</span><a name="line.650"></a>
-<span class="sourceLineNo">651</span> /**<a name="line.651"></a>
-<span class="sourceLineNo">652</span> * Add the server to the drain list.<a name="line.652"></a>
-<span class="sourceLineNo">653</span> * @param sn<a name="line.653"></a>
-<span class="sourceLineNo">654</span> * @return True if the server is added or the server is already on the drain list.<a name="line.654"></a>
-<span class="sourceLineNo">655</span> */<a name="line.655"></a>
-<span class="sourceLineNo">656</span> public synchronized boolean addServerToDrainList(final ServerName sn) {<a name="line.656"></a>
-<span class="sourceLineNo">657</span> // Warn if the server (sn) is not online. ServerName is of the form:<a name="line.657"></a>
-<span class="sourceLineNo">658</span> // <hostname> , <port> , <startcode><a name="line.658"></a>
-<span class="sourceLineNo">659</span><a name="line.659"></a>
-<span class="sourceLineNo">660</span> if (!this.isServerOnline(sn)) {<a name="line.660"></a>
-<span class="sourceLineNo">661</span> LOG.warn("Server " + sn + " is not currently online. " +<a name="line.661"></a>
-<span class="sourceLineNo">662</span> "Ignoring request to add it to draining list.");<a name="line.662"></a>
-<span class="sourceLineNo">663</span> return false;<a name="line.663"></a>
-<span class="sourceLineNo">664</span> }<a name="line.664"></a>
-<span class="sourceLineNo">665</span> // Add the server to the draining servers lists, if it's not already in<a name="line.665"></a>
-<span class="sourceLineNo">666</span> // it.<a name="line.666"></a>
-<span class="sourceLineNo">667</span> if (this.drainingServers.contains(sn)) {<a name="line.667"></a>
-<span class="sourceLineNo">668</span> LOG.warn("Server " + sn + " is already in the draining server list." +<a name="line.668"></a>
-<span class="sourceLineNo">669</span> "Ignoring request to add it again.");<a name="line.669"></a>
-<span class="sourceLineNo">670</span> return true;<a name="line.670"></a>
-<span class="sourceLineNo">671</span> }<a name="line.671"></a>
-<span class="sourceLineNo">672</span> LOG.info("Server " + sn + " added to draining server list.");<a name="line.672"></a>
-<span class="sourceLineNo">673</span> return this.drainingServers.add(sn);<a name="line.673"></a>
-<span class="sourceLineNo">674</span> }<a name="line.674"></a>
-<span class="sourceLineNo">675</span><a name="line.675"></a>
-<span class="sourceLineNo">676</span> // RPC methods to region servers<a name="line.676"></a>
-<span class="sourceLineNo">677</span><a name="line.677"></a>
-<span class="sourceLineNo">678</span> private HBaseRpcController newRpcController() {<a name="line.678"></a>
-<span class="sourceLineNo">679</span> return rpcControllerFactory == null ? null : rpcControllerFactory.newController();<a name="line.679"></a>
-<span class="sourceLineNo">680</span> }<a name="line.680"></a>
-<span class="sourceLineNo">681</span><a name="line.681"></a>
-<span class="sourceLineNo">682</span> /**<a name="line.682"></a>
-<span class="sourceLineNo">683</span> * Sends a WARMUP RPC to the specified server to warmup the specified region.<a name="line.683"></a>
-<span class="sourceLineNo">684</span> * <p><a name="line.684"></a>
-<span class="sourceLineNo">685</span> * A region server could reject the close request because it either does not<a name="line.685"></a>
-<span class="sourceLineNo">686</span> * have the specified region or the region is being split.<a name="line.686"></a>
-<span class="sourceLineNo">687</span> * @param server server to warmup a region<a name="line.687"></a>
-<span class="sourceLineNo">688</span> * @param region region to warmup<a name="line.688"></a>
-<span class="sourceLineNo">689</span> */<a name="line.689"></a>
-<span class="sourceLineNo">690</span> public void sendRegionWarmup(ServerName server,<a name="line.690"></a>
-<span class="sourceLineNo">691</span> RegionInfo region) {<a name="line.691"></a>
-<span class="sourceLineNo">692</span> if (server == null) return;<a name="line.692"></a>
-<span class="sourceLineNo">693</span> try {<a name="line.693"></a>
-<span class="sourceLineNo">694</span> AdminService.BlockingInterface admin = getRsAdmin(server);<a name="line.694"></a>
-<span class="sourceLineNo">695</span> HBaseRpcController controller = newRpcController();<a name="line.695"></a>
-<span class="sourceLineNo">696</span> ProtobufUtil.warmupRegion(controller, admin, region);<a name="line.696"></a>
-<span class="sourceLineNo">697</span> } catch (IOException e) {<a name="line.697"></a>
-<span class="sourceLineNo">698</span> LOG.error("Received exception in RPC for warmup server:" +<a name="line.698"></a>
-<span class="sourceLineNo">699</span> server + "region: " + region +<a name="line.699"></a>
-<span class="sourceLineNo">700</span> "exception: " + e);<a name="line.700"></a>
-<span class="sourceLineNo">701</span> }<a name="line.701"></a>
-<span class="sourceLineNo">702</span> }<a name="line.702"></a>
-<span class="sourceLineNo">703</span><a name="line.703"></a>
-<span class="sourceLineNo">704</span> /**<a name="line.704"></a>
-<span class="sourceLineNo">705</span> * Contacts a region server and waits up to timeout ms<a name="line.705"></a>
-<span class="sourceLineNo">706</span> * to close the region. This bypasses the active hmaster.<a name="line.706"></a>
-<span class="sourceLineNo">707</span> */<a name="line.707"></a>
-<span class="sourceLineNo">708</span> public static void closeRegionSilentlyAndWait(ClusterConnection connection,<a name="line.708"></a>
-<span class="sourceLineNo">709</span> ServerName server, RegionInfo region, long timeout) throws IOException, InterruptedException {<a name="line.709"></a>
-<span class="sourceLineNo">710</span> AdminService.BlockingInterface rs = connection.getAdmin(server);<a name="line.710"></a>
-<span class="sourceLineNo">711</span> HBaseRpcController controller = connection.getRpcControllerFactory().newController();<a name="line.711"></a>
-<span class="sourceLineNo">712</span> try {<a name="line.712"></a>
-<span class="sourceLineNo">713</span> ProtobufUtil.closeRegion(controller, rs, server, region.getRegionName());<a name="line.713"></a>
-<span class="sourceLineNo">714</span> } catch (IOException e) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span> LOG.warn("Exception when closing region: " + region.getRegionNameAsString(), e);<a name="line.715"></a>
-<span class="sourceLineNo">716</span> }<a name="line.716"></a>
-<span class="sourceLineNo">717</span> long expiration = timeout + System.currentTimeMillis();<a name="line.717"></a>
-<span class="sourceLineNo">718</span> while (System.currentTimeMillis() < expiration) {<a name="line.718"></a>
-<span class="sourceLineNo">719</span> controller.reset();<a name="line.719"></a>
-<span class="sourceLineNo">720</span> try {<a name="line.720"></a>
-<span class="sourceLineNo">721</span> RegionInfo rsRegion =<a name="line.721"></a>
-<span class="sourceLineNo">722</span> ProtobufUtil.getRegionInfo(controller, rs, region.getRegionName());<a name="line.722"></a>
-<span class="sourceLineNo">723</span> if (rsRegion == null) return;<a name="line.723"></a>
-<span class="sourceLineNo">724</span> } catch (IOException ioe) {<a name="line.724"></a>
-<span class="sourceLineNo">725</span> if (ioe instanceof NotServingRegionException) // no need to retry again<a name="line.725"></a>
-<span class="sourceLineNo">726</span> return;<a name="line.726"></a>
-<span class="sourceLineNo">727</span> LOG.warn("Exception when retrieving regioninfo from: "<a name="line.727"></a>
-<span class="sourceLineNo">728</span> + region.getRegionNameAsString(), ioe);<a name="line.728"></a>
-<span class="sourceLineNo">729</span> }<a name="line.729"></a>
-<span class="sourceLineNo">730</span> Thread.sleep(1000);<a name="line.730"></a>
-<span class="sourceLineNo">731</span> }<a name="line.731"></a>
-<span class="sourceLineNo">732</span> throw new IOException("Region " + region + " failed to close within"<a name="line.732"></a>
-<span class="sourceLineNo">733</span> + " timeout " + timeout);<a name="line.733"></a>
-<span class="sourceLineNo">734</span> }<a name="line.734"></a>
-<span class="sourceLineNo">735</span><a name="line.735"></a>
-<span class="sourceLineNo">736</span> /**<a name="line.736"></a>
-<span class="sourceLineNo">737</span> * @param sn<a name="line.737"></a>
-<span class="sourceLineNo">738</span> * @return Admin interface for the remote regionserver named <code>sn</code><a name="line.738"></a>
-<span class="sourceLineNo">739</span> * @throws IOException<a name="line.739"></a>
-<span class="sourceLineNo">740</span> * @throws RetriesExhaustedException wrapping a ConnectException if failed<a name="line.740"></a>
-<span class="sourceLineNo">741</span> */<a name="line.741"></a>
-<span class="sourceLineNo">742</span> public AdminService.BlockingInterface getRsAdmin(final ServerName sn)<a name="line.742"></a>
-<span class="sourceLineNo">743</span> throws IOException {<a name="line.743"></a>
-<span class="sourceLineNo">744</span> AdminService.BlockingInterface admin = this.rsAdmins.get(sn);<a name="line.744"></a>
-<span class="sourceLineNo">745</span> if (admin == null) {<a name="line.745"></a>
-<span class="sourceLineNo">746</span> LOG.debug("New admin connection to " + sn.toString());<a name="line.746"></a>
-<span class="sourceLineNo">747</span> if (sn.equals(master.getServerName()) && master instanceof HRegionServer) {<a name="line.747"></a>
-<span class="sourceLineNo">748</span> // A master is also a region server now, see HBASE-10569 for details<a name="line.748"></a>
-<span class="sourceLineNo">749</span> admin = ((HRegionServer)master).getRSRpcServices();<a name="line.749"></a>
-<span class="sourceLineNo">750</span> } else {<a name="line.750"></a>
-<span class="sourceLineNo">751</span> admin = this.connection.getAdmin(sn);<a name="line.751"></a>
-<span class="sourceLineNo">752</span> }<a name="line.752"></a>
-<span class="sourceLineNo">753</span> this.rsAdmins.put(sn, admin);<a name="line.753"></a>
-<span class="sourceLineNo">754</span> }<a name="line.754"></a>
-<span class="sourceLineNo">755</span> return admin;<a name="line.755"></a>
-<span class="sourceLineNo">756</span> }<a name="line.756"></a>
-<span class="sourceLineNo">757</span><a name="line.757"></a>
-<span class="sourceLineNo">758</span> /**<a name="line.758"></a>
-<span class="sourceLineNo">759</span> * Calculate min necessary to start. This is not an absolute. It is just<a name="line.759"></a>
-<span class="sourceLineNo">760</span> * a friction that will cause us hang around a bit longer waiting on<a name="line.760"></a>
-<span class="sourceLineNo">761</span> * RegionServers to check-in.<a name="line.761"></a>
-<span class="sourceLineNo">762</span> */<a name="line.762"></a>
-<span class="sourceLineNo">763</span> private int getMinToStart() {<a name="line.763"></a>
-<span class="sourceLineNo">764</span> if (master.isInMaintenanceMode()) {<a name="line.764"></a>
-<span class="sourceLineNo">765</span> // If in maintenance mode, then master hosting meta will be the only server available<a name="line.765"></a>
-<span class="sourceLineNo">766</span> return 1;<a name="line.766"></a>
-<span class="sourceLineNo">767</span> }<a name="line.767"></a>
-<span class="sourceLineNo">768</span><a name="line.768"></a>
-<span class="sourceLineNo">769</span> int minimumRequired = 1;<a name="line.769"></a>
-<span class="sourceLineNo">770</span> if (LoadBalancer.isTablesOnMaster(master.getConfiguration()) &&<a name="line.770"></a>
-<span class="sourceLineNo">771</span> LoadBalancer.isSystemTablesOnlyOnMaster(master.getConfiguration())) {<a name="line.771"></a>
-<span class="sourceLineNo">772</span> // If Master is carrying regions it will show up as a 'server', but is not handling user-<a name="line.772"></a>
-<span class="sourceLineNo">773</span> // space regions, so we need a second server.<a name="line.773"></a>
-<span class="sourceLineNo">774</span> minimumRequired = 2;<a name="line.774"></a>
-<span class="sourceLineNo">775</span> }<a name="line.775"></a>
-<span class="sourceLineNo">776</span><a name="line.776"></a>
-<span class="sourceLineNo">777</span> int minToStart = this.master.getConfiguration().getInt(WAIT_ON_REGIONSERVERS_MINTOSTART, -1);<a name="line.777"></a>
-<span class="sourceLineNo">778</span> // Ensure we are never less than minimumRequired else stuff won't work.<a name="line.778"></a>
-<span class="sourceLineNo">779</span> return Math.max(minToStart, minimumRequired);<a name="line.779"></a>
-<span class="sourceLineNo">780</span> }<a name="line.780"></a>
-<span class="sourceLineNo">781</span><a name="line.781"></a>
-<span class="sourceLineNo">782</span> /**<a name="line.782"></a>
-<span class="sourceLineNo">783</span> * Wait for the region servers to report in.<a name="line.783"></a>
-<span class="sourceLineNo">784</span> * We will wait until one of this condition is met:<a name="line.784"></a>
-<span class="sourceLineNo">785</span> * - the master is stopped<a name="line.785"></a>
-<span class="sourceLineNo">786</span> * - the 'hbase.master.wait.on.regionservers.maxtostart' number of<a name="line.786"></a>
-<span class="sourceLineNo">787</span> * region servers is reached<a name="line.787"></a>
-<span class="sourceLineNo">788</span> * - the 'hbase.master.wait.on.regionservers.mintostart' is reached AND<a name="line.788"></a>
-<span class="sourceLineNo">789</span> * there have been no new region server in for<a name="line.789"></a>
-<span class="sourceLineNo">790</span> * 'hbase.master.wait.on.regionservers.interval' time AND<a name="line.790"></a>
-<span class="sourceLineNo">791</span> * the 'hbase.master.wait.on.regionservers.timeout' is reached<a name="line.791"></a>
-<span class="sourceLineNo">792</span> *<a name="line.792"></a>
-<span class="sourceLineNo">793</span> * @throws InterruptedException<a name="line.793"></a>
-<span class="sourceLineNo">794</span> */<a name="line.794"></a>
-<span class="sourceLineNo">795</span> public void waitForRegionServers(MonitoredTask status) throws InterruptedException {<a name="line.795"></a>
-<span class="sourceLineNo">796</span> final long interval = this.master.getConfiguration().<a name="line.796"></a>
-<span class="sourceLineNo">797</span> getLong(WAIT_ON_REGIONSERVERS_INTERVAL, 1500);<a name="line.797"></a>
-<span class="sourceLineNo">798</span> final long timeout = this.master.getConfiguration().<a name="line.798"></a>
-<span class="sourceLineNo">799</span> getLong(WAIT_ON_REGIONSERVERS_TIMEOUT, 4500);<a name="line.799"></a>
-<span class="sourceLineNo">800</span> // Min is not an absolute; just a friction making us wait longer on server checkin.<a name="line.800"></a>
-<span class="sourceLineNo">801</span> int minToStart = getMinToStart();<a name="line.801"></a>
-<span class="sourceLineNo">802</span> int maxToStart = this.master.getConfiguration().<a name="line.802"></a>
-<span class="sourceLineNo">803</span> getInt(WAIT_ON_REGIONSERVERS_MAXTOSTART, Integer.MAX_VALUE);<a name="line.803"></a>
-<span class="sourceLineNo">804</span> if (maxToStart < minToStart) {<a name="line.804"></a>
-<span class="sourceLineNo">805</span> LOG.warn(String.format("The value of '%s' (%d) is set less than '%s' (%d), ignoring.",<a name="line.805"></a>
-<span class="sourceLineNo">806</span> WAIT_ON_REGIONSERVERS_MAXTOSTART, maxToStart,<a name="line.806"></a>
-<span class="sourceLineNo">807</span> WAIT_ON_REGIONSERVERS_MINTOSTART, minToStart));<a name="line.807"></a>
-<span class="sourceLineNo">808</span> maxToStart = Integer.MAX_VALUE;<a name="line.808"></a>
-<span class="sourceLineNo">809</span> }<a name="line.809"></a>
-<span class="sourceLineNo">810</span><a name="line.810"></a>
-<span class="sourceLineNo">811</span> long now = System.currentTimeMillis();<a name="line.811"></a>
-<span class="sourceLineNo">812</span> final long startTime = now;<a name="line.812"></a>
-<span class="sourceLineNo">813</span> long slept = 0;<a name="line.813"></a>
-<span class="sourceLineNo">814</span> long lastLogTime = 0;<a name="line.814"></a>
-<span class="sourceLineNo">815</span> long lastCountChange = startTime;<a name="line.815"></a>
-<span class="sourceLineNo">816</span> int count = countOfRegionServers();<a name="line.816"></a>
-<span class="sourceLineNo">817</span> int oldCount = 0;<a name="line.817"></a>
-<span class="sourceLineNo">818</span> // This while test is a little hard to read. We try to comment it in below but in essence:<a name="line.818"></a>
-<span class="sourceLineNo">819</span> // Wait if Master is not stopped and the number of regionservers that have checked-in is<a name="line.819"></a>
-<span class="sourceLineNo">820</span> // less than the maxToStart. Both of these conditions will be true near universally.<a name="line.820"></a>
-<span class="sourceLineNo">821</span> // Next, we will keep cycling if ANY of the following three conditions are true:<a name="line.821"></a>
-<span class="sourceLineNo">822</span> // 1. The time since a regionserver registered is < interval (means servers are actively checking in).<a name="line.822"></a>
-<span class="sourceLineNo">823</span> // 2. We are under the total timeout.<a name="line.823"></a>
-<span class="sourceLineNo">824</span> // 3. The count of servers is < minimum.<a name="line.824"></a>
-<span class="sourceLineNo">825</span> for (ServerListener listener: this.listeners) {<a name="line.825"></a>
-<span class="sourceLineNo">826</span> listener.waiting();<a name="line.826"></a>
-<span class="sourceLineNo">827</span> }<a name="line.827"></a>
-<span class="sourceLineNo">828</span> while (!this.master.isStopped() && !isClusterShutdown() && count < maxToStart &&<a name="line.828"></a>
-<span class="sourceLineNo">829</span> ((lastCountChange + interval) > now || timeout > slept || count < minToStart)) {<a name="line.829"></a>
-<span class="sourceLineNo">830</span> // Log some info at every interval time or if there is a change<a name="line.830"></a>
-<span class="sourceLineNo">831</span> if (oldCount != count || lastLogTime + interval < now) {<a name="line.831"></a>
-<span class="sourceLineNo">832</span> lastLogTime = now;<a name="line.832"></a>
-<span class="sourceLineNo">833</span> String msg =<a name="line.833"></a>
-<span class="sourceLineNo">834</span> "Waiting on regionserver count=" + count + "; waited="+<a name="line.834"></a>
-<span class="sourceLineNo">835</span> slept + "ms, expecting min=" + minToStart + " server(s), max="+ getStrForMax(maxToStart) +<a name="line.835"></a>
-<span class="sourceLineNo">836</span> " server(s), " + "timeout=" + timeout + "ms, lastChange=" + (lastCountChange - now) + "ms";<a name="line.836"></a>
-<span class="sourceLineNo">837</span> LOG.info(msg);<a name="line.837"></a>
-<span class="sourceLineNo">838</span> status.setStatus(msg);<a name="line.838"></a>
-<span class="sourceLineNo">839</span> }<a name="line.839"></a>
-<span class="sourceLineNo">840</span><a name="line.840"></a>
-<span class="sourceLineNo">841</span> // We sleep for some time<a name="line.841"></a>
-<span class="sourceLineNo">842</span> final long sleepTime = 50;<a name="line.842"></a>
-<span class="sourceLineNo">843</span> Thread.sleep(sleepTime);<a name="line.843"></a>
-<span class="sourceLineNo">844</span> now = System.currentTimeMillis();<a name="line.844"></a>
-<span class="sourceLineNo">845</span> slept = now - startTime;<a name="line.845"></a>
-<span class="sourceLineNo">846</span><a name="line.846"></a>
-<span class="sourceLineNo">847</span> oldCount = count;<a name="line.847"></a>
-<span class="sourceLineNo">848</span> count = countOfRegionServers();<a name="line.848"></a>
-<span class="sourceLineNo">849</span> if (count != oldCount) {<a name="line.849"></a>
-<span class="sourceLineNo">850</span> lastCountChange = now;<a name="line.850"></a>
-<span class="sourceLineNo">851</span> }<a name="line.851"></a>
-<span class="sourceLineNo">852</span> }<a name="line.852"></a>
-<span class="sourceLineNo">853</span> // Did we exit the loop because cluster is going down?<a name="line.853"></a>
-<span class="sourceLineNo">854</span> if (isClusterShutdown()) {<a name="line.854"></a>
-<span class="sourceLineNo">855</span> this.master.stop("Cluster shutdown");<a name="line.855"></a>
-<span class="sourceLineNo">856</span> }<a name="line.856"></a>
-<span class="sourceLineNo">857</span> LOG.info("Finished waiting on RegionServer count=" + count + "; waited=" + slept + "ms," +<a name="line.857"></a>
-<span class="sourceLineNo">858</span> " expected min=" + minToStart + " server(s), max=" + getStrForMax(maxToStart) + " server(s),"+<a name="line.858"></a>
-<span class="sourceLineNo">859</span> " master is "+ (this.master.isStopped() ? "stopped.": "running"));<a name="line.859"></a>
-<span class="sourceLineNo">860</span> }<a name="line.860"></a>
-<span class="sourceLineNo">861</span><a name="line.861"></a>
-<span class="sourceLineNo">862</span> private String getStrForMax(final int max) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span> return max == Integer.MAX_VALUE? "NO_LIMIT": Integer.toString(max);<a name="line.863"></a>
-<span class="sourceLineNo">864</span> }<a name="line.864"></a>
-<span class="sourceLineNo">865</span><a name="line.865"></a>
-<span class="sourceLineNo">866</span> /**<a name="line.866"></a>
-<span class="sourceLineNo">867</span> * @return A copy of the internal list of online servers.<a name="line.867"></a>
-<span class="sourceLineNo">868</span> */<a name="line.868"></a>
-<span class="sourceLineNo">869</span> public List<ServerName> getOnlineServersList() {<a name="line.869"></a>
-<span class="sourceLineNo">870</span> // TODO: optimize the load balancer call so we don't need to make a new list<a name="line.870"></a>
-<span class="sourceLineNo">871</span> // TODO: FIX. THIS IS POPULAR CALL.<a name="line.871"></a>
-<span class="sourceLineNo">872</span> return new ArrayList<>(this.onlineServers.keySet());<a name="line.872"></a>
-<span class="sourceLineNo">873</span> }<a name="line.873"></a>
-<span class="sourceLineNo">874</span><a name="line.874"></a>
-<span class="sourceLineNo">875</span> /**<a name="line.875"></a>
-<span class="sourceLineNo">876</span> * @param keys The target server name<a name="line.876"></a>
-<span class="sourceLineNo">877</span> * @param idleServerPredicator Evaluates the server on the given load<a name="line.877"></a>
-<span class="sourceLineNo">878</span> * @return A copy of the internal list of online servers matched by the predicator<a name="line.878"></a>
-<span class="sourceLineNo">879</span> */<a name="line.879"></a>
-<span class="sourceLineNo">880</span> public List<ServerName> getOnlineServersListWithPredicator(List<ServerName> keys,<a name="line.880"></a>
-<span class="sourceLineNo">881</span> Predicate<ServerMetrics> idleServerPredicator) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span> List<ServerName> names = new ArrayList<>();<a name="line.882"></a>
-<span class="sourceLineNo">883</span> if (keys != null && idleServerPredicator != null) {<a name="line.883"></a>
-<span class="sourceLineNo">884</span> keys.forEach(name -> {<a name="line.884"></a>
-<span class="sourceLineNo">885</span> ServerMetrics load = onlineServers.get(name);<a name="line.885"></a>
-<span class="sourceLineNo">886</span> if (load != null) {<a name="line.886"></a>
-<span class="sourceLineNo">887</span> if (idleServerPredicator.test(load)) {<a name="line.887"></a>
-<span class="sourceLineNo">888</span> names.add(name);<a name="line.888"></a>
-<span class="sourceLineNo">889</span> }<a name="line.889"></a>
-<span class="sourceLineNo">890</span> }<a name="line.890"></a>
-<span class="sourceLineNo">891</span> });<a name="line.891"></a>
-<span class="sourceLineNo">892</span> }<a name="line.892"></a>
-<span class="sourceLineNo">893</span> return names;<a name="line.893"></a>
-<span class="sourceLineNo">894</span> }<a name="line.894"></a>
-<span class="sourceLineNo">895</span><a name="line.895"></a>
-<span class="sourceLineNo">896</span> /**<a name="line.896"></a>
-<span class="sourceLineNo">897</span> * @return A copy of the internal list of draining servers.<a name="line.897"></a>
-<span class="sourceLineNo">898</span> */<a name="line.898"></a>
-<span class="sourceLineNo">899</span> public List<ServerName> getDrainingServersList() {<a name="line.899"></a>
-<span class="sourceLineNo">900</span> return new ArrayList<>(this.drainingServers);<a name="line.900"></a>
-<span class="sourceLineNo">901</span> }<a name="line.901"></a>
-<span class="sourceLineNo">902</span><a name="line.902"></a>
-<span class="sourceLineNo">903</span> public boolean isServerOnline(ServerName serverName) {<a name="line.903"></a>
-<span class="sourceLineNo">904</span> return serverName != null && onlineServers.containsKey(serverName);<a name="line.904"></a>
-<span class="sourceLineNo">905</span> }<a name="line.905"></a>
-<span class="sourceLineNo">906</span><a name="line.906"></a>
-<span class="sourceLineNo">907</span> /**<a name="line.907"></a>
-<span class="sourceLineNo">908</span> * Check if a server is known to be dead. A server can be online,<a name="line.908"></a>
-<span class="sourceLineNo">909</span> * or known to be dead, or unknown to this manager (i.e, not online,<a name="line.909"></a>
-<span class="sourceLineNo">910</span> * not known to be dead either. it is simply not tracked by the<a name="line.910"></a>
-<span class="sourceLineNo">911</span> * master any more, for example, a very old previous instance).<a name="line.911"></a>
-<span class="sourceLineNo">912</span> */<a name="line.912"></a>
-<span class="sourceLineNo">913</span> public synchronized boolean isServerDead(ServerName serverName) {<a name="line.913"></a>
-<span class="sourceLineNo">914</span> return serverName == null || deadservers.isDeadServer(serverName);<a name="line.914"></a>
-<span class="sourceLineNo">915</span> }<a name="line.915"></a>
-<span class="sourceLineNo">916</span><a name="line.916"></a>
-<span class="sourceLineNo">917</span> public void shutdownCluster() {<a name="line.917"></a>
-<span class="sourceLineNo">918</span> String statusStr = "Cluster shutdown requested of master=" + this.master.getServerName();<a name="line.918"></a>
-<span class="sourceLineNo">919</span> LOG.info(statusStr);<a name="line.919"></a>
-<span class="sourceLineNo">920</span> this.clusterShutdown.set(true);<a name="line.920"></a>
-<span class="sourceLineNo">921</span> if (onlineServers.isEmpty()) {<a name="line.921"></a>
-<span class="sourceLineNo">922</span> // we do not synchronize here so this may cause a double stop, but not a big deal<a name="line.922"></a>
-<span class="sourceLineNo">923</span> master.stop("OnlineServer=0 right after cluster shutdown set");<a name="line.923"></a>
-<span class="sourceLineNo">924</span> }<a name="line.924"></a>
-<span class="sourceLineNo">925</span> }<a name="line.925"></a>
-<span class="sourceLineNo">926</span><a name="line.926"></a>
-<span class="sourceLineNo">927</span> public boolean isClusterShutdown() {<a name="line.927"></a>
-<span class="sourceLineNo">928</span> return this.clusterShutdown.get();<a name="line.928"></a>
-<span class="sourceLineNo">929</span> }<a name="line.929"></a>
-<span class="sourceLineNo">930</span><a name="line.930"></a>
-<span class="sourceLineNo">931</span> /**<a name="line.931"></a>
-<span class="sourceLineNo">932</span> * start chore in ServerManager<a name="line.932"></a>
-<span class="sourceLineNo">933</span> */<a name="line.933"></a>
-<span class="sourceLineNo">934</span> public void startChore() {<a name="line.934"></a>
-<span class="sourceLineNo">935</span> Configuration c = master.getConfiguration();<a name="line.935"></a>
-<span class="sourceLineNo">936</span> if (persistFlushedSequenceId) {<a name="line.936"></a>
-<span class="sourceLineNo">937</span> // when reach here, RegionStates should loaded, firstly, we call remove deleted regions<a name="line.937"></a>
-<span class="sourceLineNo">938</span> removeDeletedRegionFromLoadedFlushedSequenceIds();<a name="line.938"></a>
-<span class="sourceLineNo">939</span> int flushPeriod = c.getInt(FLUSHEDSEQUENCEID_FLUSHER_INTERVAL,<a name="line.939"></a>
-<span class="sourceLineNo">940</span> FLUSHEDSEQUENCEID_FLUSHER_INTERVAL_DEFAULT);<a name="line.940"></a>
-<span class="sourceLineNo">941</span> flushedSeqIdFlusher = new FlushedSequenceIdFlusher(<a name="line.941"></a>
-<span class="sourceLineNo">942</span> "FlushedSequenceIdFlusher", flushPeriod);<a name="line.942"></a>
-<span class="sourceLineNo">943</span> master.getChoreService().scheduleChore(flushedSeqIdFlusher);<a name="line.943"></a>
-<span class="sourceLineNo">944</span> }<a name="line.944"></a>
-<span class="sourceLineNo">945</span> }<a name="line.945"></a>
-<span class="sourceLineNo">946</span><a name="line.946"></a>
-<span class="sourceLineNo">947</span> /**<a name="line.947"></a>
-<span class="sourceLineNo">948</span> * Stop the ServerManager.<a name="line.948"></a>
-<span class="sourceLineNo">949</span> */<a name="line.949"></a>
-<span class="sourceLineNo">950</span> public void stop() {<a name="line.950"></a>
-<span class="sourceLineNo">951</span> if (flushedSeqIdFlusher != null) {<a name="line.951"></a>
-<span class="sourceLineNo">952</span> flushedSeqIdFlusher.cancel();<a name="line.952"></a>
-<span class="sourceLineNo">953</span> }<a name="line.953"></a>
-<span class="sourceLineNo">954</span> if (persistFlushedSequenceId) {<a name="line.954"></a>
-<span class="sourceLineNo">955</span> try {<a name="line.955"></a>
-<span class="sourceLineNo">956</span> persistRegionLastFlushedSequenceIds();<a name="line.956"></a>
-<span class="sourceLineNo">957</span> } catch (IOException e) {<a name="line.957"></a>
-<span class="sourceLineNo">958</span> LOG.warn("Failed to persist last flushed sequence id of regions"<a name="line.958"></a>
-<span class="sourceLineNo">959</span> + " to file system", e);<a name="line.959"></a>
-<span class="sourceLineNo">960</span> }<a name="line.960"></a>
-<span class="sourceLineNo">961</span> }<a name="line.961"></a>
-<span class="sourceLineNo">962</span> }<a name="line.962"></a>
-<span class="sourceLineNo">963</span><a name="line.963"></a>
-<span class="sourceLineNo">964</span> /**<a name="line.964"></a>
-<span class="sourceLineNo">965</span> * Creates a list of possible destinations for a region. It contains the online servers, but not<a name="line.965"></a>
-<span class="sourceLineNo">966</span> * the draining or dying servers.<a name="line.966"></a>
-<span class="sourceLineNo">967</span> * @param serversToExclude can be null if there is no server to exclude<a name="line.967"></a>
-<span class="sourceLineNo">968</span> */<a name="line.968"></a>
-<span class="sourceLineNo">969</span> public List<ServerName> createDestinationServersList(final List<ServerName> serversToExclude){<a name="line.969"></a>
-<span class="sourceLineNo">970</span> final List<ServerName> destServers = getOnlineServersList();<a name="line.970"></a>
-<span class="sourceLineNo">971</span><a name="line.971"></a>
-<span class="sourceLineNo">972</span> if (serversToExclude != null) {<a name="line.972"></a>
-<span class="sourceLineNo">973</span> destServers.removeAll(serversToExclude);<a name="line.973"></a>
-<span class="sourceLineNo">974</span> }<a name="line.974"></a>
-<span class="sourceLineNo">975</span><a name="line.975"></a>
-<span class="sourceLineNo">976</span> // Loop through the draining server list and remove them from the server list<a name="line.976"></a>
-<span class="sourceLineNo">977</span> final List<ServerName> drainingServersCopy = getDrainingServersList();<a name="line.977"></a>
-<span class="sourceLineNo">978</span> destServers.removeAll(drainingServersCopy);<a name="line.978"></a>
-<span class="sourceLineNo">979</span><a name="line.979"></a>
-<span class="sourceLineNo">980</span> return destServers;<a name="line.980"></a>
-<span class="sourceLineNo">981</span> }<a name="line.981"></a>
+<span class="sourceLineNo">605</span> long pid = master.getAssignmentManager().submitServerCrash(serverName, true);<a name="line.605"></a>
+<span class="sourceLineNo">606</span> if(pid <= 0) {<a name="line.606"></a>
+<span class="sourceLineNo">607</span> return false;<a name="line.607"></a>
+<span class="sourceLineNo">608</span> } else {<a name="line.608"></a>
+<span class="sourceLineNo">609</span> // Tell our listeners that a server was removed<a name="line.609"></a>
+<span class="sourceLineNo">610</span> if (!this.listeners.isEmpty()) {<a name="line.610"></a>
+<span class="sourceLineNo">611</span> for (ServerListener listener : this.listeners) {<a name="line.611"></a>
+<span class="sourceLineNo">612</span> listener.serverRemoved(serverName);<a name="line.612"></a>
+<span class="sourceLineNo">613</span> }<a name="line.613"></a>
+<span class="sourceLineNo">614</span> }<a name="line.614"></a>
+<span class="sourceLineNo">615</span> // trigger a persist of flushedSeqId<a name="line.615"></a>
+<span class="sourceLineNo">616</span> if (flushedSeqIdFlusher != null) {<a name="line.616"></a>
+<span class="sourceLineNo">617</span> flushedSeqIdFlusher.triggerNow();<a name="line.617"></a>
+<span class="sourceLineNo">618</span> }<a name="line.618"></a>
+<span class="sourceLineNo">619</span> return true;<a name="line.619"></a>
+<span class="sourceLineNo">620</span> }<a name="line.620"></a>
+<span class="sourceLineNo">621</span> }<a name="line.621"></a>
+<span class="sourceLineNo">622</span><a name="line.622"></a>
+<span class="sourceLineNo">623</span> @VisibleForTesting<a name="line.623"></a>
+<span class="sourceLineNo">624</span> public void moveFromOnlineToDeadServers(final ServerName sn) {<a name="line.624"></a>
+<span class="sourceLineNo">625</span> synchronized (onlineServers) {<a name="line.625"></a>
+<span class="sourceLineNo">626</span> if (!this.onlineServers.containsKey(sn)) {<a name="line.626"></a>
+<span class="sourceLineNo">627</span> LOG.trace("Expiration of {} but server not online", sn);<a name="line.627"></a>
+<span class="sourceLineNo">628</span> }<a name="line.628"></a>
+<span class="sourceLineNo">629</span> // Remove the server from the known servers lists and update load info BUT<a name="line.629"></a>
+<span class="sourceLineNo">630</span> // add to deadservers first; do this so it'll show in dead servers list if<a name="line.630"></a>
+<span class="sourceLineNo">631</span> // not in online servers list.<a name="line.631"></a>
+<span class="sourceLineNo">632</span> this.deadservers.add(sn);<a name="line.632"></a>
+<span class="sourceLineNo">633</span> this.onlineServers.remove(sn);<a name="line.633"></a>
+<span class="sourceLineNo">634</span> onlineServers.notifyAll();<a name="line.634"></a>
+<span class="sourceLineNo">635</span> }<a name="line.635"></a>
+<span class="sourceLineNo">636</span> this.rsAdmins.remove(sn);<a name="line.636"></a>
+<span class="sourceLineNo">637</span> }<a name="line.637"></a>
+<span class="sourceLineNo">638</span><a name="line.638"></a>
+<span class="sourceLineNo">639</span> /*<a name="line.639"></a>
+<span class="sourceLineNo">640</span> * Remove the server from the drain list.<a name="line.640"></a>
+<span class="sourceLineNo">641</span> */<a name="line.641"></a>
+<span class="sourceLineNo">642</span> public synchronized boolean removeServerFromDrainList(final ServerName sn) {<a name="line.642"></a>
+<span class="sourceLineNo">643</span> // Warn if the server (sn) is not online. ServerName is of the form:<a name="line.643"></a>
+<span class="sourceLineNo">644</span> // <hostname> , <port> , <startcode><a name="line.644"></a>
+<span class="sourceLineNo">645</span><a name="line.645"></a>
+<span class="sourceLineNo">646</span> if (!this.isServerOnline(sn)) {<a name="line.646"></a>
+<span class="sourceLineNo">647</span> LOG.warn("Server " + sn + " is not currently online. " +<a name="line.647"></a>
+<span class="sourceLineNo">648</span> "Removing from draining list anyway, as requested.");<a name="line.648"></a>
+<span class="sourceLineNo">649</span> }<a name="line.649"></a>
+<span class="sourceLineNo">650</span> // Remove the server from the draining servers lists.<a name="line.650"></a>
+<span class="sourceLineNo">651</span> return this.drainingServers.remove(sn);<a name="line.651"></a>
+<span class="sourceLineNo">652</span> }<a name="line.652"></a>
+<span class="sourceLineNo">653</span><a name="line.653"></a>
+<span class="sourceLineNo">654</span> /**<a name="line.654"></a>
+<span class="sourceLineNo">655</span> * Add the server to the drain list.<a name="line.655"></a>
+<span class="sourceLineNo">656</span> * @param sn<a name="line.656"></a>
+<span class="sourceLineNo">657</span> * @return True if the server is added or the server is already on the drain list.<a name="line.657"></a>
+<span class="sourceLineNo">658</span> */<a name="line.658"></a>
+<span class="sourceLineNo">659</span> public synchronized boolean addServerToDrainList(final ServerName sn) {<a name="line.659"></a>
+<span class="sourceLineNo">660</span> // Warn if the server (sn) is not online. ServerName is of the form:<a name="line.660"></a>
+<span class="sourceLineNo">661</span> // <hostname> , <port> , <startcode><a name="line.661"></a>
+<span class="sourceLineNo">662</span><a name="line.662"></a>
+<span class="sourceLineNo">663</span> if (!this.isServerOnline(sn)) {<a name="line.663"></a>
+<span class="sourceLineNo">664</span> LOG.warn("Server " + sn + " is not currently online. " +<a name="line.664"></a>
+<span class="sourceLineNo">665</span> "Ignoring request to add it to draining list.");<a name="line.665"></a>
+<span class="sourceLineNo">666</span> return false;<a name="line.666"></a>
+<span class="sourceLineNo">667</span> }<a name="line.667"></a>
+<span class="sourceLineNo">668</span> // Add the server to the draining servers lists, if it's not already in<a name="line.668"></a>
+<span class="sourceLineNo">669</span> // it.<a name="line.669"></a>
+<span class="sourceLineNo">670</span> if (this.drainingServers.contains(sn)) {<a name="line.670"></a>
+<span class="sourceLineNo">671</span> LOG.warn("Server " + sn + " is already in the draining server list." +<a name="line.671"></a>
+<span class="sourceLineNo">672</span> "Ignoring request to add it again.");<a name="line.672"></a>
+<span class="sourceLineNo">673</span> return true;<a name="line.673"></a>
+<span class="sourceLineNo">674</span> }<a name="line.674"></a>
+<span class="sourceLineNo">675</span> LOG.info("Server " + sn + " added to draining server list.");<a name="line.675"></a>
+<span class="sourceLineNo">676</span> return this.drainingServers.add(sn);<a name="line.676"></a>
+<span class="sourceLineNo">677</span> }<a name="line.677"></a>
+<span class="sourceLineNo">678</span><a name="line.678"></a>
+<span class="sourceLineNo">679</span> // RPC methods to region servers<a name="line.679"></a>
+<span class="sourceLineNo">680</span><a name="line.680"></a>
+<span class="sourceLineNo">681</span> private HBaseRpcController newRpcController() {<a name="line.681"></a>
+<span class="sourceLineNo">682</span> return rpcControllerFactory == null ? null : rpcControllerFactory.newController();<a name="line.682"></a>
+<span class="sourceLineNo">683</span> }<a name="line.683"></a>
+<span class="sourceLineNo">684</span><a name="line.684"></a>
+<span class="sourceLineNo">685</span> /**<a name="line.685"></a>
+<span class="sourceLineNo">686</span> * Sends a WARMUP RPC to the specified server to warmup the specified region.<a name="line.686"></a>
+<span class="sourceLineNo">687</span> * <p><a name="line.687"></a>
+<span class="sourceLineNo">688</span> * A region server could reject the close request because it either does not<a name="line.688"></a>
+<span class="sourceLineNo">689</span> * have the specified region or the region is being split.<a name="line.689"></a>
+<span class="sourceLineNo">690</span> * @param server server to warmup a region<a name="line.690"></a>
+<span class="sourceLineNo">691</span> * @param region region to warmup<a name="line.691"></a>
+<span class="sourceLineNo">692</span> */<a name="line.692"></a>
+<span class="sourceLineNo">693</span> public void sendRegionWarmup(ServerName server,<a name="line.693"></a>
+<span class="sourceLineNo">694</span> RegionInfo region) {<a name="line.694"></a>
+<span class="sourceLineNo">695</span> if (server == null) return;<a name="line.695"></a>
+<span class="sourceLineNo">696</span> try {<a name="line.696"></a>
+<span class="sourceLineNo">697</span> AdminService.BlockingInterface admin = getRsAdmin(server);<a name="line.697"></a>
+<span class="sourceLineNo">698</span> HBaseRpcController controller = newRpcController();<a name="line.698"></a>
+<span class="sourceLineNo">699</span> ProtobufUtil.warmupRegion(controller, admin, region);<a name="line.699"></a>
+<span class="sourceLineNo">700</span> } catch (IOException e) {<a name="line.700"></a>
+<span class="sourceLineNo">701</span> LOG.error("Received exception in RPC for warmup server:" +<a name="line.701"></a>
+<span class="sourceLineNo">702</span> server + "region: " + region +<a name="line.702"></a>
+<span class="sourceLineNo">703</span> "exception: " + e);<a name="line.703"></a>
+<span class="sourceLineNo">704</span> }<a name="line.704"></a>
+<span class="sourceLineNo">705</span> }<a name="line.705"></a>
+<span class="sourceLineNo">706</span><a name="line.706"></a>
+<span class="sourceLineNo">707</span> /**<a name="line.707"></a>
+<span class="sourceLineNo">708</span> * Contacts a region server and waits up to timeout ms<a name="line.708"></a>
+<span class="sourceLineNo">709</span> * to close the region. This bypasses the active hmaster.<a name="line.709"></a>
+<span class="sourceLineNo">710</span> */<a name="line.710"></a>
+<span class="sourceLineNo">711</span> public static void closeRegionSilentlyAndWait(ClusterConnection connection,<a name="line.711"></a>
+<span class="sourceLineNo">712</span> ServerName server, RegionInfo region, long timeout) throws IOException, InterruptedException {<a name="line.712"></a>
+<span class="sourceLineNo">713</span> AdminService.BlockingInterface rs = connection.getAdmin(server);<a name="line.713"></a>
+<span class="sourceLineNo">714</span> HBaseRpcController controller = connection.getRpcControllerFactory().newController();<a name="line.714"></a>
+<span class="sourceLineNo">715</span> try {<a name="line.715"></a>
+<span class="sourceLineNo">716</span> ProtobufUtil.closeRegion(controller, rs, server, region.getRegionName());<a name="line.716"></a>
+<span class="sourceLineNo">717</span> } catch (IOException e) {<a name="line.717"></a>
+<span class="sourceLineNo">718</span> LOG.warn("Exception when closing region: " + region.getRegionNameAsString(), e);<a name="line.718"></a>
+<span class="sourceLineNo">719</span> }<a name="line.719"></a>
+<span class="sourceLineNo">720</span> long expiration = timeout + System.currentTimeMillis();<a name="line.720"></a>
+<span class="sourceLineNo">721</span> while (System.currentTimeMillis() < expiration) {<a name="line.721"></a>
+<span class="sourceLineNo">722</span> controller.reset();<a name="line.722"></a>
+<span class="sourceLineNo">723</span> try {<a name="line.723"></a>
+<span class="sourceLineNo">724</span> RegionInfo rsRegion =<a name="line.724"></a>
+<span class="sourceLineNo">725</span> ProtobufUtil.getRegionInfo(controller, rs, region.getRegionName());<a name="line.725"></a>
+<span class="sourceLineNo">726</span> if (rsRegion == null) return;<a name="line.726"></a>
+<span class="sourceLineNo">727</span> } catch (IOException ioe) {<a name="line.727"></a>
+<span class="sourceLineNo">728</span> if (ioe instanceof NotServingRegionException) // no need to retry again<a name="line.728"></a>
+<span class="sourceLineNo">729</span> return;<a name="line.729"></a>
+<span class="sourceLineNo">730</span> LOG.warn("Exception when retrieving regioninfo from: "<a name="line.730"></a>
+<span class="sourceLineNo">731</span> + region.getRegionNameAsString(), ioe);<a name="line.731"></a>
+<span class="sourceLineNo">732</span> }<a name="line.732"></a>
+<span class="sourceLineNo">733</span> Thread.sleep(1000);<a name="line.733"></a>
+<span class="sourceLineNo">734</span> }<a name="line.734"></a>
+<span class="sourceLineNo">735</span> throw new IOException("Region " + region + " failed to close within"<a name="line.735"></a>
+<span class="sourceLineNo">736</span> + " timeout " + timeout);<a name="line.736"></a>
+<span class="sourceLineNo">737</span> }<a name="line.737"></a>
+<span class="sourceLineNo">738</span><a name="line.738"></a>
+<span class="sourceLineNo">739</span> /**<a name="line.739"></a>
+<span class="sourceLineNo">740</span> * @param sn<a name="line.740"></a>
+<span class="sourceLineNo">741</span> * @return Admin interface for the remote regionserver named <code>sn</code><a name="line.741"></a>
+<span class="sourceLineNo">742</span> * @throws IOException<a name="line.742"></a>
+<span class="sourceLineNo">743</span> * @throws RetriesExhaustedException wrapping a ConnectException if failed<a name="line.743"></a>
+<span class="sourceLineNo">744</span> */<a name="line.744"></a>
+<span class="sourceLineNo">745</span> public AdminService.BlockingInterface getRsAdmin(final ServerName sn)<a name="line.745"></a>
+<span class="sourceLineNo">746</span> throws IOException {<a name="line.746"></a>
+<span class="sourceLineNo">747</span> AdminService.BlockingInterface admin = this.rsAdmins.get(sn);<a name="line.747"></a>
+<span class="sourceLineNo">748</span> if (admin == null) {<a name="line.748"></a>
+<span class="sourceLineNo">749</span> LOG.debug("New admin connection to " + sn.toString());<a name="line.749"></a>
+<span class="sourceLineNo">750</span> if (sn.equals(master.getServerName()) && master instanceof HRegionServer) {<a name="line.750"></a>
+<span class="sourceLineNo">751</span> // A master is also a region server now, see HBASE-10569 for details<a name="line.751"></a>
+<span class="sourceLineNo">752</span> admin = ((HRegionServer)master).getRSRpcServices();<a name="line.752"></a>
+<span class="sourceLineNo">753</span> } else {<a name="line.753"></a>
+<span class="sourceLineNo">754</span> admin = this.connection.getAdmin(sn);<a name="line.754"></a>
+<span class="sourceLineNo">755</span> }<a name="line.755"></a>
+<span class="sourceLineNo">756</span> this.rsAdmins.put(sn, admin);<a name="line.756"></a>
+<span class="sourceLineNo">757</span> }<a name="line.757"></a>
+<span class="sourceLineNo">758</span> return admin;<a name="line.758"></a>
+<span class="sourceLineNo">759</span> }<a name="line.759"></a>
+<span class="sourceLineNo">760</span><a name="line.760"></a>
+<span class="sourceLineNo">761</span> /**<a name="line.761"></a>
+<span class="sourceLineNo">762</span> * Calculate min necessary to start. This is not an absolute. It is just<a name="line.762"></a>
+<span class="sourceLineNo">763</span> * a friction that will cause us hang around a bit longer waiting on<a name="line.763"></a>
+<span class="sourceLineNo">764</span> * RegionServers to check-in.<a name="line.764"></a>
+<span class="sourceLineNo">765</span> */<a name="line.765"></a>
+<span class="sourceLineNo">766</span> private int getMinToStart() {<a name="line.766"></a>
+<span class="sourceLineNo">767</span> if (master.isInMaintenanceMode()) {<a name="line.767"></a>
+<span class="sourceLineNo">768</span> // If in maintenance mode, then master hosting meta will be the only server available<a name="line.768"></a>
+<span class="sourceLineNo">769</span> return 1;<a name="line.769"></a>
+<span class="sourceLineNo">770</span> }<a name="line.770"></a>
+<span class="sourceLineNo">771</span><a name="line.771"></a>
+<span class="sourceLineNo">772</span> int minimumRequired = 1;<a name="line.772"></a>
+<span class="sourceLineNo">773</span> if (LoadBalancer.isTablesOnMaster(master.getConfiguration()) &&<a name="line.773"></a>
+<span class="sourceLineNo">774</span> LoadBalancer.isSystemTablesOnlyOnMaster(master.getConfiguration())) {<a name="line.774"></a>
+<span class="sourceLineNo">775</span> // If Master is carrying regions it will show up as a 'server', but is not handling user-<a name="line.775"></a>
+<span class="sourceLineNo">776</span> // space regions, so we need a second server.<a name="line.776"></a>
+<span class="sourceLineNo">777</span> minimumRequired = 2;<a name="line.777"></a>
+<span class="sourceLineNo">778</span> }<a name="line.778"></a>
+<span class="sourceLineNo">779</span><a name="line.779"></a>
+<span class="sourceLineNo">780</span> int minToStart = this.master.getConfiguration().getInt(WAIT_ON_REGIONSERVERS_MINTOSTART, -1);<a name="line.780"></a>
+<span class="sourceLineNo">781</span> // Ensure we are never less than minimumRequired else stuff won't work.<a name="line.781"></a>
+<span class="sourceLineNo">782</span> return Math.max(minToStart, minimumRequired);<a name="line.782"></a>
+<span class="sourceLineNo">783</span> }<a name="line.783"></a>
+<span class="sourceLineNo">784</span><a name="line.784"></a>
+<span class="sourceLineNo">785</span> /**<a name="line.785"></a>
+<span class="sourceLineNo">786</span> * Wait for the region servers to report in.<a name="line.786"></a>
+<span class="sourceLineNo">787</span> * We will wait until one of this condition is met:<a name="line.787"></a>
+<span class="sourceLineNo">788</span> * - the master is stopped<a name="line.788"></a>
+<span class="sourceLineNo">789</span> * - the 'hbase.master.wait.on.regionservers.maxtostart' number of<a name="line.789"></a>
+<span class="sourceLineNo">790</span> * region servers is reached<a name="line.790"></a>
+<span class="sourceLineNo">791</span> * - the 'hbase.master.wait.on.regionservers.mintostart' is reached AND<a name="line.791"></a>
+<span class="sourceLineNo">792</span> * there have been no new region server in for<a name="line.792"></a>
+<span class="sourceLineNo">793</span> * 'hbase.master.wait.on.regionservers.interval' time AND<a name="line.793"></a>
+<span class="sourceLineNo">794</span> * the 'hbase.master.wait.on.regionservers.timeout' is reached<a name="line.794"></a>
+<span class="sourceLineNo">795</span> *<a name="line.795"></a>
+<span class="sourceLineNo">796</span> * @throws InterruptedException<a name="line.796"></a>
+<span class="sourceLineNo">797</span> */<a name="line.797"></a>
+<span class="sourceLineNo">798</span> public void waitForRegionServers(MonitoredTask status) throws InterruptedException {<a name="line.798"></a>
+<span class="sourceLineNo">799</span> final long interval = this.master.getConfiguration().<a name="line.799"></a>
+<span class="sourceLineNo">800</span> getLong(WAIT_ON_REGIONSERVERS_INTERVAL, 1500);<a name="line.800"></a>
+<span class="sourceLineNo">801</span> final long timeout = this.master.getConfiguration().<a name="line.801"></a>
+<span class="sourceLineNo">802</span> getLong(WAIT_ON_REGIONSERVERS_TIMEOUT, 4500);<a name="line.802"></a>
+<span class="sourceLineNo">803</span> // Min is not an absolute; just a friction making us wait longer on server checkin.<a name="line.803"></a>
+<span class="sourceLineNo">804</span> int minToStart = getMinToStart();<a name="line.804"></a>
+<span class="sourceLineNo">805</span> int maxToStart = this.master.getConfiguration().<a name="line.805"></a>
+<span class="sourceLineNo">806</span> getInt(WAIT_ON_REGIONSERVERS_MAXTOSTART, Integer.MAX_VALUE);<a name="line.806"></a>
+<span class="sourceLineNo">807</span> if (maxToStart < minToStart) {<a name="line.807"></a>
+<span class="sourceLineNo">808</span> LOG.warn(String.format("The value of '%s' (%d) is set less than '%s' (%d), ignoring.",<a name="line.808"></a>
+<span class="sourceLineNo">809</span> WAIT_ON_REGIONSERVERS_MAXTOSTART, maxToStart,<a name="line.809"></a>
+<span class="sourceLineNo">810</span> WAIT_ON_REGIONSERVERS_MINTOSTART, minToStart));<a name="line.810"></a>
+<span class="sourceLineNo">811</span> maxToStart = Integer.MAX_VALUE;<a name="line.811"></a>
+<span class="sourceLineNo">812</span> }<a name="line.812"></a>
+<span class="sourceLineNo">813</span><a name="line.813"></a>
+<span class="sourceLineNo">814</span> long now = System.currentTimeMillis();<a name="line.814"></a>
+<span class="sourceLineNo">815</span> final long startTime = now;<a name="line.815"></a>
+<span class="sourceLineNo">816</span> long slept = 0;<a name="line.816"></a>
+<span class="sourceLineNo">817</span> long lastLogTime = 0;<a name="line.817"></a>
+<span class="sourceLineNo">818</span> long lastCountChange = startTime;<a name="line.818"></a>
+<span class="sourceLineNo">819</span> int count = countOfRegionServers();<a name="line.819"></a>
+<span class="sourceLineNo">820</span> int oldCount = 0;<a name="line.820"></a>
+<span class="sourceLineNo">821</span> // This while test is a little hard to read. We try to comment it in below but in essence:<a name="line.821"></a>
+<span class="sourceLineNo">822</span> // Wait if Master is not stopped and the number of regionservers that have checked-in is<a name="line.822"></a>
+<span class="sourceLineNo">823</span> // less than the maxToStart. Both of these conditions will be true near universally.<a name="line.823"></a>
+<span class="sourceLineNo">824</span> // Next, we will keep cycling if ANY of the following three conditions are true:<a name="line.824"></a>
+<span class="sourceLineNo">825</span> // 1. The time since a regionserver registered is < interval (means servers are actively checking in).<a name="line.825"></a>
+<span class="sourceLineNo">826</span> // 2. We are under the total timeout.<a name="line.826"></a>
+<span class="sourceLineNo">827</span> // 3. The count of servers is < minimum.<a name="line.827"></a>
+<span class="sourceLineNo">828</span> for (ServerListener listener: this.listeners) {<a name="line.828"></a>
+<span class="sourceLineNo">829</span> listener.waiting();<a name="line.829"></a>
+<span class="sourceLineNo">830</span> }<a name="line.830"></a>
+<span class="sourceLineNo">831</span> while (!this.master.isStopped() && !isClusterShutdown() && count < maxToStart &&<a name="line.831"></a>
+<span class="sourceLineNo">832</span> ((lastCountChange + interval) > now || timeout > slept || count < minToStart)) {<a name="line.832"></a>
+<span class="sourceLineNo">833</span> // Log some info at every interval time or if there is a change<a name="line.833"></a>
+<span class="sourceLineNo">834</span> if (oldCount != count || lastLogTime + interval < now) {<a name="line.834"></a>
+<span class="sourceLineNo">835</span> lastLogTime = now;<a name="line.835"></a>
+<span class="sourceLineNo">836</span> String msg =<a name="line.836"></a>
+<span class="sourceLineNo">837</span> "Waiting on regionserver count=" + count + "; waited="+<a name="line.837"></a>
+<span class="sourceLineNo">838</span> slept + "ms, expecting min=" + minToStart + " server(s), max="+ getStrForMax(maxToStart) +<a name="line.838"></a>
+<span class="sourceLineNo">839</span> " server(s), " + "timeout=" + timeout + "ms, lastChange=" + (lastCountChange - now) + "ms";<a name="line.839"></a>
+<span class="sourceLineNo">840</span> LOG.info(msg);<a name="line.840"></a>
+<span class="sourceLineNo">841</span> status.setStatus(msg);<a name="line.841"></a>
+<span class="sourceLineNo">842</span> }<a name="line.842"></a>
+<span class="sourceLineNo">843</span><a name="line.843"></a>
+<span class="sourceLineNo">844</span> // We sleep for some time<a name="line.844"></a>
+<span class="sourceLineNo">845</span> final long sleepTime = 50;<a name="line.845"></a>
+<span class="sourceLineNo">846</span> Thread.sleep(sleepTime);<a name="line.846"></a>
+<span class="sourceLineNo">847</span> now = System.currentTimeMillis();<a name="line.847"></a>
+<span class="sourceLineNo">848</span> slept = now - startTime;<a name="line.848"></a>
+<span class="sourceLineNo">849</span><a name="line.849"></a>
+<span class="sourceLineNo">850</span> oldCount = count;<a name="line.850"></a>
+<span class="sourceLineNo">851</span> count = countOfRegionServers();<a name="line.851"></a>
+<span class="sourceLineNo">852</span> if (count != oldCount) {<a name="line.852"></a>
+<span class="sourceLineNo">853</span> lastCountChange = now;<a name="line.853"></a>
+<span class="sourceLineNo">854</span> }<a name="line.854"></a>
+<span class="sourceLineNo">855</span> }<a name="line.855"></a>
+<span class="sourceLineNo">856</span> // Did we exit the loop because cluster is going down?<a name="line.856"></a>
+<span class="sourceLineNo">857</span> if (isClusterShutdown()) {<a name="line.857"></a>
+<span class="sourceLineNo">858</span> this.master.stop("Cluster shutdown");<a name="line.858"></a>
+<span class="sourceLineNo">859</span> }<a name="line.859"></a>
+<span class="sourceLineNo">860</span> LOG.info("Finished waiting on RegionServer count=" + count + "; waited=" + slept + "ms," +<a name="line.860"></a>
+<span class="sourceLineNo">861</span> " expected min=" + minToStart + " server(s), max=" + getStrForMax(maxToStart) + " server(s),"+<a name="line.861"></a>
+<span class="sourceLineNo">862</span> " master is "+ (this.master.isStopped() ? "stopped.": "running"));<a name="line.862"></a>
+<span class="sourceLineNo">863</span> }<a name="line.863"></a>
+<span class="sourceLineNo">864</span><a name="line.864"></a>
+<span class="sourceLineNo">865</span> private String getStrForMax(final int max) {<a name="line.865"></a>
+<span class="sourceLineNo">866</span> return max == Integer.MAX_VALUE? "NO_LIMIT": Integer.toString(max);<a name="line.866"></a>
+<span class="sourceLineNo">867</span> }<a name="line.867"></a>
+<span class="sourceLineNo">868</span><a name="line.868"></a>
+<span class="sourceLineNo">869</span> /**<a name="line.869"></a>
+<span class="sourceLineNo">870</span> * @return A copy of the internal list of online servers.<a name="line.870"></a>
+<span class="sourceLineNo">871</span> */<a name="line.871"></a>
+<span class="sourceLineNo">872</span> public List<ServerName> getOnlineServersList() {<a name="line.872"></a>
+<span class="sourceLineNo">873</span> // TODO: optimize the load balancer call so we don't need to make a new list<a name="line.873"></a>
+<span class="sourceLineNo">874</span> // TODO: FIX. THIS IS POPULAR CALL.<a name="line.874"></a>
+<span class="sourceLineNo">875</span> return new ArrayList<>(this.onlineServers.keySet());<a name="line.875"></a>
+<span class="sourceLineNo">876</span> }<a name="line.876"></a>
+<span class="sourceLineNo">877</span><a name="line.877"></a>
+<span class="sourceLineNo">878</span> /**<a name="line.878"></a>
+<span class="sourceLineNo">879</span> * @param keys The target server name<a name="line.879"></a>
+<span class="sourceLineNo">880</span> * @param idleServerPredicator Evaluates the server on the given load<a name="line.880"></a>
+<span class="sourceLineNo">881</span> * @return A copy of the internal list of online servers matched by the predicator<a name="line.881"></a>
+<span class="sourceLineNo">882</span> */<a name="line.882"></a>
+<span class="sourceLineNo">883</span> public List<ServerName> getOnlineServersListWithPredicator(List<ServerName> keys,<a name="line.883"></a>
+<span class="sourceLineNo">884</span> Predicate<ServerMetrics> idleServerPredicator) {<a name="line.884"></a>
+<span class="sourceLineNo">885</span> List<ServerName> names = new ArrayList<>();<a name="line.885"></a>
+<span class="sourceLineNo">886</span> if (keys != null && idleServerPredicator != null) {<a name="line.886"></a>
+<span class="sourceLineNo">887</span> keys.forEach(name -> {<a name="line.887"></a>
+<span class="sourceLineNo">888</span> ServerMetrics load = onlineServers.get(name);<a name="line.888"></a>
+<span class="sourceLineNo">889</span> if (load != null) {<a name="line.889"></a>
+<span class="sourceLineNo">890</span> if (idleServerPredicator.test(load)) {<a name="line.890"></a>
+<span class="sourceLineNo">891</span> names.add(name);<a name="line.891"></a>
+<span class="sourceLineNo">892</span> }<a name="line.892"></a>
+<span class="sourceLineNo">893</span> }<a name="line.893"></a>
+<span class="sourceLineNo">894</span> });<a name="line.894"></a>
+<span class="sourceLineNo">895</span> }<a name="line.895"></a>
+<span class="sourceLineNo">896</span> return names;<a name="line.896"></a>
+<span class="sourceLineNo">897</span> }<a name="line.897"></a>
+<span class="sourceLineNo">898</span><a name="line.898"></a>
+<span class="sourceLineNo">899</span> /**<a name="line.899"></a>
+<span class="sourceLineNo">900</span> * @return A copy of the internal list of draining servers.<a name="line.900"></a>
+<span class="sourceLineNo">901</span> */<a name="line.901"></a>
+<span class="sourceLineNo">902</span> public List<ServerName> getDrainingServersList() {<a name="line.902"></a>
+<span class="sourceLineNo">903</span> return new ArrayList<>(this.drainingServers);<a name="line.903"></a>
+<span class="sourceLineNo">904</span> }<a name="line.904"></a>
+<span class="sourceLineNo">905</span><a name="line.905"></a>
+<span class="sourceLineNo">906</span> public boolean isServerOnline(ServerName serverName) {<a name="line.906"></a>
+<span class="sourceLineNo">907</span> return serverName != null && onlineServers.containsKey(serverName);<a name="line.907"></a>
+<span class="sourceLineNo">908</span> }<a name="line.908"></a>
+<span class="sourceLineNo">909</span><a name="line.909"></a>
+<span class="sourceLineNo">910</span> /**<a name="line.910"></a>
+<span class="sourceLineNo">911</span> * Check if a server is known to be dead. A server can be online,<a name="line.911"></a>
+<span class="sourceLineNo">912</span> * or known to be dead, or unknown to this manager (i.e, not online,<a name="line.912"></a>
+<span class="sourceLineNo">913</span> * not known to be dead either. it is simply not tracked by the<a name="line.913"></a>
+<span class="sourceLineNo">914</span> * master any more, for example, a very old previous instance).<a name="line.914"></a>
+<span class="sourceLineNo">915</span> */<a name="line.915"></a>
+<span class="sourceLineNo">916</span> public synchronized boolean isServerDead(ServerName serverName) {<a name="line.916"></a>
+<span class="sourceLineNo">917</span> return serverName == null || deadservers.isDeadServer(serverName);<a name="line.917"></a>
+<span class="sourceLineNo">918</span> }<a name="line.918"></a>
+<span class="sourceLineNo">919</span><a name="line.919"></a>
+<span class="sourceLineNo">920</span> public void shutdownCluster() {<a name="line.920"></a>
+<span class="sourceLineNo">921</span> String statusStr = "Cluster shutdown requested of master=" + this.master.getServerName();<a name="line.921"></a>
+<span class="sourceLineNo">922</span> LOG.info(statusStr);<a name="line.922"></a>
+<span class="sourceLineNo">923</span> this.clusterShutdown.set(true);<a name="line.923"></a>
+<span class="sourceLineNo">924</span> if (onlineServers.isEmpty()) {<a name="line.924"></a>
+<span class="sourceLineNo">925</span> // we do not synchronize here so this may cause a double stop, but not a big deal<a name="line.925"></a>
+<span class="sourceLineNo">926</span> master.stop("OnlineServer=0 right after cluster shutdown set");<a name="line.926"></a>
+<span class="sourceLineNo">927</span> }<a name="line.927"></a>
+<span class="sourceLineNo">928</span> }<a name="line.928"></a>
+<span class="sourceLineNo">929</span><a name="line.929"></a>
+<span class="sourceLineNo">930</span> public boolean isClusterShutdown() {<a name="line.930"></a>
+<span class="sourceLineNo">931</span> return this.clusterShutdown.get();<a name="line.931"></a>
+<span class="sourceLineNo">932</span> }<a name="line.932"></a>
+<span class="sourceLineNo">933</span><a name="line.933"></a>
+<span class="sourceLineNo">934</span> /**<a name="line.934"></a>
+<span class="sourceLineNo">935</span> * start chore in ServerManager<a name="line.935"></a>
+<span class="sourceLineNo">936</span> */<a name="line.936"></a>
+<span class="sourceLineNo">937</span> public void startChore() {<a name="line.937"></a>
+<span class="sourceLineNo">938</span> Configuration c = master.getConfiguration();<a name="line.938"></a>
+<span class="sourceLineNo">939</span> if (persistFlushedSequenceId) {<a name="line.939"></a>
+<span class="sourceLineNo">940</span> // when reach here, RegionStates should loaded, firstly, we call remove deleted regions<a name="line.940"></a>
+<span class="sourceLineNo">941</span> removeDeletedRegionFromLoadedFlushedSequenceIds();<a name="line.941"></a>
+<span class="sourceLineNo">942</span> int flushPeriod = c.getInt(FLUSHEDSEQUENCEID_FLUSHER_INTERVAL,<a name="line.942"></a>
+<span class="sourceLineNo">943</span> FLUSHEDSEQUENCEID_FLUSHER_INTERVAL_DEFAULT);<a name="line.943"></a>
+<span class="sourceLineNo">944</span> flushedSeqIdFlusher = new FlushedSequenceIdFlusher(<a name="line.944"></a>
+<span class="sourceLineNo">945</span> "FlushedSequenceIdFlusher", flushPeriod);<a name="line.945"></a>
+<span class="sourceLineNo">946</span> master.getChoreService().scheduleChore(flushedSeqIdFlusher);<a name="line.946"></a>
+<span class="sourceLineNo">947</span> }<a name="line.947"></a>
+<span class="sourceLineNo">948</span> }<a name="line.948"></a>
+<span class="sourceLineNo">949</span><a name="line.949"></a>
+<span class="sourceLineNo">950</span> /**<a name="line.950"></a>
+<span class="sourceLineNo">951</span> * Stop the ServerManager.<a name="line.951"></a>
+<span class="sourceLineNo">952</span> */<a name="line.952"></a>
+<span class="sourceLineNo">953</span> public void stop() {<a name="line.953"></a>
+<span class="sourceLineNo">954</span> if (flushedSeqIdFlusher != null) {<a name="line.954"></a>
+<span class="sourceLineNo">955</span> flushedSeqIdFlusher.cancel();<a name="line.955"></a>
+<span class="sourceLineNo">956</span> }<a name="line.956"></a>
+<span class="sourceLineNo">957</span> if (persistFlushedSequenceId) {<a name="line.957"></a>
+<span class="sourceLineNo">958</span> try {<a name="line.958"></a>
+<span class="sourceLineNo">959</span> persistRegionLastFlushedSequenceIds();<a name="line.959"></a>
+<span class="sourceLineNo">960</span> } catch (IOException e) {<a name="line.960"></a>
+<span class="sourceLineNo">961</span> LOG.warn("Failed to persist last flushed sequence id of regions"<a name="line.961"></a>
+<span class="sourceLineNo">962</span> + " to file system", e);<a name="line.962"></a>
+<span class="sourceLineNo">963</span> }<a name="line.963"></a>
+<span class="sourceLineNo">964</span> }<a name="line.964"></a>
+<span class="sourceLineNo">965</span> }<a name="line.965"></a>
+<span class="sourceLineNo">966</span><a name="line.966"></a>
+<span class="sourceLineNo">967</span> /**<a name="line.967"></a>
+<span class="sourceLineNo">968</span> * Creates a list of possible destinations for a region. It contains the online servers, but not<a name="line.968"></a>
+<span class="sourceLineNo">969</span> * the draining or dying servers.<a name="line.969"></a>
+<span class="sourceLineNo">970</span> * @param serversToExclude can be null if there is no server to exclude<a name="line.970"></a>
+<span class="sourceLineNo">971</span> */<a name="line.971"></a>
+<span class="sourceLineNo">972</span> public List<ServerName> createDestinationServersList(final List<ServerName> serversToExclude){<a name="line.972"></a>
+<span class="sourceLineNo">973</span> final List<ServerName> destServers = getOnlineServersList();<a name="line.973"></a>
+<span class="sourceLineNo">974</span><a name="line.974"></a>
+<span class="sourceLineNo">975</span> if (serversToExclude != null) {<a name="line.975"></a>
+<span class="sourceLineNo">976</span> destServers.removeAll(serversToExclude);<a name="line.976"></a>
+<span class="sourceLineNo">977</span> }<a name="line.977"></a>
+<span class="sourceLineNo">978</span><a name="line.978"></a>
+<span class="sourceLineNo">979</span> // Loop through the draining server list and remove them from the server list<a name="line.979"></a>
+<span class="sourceLineNo">980</span> final List<ServerName> drainingServersCopy = getDrainingServersList();<a name="line.980"></a>
+<span class="sourceLineNo">981</span> destServers.removeAll(drainingServersCopy);<a name="line.981"></a>
<span class="sourceLineNo">982</span><a name="line.982"></a>
-<span class="sourceLineNo">983</span> /**<a name="line.983"></a>
-<span class="sourceLineNo">984</span> * Calls {@link #createDestinationServersList} without server to exclude.<a name="line.984"></a>
-<span class="sourceLineNo">985</span> */<a name="line.985"></a>
-<span class="sourceLineNo">986</span> public List<ServerName> createDestinationServersList(){<a name="line.986"></a>
-<span class="sourceLineNo">987</span> return createDestinationServersList(null);<a name="line.987"></a>
-<span class="sourceLineNo">988</span> }<a name="line.988"></a>
-<span class="sourceLineNo">989</span><a name="line.989"></a>
-<span class="sourceLineNo">990</span> /**<a name="line.990"></a>
-<span class="sourceLineNo">991</span> * To clear any dead server with same host name and port of any online server<a name="line.991"></a>
-<span class="sourceLineNo">992</span> */<a name="line.992"></a>
-<span class="sourceLineNo">993</span> void clearDeadServersWithSameHostNameAndPortOfOnlineServer() {<a name="line.993"></a>
-<span class="sourceLineNo">994</span> for (ServerName serverName : getOnlineServersList()) {<a name="line.994"></a>
-<span class="sourceLineNo">995</span> deadservers.cleanAllPreviousInstances(serverName);<a name="line.995"></a>
-<span class="sourceLineNo">996</span> }<a name="line.996"></a>
-<span class="sourceLineNo">997</span> }<a name="line.997"></a>
-<span class="sourceLineNo">998</span><a name="line.998"></a>
-<span class="sourceLineNo">999</span> /**<a name="line.999"></a>
-<span class="sourceLineNo">1000</span> * Called by delete table and similar to notify the ServerManager that a region was removed.<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span> */<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span> public void removeRegion(final RegionInfo regionInfo) {<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span> final byte[] encodedName = regionInfo.getEncodedNameAsBytes();<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span> storeFlushedSequenceIdsByRegion.remove(encodedName);<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span> flushedSequenceIdByRegion.remove(encodedName);<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span> }<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span><a name="line.1007"></a>
-<span class="sourceLineNo">1008</span> @VisibleForTesting<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span> public boolean isRegionInServerManagerStates(final RegionInfo hri) {<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span> final byte[] encodedName = hri.getEncodedNameAsBytes();<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span> return (storeFlushedSequenceIdsByRegion.containsKey(encodedName)<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span> || flushedSequenceIdByRegion.containsKey(encodedName));<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span> }<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span><a name="line.1014"></a>
-<span class="sourceLineNo">1015</span> /**<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span> * Called by delete table and similar to notify the ServerManager that a region was removed.<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span> */<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span> public void removeRegions(final List<RegionInfo> regions) {<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span> for (RegionInfo hri: regions) {<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span> removeRegion(hri);<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span> }<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span> }<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span><a name="line.1023"></a>
-<span class="sourceLineNo">1024</span> /**<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span> * May return 0 when server is not online.<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span> */<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span> public int getVersionNumber(ServerName serverName) {<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span> ServerMetrics serverMetrics = onlineServers.get(serverName);<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span> return serverMetrics != null ? serverMetrics.getVersionNumber() : 0;<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span> }<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span><a name="line.1031"></a>
-<span class="sourceLineNo">1032</span> /**<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span> * May return "0.0.0" when server is not online<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span> */<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span> public String getVersion(ServerName serverName) {<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span> ServerMetrics serverMetrics = onlineServers.get(serverName);<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span> return serverMetrics != null ? serverMetrics.getVersion() : "0.0.0";<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span> }<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span><a name="line.1039"></a>
-<span class="sourceLineNo">1040</span> public int getInfoPort(ServerName serverName) {<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span> ServerMetrics serverMetrics = onlineServers.get(serverName);<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span> return serverMetrics != null ? serverMetrics.getInfoServerPort() : 0;<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span> }<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span><a name="line.1044"></a>
-<span class="sourceLineNo">1045</span> /**<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span> * Persist last flushed sequence id of each region to HDFS<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span> * @throws IOException if persit to HDFS fails<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span> */<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span> private void persistRegionLastFlushedSequenceIds() throws IOException {<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span> if (isFlushSeqIdPersistInProgress) {<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span> return;<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span> }<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span> isFlushSeqIdPersistInProgress = true;<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span> try {<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span> Configuration conf = master.getConfiguration();<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span> Path rootDir = FSUtils.getRootDir(conf);<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span> Path lastFlushedSeqIdPath = new Path(rootDir, LAST_FLUSHED_SEQ_ID_FILE);<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span> FileSystem fs = FileSystem.get(conf);<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span> if (fs.exists(lastFlushedSeqIdPath)) {<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span> LOG.info("Rewriting .lastflushedseqids file at: "<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span> + lastFlushedSeqIdPath);<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span> if (!fs.delete(lastFlushedSeqIdPath, false)) {<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span> throw new IOException("Unable to remove existing "<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span> + lastFlushedSeqIdPath);<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span> }<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span> } else {<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span> LOG.info("Writing .lastflushedseqids file at: " + lastFlushedSeqIdPath);<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span> }<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span> FSDataOutputStream out = fs.create(lastFlushedSeqIdPath);<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span> FlushedSequenceId.Builder flushedSequenceIdBuilder =<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span> FlushedSequenceId.newBuilder();<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span> try {<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span> for (Entry<byte[], Long> entry : flushedSequenceIdByRegion.entrySet()) {<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span> FlushedRegionSequenceId.Builder flushedRegionSequenceIdBuilder =<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span> FlushedRegionSequenceId.newBuilder();<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span> flushedRegionSequenceIdBuilder.setRegionEncodedName(<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span> ByteString.copyFrom(entry.getKey()));<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span> flushedRegionSequenceIdBuilder.setSeqId(entry.getValue());<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span> ConcurrentNavigableMap<byte[], Long> storeSeqIds =<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span> storeFlushedSequenceIdsByRegion.get(entry.getKey());<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span> if (storeSeqIds != null) {<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span> for (Entry<byte[], Long> store : storeSeqIds.entrySet()) {<a name="line.1082"></a>
-<span class="sourceLineNo">1083</span> FlushedStoreSequenceId.Builder flushedStoreSequenceIdBuilder =<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span> FlushedStoreSequenceId.newBuilder();<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span> flushedStoreSequenceIdBuilder.setFamily(ByteString.copyFrom(store.getKey()));<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span> flushedStoreSequenceIdBuilder.setSeqId(store.getValue());<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span> flushedRegionSequenceIdBuilder.addStores(flushedStoreSequenceIdBuilder);<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span> }<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span> }<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span> flushedSequenceIdBuilder.addRegionSequenceId(flushedRegionSequenceIdBuilder);<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span> }<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span> flushedSequenceIdBuilder.build().writeDelimitedTo(out);<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span> } finally {<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span> if (out != null) {<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span> out.close();<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span> }<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span> }<a name="line.1097"></a>
-<span class="sourceLineNo">1098</span> } finally {<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span> isFlushSeqIdPersistInProgress = false;<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span> }<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span> }<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span><a name="line.1102"></a>
-<span class="sourceLineNo">1103</span> /**<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span> * Load last flushed sequence id of each region from HDFS, if persisted<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span> */<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span> public void loadLastFlushedSequenceIds() throws IOException {<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span> if (!persistFlushedSequenceId) {<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span> return;<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span> }<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span> Configuration conf = master.getConfiguration();<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span> Path rootDir = FSUtils.getRootDir(conf);<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span> Path lastFlushedSeqIdPath = new Path(rootDir, LAST_FLUSHED_SEQ_ID_FILE);<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span> FileSystem fs = FileSystem.get(conf);<a name="line.1113"></a>
-<span class="sourceLin
<TRUNCATED>
[36/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/master/assignment/RegionStates.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/assignment/RegionStates.html b/devapidocs/org/apache/hadoop/hbase/master/assignment/RegionStates.html
index e647dc5..b1366ce 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/assignment/RegionStates.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/assignment/RegionStates.html
@@ -378,7 +378,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.html#getRegionTransitionState-org.apache.hadoop.hbase.client.RegionInfo-">getRegionTransitionState</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> hri)</code> </td>
</tr>
<tr id="i36" class="altColor">
-<td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/ServerStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">ServerStateNode</a></code></td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/ServerStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">ServerStateNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.html#getServerNode-org.apache.hadoop.hbase.ServerName-">getServerNode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</code> </td>
</tr>
<tr id="i37" class="rowColor">
@@ -1201,7 +1201,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getServerNode</h4>
-<pre><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/ServerStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">ServerStateNode</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStates.html#line.741">getServerNode</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/ServerStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">ServerStateNode</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStates.html#line.742">getServerNode</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</pre>
</li>
</ul>
<a name="getAverageLoad--">
@@ -1210,7 +1210,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getAverageLoad</h4>
-<pre>public double <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStates.html#line.745">getAverageLoad</a>()</pre>
+<pre>public double <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStates.html#line.746">getAverageLoad</a>()</pre>
</li>
</ul>
<a name="addRegionToServer-org.apache.hadoop.hbase.master.assignment.RegionStateNode-">
@@ -1219,7 +1219,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>addRegionToServer</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/ServerStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">ServerStateNode</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStates.html#line.755">addRegionToServer</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode)</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/ServerStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">ServerStateNode</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStates.html#line.756">addRegionToServer</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode)</pre>
</li>
</ul>
<a name="isReplicaAvailableForRegion-org.apache.hadoop.hbase.client.RegionInfo-">
@@ -1228,7 +1228,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>isReplicaAvailableForRegion</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStates.html#line.761">isReplicaAvailableForRegion</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> info)</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStates.html#line.762">isReplicaAvailableForRegion</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> info)</pre>
</li>
</ul>
<a name="removeRegionFromServer-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.master.assignment.RegionStateNode-">
@@ -1237,7 +1237,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>removeRegionFromServer</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/ServerStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">ServerStateNode</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStates.html#line.781">removeRegionFromServer</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName,
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/ServerStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">ServerStateNode</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStates.html#line.782">removeRegionFromServer</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName,
<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode)</pre>
</li>
</ul>
@@ -1247,7 +1247,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>regionNamesToString</h4>
-<pre>public static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStates.html#line.791">regionNamesToString</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><byte[]> regions)</pre>
+<pre>public static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStates.html#line.792">regionNamesToString</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><byte[]> regions)</pre>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/master/assignment/ServerState.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/assignment/ServerState.html b/devapidocs/org/apache/hadoop/hbase/master/assignment/ServerState.html
index b2da9e3..6837096 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/assignment/ServerState.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/assignment/ServerState.html
@@ -119,7 +119,7 @@ var activeTableTab = "activeTableTab";
<hr>
<br>
<pre>@InterfaceAudience.Private
- enum <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/ServerState.html#line.26">ServerState</a>
+public enum <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/ServerState.html#line.26">ServerState</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a><<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/ServerState.html" title="enum in org.apache.hadoop.hbase.master.assignment">ServerState</a>></pre>
<div class="block">Server State.</div>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/master/assignment/ServerStateNode.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/assignment/ServerStateNode.html b/devapidocs/org/apache/hadoop/hbase/master/assignment/ServerStateNode.html
index dc27067..f82b75a 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/assignment/ServerStateNode.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/assignment/ServerStateNode.html
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
<hr>
<br>
<pre>@InterfaceAudience.Private
-class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/ServerStateNode.html#line.35">ServerStateNode</a>
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/ServerStateNode.html#line.35">ServerStateNode</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/ServerStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">ServerStateNode</a>></pre>
<div class="block">State of Server; list of hosted regions, etc.</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html b/devapidocs/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html
index a55f278..9376e72 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.734">SplitTableRegionProcedure.StoreFileSplitter</a>
+<pre>private class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.735">SplitTableRegionProcedure.StoreFileSplitter</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a><<a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><org.apache.hadoop.fs.Path,org.apache.hadoop.fs.Path>></pre>
<div class="block">Utility class used to do the file splitting / reference writing
@@ -220,7 +220,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurre
<ul class="blockList">
<li class="blockList">
<h4>regionFs</h4>
-<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html#line.735">regionFs</a></pre>
+<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html#line.736">regionFs</a></pre>
</li>
</ul>
<a name="family">
@@ -229,7 +229,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurre
<ul class="blockList">
<li class="blockList">
<h4>family</h4>
-<pre>private final byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html#line.736">family</a></pre>
+<pre>private final byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html#line.737">family</a></pre>
</li>
</ul>
<a name="sf">
@@ -238,7 +238,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurre
<ul class="blockListLast">
<li class="blockList">
<h4>sf</h4>
-<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html#line.737">sf</a></pre>
+<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html#line.738">sf</a></pre>
</li>
</ul>
</li>
@@ -255,7 +255,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurre
<ul class="blockListLast">
<li class="blockList">
<h4>StoreFileSplitter</h4>
-<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html#line.745">StoreFileSplitter</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a> regionFs,
+<pre>public <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html#line.746">StoreFileSplitter</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a> regionFs,
byte[] family,
<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a> sf)</pre>
<div class="block">Constructor that takes what it needs to split</div>
@@ -281,7 +281,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurre
<ul class="blockListLast">
<li class="blockList">
<h4>call</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><org.apache.hadoop.fs.Path,org.apache.hadoop.fs.Path> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html#line.752">call</a>()
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><org.apache.hadoop.fs.Path,org.apache.hadoop.fs.Path> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html#line.753">call</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html
index da54840..ea1eb5b 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html
@@ -1063,7 +1063,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<ul class="blockList">
<li class="blockList">
<h4>assertReferenceFileCount</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.702">assertReferenceFileCount</a>(org.apache.hadoop.fs.FileSystem fs,
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.703">assertReferenceFileCount</a>(org.apache.hadoop.fs.FileSystem fs,
int expectedReferenceFileCount,
org.apache.hadoop.fs.Path dir)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1079,7 +1079,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<ul class="blockList">
<li class="blockList">
<h4>splitStoreFile</h4>
-<pre>private <a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><org.apache.hadoop.fs.Path,org.apache.hadoop.fs.Path> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.710">splitStoreFile</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a> regionFs,
+<pre>private <a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><org.apache.hadoop.fs.Path,org.apache.hadoop.fs.Path> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.711">splitStoreFile</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a> regionFs,
byte[] family,
<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a> sf)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1095,7 +1095,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<ul class="blockList">
<li class="blockList">
<h4>preSplitRegionBeforeMETA</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.761">preSplitRegionBeforeMETA</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.762">preSplitRegionBeforeMETA</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
<div class="block">Post split region actions before the Point-of-No-Return step</div>
@@ -1114,7 +1114,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<ul class="blockList">
<li class="blockList">
<h4>updateMeta</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.784">updateMeta</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.785">updateMeta</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Add daughter regions to META</div>
<dl>
@@ -1131,7 +1131,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<ul class="blockList">
<li class="blockList">
<h4>preSplitRegionAfterMETA</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.793">preSplitRegionAfterMETA</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.794">preSplitRegionAfterMETA</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
<div class="block">Pre split region actions after the Point-of-No-Return step</div>
@@ -1150,7 +1150,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<ul class="blockList">
<li class="blockList">
<h4>postSplitRegion</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.805">postSplitRegion</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.806">postSplitRegion</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Post split region actions</div>
<dl>
@@ -1167,7 +1167,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<ul class="blockList">
<li class="blockList">
<h4>getParentRegionServerName</h4>
-<pre>private <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.812">getParentRegionServerName</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</pre>
+<pre>private <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.813">getParentRegionServerName</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</pre>
</li>
</ul>
<a name="createUnassignProcedures-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">
@@ -1176,7 +1176,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<ul class="blockList">
<li class="blockList">
<h4>createUnassignProcedures</h4>
-<pre>private <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">TransitRegionStateProcedure</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.817">createUnassignProcedures</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
+<pre>private <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">TransitRegionStateProcedure</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.818">createUnassignProcedures</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -1190,7 +1190,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<ul class="blockList">
<li class="blockList">
<h4>createAssignProcedures</h4>
-<pre>private <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">TransitRegionStateProcedure</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.823">createAssignProcedures</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
+<pre>private <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">TransitRegionStateProcedure</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.824">createAssignProcedures</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -1204,7 +1204,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<ul class="blockList">
<li class="blockList">
<h4>getRegionReplication</h4>
-<pre>private int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.832">getRegionReplication</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
+<pre>private int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.833">getRegionReplication</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -1218,7 +1218,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<ul class="blockList">
<li class="blockList">
<h4>writeMaxSequenceIdFile</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.837">writeMaxSequenceIdFile</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.838">writeMaxSequenceIdFile</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -1232,7 +1232,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<ul class="blockList">
<li class="blockList">
<h4>isTraceEnabled</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.854">isTraceEnabled</a>()</pre>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.855">isTraceEnabled</a>()</pre>
<div class="block">The procedure could be restarted from a different machine. If the variable is null, we need to
retrieve it.</div>
<dl>
@@ -1247,7 +1247,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<ul class="blockListLast">
<li class="blockList">
<h4>abort</h4>
-<pre>protected boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.862">abort</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</pre>
+<pre>protected boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.863">abort</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#abort-TEnvironment-">Procedure</a></code></span></div>
<div class="block">The abort() call is asynchronous and each procedure must decide how to deal
with it, if they want to be abortable. The simplest implementation
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/master/assignment/class-use/ServerStateNode.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/assignment/class-use/ServerStateNode.html b/devapidocs/org/apache/hadoop/hbase/master/assignment/class-use/ServerStateNode.html
index 7e57352..eec0a00 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/assignment/class-use/ServerStateNode.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/assignment/class-use/ServerStateNode.html
@@ -126,7 +126,7 @@
</td>
</tr>
<tr class="altColor">
-<td class="colFirst"><code>(package private) <a href="../../../../../../../org/apache/hadoop/hbase/master/assignment/ServerStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">ServerStateNode</a></code></td>
+<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/master/assignment/ServerStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">ServerStateNode</a></code></td>
<td class="colLast"><span class="typeNameLabel">RegionStates.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.html#getServerNode-org.apache.hadoop.hbase.ServerName-">getServerNode</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</code> </td>
</tr>
<tr class="rowColor">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
index 392e0b8..e74876a 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
@@ -347,10 +347,10 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.TerminationStatus.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.TerminationStatus</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MetricsMasterSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MetricsMasterSourceFactoryImpl.FactoryStorage</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">RegionState.State</span></a></li>
<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.ResubmitDirective.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.ResubmitDirective</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">RegionState.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MetricsMasterSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MetricsMasterSourceFactoryImpl.FactoryStorage</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.TerminationStatus.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.TerminationStatus</span></a></li>
<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MasterRpcServices.BalanceSwitchMode</span></a></li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html
index 5ad52ef..6c38f1f 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html
@@ -347,22 +347,19 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#hasMetaTableRegion--">hasMetaTableRegion</a></span>()</code> </td>
</tr>
<tr id="i13" class="rowColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#holdLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">holdLock</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</code>
+<div class="block">Used to keep the procedure lock even when the procedure is yielding or suspended.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#isDefaultMetaRegion-org.apache.hadoop.hbase.client.RegionInfo-">isDefaultMetaRegion</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> hri)</code> </td>
</tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#isInRecoverMetaState--">isInRecoverMetaState</a></span>()</code> </td>
</tr>
-<tr id="i15" class="rowColor">
-<td class="colFirst"><code>protected boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#isYieldBeforeExecuteFromState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ServerCrashState-">isYieldBeforeExecuteFromState</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env,
- org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ServerCrashState state)</code>
-<div class="block">For this procedure, yield at end of each successful flow step so that all crashed servers
- can make progress rather than do the default which has each procedure running to completion
- before we move to the next.</div>
-</td>
-</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#releaseLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">releaseLock</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</code>
@@ -411,14 +408,14 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.<a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">StateMachineProcedure</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#addChildProcedure-T...-">addChildProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#execute-TEnvironment-">execute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#failIfAborted--">failIfAborted</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getCurrentState--">getCurrentState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getCurrentStateId--">getCurrentStateId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getCycles--">getCycles</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#isEofState--">isEofState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#isRollbackSupport
ed-TState-">isRollbackSupported</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#isYieldAfterExecutionStep-TEnvironment-">isYieldAfterExecutionStep</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#rollback-TEnvironment-">rollback</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#setNextState-TState-">setNextState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#toStringState-java.lang.StringBuilder-">toStringState</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#addChildProcedure-T...-">addChildProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#execute-TEnvironment-">execute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#failIfAborted--">failIfAborted</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getCurrentState--">getCurrentState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getCurrentStateId--">getCurrentStateId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getCycles--">getCycles</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#isEofState--">isEofState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#isRollbackSupport
ed-TState-">isRollbackSupported</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#isYieldAfterExecutionStep-TEnvironment-">isYieldAfterExecutionStep</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#isYieldBeforeExecuteFromState-TEnvironment-TState-">isYieldBeforeExecuteFromState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#rollback-TEnvironment-">rollback</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#setNextState-TState-">setNextState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#toStringState-java.lang.StringBuilder-">toStringState</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.procedure2.Procedure">
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#addStackIndex-int-">addStackIndex</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#afterReplay-TEnvironment-">afterReplay</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#beforeReplay-TEnvironment-">beforeReplay</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#bypass-TEnvironment-">bypass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#compareTo-org.apache.hadoop.hbase.procedure2.Procedure-">compareTo</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#completionCleanup-TEnvironment-">completionCleanup</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doRollback-TEnvironment-">doRollback</a>, <a
href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#elapsedTime--">elapsedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getChildrenLatch--">getChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getException--">getException</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getLastUpdate--">getLastUpdate</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getNonceKey--">getNonceKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getOwner--">getOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getParentProcId--">getParentProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcId--">getProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcIdHashCode-long-">getProcIdHa
shCode</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcName--">getProcName</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getResult--">getResult</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getRootProcedureId-java.util.Map-org.apache.hadoop.hbase.procedure2.Procedure-">getRootProcedureId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getRootProcId--">getRootProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getStackIndexes--">getStackIndexes</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getSubmittedTime--">getSubmittedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getTimeout--">getTimeout</a>, <a href="../../../../../../org/
apache/hadoop/hbase/procedure2/Procedure.html#getTimeoutTimestamp--">getTimeoutTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasChildren--">hasChildren</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasException--">hasException</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasLock--">hasLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasOwner--">hasOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasParent--">hasParent</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasTimeout--">hasTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#haveSameParent-org.apache.hadoop.hbase.procedure2.Procedure-org.apache.hadoop.hbase.procedure2.Procedure-">haveSameParent</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/P
rocedure.html#holdLock-TEnvironment-">holdLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#incChildrenLatch--">incChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isBypass--">isBypass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isFailed--">isFailed</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isFinished--">isFinished</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isInitializing--">isInitializing</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isLockedWhenLoading--">isLockedWhenLoading</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isRunnable--">isRunnable</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isSuccess--">isSuccess</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2
/Procedure.html#isWaiting--">isWaiting</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#removeStackIndex--">removeStackIndex</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setAbortFailure-java.lang.String-java.lang.String-">setAbortFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setChildrenLatch-int-">setChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setFailure-org.apache.hadoop.hbase.procedure2.RemoteProcedureException-">setFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setFailure-java.lang.String-java.lang.Throwable-">setFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setLastUpdate-long-">setLastUpdate</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setNonceKey-org.apache.hadoop.hbase.util.NonceKey-">setNonc
eKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setOwner-java.lang.String-">setOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setOwner-org.apache.hadoop.hbase.security.User-">setOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setParentProcId-long-">setParentProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setProcId-long-">setProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setResult-byte:A-">setResult</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setRootProcId-long-">setRootProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setStackIndexes-java.util.List-">setStackIndexes</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setState-org.apache.hadoop.hbase.shaded.protobuf.generated.Pro
cedureProtos.ProcedureState-">setState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setSubmittedTime-long-">setSubmittedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#skipPersistence--">skipPersistence</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toString--">toString</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClass--">toStringClass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../
../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateMetricsOnFinish-TEnvironment-long-boolean-">updateMetricsOnFinish</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateMetricsOnSubmit-TEnvironment-">updateMetricsOnSubmit</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateTimestamp--">updateTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#waitInitialized-TEnvironment-">waitInitialized</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#wasExecuted--">wasExecuted</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#addStackIndex-int-">addStackIndex</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#afterReplay-TEnvironment-">afterReplay</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#beforeReplay-TEnvironment-">beforeReplay</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#bypass-TEnvironment-">bypass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#compareTo-org.apache.hadoop.hbase.procedure2.Procedure-">compareTo</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#completionCleanup-TEnvironment-">completionCleanup</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doRollback-TEnvironment-">doRollback</a>, <a
href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#elapsedTime--">elapsedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getChildrenLatch--">getChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getException--">getException</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getLastUpdate--">getLastUpdate</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getNonceKey--">getNonceKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getOwner--">getOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getParentProcId--">getParentProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcId--">getProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcIdHashCode-long-">getProcIdHa
shCode</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcName--">getProcName</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getResult--">getResult</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getRootProcedureId-java.util.Map-org.apache.hadoop.hbase.procedure2.Procedure-">getRootProcedureId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getRootProcId--">getRootProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getStackIndexes--">getStackIndexes</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getSubmittedTime--">getSubmittedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getTimeout--">getTimeout</a>, <a href="../../../../../../org/
apache/hadoop/hbase/procedure2/Procedure.html#getTimeoutTimestamp--">getTimeoutTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasChildren--">hasChildren</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasException--">hasException</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasLock--">hasLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasOwner--">hasOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasParent--">hasParent</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasTimeout--">hasTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#haveSameParent-org.apache.hadoop.hbase.procedure2.Procedure-org.apache.hadoop.hbase.procedure2.Procedure-">haveSameParent</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/P
rocedure.html#incChildrenLatch--">incChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isBypass--">isBypass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isFailed--">isFailed</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isFinished--">isFinished</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isInitializing--">isInitializing</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isLockedWhenLoading--">isLockedWhenLoading</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isRunnable--">isRunnable</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isSuccess--">isSuccess</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isWaiting--">isWaiting</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure
.html#removeStackIndex--">removeStackIndex</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setAbortFailure-java.lang.String-java.lang.String-">setAbortFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setChildrenLatch-int-">setChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setFailure-org.apache.hadoop.hbase.procedure2.RemoteProcedureException-">setFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setFailure-java.lang.String-java.lang.Throwable-">setFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setLastUpdate-long-">setLastUpdate</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setNonceKey-org.apache.hadoop.hbase.util.NonceKey-">setNonceKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setOwner-java.lang.String-">
setOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setOwner-org.apache.hadoop.hbase.security.User-">setOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setParentProcId-long-">setParentProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setProcId-long-">setProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setResult-byte:A-">setResult</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setRootProcId-long-">setRootProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setStackIndexes-java.util.List-">setStackIndexes</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setState-org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState-">setState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure
.html#setSubmittedTime-long-">setSubmittedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#skipPersistence--">skipPersistence</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toString--">toString</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClass--">toStringClass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateMetricsOnFinish-TEnvironment-long-boolean-">update
MetricsOnFinish</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateMetricsOnSubmit-TEnvironment-">updateMetricsOnSubmit</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateTimestamp--">updateTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#waitInitialized-TEnvironment-">waitInitialized</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#wasExecuted--">wasExecuted</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -884,36 +881,13 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
</dl>
</li>
</ul>
-<a name="isYieldBeforeExecuteFromState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ServerCrashState-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isYieldBeforeExecuteFromState</h4>
-<pre>protected boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.344">isYieldBeforeExecuteFromState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env,
- org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ServerCrashState state)</pre>
-<div class="block">For this procedure, yield at end of each successful flow step so that all crashed servers
- can make progress rather than do the default which has each procedure running to completion
- before we move to the next. For crashed servers, especially if running with distributed log
- replay, we will want all servers to come along; we do not want the scenario where a server is
- stuck waiting for regions to online so it can replay edits.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#isYieldBeforeExecuteFromState-TEnvironment-TState-">isYieldBeforeExecuteFromState</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">StateMachineProcedure</a><<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ServerCrashState></code></dd>
-<dd><code>state</code> - the state we are going to execute next.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>Return true if the executor should yield before the execution of the specified step.
- Defaults to return false.</dd>
-</dl>
-</li>
-</ul>
<a name="shouldWaitClientAck-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldWaitClientAck</h4>
-<pre>protected boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.349">shouldWaitClientAck</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</pre>
+<pre>protected boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.338">shouldWaitClientAck</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">Procedure</a></code></span></div>
<div class="block">By default, the executor will keep the procedure result around util
the eviction TTL is expired. The client can cut down the waiting time
@@ -936,7 +910,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
<ul class="blockList">
<li class="blockList">
<h4>assignRegions</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.365">assignRegions</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env,
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.354">assignRegions</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>> regions)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Assign the regions on the crashed RS to other Rses.
@@ -956,10 +930,10 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
<a name="getProcedureMetrics-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">
<!-- -->
</a>
-<ul class="blockListLast">
+<ul class="blockList">
<li class="blockList">
<h4>getProcedureMetrics</h4>
-<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureMetrics.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureMetrics</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.390">getProcedureMetrics</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</pre>
+<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureMetrics.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureMetrics</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.379">getProcedureMetrics</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcedureMetrics-TEnvironment-">Procedure</a></code></span></div>
<div class="block">Override this method to provide procedure specific counters for submitted count, failed
count and time histogram.</div>
@@ -973,6 +947,23 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
</dl>
</li>
</ul>
+<a name="holdLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>holdLock</h4>
+<pre>protected boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.384">holdLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#holdLock-TEnvironment-">Procedure</a></code></span></div>
+<div class="block">Used to keep the procedure lock even when the procedure is yielding or suspended.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#holdLock-TEnvironment-">holdLock</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a><<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the procedure should hold on the lock until completionCleanup()</dd>
+</dl>
+</li>
+</ul>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureEnv.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureEnv.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureEnv.html
index 5f7e108..b497b60 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureEnv.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureEnv.html
@@ -1548,12 +1548,7 @@
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">ServerCrashProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#isYieldBeforeExecuteFromState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ServerCrashState-">isYieldBeforeExecuteFromState</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env,
- org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ServerCrashState state)</code>
-<div class="block">For this procedure, yield at end of each successful flow step so that all crashed servers
- can make progress rather than do the default which has each procedure running to completion
- before we move to the next.</div>
-</td>
+<td class="colLast"><span class="typeNameLabel">ServerCrashProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#holdLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">holdLock</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected static void</code></td>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
index 8b11e23..f76d995 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
@@ -215,9 +215,9 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">TableProcedureInterface.TableOperationType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">ServerProcedureInterface.ServerOperationType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MetaProcedureInterface.MetaOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">MetaProcedureInterface.MetaOperationType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">TableProcedureInterface.TableOperationType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.PeerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">PeerProcedureInterface.PeerOperationType</span></a></li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/mob/ExpiredMobFileCleaner.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mob/ExpiredMobFileCleaner.html b/devapidocs/org/apache/hadoop/hbase/mob/ExpiredMobFileCleaner.html
index 9f174a7..1107a21 100644
--- a/devapidocs/org/apache/hadoop/hbase/mob/ExpiredMobFileCleaner.html
+++ b/devapidocs/org/apache/hadoop/hbase/mob/ExpiredMobFileCleaner.html
@@ -50,7 +50,7 @@ var activeTableTab = "activeTableTab";
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/hadoop/hbase/mob/DefaultMobStoreFlusher.html" title="class in org.apache.hadoop.hbase.mob"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob"><span class="typeNameLink">Next Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/mob/MobConstants.html" title="class in org.apache.hadoop.hbase.mob"><span class="typeNameLink">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/mob/ExpiredMobFileCleaner.html" target="_top">Frames</a></li>
@@ -359,7 +359,7 @@ implements org.apache.hadoop.util.Tool</pre>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/hadoop/hbase/mob/DefaultMobStoreFlusher.html" title="class in org.apache.hadoop.hbase.mob"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html" title="class in org.apache.hadoop.hbase.mob"><span class="typeNameLink">Next Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/mob/MobConstants.html" title="class in org.apache.hadoop.hbase.mob"><span class="typeNameLink">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/mob/ExpiredMobFileCleaner.html" target="_top">Frames</a></li>
[17/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html
deleted file mode 100644
index f32b223..0000000
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html
+++ /dev/null
@@ -1,756 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
-<title>Source code</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<div class="sourceContainer">
-<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
-<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * or more contributor license agreements. See the NOTICE file<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * regarding copyright ownership. The ASF licenses this file<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * with the License. You may obtain a copy of the License at<a name="line.8"></a>
-<span class="sourceLineNo">009</span> *<a name="line.9"></a>
-<span class="sourceLineNo">010</span> * http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *<a name="line.11"></a>
-<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
-<span class="sourceLineNo">017</span> */<a name="line.17"></a>
-<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.io.hfile;<a name="line.18"></a>
-<span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import static org.apache.hadoop.hbase.HConstants.BUCKET_CACHE_IOENGINE_KEY;<a name="line.20"></a>
-<span class="sourceLineNo">021</span>import static org.apache.hadoop.hbase.HConstants.BUCKET_CACHE_SIZE_KEY;<a name="line.21"></a>
-<span class="sourceLineNo">022</span><a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.conf.Configuration;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.HConstants;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.slf4j.Logger;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.slf4j.LoggerFactory;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.io.hfile.BlockType.BlockCategory;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.io.hfile.bucket.BucketCache;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.io.util.MemorySizeUtil;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.util.ReflectionUtils;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.util.StringUtils;<a name="line.35"></a>
-<span class="sourceLineNo">036</span><a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.37"></a>
-<span class="sourceLineNo">038</span><a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span>/**<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * Stores all of the cache objects and configuration for a single HFile.<a name="line.41"></a>
-<span class="sourceLineNo">042</span> */<a name="line.42"></a>
-<span class="sourceLineNo">043</span>@InterfaceAudience.Private<a name="line.43"></a>
-<span class="sourceLineNo">044</span>public class CacheConfig {<a name="line.44"></a>
-<span class="sourceLineNo">045</span> private static final Logger LOG = LoggerFactory.getLogger(CacheConfig.class.getName());<a name="line.45"></a>
-<span class="sourceLineNo">046</span><a name="line.46"></a>
-<span class="sourceLineNo">047</span><a name="line.47"></a>
-<span class="sourceLineNo">048</span> /**<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * Disabled cache configuration<a name="line.49"></a>
-<span class="sourceLineNo">050</span> */<a name="line.50"></a>
-<span class="sourceLineNo">051</span> public static final CacheConfig DISABLED = new CacheConfig();<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span> /**<a name="line.53"></a>
-<span class="sourceLineNo">054</span> * Configuration key to cache data blocks on read. Bloom blocks and index blocks are always be<a name="line.54"></a>
-<span class="sourceLineNo">055</span> * cached if the block cache is enabled.<a name="line.55"></a>
-<span class="sourceLineNo">056</span> */<a name="line.56"></a>
-<span class="sourceLineNo">057</span> public static final String CACHE_DATA_ON_READ_KEY = "hbase.block.data.cacheonread";<a name="line.57"></a>
-<span class="sourceLineNo">058</span><a name="line.58"></a>
-<span class="sourceLineNo">059</span> /**<a name="line.59"></a>
-<span class="sourceLineNo">060</span> * Configuration key to cache data blocks on write. There are separate<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * switches for bloom blocks and non-root index blocks.<a name="line.61"></a>
-<span class="sourceLineNo">062</span> */<a name="line.62"></a>
-<span class="sourceLineNo">063</span> public static final String CACHE_BLOCKS_ON_WRITE_KEY =<a name="line.63"></a>
-<span class="sourceLineNo">064</span> "hbase.rs.cacheblocksonwrite";<a name="line.64"></a>
-<span class="sourceLineNo">065</span><a name="line.65"></a>
-<span class="sourceLineNo">066</span> /**<a name="line.66"></a>
-<span class="sourceLineNo">067</span> * Configuration key to cache leaf and intermediate-level index blocks on<a name="line.67"></a>
-<span class="sourceLineNo">068</span> * write.<a name="line.68"></a>
-<span class="sourceLineNo">069</span> */<a name="line.69"></a>
-<span class="sourceLineNo">070</span> public static final String CACHE_INDEX_BLOCKS_ON_WRITE_KEY =<a name="line.70"></a>
-<span class="sourceLineNo">071</span> "hfile.block.index.cacheonwrite";<a name="line.71"></a>
-<span class="sourceLineNo">072</span><a name="line.72"></a>
-<span class="sourceLineNo">073</span> /**<a name="line.73"></a>
-<span class="sourceLineNo">074</span> * Configuration key to cache compound bloom filter blocks on write.<a name="line.74"></a>
-<span class="sourceLineNo">075</span> */<a name="line.75"></a>
-<span class="sourceLineNo">076</span> public static final String CACHE_BLOOM_BLOCKS_ON_WRITE_KEY =<a name="line.76"></a>
-<span class="sourceLineNo">077</span> "hfile.block.bloom.cacheonwrite";<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span> /**<a name="line.79"></a>
-<span class="sourceLineNo">080</span> * Configuration key to cache data blocks in compressed and/or encrypted format.<a name="line.80"></a>
-<span class="sourceLineNo">081</span> */<a name="line.81"></a>
-<span class="sourceLineNo">082</span> public static final String CACHE_DATA_BLOCKS_COMPRESSED_KEY =<a name="line.82"></a>
-<span class="sourceLineNo">083</span> "hbase.block.data.cachecompressed";<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span> /**<a name="line.85"></a>
-<span class="sourceLineNo">086</span> * Configuration key to evict all blocks of a given file from the block cache<a name="line.86"></a>
-<span class="sourceLineNo">087</span> * when the file is closed.<a name="line.87"></a>
-<span class="sourceLineNo">088</span> */<a name="line.88"></a>
-<span class="sourceLineNo">089</span> public static final String EVICT_BLOCKS_ON_CLOSE_KEY =<a name="line.89"></a>
-<span class="sourceLineNo">090</span> "hbase.rs.evictblocksonclose";<a name="line.90"></a>
-<span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span> /**<a name="line.92"></a>
-<span class="sourceLineNo">093</span> * Configuration keys for Bucket cache<a name="line.93"></a>
-<span class="sourceLineNo">094</span> */<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span> /**<a name="line.96"></a>
-<span class="sourceLineNo">097</span> * If the chosen ioengine can persist its state across restarts, the path to the file to persist<a name="line.97"></a>
-<span class="sourceLineNo">098</span> * to. This file is NOT the data file. It is a file into which we will serialize the map of<a name="line.98"></a>
-<span class="sourceLineNo">099</span> * what is in the data file. For example, if you pass the following argument as<a name="line.99"></a>
-<span class="sourceLineNo">100</span> * BUCKET_CACHE_IOENGINE_KEY ("hbase.bucketcache.ioengine"),<a name="line.100"></a>
-<span class="sourceLineNo">101</span> * <code>file:/tmp/bucketcache.data </code>, then we will write the bucketcache data to the file<a name="line.101"></a>
-<span class="sourceLineNo">102</span> * <code>/tmp/bucketcache.data</code> but the metadata on where the data is in the supplied file<a name="line.102"></a>
-<span class="sourceLineNo">103</span> * is an in-memory map that needs to be persisted across restarts. Where to store this<a name="line.103"></a>
-<span class="sourceLineNo">104</span> * in-memory state is what you supply here: e.g. <code>/tmp/bucketcache.map</code>.<a name="line.104"></a>
-<span class="sourceLineNo">105</span> */<a name="line.105"></a>
-<span class="sourceLineNo">106</span> public static final String BUCKET_CACHE_PERSISTENT_PATH_KEY =<a name="line.106"></a>
-<span class="sourceLineNo">107</span> "hbase.bucketcache.persistent.path";<a name="line.107"></a>
-<span class="sourceLineNo">108</span><a name="line.108"></a>
-<span class="sourceLineNo">109</span> public static final String BUCKET_CACHE_WRITER_THREADS_KEY = "hbase.bucketcache.writer.threads";<a name="line.109"></a>
-<span class="sourceLineNo">110</span> public static final String BUCKET_CACHE_WRITER_QUEUE_KEY =<a name="line.110"></a>
-<span class="sourceLineNo">111</span> "hbase.bucketcache.writer.queuelength";<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span> /**<a name="line.113"></a>
-<span class="sourceLineNo">114</span> * A comma-delimited array of values for use as bucket sizes.<a name="line.114"></a>
-<span class="sourceLineNo">115</span> */<a name="line.115"></a>
-<span class="sourceLineNo">116</span> public static final String BUCKET_CACHE_BUCKETS_KEY = "hbase.bucketcache.bucket.sizes";<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span> /**<a name="line.118"></a>
-<span class="sourceLineNo">119</span> * Defaults for Bucket cache<a name="line.119"></a>
-<span class="sourceLineNo">120</span> */<a name="line.120"></a>
-<span class="sourceLineNo">121</span> public static final int DEFAULT_BUCKET_CACHE_WRITER_THREADS = 3;<a name="line.121"></a>
-<span class="sourceLineNo">122</span> public static final int DEFAULT_BUCKET_CACHE_WRITER_QUEUE = 64;<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span> /**<a name="line.124"></a>
-<span class="sourceLineNo">125</span> * Configuration key to prefetch all blocks of a given file into the block cache<a name="line.125"></a>
-<span class="sourceLineNo">126</span> * when the file is opened.<a name="line.126"></a>
-<span class="sourceLineNo">127</span> */<a name="line.127"></a>
-<span class="sourceLineNo">128</span> public static final String PREFETCH_BLOCKS_ON_OPEN_KEY =<a name="line.128"></a>
-<span class="sourceLineNo">129</span> "hbase.rs.prefetchblocksonopen";<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span> /**<a name="line.131"></a>
-<span class="sourceLineNo">132</span> * The target block size used by blockcache instances. Defaults to<a name="line.132"></a>
-<span class="sourceLineNo">133</span> * {@link HConstants#DEFAULT_BLOCKSIZE}.<a name="line.133"></a>
-<span class="sourceLineNo">134</span> * TODO: this config point is completely wrong, as it's used to determine the<a name="line.134"></a>
-<span class="sourceLineNo">135</span> * target block size of BlockCache instances. Rename.<a name="line.135"></a>
-<span class="sourceLineNo">136</span> */<a name="line.136"></a>
-<span class="sourceLineNo">137</span> public static final String BLOCKCACHE_BLOCKSIZE_KEY = "hbase.offheapcache.minblocksize";<a name="line.137"></a>
-<span class="sourceLineNo">138</span><a name="line.138"></a>
-<span class="sourceLineNo">139</span> private static final String EXTERNAL_BLOCKCACHE_KEY = "hbase.blockcache.use.external";<a name="line.139"></a>
-<span class="sourceLineNo">140</span> private static final boolean EXTERNAL_BLOCKCACHE_DEFAULT = false;<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span> private static final String EXTERNAL_BLOCKCACHE_CLASS_KEY = "hbase.blockcache.external.class";<a name="line.142"></a>
-<span class="sourceLineNo">143</span> private static final String DROP_BEHIND_CACHE_COMPACTION_KEY =<a name="line.143"></a>
-<span class="sourceLineNo">144</span> "hbase.hfile.drop.behind.compaction";<a name="line.144"></a>
-<span class="sourceLineNo">145</span> private static final boolean DROP_BEHIND_CACHE_COMPACTION_DEFAULT = true;<a name="line.145"></a>
-<span class="sourceLineNo">146</span><a name="line.146"></a>
-<span class="sourceLineNo">147</span> /**<a name="line.147"></a>
-<span class="sourceLineNo">148</span> * Enum of all built in external block caches.<a name="line.148"></a>
-<span class="sourceLineNo">149</span> * This is used for config.<a name="line.149"></a>
-<span class="sourceLineNo">150</span> */<a name="line.150"></a>
-<span class="sourceLineNo">151</span> private static enum ExternalBlockCaches {<a name="line.151"></a>
-<span class="sourceLineNo">152</span> memcached("org.apache.hadoop.hbase.io.hfile.MemcachedBlockCache");<a name="line.152"></a>
-<span class="sourceLineNo">153</span> // TODO(eclark): Consider more. Redis, etc.<a name="line.153"></a>
-<span class="sourceLineNo">154</span> Class<? extends BlockCache> clazz;<a name="line.154"></a>
-<span class="sourceLineNo">155</span> ExternalBlockCaches(String clazzName) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span> try {<a name="line.156"></a>
-<span class="sourceLineNo">157</span> clazz = (Class<? extends BlockCache>) Class.forName(clazzName);<a name="line.157"></a>
-<span class="sourceLineNo">158</span> } catch (ClassNotFoundException cnef) {<a name="line.158"></a>
-<span class="sourceLineNo">159</span> clazz = null;<a name="line.159"></a>
-<span class="sourceLineNo">160</span> }<a name="line.160"></a>
-<span class="sourceLineNo">161</span> }<a name="line.161"></a>
-<span class="sourceLineNo">162</span> ExternalBlockCaches(Class<? extends BlockCache> clazz) {<a name="line.162"></a>
-<span class="sourceLineNo">163</span> this.clazz = clazz;<a name="line.163"></a>
-<span class="sourceLineNo">164</span> }<a name="line.164"></a>
-<span class="sourceLineNo">165</span> }<a name="line.165"></a>
-<span class="sourceLineNo">166</span><a name="line.166"></a>
-<span class="sourceLineNo">167</span> // Defaults<a name="line.167"></a>
-<span class="sourceLineNo">168</span> public static final boolean DEFAULT_CACHE_DATA_ON_READ = true;<a name="line.168"></a>
-<span class="sourceLineNo">169</span> public static final boolean DEFAULT_CACHE_DATA_ON_WRITE = false;<a name="line.169"></a>
-<span class="sourceLineNo">170</span> public static final boolean DEFAULT_IN_MEMORY = false;<a name="line.170"></a>
-<span class="sourceLineNo">171</span> public static final boolean DEFAULT_CACHE_INDEXES_ON_WRITE = false;<a name="line.171"></a>
-<span class="sourceLineNo">172</span> public static final boolean DEFAULT_CACHE_BLOOMS_ON_WRITE = false;<a name="line.172"></a>
-<span class="sourceLineNo">173</span> public static final boolean DEFAULT_EVICT_ON_CLOSE = false;<a name="line.173"></a>
-<span class="sourceLineNo">174</span> public static final boolean DEFAULT_CACHE_DATA_COMPRESSED = false;<a name="line.174"></a>
-<span class="sourceLineNo">175</span> public static final boolean DEFAULT_PREFETCH_ON_OPEN = false;<a name="line.175"></a>
-<span class="sourceLineNo">176</span><a name="line.176"></a>
-<span class="sourceLineNo">177</span> /** Local reference to the block cache, null if completely disabled */<a name="line.177"></a>
-<span class="sourceLineNo">178</span> private final BlockCache blockCache;<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span> /**<a name="line.180"></a>
-<span class="sourceLineNo">181</span> * Whether blocks should be cached on read (default is on if there is a<a name="line.181"></a>
-<span class="sourceLineNo">182</span> * cache but this can be turned off on a per-family or per-request basis).<a name="line.182"></a>
-<span class="sourceLineNo">183</span> * If off we will STILL cache meta blocks; i.e. INDEX and BLOOM types.<a name="line.183"></a>
-<span class="sourceLineNo">184</span> * This cannot be disabled.<a name="line.184"></a>
-<span class="sourceLineNo">185</span> */<a name="line.185"></a>
-<span class="sourceLineNo">186</span> private boolean cacheDataOnRead;<a name="line.186"></a>
-<span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span> /** Whether blocks should be flagged as in-memory when being cached */<a name="line.188"></a>
-<span class="sourceLineNo">189</span> private final boolean inMemory;<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span> /** Whether data blocks should be cached when new files are written */<a name="line.191"></a>
-<span class="sourceLineNo">192</span> private boolean cacheDataOnWrite;<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span> /** Whether index blocks should be cached when new files are written */<a name="line.194"></a>
-<span class="sourceLineNo">195</span> private final boolean cacheIndexesOnWrite;<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span> /** Whether compound bloom filter blocks should be cached on write */<a name="line.197"></a>
-<span class="sourceLineNo">198</span> private final boolean cacheBloomsOnWrite;<a name="line.198"></a>
-<span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span> /** Whether blocks of a file should be evicted when the file is closed */<a name="line.200"></a>
-<span class="sourceLineNo">201</span> private boolean evictOnClose;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span> /** Whether data blocks should be stored in compressed and/or encrypted form in the cache */<a name="line.203"></a>
-<span class="sourceLineNo">204</span> private final boolean cacheDataCompressed;<a name="line.204"></a>
-<span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span> /** Whether data blocks should be prefetched into the cache */<a name="line.206"></a>
-<span class="sourceLineNo">207</span> private final boolean prefetchOnOpen;<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span> private final boolean dropBehindCompaction;<a name="line.209"></a>
-<span class="sourceLineNo">210</span><a name="line.210"></a>
-<span class="sourceLineNo">211</span> /**<a name="line.211"></a>
-<span class="sourceLineNo">212</span> * Create a cache configuration using the specified configuration object and<a name="line.212"></a>
-<span class="sourceLineNo">213</span> * family descriptor.<a name="line.213"></a>
-<span class="sourceLineNo">214</span> * @param conf hbase configuration<a name="line.214"></a>
-<span class="sourceLineNo">215</span> * @param family column family configuration<a name="line.215"></a>
-<span class="sourceLineNo">216</span> */<a name="line.216"></a>
-<span class="sourceLineNo">217</span> public CacheConfig(Configuration conf, ColumnFamilyDescriptor family) {<a name="line.217"></a>
-<span class="sourceLineNo">218</span> this(GLOBAL_BLOCK_CACHE_INSTANCE,<a name="line.218"></a>
-<span class="sourceLineNo">219</span> conf.getBoolean(CACHE_DATA_ON_READ_KEY, DEFAULT_CACHE_DATA_ON_READ)<a name="line.219"></a>
-<span class="sourceLineNo">220</span> && family.isBlockCacheEnabled(),<a name="line.220"></a>
-<span class="sourceLineNo">221</span> family.isInMemory(),<a name="line.221"></a>
-<span class="sourceLineNo">222</span> // For the following flags we enable them regardless of per-schema settings<a name="line.222"></a>
-<span class="sourceLineNo">223</span> // if they are enabled in the global configuration.<a name="line.223"></a>
-<span class="sourceLineNo">224</span> conf.getBoolean(CACHE_BLOCKS_ON_WRITE_KEY,<a name="line.224"></a>
-<span class="sourceLineNo">225</span> DEFAULT_CACHE_DATA_ON_WRITE) || family.isCacheDataOnWrite(),<a name="line.225"></a>
-<span class="sourceLineNo">226</span> conf.getBoolean(CACHE_INDEX_BLOCKS_ON_WRITE_KEY,<a name="line.226"></a>
-<span class="sourceLineNo">227</span> DEFAULT_CACHE_INDEXES_ON_WRITE) || family.isCacheIndexesOnWrite(),<a name="line.227"></a>
-<span class="sourceLineNo">228</span> conf.getBoolean(CACHE_BLOOM_BLOCKS_ON_WRITE_KEY,<a name="line.228"></a>
-<span class="sourceLineNo">229</span> DEFAULT_CACHE_BLOOMS_ON_WRITE) || family.isCacheBloomsOnWrite(),<a name="line.229"></a>
-<span class="sourceLineNo">230</span> conf.getBoolean(EVICT_BLOCKS_ON_CLOSE_KEY,<a name="line.230"></a>
-<span class="sourceLineNo">231</span> DEFAULT_EVICT_ON_CLOSE) || family.isEvictBlocksOnClose(),<a name="line.231"></a>
-<span class="sourceLineNo">232</span> conf.getBoolean(CACHE_DATA_BLOCKS_COMPRESSED_KEY, DEFAULT_CACHE_DATA_COMPRESSED),<a name="line.232"></a>
-<span class="sourceLineNo">233</span> conf.getBoolean(PREFETCH_BLOCKS_ON_OPEN_KEY,<a name="line.233"></a>
-<span class="sourceLineNo">234</span> DEFAULT_PREFETCH_ON_OPEN) || family.isPrefetchBlocksOnOpen(),<a name="line.234"></a>
-<span class="sourceLineNo">235</span> conf.getBoolean(DROP_BEHIND_CACHE_COMPACTION_KEY, DROP_BEHIND_CACHE_COMPACTION_DEFAULT)<a name="line.235"></a>
-<span class="sourceLineNo">236</span> );<a name="line.236"></a>
-<span class="sourceLineNo">237</span> LOG.info("Created cacheConfig for " + family.getNameAsString() + ": " + this);<a name="line.237"></a>
-<span class="sourceLineNo">238</span> }<a name="line.238"></a>
-<span class="sourceLineNo">239</span><a name="line.239"></a>
-<span class="sourceLineNo">240</span> /**<a name="line.240"></a>
-<span class="sourceLineNo">241</span> * Create a cache configuration using the specified configuration object and<a name="line.241"></a>
-<span class="sourceLineNo">242</span> * defaults for family level settings. Only use if no column family context. Prefer<a name="line.242"></a>
-<span class="sourceLineNo">243</span> * {@link CacheConfig#CacheConfig(Configuration, ColumnFamilyDescriptor)}<a name="line.243"></a>
-<span class="sourceLineNo">244</span> * @see #CacheConfig(Configuration, ColumnFamilyDescriptor)<a name="line.244"></a>
-<span class="sourceLineNo">245</span> * @param conf hbase configuration<a name="line.245"></a>
-<span class="sourceLineNo">246</span> */<a name="line.246"></a>
-<span class="sourceLineNo">247</span> public CacheConfig(Configuration conf) {<a name="line.247"></a>
-<span class="sourceLineNo">248</span> this(GLOBAL_BLOCK_CACHE_INSTANCE,<a name="line.248"></a>
-<span class="sourceLineNo">249</span> conf.getBoolean(CACHE_DATA_ON_READ_KEY, DEFAULT_CACHE_DATA_ON_READ),<a name="line.249"></a>
-<span class="sourceLineNo">250</span> DEFAULT_IN_MEMORY, // This is a family-level setting so can't be set<a name="line.250"></a>
-<span class="sourceLineNo">251</span> // strictly from conf<a name="line.251"></a>
-<span class="sourceLineNo">252</span> conf.getBoolean(CACHE_BLOCKS_ON_WRITE_KEY, DEFAULT_CACHE_DATA_ON_WRITE),<a name="line.252"></a>
-<span class="sourceLineNo">253</span> conf.getBoolean(CACHE_INDEX_BLOCKS_ON_WRITE_KEY, DEFAULT_CACHE_INDEXES_ON_WRITE),<a name="line.253"></a>
-<span class="sourceLineNo">254</span> conf.getBoolean(CACHE_BLOOM_BLOCKS_ON_WRITE_KEY, DEFAULT_CACHE_BLOOMS_ON_WRITE),<a name="line.254"></a>
-<span class="sourceLineNo">255</span> conf.getBoolean(EVICT_BLOCKS_ON_CLOSE_KEY, DEFAULT_EVICT_ON_CLOSE),<a name="line.255"></a>
-<span class="sourceLineNo">256</span> conf.getBoolean(CACHE_DATA_BLOCKS_COMPRESSED_KEY, DEFAULT_CACHE_DATA_COMPRESSED),<a name="line.256"></a>
-<span class="sourceLineNo">257</span> conf.getBoolean(PREFETCH_BLOCKS_ON_OPEN_KEY, DEFAULT_PREFETCH_ON_OPEN),<a name="line.257"></a>
-<span class="sourceLineNo">258</span> conf.getBoolean(DROP_BEHIND_CACHE_COMPACTION_KEY, DROP_BEHIND_CACHE_COMPACTION_DEFAULT));<a name="line.258"></a>
-<span class="sourceLineNo">259</span> LOG.info("Created cacheConfig: " + this);<a name="line.259"></a>
-<span class="sourceLineNo">260</span> }<a name="line.260"></a>
-<span class="sourceLineNo">261</span><a name="line.261"></a>
-<span class="sourceLineNo">262</span> /**<a name="line.262"></a>
-<span class="sourceLineNo">263</span> * Create a block cache configuration with the specified cache and configuration parameters.<a name="line.263"></a>
-<span class="sourceLineNo">264</span> * @param blockCache reference to block cache, null if completely disabled<a name="line.264"></a>
-<span class="sourceLineNo">265</span> * @param cacheDataOnRead whether DATA blocks should be cached on read (we always cache INDEX<a name="line.265"></a>
-<span class="sourceLineNo">266</span> * blocks and BLOOM blocks; this cannot be disabled).<a name="line.266"></a>
-<span class="sourceLineNo">267</span> * @param inMemory whether blocks should be flagged as in-memory<a name="line.267"></a>
-<span class="sourceLineNo">268</span> * @param cacheDataOnWrite whether data blocks should be cached on write<a name="line.268"></a>
-<span class="sourceLineNo">269</span> * @param cacheIndexesOnWrite whether index blocks should be cached on write<a name="line.269"></a>
-<span class="sourceLineNo">270</span> * @param cacheBloomsOnWrite whether blooms should be cached on write<a name="line.270"></a>
-<span class="sourceLineNo">271</span> * @param evictOnClose whether blocks should be evicted when HFile is closed<a name="line.271"></a>
-<span class="sourceLineNo">272</span> * @param cacheDataCompressed whether to store blocks as compressed in the cache<a name="line.272"></a>
-<span class="sourceLineNo">273</span> * @param prefetchOnOpen whether to prefetch blocks upon open<a name="line.273"></a>
-<span class="sourceLineNo">274</span> * @param dropBehindCompaction indicate that we should set drop behind to true when open a store<a name="line.274"></a>
-<span class="sourceLineNo">275</span> * file reader for compaction<a name="line.275"></a>
-<span class="sourceLineNo">276</span> */<a name="line.276"></a>
-<span class="sourceLineNo">277</span> @VisibleForTesting<a name="line.277"></a>
-<span class="sourceLineNo">278</span> CacheConfig(final BlockCache blockCache,<a name="line.278"></a>
-<span class="sourceLineNo">279</span> final boolean cacheDataOnRead, final boolean inMemory,<a name="line.279"></a>
-<span class="sourceLineNo">280</span> final boolean cacheDataOnWrite, final boolean cacheIndexesOnWrite,<a name="line.280"></a>
-<span class="sourceLineNo">281</span> final boolean cacheBloomsOnWrite, final boolean evictOnClose,<a name="line.281"></a>
-<span class="sourceLineNo">282</span> final boolean cacheDataCompressed, final boolean prefetchOnOpen,<a name="line.282"></a>
-<span class="sourceLineNo">283</span> final boolean dropBehindCompaction) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span> this.blockCache = blockCache;<a name="line.284"></a>
-<span class="sourceLineNo">285</span> this.cacheDataOnRead = cacheDataOnRead;<a name="line.285"></a>
-<span class="sourceLineNo">286</span> this.inMemory = inMemory;<a name="line.286"></a>
-<span class="sourceLineNo">287</span> this.cacheDataOnWrite = cacheDataOnWrite;<a name="line.287"></a>
-<span class="sourceLineNo">288</span> this.cacheIndexesOnWrite = cacheIndexesOnWrite;<a name="line.288"></a>
-<span class="sourceLineNo">289</span> this.cacheBloomsOnWrite = cacheBloomsOnWrite;<a name="line.289"></a>
-<span class="sourceLineNo">290</span> this.evictOnClose = evictOnClose;<a name="line.290"></a>
-<span class="sourceLineNo">291</span> this.cacheDataCompressed = cacheDataCompressed;<a name="line.291"></a>
-<span class="sourceLineNo">292</span> this.prefetchOnOpen = prefetchOnOpen;<a name="line.292"></a>
-<span class="sourceLineNo">293</span> this.dropBehindCompaction = dropBehindCompaction;<a name="line.293"></a>
-<span class="sourceLineNo">294</span> }<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span> /**<a name="line.296"></a>
-<span class="sourceLineNo">297</span> * Constructs a cache configuration copied from the specified configuration.<a name="line.297"></a>
-<span class="sourceLineNo">298</span> * @param cacheConf<a name="line.298"></a>
-<span class="sourceLineNo">299</span> */<a name="line.299"></a>
-<span class="sourceLineNo">300</span> public CacheConfig(CacheConfig cacheConf) {<a name="line.300"></a>
-<span class="sourceLineNo">301</span> this(cacheConf.blockCache, cacheConf.cacheDataOnRead, cacheConf.inMemory,<a name="line.301"></a>
-<span class="sourceLineNo">302</span> cacheConf.cacheDataOnWrite, cacheConf.cacheIndexesOnWrite,<a name="line.302"></a>
-<span class="sourceLineNo">303</span> cacheConf.cacheBloomsOnWrite, cacheConf.evictOnClose,<a name="line.303"></a>
-<span class="sourceLineNo">304</span> cacheConf.cacheDataCompressed, cacheConf.prefetchOnOpen,<a name="line.304"></a>
-<span class="sourceLineNo">305</span> cacheConf.dropBehindCompaction);<a name="line.305"></a>
-<span class="sourceLineNo">306</span> }<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span> private CacheConfig() {<a name="line.308"></a>
-<span class="sourceLineNo">309</span> this(null, false, false, false, false, false, false, false, false, false);<a name="line.309"></a>
-<span class="sourceLineNo">310</span> }<a name="line.310"></a>
-<span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span> /**<a name="line.312"></a>
-<span class="sourceLineNo">313</span> * Checks whether the block cache is enabled.<a name="line.313"></a>
-<span class="sourceLineNo">314</span> */<a name="line.314"></a>
-<span class="sourceLineNo">315</span> public boolean isBlockCacheEnabled() {<a name="line.315"></a>
-<span class="sourceLineNo">316</span> return this.blockCache != null;<a name="line.316"></a>
-<span class="sourceLineNo">317</span> }<a name="line.317"></a>
-<span class="sourceLineNo">318</span><a name="line.318"></a>
-<span class="sourceLineNo">319</span> /**<a name="line.319"></a>
-<span class="sourceLineNo">320</span> * Returns the block cache.<a name="line.320"></a>
-<span class="sourceLineNo">321</span> * @return the block cache, or null if caching is completely disabled<a name="line.321"></a>
-<span class="sourceLineNo">322</span> */<a name="line.322"></a>
-<span class="sourceLineNo">323</span> public BlockCache getBlockCache() {<a name="line.323"></a>
-<span class="sourceLineNo">324</span> return this.blockCache;<a name="line.324"></a>
-<span class="sourceLineNo">325</span> }<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span> /**<a name="line.327"></a>
-<span class="sourceLineNo">328</span> * Returns whether the DATA blocks of this HFile should be cached on read or not (we always<a name="line.328"></a>
-<span class="sourceLineNo">329</span> * cache the meta blocks, the INDEX and BLOOM blocks).<a name="line.329"></a>
-<span class="sourceLineNo">330</span> * @return true if blocks should be cached on read, false if not<a name="line.330"></a>
-<span class="sourceLineNo">331</span> */<a name="line.331"></a>
-<span class="sourceLineNo">332</span> public boolean shouldCacheDataOnRead() {<a name="line.332"></a>
-<span class="sourceLineNo">333</span> return isBlockCacheEnabled() && cacheDataOnRead;<a name="line.333"></a>
-<span class="sourceLineNo">334</span> }<a name="line.334"></a>
-<span class="sourceLineNo">335</span><a name="line.335"></a>
-<span class="sourceLineNo">336</span> public boolean shouldDropBehindCompaction() {<a name="line.336"></a>
-<span class="sourceLineNo">337</span> return dropBehindCompaction;<a name="line.337"></a>
-<span class="sourceLineNo">338</span> }<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span> /**<a name="line.340"></a>
-<span class="sourceLineNo">341</span> * Should we cache a block of a particular category? We always cache<a name="line.341"></a>
-<span class="sourceLineNo">342</span> * important blocks such as index blocks, as long as the block cache is<a name="line.342"></a>
-<span class="sourceLineNo">343</span> * available.<a name="line.343"></a>
-<span class="sourceLineNo">344</span> */<a name="line.344"></a>
-<span class="sourceLineNo">345</span> public boolean shouldCacheBlockOnRead(BlockCategory category) {<a name="line.345"></a>
-<span class="sourceLineNo">346</span> return isBlockCacheEnabled()<a name="line.346"></a>
-<span class="sourceLineNo">347</span> && (cacheDataOnRead ||<a name="line.347"></a>
-<span class="sourceLineNo">348</span> category == BlockCategory.INDEX ||<a name="line.348"></a>
-<span class="sourceLineNo">349</span> category == BlockCategory.BLOOM ||<a name="line.349"></a>
-<span class="sourceLineNo">350</span> (prefetchOnOpen &&<a name="line.350"></a>
-<span class="sourceLineNo">351</span> (category != BlockCategory.META &&<a name="line.351"></a>
-<span class="sourceLineNo">352</span> category != BlockCategory.UNKNOWN)));<a name="line.352"></a>
-<span class="sourceLineNo">353</span> }<a name="line.353"></a>
-<span class="sourceLineNo">354</span><a name="line.354"></a>
-<span class="sourceLineNo">355</span> /**<a name="line.355"></a>
-<span class="sourceLineNo">356</span> * @return true if blocks in this file should be flagged as in-memory<a name="line.356"></a>
-<span class="sourceLineNo">357</span> */<a name="line.357"></a>
-<span class="sourceLineNo">358</span> public boolean isInMemory() {<a name="line.358"></a>
-<span class="sourceLineNo">359</span> return isBlockCacheEnabled() && this.inMemory;<a name="line.359"></a>
-<span class="sourceLineNo">360</span> }<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span> /**<a name="line.362"></a>
-<span class="sourceLineNo">363</span> * @return true if data blocks should be written to the cache when an HFile is<a name="line.363"></a>
-<span class="sourceLineNo">364</span> * written, false if not<a name="line.364"></a>
-<span class="sourceLineNo">365</span> */<a name="line.365"></a>
-<span class="sourceLineNo">366</span> public boolean shouldCacheDataOnWrite() {<a name="line.366"></a>
-<span class="sourceLineNo">367</span> return isBlockCacheEnabled() && this.cacheDataOnWrite;<a name="line.367"></a>
-<span class="sourceLineNo">368</span> }<a name="line.368"></a>
-<span class="sourceLineNo">369</span><a name="line.369"></a>
-<span class="sourceLineNo">370</span> /**<a name="line.370"></a>
-<span class="sourceLineNo">371</span> * Only used for testing.<a name="line.371"></a>
-<span class="sourceLineNo">372</span> * @param cacheDataOnWrite whether data blocks should be written to the cache<a name="line.372"></a>
-<span class="sourceLineNo">373</span> * when an HFile is written<a name="line.373"></a>
-<span class="sourceLineNo">374</span> */<a name="line.374"></a>
-<span class="sourceLineNo">375</span> @VisibleForTesting<a name="line.375"></a>
-<span class="sourceLineNo">376</span> public void setCacheDataOnWrite(boolean cacheDataOnWrite) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span> this.cacheDataOnWrite = cacheDataOnWrite;<a name="line.377"></a>
-<span class="sourceLineNo">378</span> }<a name="line.378"></a>
-<span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span> /**<a name="line.380"></a>
-<span class="sourceLineNo">381</span> * @return true if index blocks should be written to the cache when an HFile<a name="line.381"></a>
-<span class="sourceLineNo">382</span> * is written, false if not<a name="line.382"></a>
-<span class="sourceLineNo">383</span> */<a name="line.383"></a>
-<span class="sourceLineNo">384</span> public boolean shouldCacheIndexesOnWrite() {<a name="line.384"></a>
-<span class="sourceLineNo">385</span> return isBlockCacheEnabled() && this.cacheIndexesOnWrite;<a name="line.385"></a>
-<span class="sourceLineNo">386</span> }<a name="line.386"></a>
-<span class="sourceLineNo">387</span><a name="line.387"></a>
-<span class="sourceLineNo">388</span> /**<a name="line.388"></a>
-<span class="sourceLineNo">389</span> * @return true if bloom blocks should be written to the cache when an HFile<a name="line.389"></a>
-<span class="sourceLineNo">390</span> * is written, false if not<a name="line.390"></a>
-<span class="sourceLineNo">391</span> */<a name="line.391"></a>
-<span class="sourceLineNo">392</span> public boolean shouldCacheBloomsOnWrite() {<a name="line.392"></a>
-<span class="sourceLineNo">393</span> return isBlockCacheEnabled() && this.cacheBloomsOnWrite;<a name="line.393"></a>
-<span class="sourceLineNo">394</span> }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span> /**<a name="line.396"></a>
-<span class="sourceLineNo">397</span> * @return true if blocks should be evicted from the cache when an HFile<a name="line.397"></a>
-<span class="sourceLineNo">398</span> * reader is closed, false if not<a name="line.398"></a>
-<span class="sourceLineNo">399</span> */<a name="line.399"></a>
-<span class="sourceLineNo">400</span> public boolean shouldEvictOnClose() {<a name="line.400"></a>
-<span class="sourceLineNo">401</span> return isBlockCacheEnabled() && this.evictOnClose;<a name="line.401"></a>
-<span class="sourceLineNo">402</span> }<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span> /**<a name="line.404"></a>
-<span class="sourceLineNo">405</span> * Only used for testing.<a name="line.405"></a>
-<span class="sourceLineNo">406</span> * @param evictOnClose whether blocks should be evicted from the cache when an<a name="line.406"></a>
-<span class="sourceLineNo">407</span> * HFile reader is closed<a name="line.407"></a>
-<span class="sourceLineNo">408</span> */<a name="line.408"></a>
-<span class="sourceLineNo">409</span> public void setEvictOnClose(boolean evictOnClose) {<a name="line.409"></a>
-<span class="sourceLineNo">410</span> this.evictOnClose = evictOnClose;<a name="line.410"></a>
-<span class="sourceLineNo">411</span> }<a name="line.411"></a>
-<span class="sourceLineNo">412</span><a name="line.412"></a>
-<span class="sourceLineNo">413</span> /**<a name="line.413"></a>
-<span class="sourceLineNo">414</span> * @return true if data blocks should be compressed in the cache, false if not<a name="line.414"></a>
-<span class="sourceLineNo">415</span> */<a name="line.415"></a>
-<span class="sourceLineNo">416</span> public boolean shouldCacheDataCompressed() {<a name="line.416"></a>
-<span class="sourceLineNo">417</span> return isBlockCacheEnabled() && this.cacheDataOnRead && this.cacheDataCompressed;<a name="line.417"></a>
-<span class="sourceLineNo">418</span> }<a name="line.418"></a>
-<span class="sourceLineNo">419</span><a name="line.419"></a>
-<span class="sourceLineNo">420</span> /**<a name="line.420"></a>
-<span class="sourceLineNo">421</span> * @return true if this {@link BlockCategory} should be compressed in blockcache, false otherwise<a name="line.421"></a>
-<span class="sourceLineNo">422</span> */<a name="line.422"></a>
-<span class="sourceLineNo">423</span> public boolean shouldCacheCompressed(BlockCategory category) {<a name="line.423"></a>
-<span class="sourceLineNo">424</span> if (!isBlockCacheEnabled()) return false;<a name="line.424"></a>
-<span class="sourceLineNo">425</span> switch (category) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span> case DATA:<a name="line.426"></a>
-<span class="sourceLineNo">427</span> return this.cacheDataOnRead && this.cacheDataCompressed;<a name="line.427"></a>
-<span class="sourceLineNo">428</span> default:<a name="line.428"></a>
-<span class="sourceLineNo">429</span> return false;<a name="line.429"></a>
-<span class="sourceLineNo">430</span> }<a name="line.430"></a>
-<span class="sourceLineNo">431</span> }<a name="line.431"></a>
-<span class="sourceLineNo">432</span><a name="line.432"></a>
-<span class="sourceLineNo">433</span> /**<a name="line.433"></a>
-<span class="sourceLineNo">434</span> * @return true if blocks should be prefetched into the cache on open, false if not<a name="line.434"></a>
-<span class="sourceLineNo">435</span> */<a name="line.435"></a>
-<span class="sourceLineNo">436</span> public boolean shouldPrefetchOnOpen() {<a name="line.436"></a>
-<span class="sourceLineNo">437</span> return isBlockCacheEnabled() && this.prefetchOnOpen;<a name="line.437"></a>
-<span class="sourceLineNo">438</span> }<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span> /**<a name="line.440"></a>
-<span class="sourceLineNo">441</span> * Return true if we may find this type of block in block cache.<a name="line.441"></a>
-<span class="sourceLineNo">442</span> * <p><a name="line.442"></a>
-<span class="sourceLineNo">443</span> * TODO: today {@code family.isBlockCacheEnabled()} only means {@code cacheDataOnRead}, so here we<a name="line.443"></a>
-<span class="sourceLineNo">444</span> * consider lots of other configurations such as {@code cacheDataOnWrite}. We should fix this in<a name="line.444"></a>
-<span class="sourceLineNo">445</span> * the future, {@code cacheDataOnWrite} should honor the CF level {@code isBlockCacheEnabled}<a name="line.445"></a>
-<span class="sourceLineNo">446</span> * configuration.<a name="line.446"></a>
-<span class="sourceLineNo">447</span> */<a name="line.447"></a>
-<span class="sourceLineNo">448</span> public boolean shouldReadBlockFromCache(BlockType blockType) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span> if (!isBlockCacheEnabled()) {<a name="line.449"></a>
-<span class="sourceLineNo">450</span> return false;<a name="line.450"></a>
-<span class="sourceLineNo">451</span> }<a name="line.451"></a>
-<span class="sourceLineNo">452</span> if (cacheDataOnRead) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span> return true;<a name="line.453"></a>
-<span class="sourceLineNo">454</span> }<a name="line.454"></a>
-<span class="sourceLineNo">455</span> if (prefetchOnOpen) {<a name="line.455"></a>
-<span class="sourceLineNo">456</span> return true;<a name="line.456"></a>
-<span class="sourceLineNo">457</span> }<a name="line.457"></a>
-<span class="sourceLineNo">458</span> if (cacheDataOnWrite) {<a name="line.458"></a>
-<span class="sourceLineNo">459</span> return true;<a name="line.459"></a>
-<span class="sourceLineNo">460</span> }<a name="line.460"></a>
-<span class="sourceLineNo">461</span> if (blockType == null) {<a name="line.461"></a>
-<span class="sourceLineNo">462</span> return true;<a name="line.462"></a>
-<span class="sourceLineNo">463</span> }<a name="line.463"></a>
-<span class="sourceLineNo">464</span> if (blockType.getCategory() == BlockCategory.BLOOM ||<a name="line.464"></a>
-<span class="sourceLineNo">465</span> blockType.getCategory() == BlockCategory.INDEX) {<a name="line.465"></a>
-<span class="sourceLineNo">466</span> return true;<a name="line.466"></a>
-<span class="sourceLineNo">467</span> }<a name="line.467"></a>
-<span class="sourceLineNo">468</span> return false;<a name="line.468"></a>
-<span class="sourceLineNo">469</span> }<a name="line.469"></a>
-<span class="sourceLineNo">470</span><a name="line.470"></a>
-<span class="sourceLineNo">471</span> /**<a name="line.471"></a>
-<span class="sourceLineNo">472</span> * If we make sure the block could not be cached, we will not acquire the lock<a name="line.472"></a>
-<span class="sourceLineNo">473</span> * otherwise we will acquire lock<a name="line.473"></a>
-<span class="sourceLineNo">474</span> */<a name="line.474"></a>
-<span class="sourceLineNo">475</span> public boolean shouldLockOnCacheMiss(BlockType blockType) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span> if (blockType == null) {<a name="line.476"></a>
-<span class="sourceLineNo">477</span> return true;<a name="line.477"></a>
-<span class="sourceLineNo">478</span> }<a name="line.478"></a>
-<span class="sourceLineNo">479</span> return shouldCacheBlockOnRead(blockType.getCategory());<a name="line.479"></a>
-<span class="sourceLineNo">480</span> }<a name="line.480"></a>
-<span class="sourceLineNo">481</span><a name="line.481"></a>
-<span class="sourceLineNo">482</span> @Override<a name="line.482"></a>
-<span class="sourceLineNo">483</span> public String toString() {<a name="line.483"></a>
-<span class="sourceLineNo">484</span> if (!isBlockCacheEnabled()) {<a name="line.484"></a>
-<span class="sourceLineNo">485</span> return "CacheConfig:disabled";<a name="line.485"></a>
-<span class="sourceLineNo">486</span> }<a name="line.486"></a>
-<span class="sourceLineNo">487</span> return "blockCache=" + getBlockCache() +<a name="line.487"></a>
-<span class="sourceLineNo">488</span> ", cacheDataOnRead=" + shouldCacheDataOnRead() +<a name="line.488"></a>
-<span class="sourceLineNo">489</span> ", cacheDataOnWrite=" + shouldCacheDataOnWrite() +<a name="line.489"></a>
-<span class="sourceLineNo">490</span> ", cacheIndexesOnWrite=" + shouldCacheIndexesOnWrite() +<a name="line.490"></a>
-<span class="sourceLineNo">491</span> ", cacheBloomsOnWrite=" + shouldCacheBloomsOnWrite() +<a name="line.491"></a>
-<span class="sourceLineNo">492</span> ", cacheEvictOnClose=" + shouldEvictOnClose() +<a name="line.492"></a>
-<span class="sourceLineNo">493</span> ", cacheDataCompressed=" + shouldCacheDataCompressed() +<a name="line.493"></a>
-<span class="sourceLineNo">494</span> ", prefetchOnOpen=" + shouldPrefetchOnOpen();<a name="line.494"></a>
-<span class="sourceLineNo">495</span> }<a name="line.495"></a>
-<span class="sourceLineNo">496</span><a name="line.496"></a>
-<span class="sourceLineNo">497</span> // Static block cache reference and methods<a name="line.497"></a>
-<span class="sourceLineNo">498</span><a name="line.498"></a>
-<span class="sourceLineNo">499</span> /**<a name="line.499"></a>
-<span class="sourceLineNo">500</span> * Static reference to the block cache, or null if no caching should be used<a name="line.500"></a>
-<span class="sourceLineNo">501</span> * at all.<a name="line.501"></a>
-<span class="sourceLineNo">502</span> */<a name="line.502"></a>
-<span class="sourceLineNo">503</span> // Clear this if in tests you'd make more than one block cache instance.<a name="line.503"></a>
-<span class="sourceLineNo">504</span> @VisibleForTesting<a name="line.504"></a>
-<span class="sourceLineNo">505</span> static BlockCache GLOBAL_BLOCK_CACHE_INSTANCE;<a name="line.505"></a>
-<span class="sourceLineNo">506</span> private static LruBlockCache ONHEAP_CACHE_INSTANCE = null;<a name="line.506"></a>
-<span class="sourceLineNo">507</span> private static BlockCache L2_CACHE_INSTANCE = null;// Can be BucketCache or External cache.<a name="line.507"></a>
-<span class="sourceLineNo">508</span><a name="line.508"></a>
-<span class="sourceLineNo">509</span> /** Boolean whether we have disabled the block cache entirely. */<a name="line.509"></a>
-<span class="sourceLineNo">510</span> @VisibleForTesting<a name="line.510"></a>
-<span class="sourceLineNo">511</span> static boolean blockCacheDisabled = false;<a name="line.511"></a>
-<span class="sourceLineNo">512</span><a name="line.512"></a>
-<span class="sourceLineNo">513</span> /**<a name="line.513"></a>
-<span class="sourceLineNo">514</span> * @param c Configuration to use.<a name="line.514"></a>
-<span class="sourceLineNo">515</span> * @return An L1 instance. Currently an instance of LruBlockCache.<a name="line.515"></a>
-<span class="sourceLineNo">516</span> */<a name="line.516"></a>
-<span class="sourceLineNo">517</span> public static LruBlockCache getOnHeapCache(final Configuration c) {<a name="line.517"></a>
-<span class="sourceLineNo">518</span> return getOnHeapCacheInternal(c);<a name="line.518"></a>
-<span class="sourceLineNo">519</span> }<a name="line.519"></a>
-<span class="sourceLineNo">520</span><a name="line.520"></a>
-<span class="sourceLineNo">521</span> public CacheStats getOnHeapCacheStats() {<a name="line.521"></a>
-<span class="sourceLineNo">522</span> if (ONHEAP_CACHE_INSTANCE != null) {<a name="line.522"></a>
-<span class="sourceLineNo">523</span> return ONHEAP_CACHE_INSTANCE.getStats();<a name="line.523"></a>
-<span class="sourceLineNo">524</span> }<a name="line.524"></a>
-<span class="sourceLineNo">525</span> return null;<a name="line.525"></a>
-<span class="sourceLineNo">526</span> }<a name="line.526"></a>
-<span class="sourceLineNo">527</span><a name="line.527"></a>
-<span class="sourceLineNo">528</span> public CacheStats getL2CacheStats() {<a name="line.528"></a>
-<span class="sourceLineNo">529</span> if (L2_CACHE_INSTANCE != null) {<a name="line.529"></a>
-<span class="sourceLineNo">530</span> return L2_CACHE_INSTANCE.getStats();<a name="line.530"></a>
-<span class="sourceLineNo">531</span> }<a name="line.531"></a>
-<span class="sourceLineNo">532</span> return null;<a name="line.532"></a>
-<span class="sourceLineNo">533</span> }<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span> /**<a name="line.535"></a>
-<span class="sourceLineNo">536</span> * @param c Configuration to use.<a name="line.536"></a>
-<span class="sourceLineNo">537</span> * @return An L1 instance. Currently an instance of LruBlockCache.<a name="line.537"></a>
-<span class="sourceLineNo">538</span> */<a name="line.538"></a>
-<span class="sourceLineNo">539</span> private synchronized static LruBlockCache getOnHeapCacheInternal(final Configuration c) {<a name="line.539"></a>
-<span class="sourceLineNo">540</span> if (ONHEAP_CACHE_INSTANCE != null) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span> return ONHEAP_CACHE_INSTANCE;<a name="line.541"></a>
-<span class="sourceLineNo">542</span> }<a name="line.542"></a>
-<span class="sourceLineNo">543</span> final long cacheSize = MemorySizeUtil.getOnHeapCacheSize(c);<a name="line.543"></a>
-<span class="sourceLineNo">544</span> if (cacheSize < 0) {<a name="line.544"></a>
-<span class="sourceLineNo">545</span> blockCacheDisabled = true;<a name="line.545"></a>
-<span class="sourceLineNo">546</span> }<a name="line.546"></a>
-<span class="sourceLineNo">547</span> if (blockCacheDisabled) return null;<a name="line.547"></a>
-<span class="sourceLineNo">548</span> int blockSize = c.getInt(BLOCKCACHE_BLOCKSIZE_KEY, HConstants.DEFAULT_BLOCKSIZE);<a name="line.548"></a>
-<span class="sourceLineNo">549</span> LOG.info("Allocating onheap LruBlockCache size=" +<a name="line.549"></a>
-<span class="sourceLineNo">550</span> StringUtils.byteDesc(cacheSize) + ", blockSize=" + StringUtils.byteDesc(blockSize));<a name="line.550"></a>
-<span class="sourceLineNo">551</span> ONHEAP_CACHE_INSTANCE = new LruBlockCache(cacheSize, blockSize, true, c);<a name="line.551"></a>
-<span class="sourceLineNo">552</span> return ONHEAP_CACHE_INSTANCE;<a name="line.552"></a>
-<span class="sourceLineNo">553</span> }<a name="line.553"></a>
-<span class="sourceLineNo">554</span><a name="line.554"></a>
-<span class="sourceLineNo">555</span> private static BlockCache getExternalBlockcache(Configuration c) {<a name="line.555"></a>
-<span class="sourceLineNo">556</span> if (LOG.isDebugEnabled()) {<a name="line.556"></a>
-<span class="sourceLineNo">557</span> LOG.debug("Trying to use External l2 cache");<a name="line.557"></a>
-<span class="sourceLineNo">558</span> }<a name="line.558"></a>
-<span class="sourceLineNo">559</span> Class klass = null;<a name="line.559"></a>
-<span class="sourceLineNo">560</span><a name="line.560"></a>
-<span class="sourceLineNo">561</span> // Get the class, from the config. s<a name="line.561"></a>
-<span class="sourceLineNo">562</span> try {<a name="line.562"></a>
-<span class="sourceLineNo">563</span> klass = ExternalBlockCaches.valueOf(c.get(EXTERNAL_BLOCKCACHE_CLASS_KEY, "memcache")).clazz;<a name="line.563"></a>
-<span class="sourceLineNo">564</span> } catch (IllegalArgumentException exception) {<a name="line.564"></a>
-<span class="sourceLineNo">565</span> try {<a name="line.565"></a>
-<span class="sourceLineNo">566</span> klass = c.getClass(EXTERNAL_BLOCKCACHE_CLASS_KEY, Class.forName(<a name="line.566"></a>
-<span class="sourceLineNo">567</span> "org.apache.hadoop.hbase.io.hfile.MemcachedBlockCache"));<a name="line.567"></a>
-<span class="sourceLineNo">568</span> } catch (ClassNotFoundException e) {<a name="line.568"></a>
-<span class="sourceLineNo">569</span> return null;<a name="line.569"></a>
-<span class="sourceLineNo">570</span> }<a name="line.570"></a>
-<span class="sourceLineNo">571</span> }<a name="line.571"></a>
-<span class="sourceLineNo">572</span><a name="line.572"></a>
-<span class="sourceLineNo">573</span> // Now try and create an instance of the block cache.<a name="line.573"></a>
-<span class="sourceLineNo">574</span> try {<a name="line.574"></a>
-<span class="sourceLineNo">575</span> LOG.info("Creating external block cache of type: " + klass);<a name="line.575"></a>
-<span class="sourceLineNo">576</span> return (BlockCache) ReflectionUtils.newInstance(klass, c);<a name="line.576"></a>
-<span class="sourceLineNo">577</span> } catch (Exception e) {<a name="line.577"></a>
-<span class="sourceLineNo">578</span> LOG.warn("Error creating external block cache", e);<a name="line.578"></a>
-<span class="sourceLineNo">579</span> }<a name="line.579"></a>
-<span class="sourceLineNo">580</span> return null;<a name="line.580"></a>
-<span class="sourceLineNo">581</span><a name="line.581"></a>
-<span class="sourceLineNo">582</span> }<a name="line.582"></a>
-<span class="sourceLineNo">583</span><a name="line.583"></a>
-<span class="sourceLineNo">584</span> @VisibleForTesting<a name="line.584"></a>
-<span class="sourceLineNo">585</span> static BucketCache getBucketCache(Configuration c) {<a name="line.585"></a>
-<span class="sourceLineNo">586</span> // Check for L2. ioengine name must be non-null.<a name="line.586"></a>
-<span class="sourceLineNo">587</span> String bucketCacheIOEngineName = c.get(BUCKET_CACHE_IOENGINE_KEY, null);<a name="line.587"></a>
-<span class="sourceLineNo">588</span> if (bucketCacheIOEngineName == null || bucketCacheIOEngineName.length() <= 0) return null;<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span> int blockSize = c.getInt(BLOCKCACHE_BLOCKSIZE_KEY, HConstants.DEFAULT_BLOCKSIZE);<a name="line.590"></a>
-<span class="sourceLineNo">591</span> final long bucketCacheSize = MemorySizeUtil.getBucketCacheSize(c);<a name="line.591"></a>
-<span class="sourceLineNo">592</span> if (bucketCacheSize <= 0) {<a name="line.592"></a>
-<span class="sourceLineNo">593</span> throw new IllegalStateException("bucketCacheSize <= 0; Check " +<a name="line.593"></a>
-<span class="sourceLineNo">594</span> BUCKET_CACHE_SIZE_KEY + " setting and/or server java heap size");<a name="line.594"></a>
-<span class="sourceLineNo">595</span> }<a name="line.595"></a>
-<span class="sourceLineNo">596</span> if (c.get("hbase.bucketcache.percentage.in.combinedcache") != null) {<a name="line.596"></a>
-<span class="sourceLineNo">597</span> LOG.warn("Configuration 'hbase.bucketcache.percentage.in.combinedcache' is no longer "<a name="line.597"></a>
-<span class="sourceLineNo">598</span> + "respected. See comments in http://hbase.apache.org/book.html#_changes_of_note");<a name="line.598"></a>
-<span class="sourceLineNo">599</span> }<a name="line.599"></a>
-<span class="sourceLineNo">600</span> int writerThreads = c.getInt(BUCKET_CACHE_WRITER_THREADS_KEY,<a name="line.600"></a>
-<span class="sourceLineNo">601</span> DEFAULT_BUCKET_CACHE_WRITER_THREADS);<a name="line.601"></a>
-<span class="sourceLineNo">602</span> int writerQueueLen = c.getInt(BUCKET_CACHE_WRITER_QUEUE_KEY,<a name="line.602"></a>
-<span class="sourceLineNo">603</span> DEFAULT_BUCKET_CACHE_WRITER_QUEUE);<a name="line.603"></a>
-<span class="sourceLineNo">604</span> String persistentPath = c.get(BUCKET_CACHE_PERSISTENT_PATH_KEY);<a name="line.604"></a>
-<span class="sourceLineNo">605</span> String[] configuredBucketSizes = c.getStrings(BUCKET_CACHE_BUCKETS_KEY);<a name="line.605"></a>
-<span class="sourceLineNo">606</span> int [] bucketSizes = null;<a name="line.606"></a>
-<span class="sourceLineNo">607</span> if (configuredBucketSizes != null) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span> bucketSizes = new int[configuredBucketSizes.length];<a name="line.608"></a>
-<span class="sourceLineNo">609</span> for (int i = 0; i < configuredBucketSizes.length; i++) {<a name="line.609"></a>
-<span class="sourceLineNo">610</span> int bucketSize = Integer.parseInt(configuredBucketSizes[i].trim());<a name="line.610"></a>
-<span class="sourceLineNo">611</span> if (bucketSize % 256 != 0) {<a name="line.611"></a>
-<span class="sourceLineNo">612</span> // We need all the bucket sizes to be multiples of 256. Having all the configured bucket<a name="line.612"></a>
-<span class="sourceLineNo">613</span> // sizes to be multiples of 256 will ensure that the block offsets within buckets,<a name="line.613"></a>
-<span class="sourceLineNo">614</span> // that are calculated, will also be multiples of 256.<a name="line.614"></a>
-<span class="sourceLineNo">615</span> // See BucketEntry where offset to each block is represented using 5 bytes (instead of 8<a name="line.615"></a>
-<span class="sourceLineNo">616</span> // bytes long). We would like to save heap overhead as less as possible.<a name="line.616"></a>
-<span class="sourceLineNo">617</span> throw new IllegalArgumentException("Illegal value: " + bucketSize + " configured for '"<a name="line.617"></a>
-<span class="sourceLineNo">618</span> + BUCKET_CACHE_BUCKETS_KEY + "'. All bucket sizes to be multiples of 256");<a name="line.618"></a>
-<span class="sourceLineNo">619</span> }<a name="line.619"></a>
-<span class="sourceLineNo">620</span> bucketSizes[i] = bucketSize;<a name="line.620"></a>
-<span class="sourceLineNo">621</span> }<a name="line.621"></a>
-<span class="sourceLineNo">622</span> }<a name="line.622"></a>
-<span class="sourceLineNo">623</span> BucketCache bucketCache = null;<a name="line.623"></a>
-<span class="sourceLineNo">624</span> try {<a name="line.624"></a>
-<span class="sourceLineNo">625</span> int ioErrorsTolerationDuration = c.getInt(<a name="line.625"></a>
-<span class="sourceLineNo">626</span> "hbase.bucketcache.ioengine.errors.tolerated.duration",<a name="line.626"></a>
-<span class="sourceLineNo">627</span> BucketCache.DEFAULT_ERROR_TOLERATION_DURATION);<a name="line.627"></a>
-<span class="sourceLineNo">628</span> // Bucket cache logs its stats on creation internal to the constructor.<a name="line.628"></a>
-<span class="sourceLineNo">629</span> bucketCache = new BucketCache(bucketCacheIOEngineName,<a name="line.629"></a>
-<span class="sourceLineNo">630</span> bucketCacheSize, blockSize, bucketSizes, writerThreads, writerQueueLen, persistentPath,<a name="line.630"></a>
-<span class="sourceLineNo">631</span> ioErrorsTolerationDuration, c);<a name="line.631"></a>
-<span class="sourceLineNo">632</span> } catch (IOException ioex) {<a name="line.632"></a>
-<span class="sourceLineNo">633</span> LOG.error("Can't instantiate bucket cache", ioex); throw new RuntimeException(ioex);<a name="line.633"></a>
-<span class="sourceLineNo">634</span> }<a name="line.634"></a>
-<span class="sourceLineNo">635</span> return bucketCache;<a name="line.635"></a>
-<span class="sourceLineNo">636</span> }<a name="line.636"></a>
-<span class="sourceLineNo">637</span><a name="line.637"></a>
-<span class="sourceLineNo">638</span> /**<a name="line.638"></a>
-<span class="sourceLineNo">639</span> * Returns the block cache or <code>null</code> in case none should be used.<a name="line.639"></a>
-<span class="sourceLineNo">640</span> * Sets GLOBAL_BLOCK_CACHE_INSTANCE<a name="line.640"></a>
-<span class="sourceLineNo">641</span> *<a name="line.641"></a>
-<span class="sourceLineNo">642</span> * @param conf The current configuration.<a name="line.642"></a>
-<span class="sourceLineNo">643</span> * @return The block cache or <code>null</code>.<a name="line.643"></a>
-<span class="sourceLineNo">644</span> */<a name="line.644"></a>
-<span class="sourceLineNo">645</span> public static synchronized BlockCache instantiateBlockCache(Configuration conf) {<a name="line.645"></a>
-<span class="sourceLineNo">646</span> if (GLOBAL_BLOCK_CACHE_INSTANCE != null) {<a name="line.646"></a>
-<span class="sourceLineNo">647</span> return GLOBAL_BLOCK_CACHE_INSTANCE;<a name="line.647"></a>
-<span class="sourceLineNo">648</span> }<a name="line.648"></a>
-<span class="sourceLineNo">649</span> if (blockCacheDisabled) {<a name="line.649"></a>
-<span class="sourceLineNo">650</span> return null;<a name="line.650"></a>
-<span class="sourceLineNo">651</span> }<a name="line.651"></a>
-<span class="sourceLineNo">652</span> LruBlockCache onHeapCache = getOnHeapCacheInternal(conf);<a name="line.652"></a>
-<span class="sourceLineNo">653</span> // blockCacheDisabled is set as a side-effect of getL1Internal(), so check it again after the<a name="line.653"></a>
-<span class="sourceLineNo">654</span> // call.<a name="line.654"></a>
-<span class="sourceLineNo">655</span> if (blockCacheDisabled) {<a name="line.655"></a>
-<span class="sourceLineNo">656</span> return null;<a name="line.656"></a>
-<span class="sourceLineNo">657</span> }<a name="line.657"></a>
-<span class="sourceLineNo">658</span> boolean useExternal = conf.getBoolean(EXTERNAL_BLOCKCACHE_KEY, EXTERNAL_BLOCKCACHE_DEFAULT);<a name="line.658"></a>
-<span class="sourceLineNo">659</span> if (useExternal) {<a name="line.659"></a>
-<span class="sourceLineNo">660</span> L2_CACHE_INSTANCE = getExternalBlockcache(conf);<a name="line.660"></a>
-<span class="sourceLineNo">661</span> GLOBAL_BLOCK_CACHE_INSTANCE = L2_CACHE_INSTANCE == null ? onHeapCache<a name="line.661"></a>
-<span class="sourceLineNo">662</span> : new InclusiveCombinedBlockCache(onHeapCache, L2_CACHE_INSTANCE);<a name="line.662"></a>
-<span class="sourceLineNo">663</span> } else {<a name="line.663"></a>
-<span class="sourceLineNo">664</span> // otherwise use the bucket cache.<a name="line.664"></a>
-<span class="sourceLineNo">665</span> L2_CACHE_INSTANCE = getBucketCache(conf);<a name="line.665"></a>
-<span class="sourceLineNo">666</span> if (!conf.getBoolean("hbase.bucketcache.combinedcache.enabled", true)) {<a name="line.666"></a>
-<span class="sourceLineNo">667</span> // Non combined mode is off from 2.0<a name="line.667"></a>
-<span class="sourceLineNo">668</span> LOG.warn(<a name="line.668"></a>
-<span class="sourceLineNo">669</span> "From HBase 2.0 onwards only combined mode of LRU cache and bucket cache is available");<a name="line.669"></a>
-<span class="sourceLineNo">670</span> }<a name="line.670"></a>
-<span class="sourceLineNo">671</span> GLOBAL_BLOCK_CACHE_INSTANCE = L2_CACHE_INSTANCE == null ? onHeapCache<a name="line.671"></a>
-<span class="sourceLineNo">672</span> : new CombinedBlockCache(onHeapCache, L2_CACHE_INSTANCE);<a name="line.672"></a>
-<span class="sourceLineNo">673</span> }<a name="line.673"></a>
-<span class="sourceLineNo">674</span> return GLOBAL_BLOCK_CACHE_INSTANCE;<a name="line.674"></a>
-<span class="sourceLineNo">675</span> }<a name="line.675"></a>
-<span class="sourceLineNo">676</span><a name="line.676"></a>
-<span class="sourceLineNo">677</span> // Supposed to use only from tests. Some tests want to reinit the Global block cache instance<a name="line.677"></a>
-<span class="sourceLineNo">678</span> @VisibleForTesting<a name="line.678"></a>
-<span class="sourceLineNo">679</span> static synchronized void clearGlobalInstances() {<a name="line.679"></a>
-<span class="sourceLineNo">680</span> ONHEAP_CACHE_INSTANCE = null;<a name="line.680"></a>
-<span class="sourceLineNo">681</span> L2_CACHE_INSTANCE = null;<a name="line.681"></a>
-<span class="sourceLineNo">682</span> GLOBAL_BLOCK_CACHE_INSTANCE = null;<a name="line.682"></a>
-<span class="sourceLineNo">683</span> }<a name="line.683"></a>
-<span class="sourceLineNo">684</span>}<a name="line.684"></a>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</pre>
-</div>
-</body>
-</html>
[07/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html
index 79cb21b..d8d391b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.EncodedScanner.html
@@ -378,1508 +378,1510 @@
<span class="sourceLineNo">370</span><a name="line.370"></a>
<span class="sourceLineNo">371</span> @Override<a name="line.371"></a>
<span class="sourceLineNo">372</span> public void returnBlock(HFileBlock block) {<a name="line.372"></a>
-<span class="sourceLineNo">373</span> BlockCache blockCache = this.cacheConf.getBlockCache();<a name="line.373"></a>
-<span class="sourceLineNo">374</span> if (blockCache != null && block != null) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span> BlockCacheKey cacheKey = new BlockCacheKey(this.getFileContext().getHFileName(),<a name="line.375"></a>
-<span class="sourceLineNo">376</span> block.getOffset(), this.isPrimaryReplicaReader(), block.getBlockType());<a name="line.376"></a>
-<span class="sourceLineNo">377</span> blockCache.returnBlock(cacheKey, block);<a name="line.377"></a>
-<span class="sourceLineNo">378</span> }<a name="line.378"></a>
-<span class="sourceLineNo">379</span> }<a name="line.379"></a>
-<span class="sourceLineNo">380</span> /**<a name="line.380"></a>
-<span class="sourceLineNo">381</span> * @return the first key in the file. May be null if file has no entries. Note<a name="line.381"></a>
-<span class="sourceLineNo">382</span> * that this is not the first row key, but rather the byte form of the<a name="line.382"></a>
-<span class="sourceLineNo">383</span> * first KeyValue.<a name="line.383"></a>
-<span class="sourceLineNo">384</span> */<a name="line.384"></a>
-<span class="sourceLineNo">385</span> @Override<a name="line.385"></a>
-<span class="sourceLineNo">386</span> public Optional<Cell> getFirstKey() {<a name="line.386"></a>
-<span class="sourceLineNo">387</span> if (dataBlockIndexReader == null) {<a name="line.387"></a>
-<span class="sourceLineNo">388</span> throw new BlockIndexNotLoadedException();<a name="line.388"></a>
-<span class="sourceLineNo">389</span> }<a name="line.389"></a>
-<span class="sourceLineNo">390</span> return dataBlockIndexReader.isEmpty() ? Optional.empty()<a name="line.390"></a>
-<span class="sourceLineNo">391</span> : Optional.of(dataBlockIndexReader.getRootBlockKey(0));<a name="line.391"></a>
-<span class="sourceLineNo">392</span> }<a name="line.392"></a>
-<span class="sourceLineNo">393</span><a name="line.393"></a>
-<span class="sourceLineNo">394</span> /**<a name="line.394"></a>
-<span class="sourceLineNo">395</span> * TODO left from {@link HFile} version 1: move this to StoreFile after Ryan's<a name="line.395"></a>
-<span class="sourceLineNo">396</span> * patch goes in to eliminate {@link KeyValue} here.<a name="line.396"></a>
-<span class="sourceLineNo">397</span> *<a name="line.397"></a>
-<span class="sourceLineNo">398</span> * @return the first row key, or null if the file is empty.<a name="line.398"></a>
-<span class="sourceLineNo">399</span> */<a name="line.399"></a>
-<span class="sourceLineNo">400</span> @Override<a name="line.400"></a>
-<span class="sourceLineNo">401</span> public Optional<byte[]> getFirstRowKey() {<a name="line.401"></a>
-<span class="sourceLineNo">402</span> // We have to copy the row part to form the row key alone<a name="line.402"></a>
-<span class="sourceLineNo">403</span> return getFirstKey().map(CellUtil::cloneRow);<a name="line.403"></a>
-<span class="sourceLineNo">404</span> }<a name="line.404"></a>
-<span class="sourceLineNo">405</span><a name="line.405"></a>
-<span class="sourceLineNo">406</span> /**<a name="line.406"></a>
-<span class="sourceLineNo">407</span> * TODO left from {@link HFile} version 1: move this to StoreFile after<a name="line.407"></a>
-<span class="sourceLineNo">408</span> * Ryan's patch goes in to eliminate {@link KeyValue} here.<a name="line.408"></a>
-<span class="sourceLineNo">409</span> *<a name="line.409"></a>
-<span class="sourceLineNo">410</span> * @return the last row key, or null if the file is empty.<a name="line.410"></a>
-<span class="sourceLineNo">411</span> */<a name="line.411"></a>
-<span class="sourceLineNo">412</span> @Override<a name="line.412"></a>
-<span class="sourceLineNo">413</span> public Optional<byte[]> getLastRowKey() {<a name="line.413"></a>
-<span class="sourceLineNo">414</span> // We have to copy the row part to form the row key alone<a name="line.414"></a>
-<span class="sourceLineNo">415</span> return getLastKey().map(CellUtil::cloneRow);<a name="line.415"></a>
-<span class="sourceLineNo">416</span> }<a name="line.416"></a>
-<span class="sourceLineNo">417</span><a name="line.417"></a>
-<span class="sourceLineNo">418</span> /** @return number of KV entries in this HFile */<a name="line.418"></a>
-<span class="sourceLineNo">419</span> @Override<a name="line.419"></a>
-<span class="sourceLineNo">420</span> public long getEntries() {<a name="line.420"></a>
-<span class="sourceLineNo">421</span> return trailer.getEntryCount();<a name="line.421"></a>
-<span class="sourceLineNo">422</span> }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span> /** @return comparator */<a name="line.424"></a>
-<span class="sourceLineNo">425</span> @Override<a name="line.425"></a>
-<span class="sourceLineNo">426</span> public CellComparator getComparator() {<a name="line.426"></a>
-<span class="sourceLineNo">427</span> return comparator;<a name="line.427"></a>
-<span class="sourceLineNo">428</span> }<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span> /** @return compression algorithm */<a name="line.430"></a>
-<span class="sourceLineNo">431</span> @Override<a name="line.431"></a>
-<span class="sourceLineNo">432</span> public Compression.Algorithm getCompressionAlgorithm() {<a name="line.432"></a>
-<span class="sourceLineNo">433</span> return compressAlgo;<a name="line.433"></a>
-<span class="sourceLineNo">434</span> }<a name="line.434"></a>
-<span class="sourceLineNo">435</span><a name="line.435"></a>
-<span class="sourceLineNo">436</span> /**<a name="line.436"></a>
-<span class="sourceLineNo">437</span> * @return the total heap size of data and meta block indexes in bytes. Does<a name="line.437"></a>
-<span class="sourceLineNo">438</span> * not take into account non-root blocks of a multilevel data index.<a name="line.438"></a>
-<span class="sourceLineNo">439</span> */<a name="line.439"></a>
-<span class="sourceLineNo">440</span> @Override<a name="line.440"></a>
-<span class="sourceLineNo">441</span> public long indexSize() {<a name="line.441"></a>
-<span class="sourceLineNo">442</span> return (dataBlockIndexReader != null ? dataBlockIndexReader.heapSize() : 0)<a name="line.442"></a>
-<span class="sourceLineNo">443</span> + ((metaBlockIndexReader != null) ? metaBlockIndexReader.heapSize()<a name="line.443"></a>
-<span class="sourceLineNo">444</span> : 0);<a name="line.444"></a>
-<span class="sourceLineNo">445</span> }<a name="line.445"></a>
-<span class="sourceLineNo">446</span><a name="line.446"></a>
-<span class="sourceLineNo">447</span> @Override<a name="line.447"></a>
-<span class="sourceLineNo">448</span> public String getName() {<a name="line.448"></a>
-<span class="sourceLineNo">449</span> return name;<a name="line.449"></a>
-<span class="sourceLineNo">450</span> }<a name="line.450"></a>
-<span class="sourceLineNo">451</span><a name="line.451"></a>
-<span class="sourceLineNo">452</span> @Override<a name="line.452"></a>
-<span class="sourceLineNo">453</span> public HFileBlockIndex.BlockIndexReader getDataBlockIndexReader() {<a name="line.453"></a>
-<span class="sourceLineNo">454</span> return dataBlockIndexReader;<a name="line.454"></a>
-<span class="sourceLineNo">455</span> }<a name="line.455"></a>
-<span class="sourceLineNo">456</span><a name="line.456"></a>
-<span class="sourceLineNo">457</span> @Override<a name="line.457"></a>
-<span class="sourceLineNo">458</span> public FixedFileTrailer getTrailer() {<a name="line.458"></a>
-<span class="sourceLineNo">459</span> return trailer;<a name="line.459"></a>
-<span class="sourceLineNo">460</span> }<a name="line.460"></a>
-<span class="sourceLineNo">461</span><a name="line.461"></a>
-<span class="sourceLineNo">462</span> @Override<a name="line.462"></a>
-<span class="sourceLineNo">463</span> public boolean isPrimaryReplicaReader() {<a name="line.463"></a>
-<span class="sourceLineNo">464</span> return primaryReplicaReader;<a name="line.464"></a>
-<span class="sourceLineNo">465</span> }<a name="line.465"></a>
-<span class="sourceLineNo">466</span><a name="line.466"></a>
-<span class="sourceLineNo">467</span> @Override<a name="line.467"></a>
-<span class="sourceLineNo">468</span> public FileInfo loadFileInfo() throws IOException {<a name="line.468"></a>
-<span class="sourceLineNo">469</span> return fileInfo;<a name="line.469"></a>
-<span class="sourceLineNo">470</span> }<a name="line.470"></a>
-<span class="sourceLineNo">471</span><a name="line.471"></a>
-<span class="sourceLineNo">472</span> /**<a name="line.472"></a>
-<span class="sourceLineNo">473</span> * An exception thrown when an operation requiring a scanner to be seeked<a name="line.473"></a>
-<span class="sourceLineNo">474</span> * is invoked on a scanner that is not seeked.<a name="line.474"></a>
-<span class="sourceLineNo">475</span> */<a name="line.475"></a>
-<span class="sourceLineNo">476</span> @SuppressWarnings("serial")<a name="line.476"></a>
-<span class="sourceLineNo">477</span> public static class NotSeekedException extends IllegalStateException {<a name="line.477"></a>
-<span class="sourceLineNo">478</span> public NotSeekedException() {<a name="line.478"></a>
-<span class="sourceLineNo">479</span> super("Not seeked to a key/value");<a name="line.479"></a>
-<span class="sourceLineNo">480</span> }<a name="line.480"></a>
-<span class="sourceLineNo">481</span> }<a name="line.481"></a>
-<span class="sourceLineNo">482</span><a name="line.482"></a>
-<span class="sourceLineNo">483</span> protected static class HFileScannerImpl implements HFileScanner {<a name="line.483"></a>
-<span class="sourceLineNo">484</span> private ByteBuff blockBuffer;<a name="line.484"></a>
-<span class="sourceLineNo">485</span> protected final boolean cacheBlocks;<a name="line.485"></a>
-<span class="sourceLineNo">486</span> protected final boolean pread;<a name="line.486"></a>
-<span class="sourceLineNo">487</span> protected final boolean isCompaction;<a name="line.487"></a>
-<span class="sourceLineNo">488</span> private int currKeyLen;<a name="line.488"></a>
-<span class="sourceLineNo">489</span> private int currValueLen;<a name="line.489"></a>
-<span class="sourceLineNo">490</span> private int currMemstoreTSLen;<a name="line.490"></a>
-<span class="sourceLineNo">491</span> private long currMemstoreTS;<a name="line.491"></a>
-<span class="sourceLineNo">492</span> // Updated but never read?<a name="line.492"></a>
-<span class="sourceLineNo">493</span> protected AtomicInteger blockFetches = new AtomicInteger(0);<a name="line.493"></a>
-<span class="sourceLineNo">494</span> protected final HFile.Reader reader;<a name="line.494"></a>
-<span class="sourceLineNo">495</span> private int currTagsLen;<a name="line.495"></a>
-<span class="sourceLineNo">496</span> // buffer backed keyonlyKV<a name="line.496"></a>
-<span class="sourceLineNo">497</span> private ByteBufferKeyOnlyKeyValue bufBackedKeyOnlyKv = new ByteBufferKeyOnlyKeyValue();<a name="line.497"></a>
-<span class="sourceLineNo">498</span> // A pair for reusing in blockSeek() so that we don't garbage lot of objects<a name="line.498"></a>
-<span class="sourceLineNo">499</span> final ObjectIntPair<ByteBuffer> pair = new ObjectIntPair<>();<a name="line.499"></a>
-<span class="sourceLineNo">500</span><a name="line.500"></a>
-<span class="sourceLineNo">501</span> /**<a name="line.501"></a>
-<span class="sourceLineNo">502</span> * The next indexed key is to keep track of the indexed key of the next data block.<a name="line.502"></a>
-<span class="sourceLineNo">503</span> * If the nextIndexedKey is HConstants.NO_NEXT_INDEXED_KEY, it means that the<a name="line.503"></a>
-<span class="sourceLineNo">504</span> * current data block is the last data block.<a name="line.504"></a>
-<span class="sourceLineNo">505</span> *<a name="line.505"></a>
-<span class="sourceLineNo">506</span> * If the nextIndexedKey is null, it means the nextIndexedKey has not been loaded yet.<a name="line.506"></a>
-<span class="sourceLineNo">507</span> */<a name="line.507"></a>
-<span class="sourceLineNo">508</span> protected Cell nextIndexedKey;<a name="line.508"></a>
-<span class="sourceLineNo">509</span> // Current block being used<a name="line.509"></a>
-<span class="sourceLineNo">510</span> protected HFileBlock curBlock;<a name="line.510"></a>
-<span class="sourceLineNo">511</span> // Previous blocks that were used in the course of the read<a name="line.511"></a>
-<span class="sourceLineNo">512</span> protected final ArrayList<HFileBlock> prevBlocks = new ArrayList<>();<a name="line.512"></a>
-<span class="sourceLineNo">513</span><a name="line.513"></a>
-<span class="sourceLineNo">514</span> public HFileScannerImpl(final HFile.Reader reader, final boolean cacheBlocks,<a name="line.514"></a>
-<span class="sourceLineNo">515</span> final boolean pread, final boolean isCompaction) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span> this.reader = reader;<a name="line.516"></a>
-<span class="sourceLineNo">517</span> this.cacheBlocks = cacheBlocks;<a name="line.517"></a>
-<span class="sourceLineNo">518</span> this.pread = pread;<a name="line.518"></a>
-<span class="sourceLineNo">519</span> this.isCompaction = isCompaction;<a name="line.519"></a>
-<span class="sourceLineNo">520</span> }<a name="line.520"></a>
-<span class="sourceLineNo">521</span><a name="line.521"></a>
-<span class="sourceLineNo">522</span> void updateCurrBlockRef(HFileBlock block) {<a name="line.522"></a>
-<span class="sourceLineNo">523</span> if (block != null && this.curBlock != null &&<a name="line.523"></a>
-<span class="sourceLineNo">524</span> block.getOffset() == this.curBlock.getOffset()) {<a name="line.524"></a>
-<span class="sourceLineNo">525</span> return;<a name="line.525"></a>
-<span class="sourceLineNo">526</span> }<a name="line.526"></a>
-<span class="sourceLineNo">527</span> // We don't have to keep ref to EXCLUSIVE type of block<a name="line.527"></a>
-<span class="sourceLineNo">528</span> if (this.curBlock != null && this.curBlock.usesSharedMemory()) {<a name="line.528"></a>
-<span class="sourceLineNo">529</span> prevBlocks.add(this.curBlock);<a name="line.529"></a>
-<span class="sourceLineNo">530</span> }<a name="line.530"></a>
-<span class="sourceLineNo">531</span> this.curBlock = block;<a name="line.531"></a>
-<span class="sourceLineNo">532</span> }<a name="line.532"></a>
-<span class="sourceLineNo">533</span><a name="line.533"></a>
-<span class="sourceLineNo">534</span> void reset() {<a name="line.534"></a>
-<span class="sourceLineNo">535</span> // We don't have to keep ref to EXCLUSIVE type of block<a name="line.535"></a>
-<span class="sourceLineNo">536</span> if (this.curBlock != null && this.curBlock.usesSharedMemory()) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span> this.prevBlocks.add(this.curBlock);<a name="line.537"></a>
-<span class="sourceLineNo">538</span> }<a name="line.538"></a>
-<span class="sourceLineNo">539</span> this.curBlock = null;<a name="line.539"></a>
-<span class="sourceLineNo">540</span> }<a name="line.540"></a>
-<span class="sourceLineNo">541</span><a name="line.541"></a>
-<span class="sourceLineNo">542</span> private void returnBlockToCache(HFileBlock block) {<a name="line.542"></a>
-<span class="sourceLineNo">543</span> if (LOG.isTraceEnabled()) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span> LOG.trace("Returning the block : " + block);<a name="line.544"></a>
-<span class="sourceLineNo">545</span> }<a name="line.545"></a>
-<span class="sourceLineNo">546</span> this.reader.returnBlock(block);<a name="line.546"></a>
-<span class="sourceLineNo">547</span> }<a name="line.547"></a>
-<span class="sourceLineNo">548</span><a name="line.548"></a>
-<span class="sourceLineNo">549</span> private void returnBlocks(boolean returnAll) {<a name="line.549"></a>
-<span class="sourceLineNo">550</span> for (int i = 0; i < this.prevBlocks.size(); i++) {<a name="line.550"></a>
-<span class="sourceLineNo">551</span> returnBlockToCache(this.prevBlocks.get(i));<a name="line.551"></a>
-<span class="sourceLineNo">552</span> }<a name="line.552"></a>
-<span class="sourceLineNo">553</span> this.prevBlocks.clear();<a name="line.553"></a>
-<span class="sourceLineNo">554</span> if (returnAll && this.curBlock != null) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span> returnBlockToCache(this.curBlock);<a name="line.555"></a>
-<span class="sourceLineNo">556</span> this.curBlock = null;<a name="line.556"></a>
-<span class="sourceLineNo">557</span> }<a name="line.557"></a>
-<span class="sourceLineNo">558</span> }<a name="line.558"></a>
-<span class="sourceLineNo">559</span> @Override<a name="line.559"></a>
-<span class="sourceLineNo">560</span> public boolean isSeeked(){<a name="line.560"></a>
-<span class="sourceLineNo">561</span> return blockBuffer != null;<a name="line.561"></a>
-<span class="sourceLineNo">562</span> }<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span> @Override<a name="line.564"></a>
-<span class="sourceLineNo">565</span> public String toString() {<a name="line.565"></a>
-<span class="sourceLineNo">566</span> return "HFileScanner for reader " + String.valueOf(getReader());<a name="line.566"></a>
-<span class="sourceLineNo">567</span> }<a name="line.567"></a>
-<span class="sourceLineNo">568</span><a name="line.568"></a>
-<span class="sourceLineNo">569</span> protected void assertSeeked() {<a name="line.569"></a>
-<span class="sourceLineNo">570</span> if (!isSeeked())<a name="line.570"></a>
-<span class="sourceLineNo">571</span> throw new NotSeekedException();<a name="line.571"></a>
-<span class="sourceLineNo">572</span> }<a name="line.572"></a>
-<span class="sourceLineNo">573</span><a name="line.573"></a>
-<span class="sourceLineNo">574</span> @Override<a name="line.574"></a>
-<span class="sourceLineNo">575</span> public HFile.Reader getReader() {<a name="line.575"></a>
-<span class="sourceLineNo">576</span> return reader;<a name="line.576"></a>
-<span class="sourceLineNo">577</span> }<a name="line.577"></a>
-<span class="sourceLineNo">578</span><a name="line.578"></a>
-<span class="sourceLineNo">579</span> // From non encoded HFiles, we always read back KeyValue or its descendant.(Note: When HFile<a name="line.579"></a>
-<span class="sourceLineNo">580</span> // block is in DBB, it will be OffheapKV). So all parts of the Cell is in a contiguous<a name="line.580"></a>
-<span class="sourceLineNo">581</span> // array/buffer. How many bytes we should wrap to make the KV is what this method returns.<a name="line.581"></a>
-<span class="sourceLineNo">582</span> private int getKVBufSize() {<a name="line.582"></a>
-<span class="sourceLineNo">583</span> int kvBufSize = KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen;<a name="line.583"></a>
-<span class="sourceLineNo">584</span> if (currTagsLen > 0) {<a name="line.584"></a>
-<span class="sourceLineNo">585</span> kvBufSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.585"></a>
-<span class="sourceLineNo">586</span> }<a name="line.586"></a>
-<span class="sourceLineNo">587</span> return kvBufSize;<a name="line.587"></a>
-<span class="sourceLineNo">588</span> }<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span> @Override<a name="line.590"></a>
-<span class="sourceLineNo">591</span> public void close() {<a name="line.591"></a>
-<span class="sourceLineNo">592</span> if (!pread) {<a name="line.592"></a>
-<span class="sourceLineNo">593</span> // For seek + pread stream socket should be closed when the scanner is closed. HBASE-9393<a name="line.593"></a>
-<span class="sourceLineNo">594</span> reader.unbufferStream();<a name="line.594"></a>
-<span class="sourceLineNo">595</span> }<a name="line.595"></a>
-<span class="sourceLineNo">596</span> this.returnBlocks(true);<a name="line.596"></a>
-<span class="sourceLineNo">597</span> }<a name="line.597"></a>
-<span class="sourceLineNo">598</span><a name="line.598"></a>
-<span class="sourceLineNo">599</span> // Returns the #bytes in HFile for the current cell. Used to skip these many bytes in current<a name="line.599"></a>
-<span class="sourceLineNo">600</span> // HFile block's buffer so as to position to the next cell.<a name="line.600"></a>
-<span class="sourceLineNo">601</span> private int getCurCellSerializedSize() {<a name="line.601"></a>
-<span class="sourceLineNo">602</span> int curCellSize = KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen<a name="line.602"></a>
-<span class="sourceLineNo">603</span> + currMemstoreTSLen;<a name="line.603"></a>
-<span class="sourceLineNo">604</span> if (this.reader.getFileContext().isIncludesTags()) {<a name="line.604"></a>
-<span class="sourceLineNo">605</span> curCellSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.605"></a>
-<span class="sourceLineNo">606</span> }<a name="line.606"></a>
-<span class="sourceLineNo">607</span> return curCellSize;<a name="line.607"></a>
-<span class="sourceLineNo">608</span> }<a name="line.608"></a>
-<span class="sourceLineNo">609</span><a name="line.609"></a>
-<span class="sourceLineNo">610</span> protected void readKeyValueLen() {<a name="line.610"></a>
-<span class="sourceLineNo">611</span> // This is a hot method. We go out of our way to make this method short so it can be<a name="line.611"></a>
-<span class="sourceLineNo">612</span> // inlined and is not too big to compile. We also manage position in ByteBuffer ourselves<a name="line.612"></a>
-<span class="sourceLineNo">613</span> // because it is faster than going via range-checked ByteBuffer methods or going through a<a name="line.613"></a>
-<span class="sourceLineNo">614</span> // byte buffer array a byte at a time.<a name="line.614"></a>
-<span class="sourceLineNo">615</span> // Get a long at a time rather than read two individual ints. In micro-benchmarking, even<a name="line.615"></a>
-<span class="sourceLineNo">616</span> // with the extra bit-fiddling, this is order-of-magnitude faster than getting two ints.<a name="line.616"></a>
-<span class="sourceLineNo">617</span> // Trying to imitate what was done - need to profile if this is better or<a name="line.617"></a>
-<span class="sourceLineNo">618</span> // earlier way is better by doing mark and reset?<a name="line.618"></a>
-<span class="sourceLineNo">619</span> // But ensure that you read long instead of two ints<a name="line.619"></a>
-<span class="sourceLineNo">620</span> long ll = blockBuffer.getLongAfterPosition(0);<a name="line.620"></a>
-<span class="sourceLineNo">621</span> // Read top half as an int of key length and bottom int as value length<a name="line.621"></a>
-<span class="sourceLineNo">622</span> this.currKeyLen = (int)(ll >> Integer.SIZE);<a name="line.622"></a>
-<span class="sourceLineNo">623</span> this.currValueLen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.623"></a>
-<span class="sourceLineNo">624</span> checkKeyValueLen();<a name="line.624"></a>
-<span class="sourceLineNo">625</span> // Move position past the key and value lengths and then beyond the key and value<a name="line.625"></a>
-<span class="sourceLineNo">626</span> int p = (Bytes.SIZEOF_LONG + currKeyLen + currValueLen);<a name="line.626"></a>
-<span class="sourceLineNo">627</span> if (reader.getFileContext().isIncludesTags()) {<a name="line.627"></a>
-<span class="sourceLineNo">628</span> // Tags length is a short.<a name="line.628"></a>
-<span class="sourceLineNo">629</span> this.currTagsLen = blockBuffer.getShortAfterPosition(p);<a name="line.629"></a>
-<span class="sourceLineNo">630</span> checkTagsLen();<a name="line.630"></a>
-<span class="sourceLineNo">631</span> p += (Bytes.SIZEOF_SHORT + currTagsLen);<a name="line.631"></a>
-<span class="sourceLineNo">632</span> }<a name="line.632"></a>
-<span class="sourceLineNo">633</span> readMvccVersion(p);<a name="line.633"></a>
-<span class="sourceLineNo">634</span> }<a name="line.634"></a>
-<span class="sourceLineNo">635</span><a name="line.635"></a>
-<span class="sourceLineNo">636</span> private final void checkTagsLen() {<a name="line.636"></a>
-<span class="sourceLineNo">637</span> if (checkLen(this.currTagsLen)) {<a name="line.637"></a>
-<span class="sourceLineNo">638</span> throw new IllegalStateException("Invalid currTagsLen " + this.currTagsLen +<a name="line.638"></a>
-<span class="sourceLineNo">639</span> ". Block offset: " + curBlock.getOffset() + ", block length: " +<a name="line.639"></a>
-<span class="sourceLineNo">640</span> this.blockBuffer.limit() +<a name="line.640"></a>
-<span class="sourceLineNo">641</span> ", position: " + this.blockBuffer.position() + " (without header).");<a name="line.641"></a>
-<span class="sourceLineNo">642</span> }<a name="line.642"></a>
-<span class="sourceLineNo">643</span> }<a name="line.643"></a>
-<span class="sourceLineNo">644</span><a name="line.644"></a>
-<span class="sourceLineNo">645</span> /**<a name="line.645"></a>
-<span class="sourceLineNo">646</span> * Read mvcc. Does checks to see if we even need to read the mvcc at all.<a name="line.646"></a>
-<span class="sourceLineNo">647</span> * @param offsetFromPos<a name="line.647"></a>
-<span class="sourceLineNo">648</span> */<a name="line.648"></a>
-<span class="sourceLineNo">649</span> protected void readMvccVersion(final int offsetFromPos) {<a name="line.649"></a>
-<span class="sourceLineNo">650</span> // See if we even need to decode mvcc.<a name="line.650"></a>
-<span class="sourceLineNo">651</span> if (!this.reader.shouldIncludeMemStoreTS()) return;<a name="line.651"></a>
-<span class="sourceLineNo">652</span> if (!this.reader.isDecodeMemStoreTS()) {<a name="line.652"></a>
-<span class="sourceLineNo">653</span> currMemstoreTS = 0;<a name="line.653"></a>
-<span class="sourceLineNo">654</span> currMemstoreTSLen = 1;<a name="line.654"></a>
-<span class="sourceLineNo">655</span> return;<a name="line.655"></a>
-<span class="sourceLineNo">656</span> }<a name="line.656"></a>
-<span class="sourceLineNo">657</span> _readMvccVersion(offsetFromPos);<a name="line.657"></a>
-<span class="sourceLineNo">658</span> }<a name="line.658"></a>
-<span class="sourceLineNo">659</span><a name="line.659"></a>
-<span class="sourceLineNo">660</span> /**<a name="line.660"></a>
-<span class="sourceLineNo">661</span> * Actually do the mvcc read. Does no checks.<a name="line.661"></a>
-<span class="sourceLineNo">662</span> * @param offsetFromPos<a name="line.662"></a>
-<span class="sourceLineNo">663</span> */<a name="line.663"></a>
-<span class="sourceLineNo">664</span> private void _readMvccVersion(int offsetFromPos) {<a name="line.664"></a>
-<span class="sourceLineNo">665</span> // This is Bytes#bytesToVint inlined so can save a few instructions in this hot method; i.e.<a name="line.665"></a>
-<span class="sourceLineNo">666</span> // previous if one-byte vint, we'd redo the vint call to find int size.<a name="line.666"></a>
-<span class="sourceLineNo">667</span> // Also the method is kept small so can be inlined.<a name="line.667"></a>
-<span class="sourceLineNo">668</span> byte firstByte = blockBuffer.getByteAfterPosition(offsetFromPos);<a name="line.668"></a>
-<span class="sourceLineNo">669</span> int len = WritableUtils.decodeVIntSize(firstByte);<a name="line.669"></a>
-<span class="sourceLineNo">670</span> if (len == 1) {<a name="line.670"></a>
-<span class="sourceLineNo">671</span> this.currMemstoreTS = firstByte;<a name="line.671"></a>
-<span class="sourceLineNo">672</span> } else {<a name="line.672"></a>
-<span class="sourceLineNo">673</span> int remaining = len -1;<a name="line.673"></a>
-<span class="sourceLineNo">674</span> long i = 0;<a name="line.674"></a>
-<span class="sourceLineNo">675</span> offsetFromPos++;<a name="line.675"></a>
-<span class="sourceLineNo">676</span> if (remaining >= Bytes.SIZEOF_INT) {<a name="line.676"></a>
-<span class="sourceLineNo">677</span> // The int read has to be converted to unsigned long so the & op<a name="line.677"></a>
-<span class="sourceLineNo">678</span> i = (blockBuffer.getIntAfterPosition(offsetFromPos) & 0x00000000ffffffffL);<a name="line.678"></a>
-<span class="sourceLineNo">679</span> remaining -= Bytes.SIZEOF_INT;<a name="line.679"></a>
-<span class="sourceLineNo">680</span> offsetFromPos += Bytes.SIZEOF_INT;<a name="line.680"></a>
-<span class="sourceLineNo">681</span> }<a name="line.681"></a>
-<span class="sourceLineNo">682</span> if (remaining >= Bytes.SIZEOF_SHORT) {<a name="line.682"></a>
-<span class="sourceLineNo">683</span> short s = blockBuffer.getShortAfterPosition(offsetFromPos);<a name="line.683"></a>
-<span class="sourceLineNo">684</span> i = i << 16;<a name="line.684"></a>
-<span class="sourceLineNo">685</span> i = i | (s & 0xFFFF);<a name="line.685"></a>
-<span class="sourceLineNo">686</span> remaining -= Bytes.SIZEOF_SHORT;<a name="line.686"></a>
-<span class="sourceLineNo">687</span> offsetFromPos += Bytes.SIZEOF_SHORT;<a name="line.687"></a>
-<span class="sourceLineNo">688</span> }<a name="line.688"></a>
-<span class="sourceLineNo">689</span> for (int idx = 0; idx < remaining; idx++) {<a name="line.689"></a>
-<span class="sourceLineNo">690</span> byte b = blockBuffer.getByteAfterPosition(offsetFromPos + idx);<a name="line.690"></a>
-<span class="sourceLineNo">691</span> i = i << 8;<a name="line.691"></a>
-<span class="sourceLineNo">692</span> i = i | (b & 0xFF);<a name="line.692"></a>
-<span class="sourceLineNo">693</span> }<a name="line.693"></a>
-<span class="sourceLineNo">694</span> currMemstoreTS = (WritableUtils.isNegativeVInt(firstByte) ? ~i : i);<a name="line.694"></a>
-<span class="sourceLineNo">695</span> }<a name="line.695"></a>
-<span class="sourceLineNo">696</span> this.currMemstoreTSLen = len;<a name="line.696"></a>
-<span class="sourceLineNo">697</span> }<a name="line.697"></a>
-<span class="sourceLineNo">698</span><a name="line.698"></a>
-<span class="sourceLineNo">699</span> /**<a name="line.699"></a>
-<span class="sourceLineNo">700</span> * Within a loaded block, seek looking for the last key that is smaller than<a name="line.700"></a>
-<span class="sourceLineNo">701</span> * (or equal to?) the key we are interested in.<a name="line.701"></a>
-<span class="sourceLineNo">702</span> * A note on the seekBefore: if you have seekBefore = true, AND the first<a name="line.702"></a>
-<span class="sourceLineNo">703</span> * key in the block = key, then you'll get thrown exceptions. The caller has<a name="line.703"></a>
-<span class="sourceLineNo">704</span> * to check for that case and load the previous block as appropriate.<a name="line.704"></a>
-<span class="sourceLineNo">705</span> * @param key<a name="line.705"></a>
-<span class="sourceLineNo">706</span> * the key to find<a name="line.706"></a>
-<span class="sourceLineNo">707</span> * @param seekBefore<a name="line.707"></a>
-<span class="sourceLineNo">708</span> * find the key before the given key in case of exact match.<a name="line.708"></a>
-<span class="sourceLineNo">709</span> * @return 0 in case of an exact key match, 1 in case of an inexact match,<a name="line.709"></a>
-<span class="sourceLineNo">710</span> * -2 in case of an inexact match and furthermore, the input key<a name="line.710"></a>
-<span class="sourceLineNo">711</span> * less than the first key of current block(e.g. using a faked index<a name="line.711"></a>
-<span class="sourceLineNo">712</span> * key)<a name="line.712"></a>
-<span class="sourceLineNo">713</span> */<a name="line.713"></a>
-<span class="sourceLineNo">714</span> protected int blockSeek(Cell key, boolean seekBefore) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span> int klen, vlen, tlen = 0;<a name="line.715"></a>
-<span class="sourceLineNo">716</span> int lastKeyValueSize = -1;<a name="line.716"></a>
-<span class="sourceLineNo">717</span> int offsetFromPos;<a name="line.717"></a>
-<span class="sourceLineNo">718</span> do {<a name="line.718"></a>
-<span class="sourceLineNo">719</span> offsetFromPos = 0;<a name="line.719"></a>
-<span class="sourceLineNo">720</span> // Better to ensure that we use the BB Utils here<a name="line.720"></a>
-<span class="sourceLineNo">721</span> long ll = blockBuffer.getLongAfterPosition(offsetFromPos);<a name="line.721"></a>
-<span class="sourceLineNo">722</span> klen = (int)(ll >> Integer.SIZE);<a name="line.722"></a>
-<span class="sourceLineNo">723</span> vlen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.723"></a>
-<span class="sourceLineNo">724</span> if (checkKeyLen(klen) || checkLen(vlen)) {<a name="line.724"></a>
-<span class="sourceLineNo">725</span> throw new IllegalStateException("Invalid klen " + klen + " or vlen "<a name="line.725"></a>
-<span class="sourceLineNo">726</span> + vlen + ". Block offset: "<a name="line.726"></a>
-<span class="sourceLineNo">727</span> + curBlock.getOffset() + ", block length: " + blockBuffer.limit() + ", position: "<a name="line.727"></a>
-<span class="sourceLineNo">728</span> + blockBuffer.position() + " (without header).");<a name="line.728"></a>
-<span class="sourceLineNo">729</span> }<a name="line.729"></a>
-<span class="sourceLineNo">730</span> offsetFromPos += Bytes.SIZEOF_LONG;<a name="line.730"></a>
-<span class="sourceLineNo">731</span> blockBuffer.asSubByteBuffer(blockBuffer.position() + offsetFromPos, klen, pair);<a name="line.731"></a>
-<span class="sourceLineNo">732</span> bufBackedKeyOnlyKv.setKey(pair.getFirst(), pair.getSecond(), klen);<a name="line.732"></a>
-<span class="sourceLineNo">733</span> int comp =<a name="line.733"></a>
-<span class="sourceLineNo">734</span> PrivateCellUtil.compareKeyIgnoresMvcc(reader.getComparator(), key, bufBackedKeyOnlyKv);<a name="line.734"></a>
-<span class="sourceLineNo">735</span> offsetFromPos += klen + vlen;<a name="line.735"></a>
-<span class="sourceLineNo">736</span> if (this.reader.getFileContext().isIncludesTags()) {<a name="line.736"></a>
-<span class="sourceLineNo">737</span> // Read short as unsigned, high byte first<a name="line.737"></a>
-<span class="sourceLineNo">738</span> tlen = ((blockBuffer.getByteAfterPosition(offsetFromPos) & 0xff) << 8)<a name="line.738"></a>
-<span class="sourceLineNo">739</span> ^ (blockBuffer.getByteAfterPosition(offsetFromPos + 1) & 0xff);<a name="line.739"></a>
-<span class="sourceLineNo">740</span> if (checkLen(tlen)) {<a name="line.740"></a>
-<span class="sourceLineNo">741</span> throw new IllegalStateException("Invalid tlen " + tlen + ". Block offset: "<a name="line.741"></a>
-<span class="sourceLineNo">742</span> + curBlock.getOffset() + ", block length: " + blockBuffer.limit() + ", position: "<a name="line.742"></a>
-<span class="sourceLineNo">743</span> + blockBuffer.position() + " (without header).");<a name="line.743"></a>
-<span class="sourceLineNo">744</span> }<a name="line.744"></a>
-<span class="sourceLineNo">745</span> // add the two bytes read for the tags.<a name="line.745"></a>
-<span class="sourceLineNo">746</span> offsetFromPos += tlen + (Bytes.SIZEOF_SHORT);<a name="line.746"></a>
-<span class="sourceLineNo">747</span> }<a name="line.747"></a>
-<span class="sourceLineNo">748</span> if (this.reader.shouldIncludeMemStoreTS()) {<a name="line.748"></a>
-<span class="sourceLineNo">749</span> // Directly read the mvcc based on current position<a name="line.749"></a>
-<span class="sourceLineNo">750</span> readMvccVersion(offsetFromPos);<a name="line.750"></a>
-<span class="sourceLineNo">751</span> }<a name="line.751"></a>
-<span class="sourceLineNo">752</span> if (comp == 0) {<a name="line.752"></a>
-<span class="sourceLineNo">753</span> if (seekBefore) {<a name="line.753"></a>
-<span class="sourceLineNo">754</span> if (lastKeyValueSize < 0) {<a name="line.754"></a>
-<span class="sourceLineNo">755</span> throw new IllegalStateException("blockSeek with seekBefore "<a name="line.755"></a>
-<span class="sourceLineNo">756</span> + "at the first key of the block: key=" + CellUtil.getCellKeyAsString(key)<a name="line.756"></a>
-<span class="sourceLineNo">757</span> + ", blockOffset=" + curBlock.getOffset() + ", onDiskSize="<a name="line.757"></a>
-<span class="sourceLineNo">758</span> + curBlock.getOnDiskSizeWithHeader());<a name="line.758"></a>
-<span class="sourceLineNo">759</span> }<a name="line.759"></a>
-<span class="sourceLineNo">760</span> blockBuffer.moveBack(lastKeyValueSize);<a name="line.760"></a>
-<span class="sourceLineNo">761</span> readKeyValueLen();<a name="line.761"></a>
-<span class="sourceLineNo">762</span> return 1; // non exact match.<a name="line.762"></a>
-<span class="sourceLineNo">763</span> }<a name="line.763"></a>
-<span class="sourceLineNo">764</span> currKeyLen = klen;<a name="line.764"></a>
-<span class="sourceLineNo">765</span> currValueLen = vlen;<a name="line.765"></a>
-<span class="sourceLineNo">766</span> currTagsLen = tlen;<a name="line.766"></a>
-<span class="sourceLineNo">767</span> return 0; // indicate exact match<a name="line.767"></a>
-<span class="sourceLineNo">768</span> } else if (comp < 0) {<a name="line.768"></a>
-<span class="sourceLineNo">769</span> if (lastKeyValueSize > 0) {<a name="line.769"></a>
-<span class="sourceLineNo">770</span> blockBuffer.moveBack(lastKeyValueSize);<a name="line.770"></a>
-<span class="sourceLineNo">771</span> }<a name="line.771"></a>
-<span class="sourceLineNo">772</span> readKeyValueLen();<a name="line.772"></a>
-<span class="sourceLineNo">773</span> if (lastKeyValueSize == -1 && blockBuffer.position() == 0) {<a name="line.773"></a>
-<span class="sourceLineNo">774</span> return HConstants.INDEX_KEY_MAGIC;<a name="line.774"></a>
-<span class="sourceLineNo">775</span> }<a name="line.775"></a>
-<span class="sourceLineNo">776</span> return 1;<a name="line.776"></a>
-<span class="sourceLineNo">777</span> }<a name="line.777"></a>
-<span class="sourceLineNo">778</span> // The size of this key/value tuple, including key/value length fields.<a name="line.778"></a>
-<span class="sourceLineNo">779</span> lastKeyValueSize = klen + vlen + currMemstoreTSLen + KEY_VALUE_LEN_SIZE;<a name="line.779"></a>
-<span class="sourceLineNo">780</span> // include tag length also if tags included with KV<a name="line.780"></a>
-<span class="sourceLineNo">781</span> if (reader.getFileContext().isIncludesTags()) {<a name="line.781"></a>
-<span class="sourceLineNo">782</span> lastKeyValueSize += tlen + Bytes.SIZEOF_SHORT;<a name="line.782"></a>
-<span class="sourceLineNo">783</span> }<a name="line.783"></a>
-<span class="sourceLineNo">784</span> blockBuffer.skip(lastKeyValueSize);<a name="line.784"></a>
-<span class="sourceLineNo">785</span> } while (blockBuffer.hasRemaining());<a name="line.785"></a>
-<span class="sourceLineNo">786</span><a name="line.786"></a>
-<span class="sourceLineNo">787</span> // Seek to the last key we successfully read. This will happen if this is<a name="line.787"></a>
-<span class="sourceLineNo">788</span> // the last key/value pair in the file, in which case the following call<a name="line.788"></a>
-<span class="sourceLineNo">789</span> // to next() has to return false.<a name="line.789"></a>
-<span class="sourceLineNo">790</span> blockBuffer.moveBack(lastKeyValueSize);<a name="line.790"></a>
-<span class="sourceLineNo">791</span> readKeyValueLen();<a name="line.791"></a>
-<span class="sourceLineNo">792</span> return 1; // didn't exactly find it.<a name="line.792"></a>
-<span class="sourceLineNo">793</span> }<a name="line.793"></a>
-<span class="sourceLineNo">794</span><a name="line.794"></a>
-<span class="sourceLineNo">795</span> @Override<a name="line.795"></a>
-<span class="sourceLineNo">796</span> public Cell getNextIndexedKey() {<a name="line.796"></a>
-<span class="sourceLineNo">797</span> return nextIndexedKey;<a name="line.797"></a>
-<span class="sourceLineNo">798</span> }<a name="line.798"></a>
-<span class="sourceLineNo">799</span><a name="line.799"></a>
-<span class="sourceLineNo">800</span> @Override<a name="line.800"></a>
-<span class="sourceLineNo">801</span> public int seekTo(Cell key) throws IOException {<a name="line.801"></a>
-<span class="sourceLineNo">802</span> return seekTo(key, true);<a name="line.802"></a>
-<span class="sourceLineNo">803</span> }<a name="line.803"></a>
-<span class="sourceLineNo">804</span><a name="line.804"></a>
-<span class="sourceLineNo">805</span> @Override<a name="line.805"></a>
-<span class="sourceLineNo">806</span> public int reseekTo(Cell key) throws IOException {<a name="line.806"></a>
-<span class="sourceLineNo">807</span> int compared;<a name="line.807"></a>
-<span class="sourceLineNo">808</span> if (isSeeked()) {<a name="line.808"></a>
-<span class="sourceLineNo">809</span> compared = compareKey(reader.getComparator(), key);<a name="line.809"></a>
-<span class="sourceLineNo">810</span> if (compared < 1) {<a name="line.810"></a>
-<span class="sourceLineNo">811</span> // If the required key is less than or equal to current key, then<a name="line.811"></a>
-<span class="sourceLineNo">812</span> // don't do anything.<a name="line.812"></a>
-<span class="sourceLineNo">813</span> return compared;<a name="line.813"></a>
-<span class="sourceLineNo">814</span> } else {<a name="line.814"></a>
-<span class="sourceLineNo">815</span> // The comparison with no_next_index_key has to be checked<a name="line.815"></a>
-<span class="sourceLineNo">816</span> if (this.nextIndexedKey != null &&<a name="line.816"></a>
-<span class="sourceLineNo">817</span> (this.nextIndexedKey == KeyValueScanner.NO_NEXT_INDEXED_KEY || PrivateCellUtil<a name="line.817"></a>
-<span class="sourceLineNo">818</span> .compareKeyIgnoresMvcc(reader.getComparator(), key, nextIndexedKey) < 0)) {<a name="line.818"></a>
-<span class="sourceLineNo">819</span> // The reader shall continue to scan the current data block instead<a name="line.819"></a>
-<span class="sourceLineNo">820</span> // of querying the<a name="line.820"></a>
-<span class="sourceLineNo">821</span> // block index as long as it knows the target key is strictly<a name="line.821"></a>
-<span class="sourceLineNo">822</span> // smaller than<a name="line.822"></a>
-<span class="sourceLineNo">823</span> // the next indexed key or the current data block is the last data<a name="line.823"></a>
-<span class="sourceLineNo">824</span> // block.<a name="line.824"></a>
-<span class="sourceLineNo">825</span> return loadBlockAndSeekToKey(this.curBlock, nextIndexedKey, false, key,<a name="line.825"></a>
-<span class="sourceLineNo">826</span> false);<a name="line.826"></a>
-<span class="sourceLineNo">827</span> }<a name="line.827"></a>
-<span class="sourceLineNo">828</span><a name="line.828"></a>
-<span class="sourceLineNo">829</span> }<a name="line.829"></a>
-<span class="sourceLineNo">830</span> }<a name="line.830"></a>
-<span class="sourceLineNo">831</span> // Don't rewind on a reseek operation, because reseek implies that we are<a name="line.831"></a>
-<span class="sourceLineNo">832</span> // always going forward in the file.<a name="line.832"></a>
-<span class="sourceLineNo">833</span> return seekTo(key, false);<a name="line.833"></a>
-<span class="sourceLineNo">834</span> }<a name="line.834"></a>
-<span class="sourceLineNo">835</span><a name="line.835"></a>
-<span class="sourceLineNo">836</span> /**<a name="line.836"></a>
-<span class="sourceLineNo">837</span> * An internal API function. Seek to the given key, optionally rewinding to<a name="line.837"></a>
-<span class="sourceLineNo">838</span> * the first key of the block before doing the seek.<a name="line.838"></a>
-<span class="sourceLineNo">839</span> *<a name="line.839"></a>
-<span class="sourceLineNo">840</span> * @param key - a cell representing the key that we need to fetch<a name="line.840"></a>
-<span class="sourceLineNo">841</span> * @param rewind whether to rewind to the first key of the block before<a name="line.841"></a>
-<span class="sourceLineNo">842</span> * doing the seek. If this is false, we are assuming we never go<a name="line.842"></a>
-<span class="sourceLineNo">843</span> * back, otherwise the result is undefined.<a name="line.843"></a>
-<span class="sourceLineNo">844</span> * @return -1 if the key is earlier than the first key of the file,<a name="line.844"></a>
-<span class="sourceLineNo">845</span> * 0 if we are at the given key, 1 if we are past the given key<a name="line.845"></a>
-<span class="sourceLineNo">846</span> * -2 if the key is earlier than the first key of the file while<a name="line.846"></a>
-<span class="sourceLineNo">847</span> * using a faked index key<a name="line.847"></a>
-<span class="sourceLineNo">848</span> * @throws IOException<a name="line.848"></a>
-<span class="sourceLineNo">849</span> */<a name="line.849"></a>
-<span class="sourceLineNo">850</span> public int seekTo(Cell key, boolean rewind) throws IOException {<a name="line.850"></a>
-<span class="sourceLineNo">851</span> HFileBlockIndex.BlockIndexReader indexReader = reader.getDataBlockIndexReader();<a name="line.851"></a>
-<span class="sourceLineNo">852</span> BlockWithScanInfo blockWithScanInfo = indexReader.loadDataBlockWithScanInfo(key, curBlock,<a name="line.852"></a>
-<span class="sourceLineNo">853</span> cacheBlocks, pread, isCompaction, getEffectiveDataBlockEncoding());<a name="line.853"></a>
-<span class="sourceLineNo">854</span> if (blockWithScanInfo == null || blockWithScanInfo.getHFileBlock() == null) {<a name="line.854"></a>
-<span class="sourceLineNo">855</span> // This happens if the key e.g. falls before the beginning of the<a name="line.855"></a>
-<span class="sourceLineNo">856</span> // file.<a name="line.856"></a>
-<span class="sourceLineNo">857</span> return -1;<a name="line.857"></a>
-<span class="sourceLineNo">858</span> }<a name="line.858"></a>
-<span class="sourceLineNo">859</span> return loadBlockAndSeekToKey(blockWithScanInfo.getHFileBlock(),<a name="line.859"></a>
-<span class="sourceLineNo">860</span> blockWithScanInfo.getNextIndexedKey(), rewind, key, false);<a name="line.860"></a>
-<span class="sourceLineNo">861</span> }<a name="line.861"></a>
-<span class="sourceLineNo">862</span><a name="line.862"></a>
-<span class="sourceLineNo">863</span> @Override<a name="line.863"></a>
-<span class="sourceLineNo">864</span> public boolean seekBefore(Cell key) throws IOException {<a name="line.864"></a>
-<span class="sourceLineNo">865</span> HFileBlock seekToBlock = reader.getDataBlockIndexReader().seekToDataBlock(key, curBlock,<a name="line.865"></a>
-<span class="sourceLineNo">866</span> cacheBlocks, pread, isCompaction, reader.getEffectiveEncodingInCache(isCompaction));<a name="line.866"></a>
-<span class="sourceLineNo">867</span> if (seekToBlock == null) {<a name="line.867"></a>
-<span class="sourceLineNo">868</span> return false;<a name="line.868"></a>
-<span class="sourceLineNo">869</span> }<a name="line.869"></a>
-<span class="sourceLineNo">870</span> Cell firstKey = getFirstKeyCellInBlock(seekToBlock);<a name="line.870"></a>
-<span class="sourceLineNo">871</span> if (PrivateCellUtil.compareKeyIgnoresMvcc(reader.getComparator(), firstKey, key) >= 0) {<a name="line.871"></a>
-<span class="sourceLineNo">872</span> long previousBlockOffset = seekToBlock.getPrevBlockOffset();<a name="line.872"></a>
-<span class="sourceLineNo">873</span> // The key we are interested in<a name="line.873"></a>
-<span class="sourceLineNo">874</span> if (previousBlockOffset == -1) {<a name="line.874"></a>
-<span class="sourceLineNo">875</span> // we have a 'problem', the key we want is the first of the file.<a name="line.875"></a>
-<span class="sourceLineNo">876</span> return false;<a name="line.876"></a>
-<span class="sourceLineNo">877</span> }<a name="line.877"></a>
-<span class="sourceLineNo">878</span><a name="line.878"></a>
-<span class="sourceLineNo">879</span> // The first key in the current block 'seekToBlock' is greater than the given<a name="line.879"></a>
-<span class="sourceLineNo">880</span> // seekBefore key. We will go ahead by reading the next block that satisfies the<a name="line.880"></a>
-<span class="sourceLineNo">881</span> // given key. Return the current block before reading the next one.<a name="line.881"></a>
-<span class="sourceLineNo">882</span> reader.returnBlock(seekToBlock);<a name="line.882"></a>
-<span class="sourceLineNo">883</span> // It is important that we compute and pass onDiskSize to the block<a name="line.883"></a>
-<span class="sourceLineNo">884</span> // reader so that it does not have to read the header separately to<a name="line.884"></a>
-<span class="sourceLineNo">885</span> // figure out the size. Currently, we do not have a way to do this<a name="line.885"></a>
-<span class="sourceLineNo">886</span> // correctly in the general case however.<a name="line.886"></a>
-<span class="sourceLineNo">887</span> // TODO: See https://issues.apache.org/jira/browse/HBASE-14576<a name="line.887"></a>
-<span class="sourceLineNo">888</span> int prevBlockSize = -1;<a name="line.888"></a>
-<span class="sourceLineNo">889</span> seekToBlock = reader.readBlock(previousBlockOffset,<a name="line.889"></a>
-<span class="sourceLineNo">890</span> prevBlockSize, cacheBlocks,<a name="line.890"></a>
-<span class="sourceLineNo">891</span> pread, isCompaction, true, BlockType.DATA, getEffectiveDataBlockEncoding());<a name="line.891"></a>
-<span class="sourceLineNo">892</span> // TODO shortcut: seek forward in this block to the last key of the<a name="line.892"></a>
-<span class="sourceLineNo">893</span> // block.<a name="line.893"></a>
-<span class="sourceLineNo">894</span> }<a name="line.894"></a>
-<span class="sourceLineNo">895</span> loadBlockAndSeekToKey(seekToBlock, firstKey, true, key, true);<a name="line.895"></a>
-<span class="sourceLineNo">896</span> return true;<a name="line.896"></a>
-<span class="sourceLineNo">897</span> }<a name="line.897"></a>
-<span class="sourceLineNo">898</span><a name="line.898"></a>
-<span class="sourceLineNo">899</span> /**<a name="line.899"></a>
-<span class="sourceLineNo">900</span> * Scans blocks in the "scanned" section of the {@link HFile} until the next<a name="line.900"></a>
-<span class="sourceLineNo">901</span> * data block is found.<a name="line.901"></a>
-<span class="sourceLineNo">902</span> *<a name="line.902"></a>
-<span class="sourceLineNo">903</span> * @return the next block, or null if there are no more data blocks<a name="line.903"></a>
-<span class="sourceLineNo">904</span> * @throws IOException<a name="line.904"></a>
-<span class="sourceLineNo">905</span> */<a name="line.905"></a>
-<span class="sourceLineNo">906</span> @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.906"></a>
-<span class="sourceLineNo">907</span> justification="Yeah, unnecessary null check; could do w/ clean up")<a name="line.907"></a>
-<span class="sourceLineNo">908</span> protected HFileBlock readNextDataBlock() throws IOException {<a name="line.908"></a>
-<span class="sourceLineNo">909</span> long lastDataBlockOffset = reader.getTrailer().getLastDataBlockOffset();<a name="line.909"></a>
-<span class="sourceLineNo">910</span> if (curBlock == null)<a name="line.910"></a>
-<span class="sourceLineNo">911</span> return null;<a name="line.911"></a>
-<span class="sourceLineNo">912</span><a name="line.912"></a>
-<span class="sourceLineNo">913</span> HFileBlock block = this.curBlock;<a name="line.913"></a>
-<span class="sourceLineNo">914</span><a name="line.914"></a>
-<span class="sourceLineNo">915</span> do {<a name="line.915"></a>
-<span class="sourceLineNo">916</span> if (block.getOffset() >= lastDataBlockOffset) {<a name="line.916"></a>
-<span class="sourceLineNo">917</span> return null;<a name="line.917"></a>
-<span class="sourceLineNo">918</span> }<a name="line.918"></a>
-<span class="sourceLineNo">919</span><a name="line.919"></a>
-<span class="sourceLineNo">920</span> if (block.getOffset() < 0) {<a name="line.920"></a>
-<span class="sourceLineNo">921</span> throw new IOException("Invalid block file offset: " + block);<a name="line.921"></a>
-<span class="sourceLineNo">922</span> }<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span> // We are reading the next block without block type validation, because<a name="line.924"></a>
-<span class="sourceLineNo">925</span> // it might turn out to be a non-data block.<a name="line.925"></a>
-<span class="sourceLineNo">926</span> block = reader.readBlock(block.getOffset() + block.getOnDiskSizeWithHeader(),<a name="line.926"></a>
-<span class="sourceLineNo">927</span> block.getNextBlockOnDiskSize(), cacheBlocks, pread,<a name="line.927"></a>
-<span class="sourceLineNo">928</span> isCompaction, true, null, getEffectiveDataBlockEncoding());<a name="line.928"></a>
-<span class="sourceLineNo">929</span> if (block != null && !block.getBlockType().isData()) { // Findbugs: NP_NULL_ON_SOME_PATH<a name="line.929"></a>
-<span class="sourceLineNo">930</span> // Whatever block we read we will be returning it unless<a name="line.930"></a>
-<span class="sourceLineNo">931</span> // it is a datablock. Just in case the blocks are non data blocks<a name="line.931"></a>
-<span class="sourceLineNo">932</span> reader.returnBlock(block);<a name="line.932"></a>
-<span class="sourceLineNo">933</span> }<a name="line.933"></a>
-<span class="sourceLineNo">934</span> } while (!block.getBlockType().isData());<a name="line.934"></a>
-<span class="sourceLineNo">935</span><a name="line.935"></a>
-<span class="sourceLineNo">936</span> return block;<a name="line.936"></a>
-<span class="sourceLineNo">937</span> }<a name="line.937"></a>
+<span class="sourceLineNo">373</span> if (block != null) {<a name="line.373"></a>
+<span class="sourceLineNo">374</span> this.cacheConf.getBlockCache().ifPresent(blockCache -> {<a name="line.374"></a>
+<span class="sourceLineNo">375</span> BlockCacheKey cacheKey =<a name="line.375"></a>
+<span class="sourceLineNo">376</span> new BlockCacheKey(this.getFileContext().getHFileName(), block.getOffset(),<a name="line.376"></a>
+<span class="sourceLineNo">377</span> this.isPrimaryReplicaReader(), block.getBlockType());<a name="line.377"></a>
+<span class="sourceLineNo">378</span> blockCache.returnBlock(cacheKey, block);<a name="line.378"></a>
+<span class="sourceLineNo">379</span> });<a name="line.379"></a>
+<span class="sourceLineNo">380</span> }<a name="line.380"></a>
+<span class="sourceLineNo">381</span> }<a name="line.381"></a>
+<span class="sourceLineNo">382</span><a name="line.382"></a>
+<span class="sourceLineNo">383</span> /**<a name="line.383"></a>
+<span class="sourceLineNo">384</span> * @return the first key in the file. May be null if file has no entries. Note<a name="line.384"></a>
+<span class="sourceLineNo">385</span> * that this is not the first row key, but rather the byte form of the<a name="line.385"></a>
+<span class="sourceLineNo">386</span> * first KeyValue.<a name="line.386"></a>
+<span class="sourceLineNo">387</span> */<a name="line.387"></a>
+<span class="sourceLineNo">388</span> @Override<a name="line.388"></a>
+<span class="sourceLineNo">389</span> public Optional<Cell> getFirstKey() {<a name="line.389"></a>
+<span class="sourceLineNo">390</span> if (dataBlockIndexReader == null) {<a name="line.390"></a>
+<span class="sourceLineNo">391</span> throw new BlockIndexNotLoadedException();<a name="line.391"></a>
+<span class="sourceLineNo">392</span> }<a name="line.392"></a>
+<span class="sourceLineNo">393</span> return dataBlockIndexReader.isEmpty() ? Optional.empty()<a name="line.393"></a>
+<span class="sourceLineNo">394</span> : Optional.of(dataBlockIndexReader.getRootBlockKey(0));<a name="line.394"></a>
+<span class="sourceLineNo">395</span> }<a name="line.395"></a>
+<span class="sourceLineNo">396</span><a name="line.396"></a>
+<span class="sourceLineNo">397</span> /**<a name="line.397"></a>
+<span class="sourceLineNo">398</span> * TODO left from {@link HFile} version 1: move this to StoreFile after Ryan's<a name="line.398"></a>
+<span class="sourceLineNo">399</span> * patch goes in to eliminate {@link KeyValue} here.<a name="line.399"></a>
+<span class="sourceLineNo">400</span> *<a name="line.400"></a>
+<span class="sourceLineNo">401</span> * @return the first row key, or null if the file is empty.<a name="line.401"></a>
+<span class="sourceLineNo">402</span> */<a name="line.402"></a>
+<span class="sourceLineNo">403</span> @Override<a name="line.403"></a>
+<span class="sourceLineNo">404</span> public Optional<byte[]> getFirstRowKey() {<a name="line.404"></a>
+<span class="sourceLineNo">405</span> // We have to copy the row part to form the row key alone<a name="line.405"></a>
+<span class="sourceLineNo">406</span> return getFirstKey().map(CellUtil::cloneRow);<a name="line.406"></a>
+<span class="sourceLineNo">407</span> }<a name="line.407"></a>
+<span class="sourceLineNo">408</span><a name="line.408"></a>
+<span class="sourceLineNo">409</span> /**<a name="line.409"></a>
+<span class="sourceLineNo">410</span> * TODO left from {@link HFile} version 1: move this to StoreFile after<a name="line.410"></a>
+<span class="sourceLineNo">411</span> * Ryan's patch goes in to eliminate {@link KeyValue} here.<a name="line.411"></a>
+<span class="sourceLineNo">412</span> *<a name="line.412"></a>
+<span class="sourceLineNo">413</span> * @return the last row key, or null if the file is empty.<a name="line.413"></a>
+<span class="sourceLineNo">414</span> */<a name="line.414"></a>
+<span class="sourceLineNo">415</span> @Override<a name="line.415"></a>
+<span class="sourceLineNo">416</span> public Optional<byte[]> getLastRowKey() {<a name="line.416"></a>
+<span class="sourceLineNo">417</span> // We have to copy the row part to form the row key alone<a name="line.417"></a>
+<span class="sourceLineNo">418</span> return getLastKey().map(CellUtil::cloneRow);<a name="line.418"></a>
+<span class="sourceLineNo">419</span> }<a name="line.419"></a>
+<span class="sourceLineNo">420</span><a name="line.420"></a>
+<span class="sourceLineNo">421</span> /** @return number of KV entries in this HFile */<a name="line.421"></a>
+<span class="sourceLineNo">422</span> @Override<a name="line.422"></a>
+<span class="sourceLineNo">423</span> public long getEntries() {<a name="line.423"></a>
+<span class="sourceLineNo">424</span> return trailer.getEntryCount();<a name="line.424"></a>
+<span class="sourceLineNo">425</span> }<a name="line.425"></a>
+<span class="sourceLineNo">426</span><a name="line.426"></a>
+<span class="sourceLineNo">427</span> /** @return comparator */<a name="line.427"></a>
+<span class="sourceLineNo">428</span> @Override<a name="line.428"></a>
+<span class="sourceLineNo">429</span> public CellComparator getComparator() {<a name="line.429"></a>
+<span class="sourceLineNo">430</span> return comparator;<a name="line.430"></a>
+<span class="sourceLineNo">431</span> }<a name="line.431"></a>
+<span class="sourceLineNo">432</span><a name="line.432"></a>
+<span class="sourceLineNo">433</span> /** @return compression algorithm */<a name="line.433"></a>
+<span class="sourceLineNo">434</span> @Override<a name="line.434"></a>
+<span class="sourceLineNo">435</span> public Compression.Algorithm getCompressionAlgorithm() {<a name="line.435"></a>
+<span class="sourceLineNo">436</span> return compressAlgo;<a name="line.436"></a>
+<span class="sourceLineNo">437</span> }<a name="line.437"></a>
+<span class="sourceLineNo">438</span><a name="line.438"></a>
+<span class="sourceLineNo">439</span> /**<a name="line.439"></a>
+<span class="sourceLineNo">440</span> * @return the total heap size of data and meta block indexes in bytes. Does<a name="line.440"></a>
+<span class="sourceLineNo">441</span> * not take into account non-root blocks of a multilevel data index.<a name="line.441"></a>
+<span class="sourceLineNo">442</span> */<a name="line.442"></a>
+<span class="sourceLineNo">443</span> @Override<a name="line.443"></a>
+<span class="sourceLineNo">444</span> public long indexSize() {<a name="line.444"></a>
+<span class="sourceLineNo">445</span> return (dataBlockIndexReader != null ? dataBlockIndexReader.heapSize() : 0)<a name="line.445"></a>
+<span class="sourceLineNo">446</span> + ((metaBlockIndexReader != null) ? metaBlockIndexReader.heapSize()<a name="line.446"></a>
+<span class="sourceLineNo">447</span> : 0);<a name="line.447"></a>
+<span class="sourceLineNo">448</span> }<a name="line.448"></a>
+<span class="sourceLineNo">449</span><a name="line.449"></a>
+<span class="sourceLineNo">450</span> @Override<a name="line.450"></a>
+<span class="sourceLineNo">451</span> public String getName() {<a name="line.451"></a>
+<span class="sourceLineNo">452</span> return name;<a name="line.452"></a>
+<span class="sourceLineNo">453</span> }<a name="line.453"></a>
+<span class="sourceLineNo">454</span><a name="line.454"></a>
+<span class="sourceLineNo">455</span> @Override<a name="line.455"></a>
+<span class="sourceLineNo">456</span> public HFileBlockIndex.BlockIndexReader getDataBlockIndexReader() {<a name="line.456"></a>
+<span class="sourceLineNo">457</span> return dataBlockIndexReader;<a name="line.457"></a>
+<span class="sourceLineNo">458</span> }<a name="line.458"></a>
+<span class="sourceLineNo">459</span><a name="line.459"></a>
+<span class="sourceLineNo">460</span> @Override<a name="line.460"></a>
+<span class="sourceLineNo">461</span> public FixedFileTrailer getTrailer() {<a name="line.461"></a>
+<span class="sourceLineNo">462</span> return trailer;<a name="line.462"></a>
+<span class="sourceLineNo">463</span> }<a name="line.463"></a>
+<span class="sourceLineNo">464</span><a name="line.464"></a>
+<span class="sourceLineNo">465</span> @Override<a name="line.465"></a>
+<span class="sourceLineNo">466</span> public boolean isPrimaryReplicaReader() {<a name="line.466"></a>
+<span class="sourceLineNo">467</span> return primaryReplicaReader;<a name="line.467"></a>
+<span class="sourceLineNo">468</span> }<a name="line.468"></a>
+<span class="sourceLineNo">469</span><a name="line.469"></a>
+<span class="sourceLineNo">470</span> @Override<a name="line.470"></a>
+<span class="sourceLineNo">471</span> public FileInfo loadFileInfo() throws IOException {<a name="line.471"></a>
+<span class="sourceLineNo">472</span> return fileInfo;<a name="line.472"></a>
+<span class="sourceLineNo">473</span> }<a name="line.473"></a>
+<span class="sourceLineNo">474</span><a name="line.474"></a>
+<span class="sourceLineNo">475</span> /**<a name="line.475"></a>
+<span class="sourceLineNo">476</span> * An exception thrown when an operation requiring a scanner to be seeked<a name="line.476"></a>
+<span class="sourceLineNo">477</span> * is invoked on a scanner that is not seeked.<a name="line.477"></a>
+<span class="sourceLineNo">478</span> */<a name="line.478"></a>
+<span class="sourceLineNo">479</span> @SuppressWarnings("serial")<a name="line.479"></a>
+<span class="sourceLineNo">480</span> public static class NotSeekedException extends IllegalStateException {<a name="line.480"></a>
+<span class="sourceLineNo">481</span> public NotSeekedException() {<a name="line.481"></a>
+<span class="sourceLineNo">482</span> super("Not seeked to a key/value");<a name="line.482"></a>
+<span class="sourceLineNo">483</span> }<a name="line.483"></a>
+<span class="sourceLineNo">484</span> }<a name="line.484"></a>
+<span class="sourceLineNo">485</span><a name="line.485"></a>
+<span class="sourceLineNo">486</span> protected static class HFileScannerImpl implements HFileScanner {<a name="line.486"></a>
+<span class="sourceLineNo">487</span> private ByteBuff blockBuffer;<a name="line.487"></a>
+<span class="sourceLineNo">488</span> protected final boolean cacheBlocks;<a name="line.488"></a>
+<span class="sourceLineNo">489</span> protected final boolean pread;<a name="line.489"></a>
+<span class="sourceLineNo">490</span> protected final boolean isCompaction;<a name="line.490"></a>
+<span class="sourceLineNo">491</span> private int currKeyLen;<a name="line.491"></a>
+<span class="sourceLineNo">492</span> private int currValueLen;<a name="line.492"></a>
+<span class="sourceLineNo">493</span> private int currMemstoreTSLen;<a name="line.493"></a>
+<span class="sourceLineNo">494</span> private long currMemstoreTS;<a name="line.494"></a>
+<span class="sourceLineNo">495</span> // Updated but never read?<a name="line.495"></a>
+<span class="sourceLineNo">496</span> protected AtomicInteger blockFetches = new AtomicInteger(0);<a name="line.496"></a>
+<span class="sourceLineNo">497</span> protected final HFile.Reader reader;<a name="line.497"></a>
+<span class="sourceLineNo">498</span> private int currTagsLen;<a name="line.498"></a>
+<span class="sourceLineNo">499</span> // buffer backed keyonlyKV<a name="line.499"></a>
+<span class="sourceLineNo">500</span> private ByteBufferKeyOnlyKeyValue bufBackedKeyOnlyKv = new ByteBufferKeyOnlyKeyValue();<a name="line.500"></a>
+<span class="sourceLineNo">501</span> // A pair for reusing in blockSeek() so that we don't garbage lot of objects<a name="line.501"></a>
+<span class="sourceLineNo">502</span> final ObjectIntPair<ByteBuffer> pair = new ObjectIntPair<>();<a name="line.502"></a>
+<span class="sourceLineNo">503</span><a name="line.503"></a>
+<span class="sourceLineNo">504</span> /**<a name="line.504"></a>
+<span class="sourceLineNo">505</span> * The next indexed key is to keep track of the indexed key of the next data block.<a name="line.505"></a>
+<span class="sourceLineNo">506</span> * If the nextIndexedKey is HConstants.NO_NEXT_INDEXED_KEY, it means that the<a name="line.506"></a>
+<span class="sourceLineNo">507</span> * current data block is the last data block.<a name="line.507"></a>
+<span class="sourceLineNo">508</span> *<a name="line.508"></a>
+<span class="sourceLineNo">509</span> * If the nextIndexedKey is null, it means the nextIndexedKey has not been loaded yet.<a name="line.509"></a>
+<span class="sourceLineNo">510</span> */<a name="line.510"></a>
+<span class="sourceLineNo">511</span> protected Cell nextIndexedKey;<a name="line.511"></a>
+<span class="sourceLineNo">512</span> // Current block being used<a name="line.512"></a>
+<span class="sourceLineNo">513</span> protected HFileBlock curBlock;<a name="line.513"></a>
+<span class="sourceLineNo">514</span> // Previous blocks that were used in the course of the read<a name="line.514"></a>
+<span class="sourceLineNo">515</span> protected final ArrayList<HFileBlock> prevBlocks = new ArrayList<>();<a name="line.515"></a>
+<span class="sourceLineNo">516</span><a name="line.516"></a>
+<span class="sourceLineNo">517</span> public HFileScannerImpl(final HFile.Reader reader, final boolean cacheBlocks,<a name="line.517"></a>
+<span class="sourceLineNo">518</span> final boolean pread, final boolean isCompaction) {<a name="line.518"></a>
+<span class="sourceLineNo">519</span> this.reader = reader;<a name="line.519"></a>
+<span class="sourceLineNo">520</span> this.cacheBlocks = cacheBlocks;<a name="line.520"></a>
+<span class="sourceLineNo">521</span> this.pread = pread;<a name="line.521"></a>
+<span class="sourceLineNo">522</span> this.isCompaction = isCompaction;<a name="line.522"></a>
+<span class="sourceLineNo">523</span> }<a name="line.523"></a>
+<span class="sourceLineNo">524</span><a name="line.524"></a>
+<span class="sourceLineNo">525</span> void updateCurrBlockRef(HFileBlock block) {<a name="line.525"></a>
+<span class="sourceLineNo">526</span> if (block != null && this.curBlock != null &&<a name="line.526"></a>
+<span class="sourceLineNo">527</span> block.getOffset() == this.curBlock.getOffset()) {<a name="line.527"></a>
+<span class="sourceLineNo">528</span> return;<a name="line.528"></a>
+<span class="sourceLineNo">529</span> }<a name="line.529"></a>
+<span class="sourceLineNo">530</span> // We don't have to keep ref to EXCLUSIVE type of block<a name="line.530"></a>
+<span class="sourceLineNo">531</span> if (this.curBlock != null && this.curBlock.usesSharedMemory()) {<a name="line.531"></a>
+<span class="sourceLineNo">532</span> prevBlocks.add(this.curBlock);<a name="line.532"></a>
+<span class="sourceLineNo">533</span> }<a name="line.533"></a>
+<span class="sourceLineNo">534</span> this.curBlock = block;<a name="line.534"></a>
+<span class="sourceLineNo">535</span> }<a name="line.535"></a>
+<span class="sourceLineNo">536</span><a name="line.536"></a>
+<span class="sourceLineNo">537</span> void reset() {<a name="line.537"></a>
+<span class="sourceLineNo">538</span> // We don't have to keep ref to EXCLUSIVE type of block<a name="line.538"></a>
+<span class="sourceLineNo">539</span> if (this.curBlock != null && this.curBlock.usesSharedMemory()) {<a name="line.539"></a>
+<span class="sourceLineNo">540</span> this.prevBlocks.add(this.curBlock);<a name="line.540"></a>
+<span class="sourceLineNo">541</span> }<a name="line.541"></a>
+<span class="sourceLineNo">542</span> this.curBlock = null;<a name="line.542"></a>
+<span class="sourceLineNo">543</span> }<a name="line.543"></a>
+<span class="sourceLineNo">544</span><a name="line.544"></a>
+<span class="sourceLineNo">545</span> private void returnBlockToCache(HFileBlock block) {<a name="line.545"></a>
+<span class="sourceLineNo">546</span> if (LOG.isTraceEnabled()) {<a name="line.546"></a>
+<span class="sourceLineNo">547</span> LOG.trace("Returning the block : " + block);<a name="line.547"></a>
+<span class="sourceLineNo">548</span> }<a name="line.548"></a>
+<span class="sourceLineNo">549</span> this.reader.returnBlock(block);<a name="line.549"></a>
+<span class="sourceLineNo">550</span> }<a name="line.550"></a>
+<span class="sourceLineNo">551</span><a name="line.551"></a>
+<span class="sourceLineNo">552</span> private void returnBlocks(boolean returnAll) {<a name="line.552"></a>
+<span class="sourceLineNo">553</span> for (int i = 0; i < this.prevBlocks.size(); i++) {<a name="line.553"></a>
+<span class="sourceLineNo">554</span> returnBlockToCache(this.prevBlocks.get(i));<a name="line.554"></a>
+<span class="sourceLineNo">555</span> }<a name="line.555"></a>
+<span class="sourceLineNo">556</span> this.prevBlocks.clear();<a name="line.556"></a>
+<span class="sourceLineNo">557</span> if (returnAll && this.curBlock != null) {<a name="line.557"></a>
+<span class="sourceLineNo">558</span> returnBlockToCache(this.curBlock);<a name="line.558"></a>
+<span class="sourceLineNo">559</span> this.curBlock = null;<a name="line.559"></a>
+<span class="sourceLineNo">560</span> }<a name="line.560"></a>
+<span class="sourceLineNo">561</span> }<a name="line.561"></a>
+<span class="sourceLineNo">562</span> @Override<a name="line.562"></a>
+<span class="sourceLineNo">563</span> public boolean isSeeked(){<a name="line.563"></a>
+<span class="sourceLineNo">564</span> return blockBuffer != null;<a name="line.564"></a>
+<span class="sourceLineNo">565</span> }<a name="line.565"></a>
+<span class="sourceLineNo">566</span><a name="line.566"></a>
+<span class="sourceLineNo">567</span> @Override<a name="line.567"></a>
+<span class="sourceLineNo">568</span> public String toString() {<a name="line.568"></a>
+<span class="sourceLineNo">569</span> return "HFileScanner for reader " + String.valueOf(getReader());<a name="line.569"></a>
+<span class="sourceLineNo">570</span> }<a name="line.570"></a>
+<span class="sourceLineNo">571</span><a name="line.571"></a>
+<span class="sourceLineNo">572</span> protected void assertSeeked() {<a name="line.572"></a>
+<span class="sourceLineNo">573</span> if (!isSeeked())<a name="line.573"></a>
+<span class="sourceLineNo">574</span> throw new NotSeekedException();<a name="line.574"></a>
+<span class="sourceLineNo">575</span> }<a name="line.575"></a>
+<span class="sourceLineNo">576</span><a name="line.576"></a>
+<span class="sourceLineNo">577</span> @Override<a name="line.577"></a>
+<span class="sourceLineNo">578</span> public HFile.Reader getReader() {<a name="line.578"></a>
+<span class="sourceLineNo">579</span> return reader;<a name="line.579"></a>
+<span class="sourceLineNo">580</span> }<a name="line.580"></a>
+<span class="sourceLineNo">581</span><a name="line.581"></a>
+<span class="sourceLineNo">582</span> // From non encoded HFiles, we always read back KeyValue or its descendant.(Note: When HFile<a name="line.582"></a>
+<span class="sourceLineNo">583</span> // block is in DBB, it will be OffheapKV). So all parts of the Cell is in a contiguous<a name="line.583"></a>
+<span class="sourceLineNo">584</span> // array/buffer. How many bytes we should wrap to make the KV is what this method returns.<a name="line.584"></a>
+<span class="sourceLineNo">585</span> private int getKVBufSize() {<a name="line.585"></a>
+<span class="sourceLineNo">586</span> int kvBufSize = KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen;<a name="line.586"></a>
+<span class="sourceLineNo">587</span> if (currTagsLen > 0) {<a name="line.587"></a>
+<span class="sourceLineNo">588</span> kvBufSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.588"></a>
+<span class="sourceLineNo">589</span> }<a name="line.589"></a>
+<span class="sourceLineNo">590</span> return kvBufSize;<a name="line.590"></a>
+<span class="sourceLineNo">591</span> }<a name="line.591"></a>
+<span class="sourceLineNo">592</span><a name="line.592"></a>
+<span class="sourceLineNo">593</span> @Override<a name="line.593"></a>
+<span class="sourceLineNo">594</span> public void close() {<a name="line.594"></a>
+<span class="sourceLineNo">595</span> if (!pread) {<a name="line.595"></a>
+<span class="sourceLineNo">596</span> // For seek + pread stream socket should be closed when the scanner is closed. HBASE-9393<a name="line.596"></a>
+<span class="sourceLineNo">597</span> reader.unbufferStream();<a name="line.597"></a>
+<span class="sourceLineNo">598</span> }<a name="line.598"></a>
+<span class="sourceLineNo">599</span> this.returnBlocks(true);<a name="line.599"></a>
+<span class="sourceLineNo">600</span> }<a name="line.600"></a>
+<span class="sourceLineNo">601</span><a name="line.601"></a>
+<span class="sourceLineNo">602</span> // Returns the #bytes in HFile for the current cell. Used to skip these many bytes in current<a name="line.602"></a>
+<span class="sourceLineNo">603</span> // HFile block's buffer so as to position to the next cell.<a name="line.603"></a>
+<span class="sourceLineNo">604</span> private int getCurCellSerializedSize() {<a name="line.604"></a>
+<span class="sourceLineNo">605</span> int curCellSize = KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen<a name="line.605"></a>
+<span class="sourceLineNo">606</span> + currMemstoreTSLen;<a name="line.606"></a>
+<span class="sourceLineNo">607</span> if (this.reader.getFileContext().isIncludesTags()) {<a name="line.607"></a>
+<span class="sourceLineNo">608</span> curCellSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.608"></a>
+<span class="sourceLineNo">609</span> }<a name="line.609"></a>
+<span class="sourceLineNo">610</span> return curCellSize;<a name="line.610"></a>
+<span class="sourceLineNo">611</span> }<a name="line.611"></a>
+<span class="sourceLineNo">612</span><a name="line.612"></a>
+<span class="sourceLineNo">613</span> protected void readKeyValueLen() {<a name="line.613"></a>
+<span class="sourceLineNo">614</span> // This is a hot method. We go out of our way to make this method short so it can be<a name="line.614"></a>
+<span class="sourceLineNo">615</span> // inlined and is not too big to compile. We also manage position in ByteBuffer ourselves<a name="line.615"></a>
+<span class="sourceLineNo">616</span> // because it is faster than going via range-checked ByteBuffer methods or going through a<a name="line.616"></a>
+<span class="sourceLineNo">617</span> // byte buffer array a byte at a time.<a name="line.617"></a>
+<span class="sourceLineNo">618</span> // Get a long at a time rather than read two individual ints. In micro-benchmarking, even<a name="line.618"></a>
+<span class="sourceLineNo">619</span> // with the extra bit-fiddling, this is order-of-magnitude faster than getting two ints.<a name="line.619"></a>
+<span class="sourceLineNo">620</span> // Trying to imitate what was done - need to profile if this is better or<a name="line.620"></a>
+<span class="sourceLineNo">621</span> // earlier way is better by doing mark and reset?<a name="line.621"></a>
+<span class="sourceLineNo">622</span> // But ensure that you read long instead of two ints<a name="line.622"></a>
+<span class="sourceLineNo">623</span> long ll = blockBuffer.getLongAfterPosition(0);<a name="line.623"></a>
+<span class="sourceLineNo">624</span> // Read top half as an int of key length and bottom int as value length<a name="line.624"></a>
+<span class="sourceLineNo">625</span> this.currKeyLen = (int)(ll >> Integer.SIZE);<a name="line.625"></a>
+<span class="sourceLineNo">626</span> this.currValueLen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.626"></a>
+<span class="sourceLineNo">627</span> checkKeyValueLen();<a name="line.627"></a>
+<span class="sourceLineNo">628</span> // Move position past the key and value lengths and then beyond the key and value<a name="line.628"></a>
+<span class="sourceLineNo">629</span> int p = (Bytes.SIZEOF_LONG + currKeyLen + currValueLen);<a name="line.629"></a>
+<span class="sourceLineNo">630</span> if (reader.getFileContext().isIncludesTags()) {<a name="line.630"></a>
+<span class="sourceLineNo">631</span> // Tags length is a short.<a name="line.631"></a>
+<span class="sourceLineNo">632</span> this.currTagsLen = blockBuffer.getShortAfterPosition(p);<a name="line.632"></a>
+<span class="sourceLineNo">633</span> checkTagsLen();<a name="line.633"></a>
+<span class="sourceLineNo">634</span> p += (Bytes.SIZEOF_SHORT + currTagsLen);<a name="line.634"></a>
+<span class="sourceLineNo">635</span> }<a name="line.635"></a>
+<span class="sourceLineNo">636</span> readMvccVersion(p);<a name="line.636"></a>
+<span class="sourceLineNo">637</span> }<a name="line.637"></a>
+<span class="sourceLineNo">638</span><a name="line.638"></a>
+<span class="sourceLineNo">639</span> private final void checkTagsLen() {<a name="line.639"></a>
+<span class="sourceLineNo">640</span> if (checkLen(this.currTagsLen)) {<a name="line.640"></a>
+<span class="sourceLineNo">641</span> throw new IllegalStateException("Invalid currTagsLen " + this.currTagsLen +<a name="line.641"></a>
+<span class="sourceLineNo">642</span> ". Block offset: " + curBlock.getOffset() + ", block length: " +<a name="line.642"></a>
+<span class="sourceLineNo">643</span> this.blockBuffer.limit() +<a name="line.643"></a>
+<span class="sourceLineNo">644</span> ", position: " + this.blockBuffer.position() + " (without header).");<a name="line.644"></a>
+<span class="sourceLineNo">645</span> }<a name="line.645"></a>
+<span class="sourceLineNo">646</span> }<a name="line.646"></a>
+<span class="sourceLineNo">647</span><a name="line.647"></a>
+<span class="sourceLineNo">648</span> /**<a name="line.648"></a>
+<span class="sourceLineNo">649</span> * Read mvcc. Does checks to see if we even need to read the mvcc at all.<a name="line.649"></a>
+<span class="sourceLineNo">650</span> * @param offsetFromPos<a name="line.650"></a>
+<span class="sourceLineNo">651</span> */<a name="line.651"></a>
+<span class="sourceLineNo">652</span> protected void readMvccVersion(final int offsetFromPos) {<a name="line.652"></a>
+<span class="sourceLineNo">653</span> // See if we even need to decode mvcc.<a name="line.653"></a>
+<span class="sourceLineNo">654</span> if (!this.reader.shouldIncludeMemStoreTS()) return;<a name="line.654"></a>
+<span class="sourceLineNo">655</span> if (!this.reader.isDecodeMemStoreTS()) {<a name="line.655"></a>
+<span class="sourceLineNo">656</span> currMemstoreTS = 0;<a name="line.656"></a>
+<span class="sourceLineNo">657</span> currMemstoreTSLen = 1;<a name="line.657"></a>
+<span class="sourceLineNo">658</span> return;<a name="line.658"></a>
+<span class="sourceLineNo">659</span> }<a name="line.659"></a>
+<span class="sourceLineNo">660</span> _readMvccVersion(offsetFromPos);<a name="line.660"></a>
+<span class="sourceLineNo">661</span> }<a name="line.661"></a>
+<span class="sourceLineNo">662</span><a name="line.662"></a>
+<span class="sourceLineNo">663</span> /**<a name="line.663"></a>
+<span class="sourceLineNo">664</span> * Actually do the mvcc read. Does no checks.<a name="line.664"></a>
+<span class="sourceLineNo">665</span> * @param offsetFromPos<a name="line.665"></a>
+<span class="sourceLineNo">666</span> */<a name="line.666"></a>
+<span class="sourceLineNo">667</span> private void _readMvccVersion(int offsetFromPos) {<a name="line.667"></a>
+<span class="sourceLineNo">668</span> // This is Bytes#bytesToVint inlined so can save a few instructions in this hot method; i.e.<a name="line.668"></a>
+<span class="sourceLineNo">669</span> // previous if one-byte vint, we'd redo the vint call to find int size.<a name="line.669"></a>
+<span class="sourceLineNo">670</span> // Also the method is kept small so can be inlined.<a name="line.670"></a>
+<span class="sourceLineNo">671</span> byte firstByte = blockBuffer.getByteAfterPosition(offsetFromPos);<a name="line.671"></a>
+<span class="sourceLineNo">672</span> int len = WritableUtils.decodeVIntSize(firstByte);<a name="line.672"></a>
+<span class="sourceLineNo">673</span> if (len == 1) {<a name="line.673"></a>
+<span class="sourceLineNo">674</span> this.currMemstoreTS = firstByte;<a name="line.674"></a>
+<span class="sourceLineNo">675</span> } else {<a name="line.675"></a>
+<span class="sourceLineNo">676</span> int remaining = len -1;<a name="line.676"></a>
+<span class="sourceLineNo">677</span> long i = 0;<a name="line.677"></a>
+<span class="sourceLineNo">678</span> offsetFromPos++;<a name="line.678"></a>
+<span class="sourceLineNo">679</span> if (remaining >= Bytes.SIZEOF_INT) {<a name="line.679"></a>
+<span class="sourceLineNo">680</span> // The int read has to be converted to unsigned long so the & op<a name="line.680"></a>
+<span class="sourceLineNo">681</span> i = (blockBuffer.getIntAfterPosition(offsetFromPos) & 0x00000000ffffffffL);<a name="line.681"></a>
+<span class="sourceLineNo">682</span> remaining -= Bytes.SIZEOF_INT;<a name="line.682"></a>
+<span class="sourceLineNo">683</span> offsetFromPos += Bytes.SIZEOF_INT;<a name="line.683"></a>
+<span class="sourceLineNo">684</span> }<a name="line.684"></a>
+<span class="sourceLineNo">685</span> if (remaining >= Bytes.SIZEOF_SHORT) {<a name="line.685"></a>
+<span class="sourceLineNo">686</span> short s = blockBuffer.getShortAfterPosition(offsetFromPos);<a name="line.686"></a>
+<span class="sourceLineNo">687</span> i = i << 16;<a name="line.687"></a>
+<span class="sourceLineNo">688</span> i = i | (s & 0xFFFF);<a name="line.688"></a>
+<span class="sourceLineNo">689</span> remaining -= Bytes.SIZEOF_SHORT;<a name="line.689"></a>
+<span class="sourceLineNo">690</span> offsetFromPos += Bytes.SIZEOF_SHORT;<a name="line.690"></a>
+<span class="sourceLineNo">691</span> }<a name="line.691"></a>
+<span class="sourceLineNo">692</span> for (int idx = 0; idx < remaining; idx++) {<a name="line.692"></a>
+<span class="sourceLineNo">693</span> byte b = blockBuffer.getByteAfterPosition(offsetFromPos + idx);<a name="line.693"></a>
+<span class="sourceLineNo">694</span> i = i << 8;<a name="line.694"></a>
+<span class="sourceLineNo">695</span> i = i | (b & 0xFF);<a name="line.695"></a>
+<span class="sourceLineNo">696</span> }<a name="line.696"></a>
+<span class="sourceLineNo">697</span> currMemstoreTS = (WritableUtils.isNegativeVInt(firstByte) ? ~i : i);<a name="line.697"></a>
+<span class="sourceLineNo">698</span> }<a name="line.698"></a>
+<span class="sourceLineNo">699</span> this.currMemstoreTSLen = len;<a name="line.699"></a>
+<span class="sourceLineNo">700</span> }<a name="line.700"></a>
+<span class="sourceLineNo">701</span><a name="line.701"></a>
+<span class="sourceLineNo">702</span> /**<a name="line.702"></a>
+<span class="sourceLineNo">703</span> * Within a loaded block, seek
<TRUNCATED>
[47/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html b/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
index 0761683..f7aa217 100644
--- a/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
@@ -168,9 +168,9 @@
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupRestoreConstants.BackupCommand.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupRestoreConstants.BackupCommand</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.BackupPhase.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupPhase</span></a></li>
<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupType.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.BackupState.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.BackupPhase.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupPhase</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/class-use/Server.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/Server.html b/devapidocs/org/apache/hadoop/hbase/class-use/Server.html
index 8de0f88..2615bf2 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/Server.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/Server.html
@@ -436,13 +436,6 @@
</tr>
<tbody>
<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html" title="class in org.apache.hadoop.hbase.regionserver">HeapMemoryManager</a></code></td>
-<td class="colLast"><span class="typeNameLabel">HeapMemoryManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#create-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.FlushRequester-org.apache.hadoop.hbase.Server-org.apache.hadoop.hbase.regionserver.RegionServerAccounting-">create</a></span>(org.apache.hadoop.conf.Configuration conf,
- <a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushRequester.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushRequester</a> memStoreFlusher,
- <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> server,
- <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a> regionServerAccounting)</code> </td>
-</tr>
-<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a></code></td>
<td class="colLast"><span class="typeNameLabel">RSRpcServices.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#createRpcServer-org.apache.hadoop.hbase.Server-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.RpcSchedulerFactory-java.net.InetSocketAddress-java.lang.String-">createRpcServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> server,
org.apache.hadoop.conf.Configuration conf,
@@ -450,7 +443,7 @@
<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a> bindAddress,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">ReplicationService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html#initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider-">initialize</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> rs,
org.apache.hadoop.fs.FileSystem fs,
@@ -474,7 +467,7 @@
<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a> store)</code> </td>
</tr>
<tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#HeapMemoryManager-org.apache.hadoop.hbase.io.hfile.ResizableBlockCache-org.apache.hadoop.hbase.regionserver.FlushRequester-org.apache.hadoop.hbase.Server-org.apache.hadoop.hbase.regionserver.RegionServerAccounting-">HeapMemoryManager</a></span>(<a href="../../../../../org/apache/hadoop/hbase/io/hfile/ResizableBlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">ResizableBlockCache</a> blockCache,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html#HeapMemoryManager-org.apache.hadoop.hbase.io.hfile.BlockCache-org.apache.hadoop.hbase.regionserver.FlushRequester-org.apache.hadoop.hbase.Server-org.apache.hadoop.hbase.regionserver.RegionServerAccounting-">HeapMemoryManager</a></span>(<a href="../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushRequester.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushRequester</a> memStoreFlusher,
<a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> server,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a> regionServerAccounting)</code> </td>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html b/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html
index 08889d8..ed399cc 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html
@@ -4324,7 +4324,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
</td>
</tr>
<tr class="altColor">
-<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/master/assignment/ServerStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">ServerStateNode</a></code></td>
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/assignment/ServerStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">ServerStateNode</a></code></td>
<td class="colLast"><span class="typeNameLabel">RegionStates.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.html#getServerNode-org.apache.hadoop.hbase.ServerName-">getServerNode</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</code> </td>
</tr>
<tr class="rowColor">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/client/class-use/ColumnFamilyDescriptor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/class-use/ColumnFamilyDescriptor.html b/devapidocs/org/apache/hadoop/hbase/client/class-use/ColumnFamilyDescriptor.html
index 5c02dc3..3e059fa 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/ColumnFamilyDescriptor.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/ColumnFamilyDescriptor.html
@@ -518,8 +518,9 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
</tr>
<tbody>
<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">CacheConfig</a></span>(org.apache.hadoop.conf.Configuration conf,
- <a href="../../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a> family)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#CacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-org.apache.hadoop.hbase.io.hfile.BlockCache-">CacheConfig</a></span>(org.apache.hadoop.conf.Configuration conf,
+ <a href="../../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a> family,
+ <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> blockCache)</code>
<div class="block">Create a cache configuration using the specified configuration object and
family descriptor.</div>
</td>
@@ -847,18 +848,6 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
</tr>
</tbody>
</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructors in <a href="../../../../../../org/apache/hadoop/hbase/mob/package-summary.html">org.apache.hadoop.hbase.mob</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mob/MobCacheConfig.html#MobCacheConfig-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">MobCacheConfig</a></span>(org.apache.hadoop.conf.Configuration conf,
- <a href="../../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a> family)</code> </td>
-</tr>
-</tbody>
-</table>
</li>
<li class="blockList"><a name="org.apache.hadoop.hbase.mob.compactions">
<!-- -->
@@ -947,21 +936,15 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><span class="typeNameLabel">HMobStore.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HMobStore.html#createCacheConf-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">createCacheConf</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a> family)</code>
-<div class="block">Creates the mob cache config.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><span class="typeNameLabel">HStore.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#createCacheConf-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">createCacheConf</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a> family)</code>
<div class="block">Creates the cache config.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><span class="typeNameLabel">HStore.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HStore.html#determineTTLFromFamily-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">determineTTLFromFamily</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a> family)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a></code></td>
<td class="colLast"><span class="typeNameLabel">HRegion.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#instantiateHStore-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">instantiateHStore</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a> family)</code> </td>
</tr>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
index f24d0a1..aafbcb1 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
@@ -555,24 +555,24 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">TableState.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MasterSwitchType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocateType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RegionLocateType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">SnapshotType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</span></a></li>
<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Scan.ReadType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MobCompactPartitionPolicy.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MobCompactPartitionPolicy</span></a></li>
<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">IsolationLevel</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/ScannerCallable.MoreResults.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">ScannerCallable.MoreResults</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AbstractResponse.ResponseType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AbstractResponse.ResponseType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncProcessTask.SubmittedRows.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncProcessTask.SubmittedRows</span></a></li>
<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactionState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MobCompactPartitionPolicy.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MobCompactPartitionPolicy</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Durability</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRequestFutureImpl.Retry.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncRequestFutureImpl.Retry</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AbstractResponse.ResponseType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AbstractResponse.ResponseType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/ScannerCallable.MoreResults.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">ScannerCallable.MoreResults</span></a></li>
<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Consistency</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Durability</span></a></li>
<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RequestController.ReturnCode.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RequestController.ReturnCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncProcessTask.SubmittedRows.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncProcessTask.SubmittedRows</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocateType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RegionLocateType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRequestFutureImpl.Retry.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncRequestFutureImpl.Retry</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">SnapshotType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">TableState.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MasterSwitchType</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/coprocessor/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/coprocessor/package-tree.html b/devapidocs/org/apache/hadoop/hbase/coprocessor/package-tree.html
index 329f62f..e67b778 100644
--- a/devapidocs/org/apache/hadoop/hbase/coprocessor/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/coprocessor/package-tree.html
@@ -201,8 +201,8 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.coprocessor.<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html" title="enum in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">RegionObserver.MutationType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.coprocessor.<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MetaTableMetrics.MetaTableOps.html" title="enum in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">MetaTableMetrics.MetaTableOps</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.coprocessor.<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html" title="enum in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">RegionObserver.MutationType</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html b/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html
index ce950b0..ae0124e 100644
--- a/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html
@@ -104,8 +104,8 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.executor.<a href="../../../../../org/apache/hadoop/hbase/executor/EventType.html" title="enum in org.apache.hadoop.hbase.executor"><span class="typeNameLink">EventType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.executor.<a href="../../../../../org/apache/hadoop/hbase/executor/ExecutorType.html" title="enum in org.apache.hadoop.hbase.executor"><span class="typeNameLink">ExecutorType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.executor.<a href="../../../../../org/apache/hadoop/hbase/executor/EventType.html" title="enum in org.apache.hadoop.hbase.executor"><span class="typeNameLink">EventType</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
index 66fec8b..59d5985 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
@@ -184,13 +184,13 @@
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterWrapper.FilterRowRetCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FilterWrapper.FilterRowRetCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">CompareFilter.CompareOp</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FilterList.Operator</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">Filter.ReturnCode</span></a></li>
<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.SatisfiesCode</span></a></li>
<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/BitComparator.BitwiseOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">BitComparator.BitwiseOp</span></a></li>
<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.Order</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">CompareFilter.CompareOp</span></a></li>
<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/RegexStringComparator.EngineType.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">RegexStringComparator.EngineType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">Filter.ReturnCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FilterList.Operator</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/Reference.Range.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/Reference.Range.html b/devapidocs/org/apache/hadoop/hbase/io/Reference.Range.html
index 7744bec..2a1495e 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/Reference.Range.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/Reference.Range.html
@@ -244,7 +244,7 @@ the order they are declared.</div>
<ul class="blockList">
<li class="blockList">
<h4>values</h4>
-<pre>public static <a href="../../../../../org/apache/hadoop/hbase/io/Reference.Range.html" title="enum in org.apache.hadoop.hbase.io">Reference.Range</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/io/Reference.Range.html#line.76">values</a>()</pre>
+<pre>public static <a href="../../../../../org/apache/hadoop/hbase/io/Reference.Range.html" title="enum in org.apache.hadoop.hbase.io">Reference.Range</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/io/Reference.Range.html#line.23">values</a>()</pre>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared. This method may be used to iterate
over the constants as follows:
@@ -264,7 +264,7 @@ for (Reference.Range c : Reference.Range.values())
<ul class="blockListLast">
<li class="blockList">
<h4>valueOf</h4>
-<pre>public static <a href="../../../../../org/apache/hadoop/hbase/io/Reference.Range.html" title="enum in org.apache.hadoop.hbase.io">Reference.Range</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/io/Reference.Range.html#line.76">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name)</pre>
+<pre>public static <a href="../../../../../org/apache/hadoop/hbase/io/Reference.Range.html" title="enum in org.apache.hadoop.hbase.io">Reference.Range</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/io/Reference.Range.html#line.23">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name)</pre>
<div class="block">Returns the enum constant of this type with the specified name.
The string must match <i>exactly</i> an identifier used to declare an
enum constant in this type. (Extraneous whitespace characters are
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/BlockCache.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/BlockCache.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/BlockCache.html
index c42da0e..fac92df 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/BlockCache.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/BlockCache.html
@@ -50,7 +50,7 @@ var activeTableTab = "activeTableTab";
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/AgeSnapshot.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Next Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/io/hfile/BlockCache.html" target="_top">Frames</a></li>
@@ -551,7 +551,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.ht
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/AgeSnapshot.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Next Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/io/hfile/BlockCache.html" target="_top">Frames</a></li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html
new file mode 100644
index 0000000..2bf00d0
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html
@@ -0,0 +1,372 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>BlockCacheFactory.ExternalBlockCaches (Apache HBase 3.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="BlockCacheFactory.ExternalBlockCaches (Apache HBase 3.0.0-SNAPSHOT API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/BlockCacheFactory.ExternalBlockCaches.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" target="_top">Frames</a></li>
+<li><a href="BlockCacheFactory.ExternalBlockCaches.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary: </li>
+<li>Nested | </li>
+<li><a href="#enum.constant.summary">Enum Constants</a> | </li>
+<li><a href="#field.summary">Field</a> | </li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail: </li>
+<li><a href="#enum.constant.detail">Enum Constants</a> | </li>
+<li><a href="#field.detail">Field</a> | </li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.io.hfile</div>
+<h2 title="Enum BlockCacheFactory.ExternalBlockCaches" class="title">Enum BlockCacheFactory.ExternalBlockCaches</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a><<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory.ExternalBlockCaches</a>></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.io.hfile.BlockCacheFactory.ExternalBlockCaches</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory.ExternalBlockCaches</a>></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory</a></dd>
+</dl>
+<hr>
+<br>
+<pre>private static enum <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#line.126">BlockCacheFactory.ExternalBlockCaches</a>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a><<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory.ExternalBlockCaches</a>></pre>
+<div class="block">Enum of all built in external block caches.
+ This is used for config.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!-- -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html#memcached">memcached</a></span></code> </td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html#clazz">clazz</a></span></code> </td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory.ExternalBlockCaches</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory.ExternalBlockCaches</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!-- -->
+</a>
+<h3>Methods inherited from class java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/
8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!-- -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="memcached">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>memcached</h4>
+<pre>public static final <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory.ExternalBlockCaches</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html#line.127">memcached</a></pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="clazz">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>clazz</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html#line.129">clazz</a></pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory.ExternalBlockCaches</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html#line.126">values</a>()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared. This method may be used to iterate
+over the constants as follows:
+<pre>
+for (BlockCacheFactory.ExternalBlockCaches c : BlockCacheFactory.ExternalBlockCaches.values())
+ System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory.ExternalBlockCaches</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html#line.126">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/BlockCacheFactory.ExternalBlockCaches.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" target="_top">Frames</a></li>
+<li><a href="BlockCacheFactory.ExternalBlockCaches.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary: </li>
+<li>Nested | </li>
+<li><a href="#enum.constant.summary">Enum Constants</a> | </li>
+<li><a href="#field.summary">Field</a> | </li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail: </li>
+<li><a href="#enum.constant.detail">Enum Constants</a> | </li>
+<li><a href="#field.detail">Field</a> | </li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright © 2007–2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html
new file mode 100644
index 0000000..ce65be8
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html
@@ -0,0 +1,564 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>BlockCacheFactory (Apache HBase 3.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="BlockCacheFactory (Apache HBase 3.0.0-SNAPSHOT API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/BlockCacheFactory.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" target="_top">Frames</a></li>
+<li><a href="BlockCacheFactory.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary: </li>
+<li><a href="#nested.class.summary">Nested</a> | </li>
+<li><a href="#field.summary">Field</a> | </li>
+<li><a href="#constructor.summary">Constr</a> | </li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail: </li>
+<li><a href="#field.detail">Field</a> | </li>
+<li><a href="#constructor.detail">Constr</a> | </li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.io.hfile</div>
+<h2 title="Class BlockCacheFactory" class="title">Class BlockCacheFactory</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.io.hfile.BlockCacheFactory</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Private
+public final class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#line.36">BlockCacheFactory</a>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static class </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockCacheFactory.ExternalBlockCaches</a></span></code>
+<div class="block">Enum of all built in external block caches.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#BLOCKCACHE_BLOCKSIZE_KEY">BLOCKCACHE_BLOCKSIZE_KEY</a></span></code>
+<div class="block">The target block size used by blockcache instances.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#BUCKET_CACHE_BUCKETS_KEY">BUCKET_CACHE_BUCKETS_KEY</a></span></code>
+<div class="block">A comma-delimited array of values for use as bucket sizes.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#BUCKET_CACHE_PERSISTENT_PATH_KEY">BUCKET_CACHE_PERSISTENT_PATH_KEY</a></span></code>
+<div class="block">If the chosen ioengine can persist its state across restarts, the path to the file to persist
+ to.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#BUCKET_CACHE_WRITER_QUEUE_KEY">BUCKET_CACHE_WRITER_QUEUE_KEY</a></span></code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#BUCKET_CACHE_WRITER_THREADS_KEY">BUCKET_CACHE_WRITER_THREADS_KEY</a></span></code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#DEFAULT_BUCKET_CACHE_WRITER_QUEUE">DEFAULT_BUCKET_CACHE_WRITER_QUEUE</a></span></code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#DEFAULT_BUCKET_CACHE_WRITER_THREADS">DEFAULT_BUCKET_CACHE_WRITER_THREADS</a></span></code>
+<div class="block">Defaults for Bucket cache</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#EXTERNAL_BLOCKCACHE_CLASS_KEY">EXTERNAL_BLOCKCACHE_CLASS_KEY</a></span></code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#EXTERNAL_BLOCKCACHE_DEFAULT">EXTERNAL_BLOCKCACHE_DEFAULT</a></span></code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#EXTERNAL_BLOCKCACHE_KEY">EXTERNAL_BLOCKCACHE_KEY</a></span></code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static org.slf4j.Logger</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#LOG">LOG</a></span></code> </td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier</th>
+<th class="colLast" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#BlockCacheFactory--">BlockCacheFactory</a></span>()</code> </td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#createBlockCache-org.apache.hadoop.conf.Configuration-">createBlockCache</a></span>(org.apache.hadoop.conf.Configuration conf)</code> </td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>private static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#createBucketCache-org.apache.hadoop.conf.Configuration-">createBucketCache</a></span>(org.apache.hadoop.conf.Configuration c)</code> </td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>private static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#createExternalBlockcache-org.apache.hadoop.conf.Configuration-">createExternalBlockcache</a></span>(org.apache.hadoop.conf.Configuration c)</code> </td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>private static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/LruBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile">LruBlockCache</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#createOnHeapCache-org.apache.hadoop.conf.Configuration-">createOnHeapCache</a></span>(org.apache.hadoop.conf.Configuration c)</code> </td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/ja
va/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="LOG">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LOG</h4>
+<pre>private static final org.slf4j.Logger <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#line.38">LOG</a></pre>
+</li>
+</ul>
+<a name="BUCKET_CACHE_PERSISTENT_PATH_KEY">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>BUCKET_CACHE_PERSISTENT_PATH_KEY</h4>
+<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#line.54">BUCKET_CACHE_PERSISTENT_PATH_KEY</a></pre>
+<div class="block">If the chosen ioengine can persist its state across restarts, the path to the file to persist
+ to. This file is NOT the data file. It is a file into which we will serialize the map of
+ what is in the data file. For example, if you pass the following argument as
+ BUCKET_CACHE_IOENGINE_KEY ("hbase.bucketcache.ioengine"),
+ <code>file:/tmp/bucketcache.data </code>, then we will write the bucketcache data to the file
+ <code>/tmp/bucketcache.data</code> but the metadata on where the data is in the supplied file
+ is an in-memory map that needs to be persisted across restarts. Where to store this
+ in-memory state is what you supply here: e.g. <code>/tmp/bucketcache.map</code>.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.BlockCacheFactory.BUCKET_CACHE_PERSISTENT_PATH_KEY">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="BUCKET_CACHE_WRITER_THREADS_KEY">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>BUCKET_CACHE_WRITER_THREADS_KEY</h4>
+<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#line.56">BUCKET_CACHE_WRITER_THREADS_KEY</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.BlockCacheFactory.BUCKET_CACHE_WRITER_THREADS_KEY">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="BUCKET_CACHE_WRITER_QUEUE_KEY">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>BUCKET_CACHE_WRITER_QUEUE_KEY</h4>
+<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#line.58">BUCKET_CACHE_WRITER_QUEUE_KEY</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.BlockCacheFactory.BUCKET_CACHE_WRITER_QUEUE_KEY">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="BUCKET_CACHE_BUCKETS_KEY">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>BUCKET_CACHE_BUCKETS_KEY</h4>
+<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#line.63">BUCKET_CACHE_BUCKETS_KEY</a></pre>
+<div class="block">A comma-delimited array of values for use as bucket sizes.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.BlockCacheFactory.BUCKET_CACHE_BUCKETS_KEY">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="DEFAULT_BUCKET_CACHE_WRITER_THREADS">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DEFAULT_BUCKET_CACHE_WRITER_THREADS</h4>
+<pre>public static final int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#line.68">DEFAULT_BUCKET_CACHE_WRITER_THREADS</a></pre>
+<div class="block">Defaults for Bucket cache</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.BlockCacheFactory.DEFAULT_BUCKET_CACHE_WRITER_THREADS">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="DEFAULT_BUCKET_CACHE_WRITER_QUEUE">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DEFAULT_BUCKET_CACHE_WRITER_QUEUE</h4>
+<pre>public static final int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#line.69">DEFAULT_BUCKET_CACHE_WRITER_QUEUE</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.BlockCacheFactory.DEFAULT_BUCKET_CACHE_WRITER_QUEUE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="BLOCKCACHE_BLOCKSIZE_KEY">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>BLOCKCACHE_BLOCKSIZE_KEY</h4>
+<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#line.77">BLOCKCACHE_BLOCKSIZE_KEY</a></pre>
+<div class="block">The target block size used by blockcache instances. Defaults to
+ <a href="../../../../../../org/apache/hadoop/hbase/HConstants.html#DEFAULT_BLOCKSIZE"><code>HConstants.DEFAULT_BLOCKSIZE</code></a>.
+ TODO: this config point is completely wrong, as it's used to determine the
+ target block size of BlockCache instances. Rename.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.BlockCacheFactory.BLOCKCACHE_BLOCKSIZE_KEY">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="EXTERNAL_BLOCKCACHE_KEY">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>EXTERNAL_BLOCKCACHE_KEY</h4>
+<pre>private static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#line.79">EXTERNAL_BLOCKCACHE_KEY</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.BlockCacheFactory.EXTERNAL_BLOCKCACHE_KEY">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="EXTERNAL_BLOCKCACHE_DEFAULT">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>EXTERNAL_BLOCKCACHE_DEFAULT</h4>
+<pre>private static final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#line.80">EXTERNAL_BLOCKCACHE_DEFAULT</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.BlockCacheFactory.EXTERNAL_BLOCKCACHE_DEFAULT">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="EXTERNAL_BLOCKCACHE_CLASS_KEY">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>EXTERNAL_BLOCKCACHE_CLASS_KEY</h4>
+<pre>private static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#line.82">EXTERNAL_BLOCKCACHE_CLASS_KEY</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.BlockCacheFactory.EXTERNAL_BLOCKCACHE_CLASS_KEY">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="BlockCacheFactory--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>BlockCacheFactory</h4>
+<pre>private <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#line.84">BlockCacheFactory</a>()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="createBlockCache-org.apache.hadoop.conf.Configuration-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createBlockCache</h4>
+<pre>public static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#line.87">createBlockCache</a>(org.apache.hadoop.conf.Configuration conf)</pre>
+</li>
+</ul>
+<a name="createOnHeapCache-org.apache.hadoop.conf.Configuration-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createOnHeapCache</h4>
+<pre>private static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/LruBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile">LruBlockCache</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#line.110">createOnHeapCache</a>(org.apache.hadoop.conf.Configuration c)</pre>
+</li>
+</ul>
+<a name="createExternalBlockcache-org.apache.hadoop.conf.Configuration-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createExternalBlockcache</h4>
+<pre>private static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#line.142">createExternalBlockcache</a>(org.apache.hadoop.conf.Configuration c)</pre>
+</li>
+</ul>
+<a name="createBucketCache-org.apache.hadoop.conf.Configuration-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>createBucketCache</h4>
+<pre>private static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#line.172">createBucketCache</a>(org.apache.hadoop.conf.Configuration c)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/BlockCacheFactory.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html" target="_top">Frames</a></li>
+<li><a href="BlockCacheFactory.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary: </li>
+<li><a href="#nested.class.summary">Nested</a> | </li>
+<li><a href="#field.summary">Field</a> | </li>
+<li><a href="#constructor.summary">Constr</a> | </li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail: </li>
+<li><a href="#field.detail">Field</a> | </li>
+<li><a href="#constructor.detail">Constr</a> | </li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright © 2007–2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
[22/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.html b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.html
index f12e2ad..075304a 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.html
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
<hr>
<br>
<pre>@InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.255">RSRpcServices</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.256">RSRpcServices</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHandler.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRPCErrorHandler</a>, org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService.BlockingInterface, org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.BlockingInterface, <a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html" title="interface in org.apache.hadoop.hbase.ipc">PriorityFunction</a>, <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserver.html" title="interface in org.apache.hadoop.hbase.conf">ConfigurationObserver</a></pre>
<div class="block">Implements the regionserver RPC services.</div>
@@ -1016,7 +1016,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>LOG</h4>
-<pre>protected static final org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.258">LOG</a></pre>
+<pre>protected static final org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.259">LOG</a></pre>
</li>
</ul>
<a name="REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS">
@@ -1025,7 +1025,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS</h4>
-<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.261">REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS</a></pre>
+<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.262">REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS</a></pre>
<div class="block">RPC scheduler to use for the region server.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
@@ -1039,7 +1039,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>MASTER_RPC_SCHEDULER_FACTORY_CLASS</h4>
-<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.265">MASTER_RPC_SCHEDULER_FACTORY_CLASS</a></pre>
+<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.266">MASTER_RPC_SCHEDULER_FACTORY_CLASS</a></pre>
<div class="block">RPC scheduler to use for the master.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
@@ -1053,7 +1053,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA</h4>
-<pre>private static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.273">REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA</a></pre>
+<pre>private static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.274">REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA</a></pre>
<div class="block">Minimum allowable time limit delta (in milliseconds) that can be enforced during scans. This
configuration exists to prevent the scenario where a time limit is specified to be so
restrictive that the time limit is reached immediately (before any cells are scanned).</div>
@@ -1069,7 +1069,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA</h4>
-<pre>private static final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.278">DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA</a></pre>
+<pre>private static final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.279">DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA</a></pre>
<div class="block">Default value of <a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA"><code>REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA</code></a></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
@@ -1083,7 +1083,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>BATCH_ROWS_THRESHOLD_NAME</h4>
-<pre>static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.283">BATCH_ROWS_THRESHOLD_NAME</a></pre>
+<pre>static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.284">BATCH_ROWS_THRESHOLD_NAME</a></pre>
<div class="block">Number of rows in a batch operation above which a warning will be logged.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
@@ -1097,7 +1097,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>BATCH_ROWS_THRESHOLD_DEFAULT</h4>
-<pre>static final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.287">BATCH_ROWS_THRESHOLD_DEFAULT</a></pre>
+<pre>static final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.288">BATCH_ROWS_THRESHOLD_DEFAULT</a></pre>
<div class="block">Default value of <a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#BATCH_ROWS_THRESHOLD_NAME"><code>BATCH_ROWS_THRESHOLD_NAME</code></a></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
@@ -1111,7 +1111,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>RESERVOIR_ENABLED_KEY</h4>
-<pre>protected static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.289">RESERVOIR_ENABLED_KEY</a></pre>
+<pre>protected static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.290">RESERVOIR_ENABLED_KEY</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.RSRpcServices.RESERVOIR_ENABLED_KEY">Constant Field Values</a></dd>
@@ -1124,7 +1124,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>requestCount</h4>
-<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.293">requestCount</a></pre>
+<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.294">requestCount</a></pre>
</li>
</ul>
<a name="rpcGetRequestCount">
@@ -1133,7 +1133,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>rpcGetRequestCount</h4>
-<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.296">rpcGetRequestCount</a></pre>
+<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.297">rpcGetRequestCount</a></pre>
</li>
</ul>
<a name="rpcScanRequestCount">
@@ -1142,7 +1142,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>rpcScanRequestCount</h4>
-<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.299">rpcScanRequestCount</a></pre>
+<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.300">rpcScanRequestCount</a></pre>
</li>
</ul>
<a name="rpcMultiRequestCount">
@@ -1151,7 +1151,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>rpcMultiRequestCount</h4>
-<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.302">rpcMultiRequestCount</a></pre>
+<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.303">rpcMultiRequestCount</a></pre>
</li>
</ul>
<a name="rpcMutateRequestCount">
@@ -1160,7 +1160,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>rpcMutateRequestCount</h4>
-<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.305">rpcMutateRequestCount</a></pre>
+<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.306">rpcMutateRequestCount</a></pre>
</li>
</ul>
<a name="rpcServer">
@@ -1169,7 +1169,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>rpcServer</h4>
-<pre>final <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.308">rpcServer</a></pre>
+<pre>final <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.309">rpcServer</a></pre>
</li>
</ul>
<a name="isa">
@@ -1178,7 +1178,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>isa</h4>
-<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.309">isa</a></pre>
+<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.310">isa</a></pre>
</li>
</ul>
<a name="regionServer">
@@ -1187,7 +1187,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>regionServer</h4>
-<pre>private final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.311">regionServer</a></pre>
+<pre>private final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.312">regionServer</a></pre>
</li>
</ul>
<a name="maxScannerResultSize">
@@ -1196,7 +1196,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>maxScannerResultSize</h4>
-<pre>private final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.312">maxScannerResultSize</a></pre>
+<pre>private final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.313">maxScannerResultSize</a></pre>
</li>
</ul>
<a name="priority">
@@ -1205,7 +1205,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>priority</h4>
-<pre>private final <a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html" title="interface in org.apache.hadoop.hbase.ipc">PriorityFunction</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.315">priority</a></pre>
+<pre>private final <a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html" title="interface in org.apache.hadoop.hbase.ipc">PriorityFunction</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.316">priority</a></pre>
</li>
</ul>
<a name="scannerIdGenerator">
@@ -1214,7 +1214,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>scannerIdGenerator</h4>
-<pre>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerIdGenerator.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerIdGenerator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.317">scannerIdGenerator</a></pre>
+<pre>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerIdGenerator.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerIdGenerator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.318">scannerIdGenerator</a></pre>
</li>
</ul>
<a name="scanners">
@@ -1223,7 +1223,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>scanners</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices.RegionScannerHolder</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.318">scanners</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices.RegionScannerHolder</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.319">scanners</a></pre>
</li>
</ul>
<a name="closedScanners">
@@ -1232,7 +1232,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>closedScanners</h4>
-<pre>private final org.apache.hbase.thirdparty.com.google.common.cache.Cache<<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.322">closedScanners</a></pre>
+<pre>private final org.apache.hbase.thirdparty.com.google.common.cache.Cache<<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.323">closedScanners</a></pre>
</li>
</ul>
<a name="scannerLeaseTimeoutPeriod">
@@ -1241,7 +1241,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>scannerLeaseTimeoutPeriod</h4>
-<pre>private final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.326">scannerLeaseTimeoutPeriod</a></pre>
+<pre>private final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.327">scannerLeaseTimeoutPeriod</a></pre>
<div class="block">The lease timeout period for client scanners (milliseconds).</div>
</li>
</ul>
@@ -1251,7 +1251,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>rpcTimeout</h4>
-<pre>private final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.331">rpcTimeout</a></pre>
+<pre>private final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.332">rpcTimeout</a></pre>
<div class="block">The RPC timeout period (milliseconds)</div>
</li>
</ul>
@@ -1261,7 +1261,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>minimumScanTimeLimitDelta</h4>
-<pre>private final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.336">minimumScanTimeLimitDelta</a></pre>
+<pre>private final long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.337">minimumScanTimeLimitDelta</a></pre>
<div class="block">The minimum allowable delta to use for the scan limit</div>
</li>
</ul>
@@ -1271,7 +1271,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>rowSizeWarnThreshold</h4>
-<pre>private final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.341">rowSizeWarnThreshold</a></pre>
+<pre>private final int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.342">rowSizeWarnThreshold</a></pre>
<div class="block">Row size threshold for multi requests above which a warning is logged</div>
</li>
</ul>
@@ -1281,7 +1281,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>clearCompactionQueues</h4>
-<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.343">clearCompactionQueues</a></pre>
+<pre>final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.344">clearCompactionQueues</a></pre>
</li>
</ul>
<a name="accessChecker">
@@ -1290,7 +1290,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>accessChecker</h4>
-<pre>protected <a href="../../../../../org/apache/hadoop/hbase/security/access/AccessChecker.html" title="class in org.apache.hadoop.hbase.security.access">AccessChecker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.350">accessChecker</a></pre>
+<pre>protected <a href="../../../../../org/apache/hadoop/hbase/security/access/AccessChecker.html" title="class in org.apache.hadoop.hbase.security.access">AccessChecker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.351">accessChecker</a></pre>
</li>
</ul>
<a name="REGIONSERVER_ADMIN_SERVICE_CONFIG">
@@ -1299,7 +1299,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>REGIONSERVER_ADMIN_SERVICE_CONFIG</h4>
-<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.357">REGIONSERVER_ADMIN_SERVICE_CONFIG</a></pre>
+<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.358">REGIONSERVER_ADMIN_SERVICE_CONFIG</a></pre>
<div class="block">Services launched in RSRpcServices. By default they are on but you can use the below
booleans to selectively enable/disable either Admin or Client Service (Rare is the case
where you would ever turn off one or the other).</div>
@@ -1315,7 +1315,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>REGIONSERVER_CLIENT_SERVICE_CONFIG</h4>
-<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.359">REGIONSERVER_CLIENT_SERVICE_CONFIG</a></pre>
+<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.360">REGIONSERVER_CLIENT_SERVICE_CONFIG</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.RSRpcServices.REGIONSERVER_CLIENT_SERVICE_CONFIG">Constant Field Values</a></dd>
@@ -1328,7 +1328,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_LOG_DELEGATE</h4>
-<pre>private static <a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.LogDelegate.html" title="interface in org.apache.hadoop.hbase.regionserver">RSRpcServices.LogDelegate</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1188">DEFAULT_LOG_DELEGATE</a></pre>
+<pre>private static <a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.LogDelegate.html" title="interface in org.apache.hadoop.hbase.regionserver">RSRpcServices.LogDelegate</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1189">DEFAULT_LOG_DELEGATE</a></pre>
</li>
</ul>
<a name="ld">
@@ -1337,7 +1337,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<ul class="blockList">
<li class="blockList">
<h4>ld</h4>
-<pre>private final <a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.LogDelegate.html" title="interface in org.apache.hadoop.hbase.regionserver">RSRpcServices.LogDelegate</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1201">ld</a></pre>
+<pre>private final <a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.LogDelegate.html" title="interface in org.apache.hadoop.hbase.regionserver">RSRpcServices.LogDelegate</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1202">ld</a></pre>
</li>
</ul>
<a name="SCANNER_ALREADY_CLOSED">
@@ -1347,7 +1347,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
<li class="blockList">
<h4>SCANNER_ALREADY_CLOSED</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-private static final <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.3025">SCANNER_ALREADY_CLOSED</a></pre>
+private static final <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.3027">SCANNER_ALREADY_CLOSED</a></pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span> </div>
</li>
</ul>
@@ -1365,7 +1365,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>RSRpcServices</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1203">RSRpcServices</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> rs)
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1204">RSRpcServices</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> rs)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -1379,7 +1379,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockListLast">
<li class="blockList">
<h4>RSRpcServices</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1208">RSRpcServices</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> rs,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1209">RSRpcServices</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> rs,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.LogDelegate.html" title="interface in org.apache.hadoop.hbase.regionserver">RSRpcServices.LogDelegate</a> ld)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
@@ -1402,7 +1402,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>getResultOrException</h4>
-<pre>private static org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ResultOrException <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.505">getResultOrException</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Result r,
+<pre>private static org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ResultOrException <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.506">getResultOrException</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Result r,
int index)</pre>
</li>
</ul>
@@ -1412,7 +1412,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>getResultOrException</h4>
-<pre>private static org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ResultOrException <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.510">getResultOrException</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a> e,
+<pre>private static org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ResultOrException <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.511">getResultOrException</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a> e,
int index)</pre>
</li>
</ul>
@@ -1422,7 +1422,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>getResultOrException</h4>
-<pre>private static org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ResultOrException <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.514">getResultOrException</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ResultOrException.Builder builder,
+<pre>private static org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ResultOrException <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.515">getResultOrException</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ResultOrException.Builder builder,
int index)</pre>
</li>
</ul>
@@ -1432,7 +1432,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>rpcPreCheck</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.528">rpcPreCheck</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> requestName)
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.529">rpcPreCheck</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> requestName)
throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException</pre>
<div class="block">Checks for the following pre-checks in order:
<ol>
@@ -1453,7 +1453,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>startNonceOperation</h4>
-<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.543">startNonceOperation</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto mutation,
+<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.544">startNonceOperation</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto mutation,
long nonceGroup)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Starts the nonce operation for a mutation, if needed.</div>
@@ -1472,7 +1472,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>endNonceOperation</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.562">endNonceOperation</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto mutation,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.563">endNonceOperation</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto mutation,
long nonceGroup,
boolean success)</pre>
<div class="block">Ends nonce operation for a mutation, if needed.</div>
@@ -1490,7 +1490,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>isClientCellBlockSupport</h4>
-<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.569">isClientCellBlockSupport</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallContext</a> context)</pre>
+<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.570">isClientCellBlockSupport</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallContext</a> context)</pre>
</li>
</ul>
<a name="addResult-org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateResponse.Builder-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.hbase.ipc.HBaseRpcController-boolean-">
@@ -1499,7 +1499,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>addResult</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.573">addResult</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateResponse.Builder builder,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.574">addResult</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateResponse.Builder builder,
<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a> result,
<a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRpcController.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRpcController</a> rpcc,
boolean clientCellBlockSupported)</pre>
@@ -1511,7 +1511,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>addResults</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.585">addResults</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse.Builder builder,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.586">addResults</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse.Builder builder,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>> results,
<a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRpcController.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRpcController</a> controller,
boolean isDefaultRegion,
@@ -1524,7 +1524,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>checkAndRowMutate</h4>
-<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.609">checkAndRowMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region,
+<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.610">checkAndRowMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Action> actions,
<a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a> cellScanner,
byte[] row,
@@ -1551,7 +1551,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>append</h4>
-<pre>private <a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.671">append</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region,
+<pre>private <a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.672">append</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region,
<a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.html" title="interface in org.apache.hadoop.hbase.quotas">OperationQuota</a> quota,
org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto mutation,
<a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a> cellScanner,
@@ -1574,7 +1574,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>increment</h4>
-<pre>private <a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.723">increment</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region,
+<pre>private <a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.724">increment</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region,
<a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.html" title="interface in org.apache.hadoop.hbase.quotas">OperationQuota</a> quota,
org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto mutation,
<a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a> cells,
@@ -1599,7 +1599,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>doNonAtomicRegionMutation</h4>
-<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/CellScannable.html" title="interface in org.apache.hadoop.hbase">CellScannable</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.776">doNonAtomicRegionMutation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region,
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/CellScannable.html" title="interface in org.apache.hadoop.hbase">CellScannable</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.777">doNonAtomicRegionMutation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region,
<a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.html" title="interface in org.apache.hadoop.hbase.quotas">OperationQuota</a> quota,
org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionAction actions,
<a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a> cellScanner,
@@ -1628,7 +1628,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>checkCellSizeLimit</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.942">checkCellSizeLimit</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> r,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.943">checkCellSizeLimit</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> r,
<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a> m)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
@@ -1643,7 +1643,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>doAtomicBatchOp</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.958">doAtomicBatchOp</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionActionResult.Builder builder,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.959">doAtomicBatchOp</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionActionResult.Builder builder,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region,
<a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.html" title="interface in org.apache.hadoop.hbase.quotas">OperationQuota</a> quota,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Action> mutations,
@@ -1662,7 +1662,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>doNonAtomicBatchOp</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.970">doNonAtomicBatchOp</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionActionResult.Builder builder,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.971">doNonAtomicBatchOp</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionActionResult.Builder builder,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region,
<a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.html" title="interface in org.apache.hadoop.hbase.quotas">OperationQuota</a> quota,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Action> mutations,
@@ -1676,7 +1676,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>doBatchOp</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.992">doBatchOp</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionActionResult.Builder builder,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.993">doBatchOp</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionActionResult.Builder builder,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region,
<a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.html" title="interface in org.apache.hadoop.hbase.quotas">OperationQuota</a> quota,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Action> mutations,
@@ -1701,7 +1701,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>updateMutationMetrics</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1088">updateMutationMetrics</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1089">updateMutationMetrics</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region,
long starttime,
boolean batchContainsPuts,
boolean batchContainsDelete)</pre>
@@ -1713,7 +1713,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>doReplayBatchOp</h4>
-<pre>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1113">doReplayBatchOp</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region,
+<pre>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1114">doReplayBatchOp</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>> mutations,
long replaySeqId)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1738,7 +1738,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>closeAllScanners</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1171">closeAllScanners</a>()</pre>
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1172">closeAllScanners</a>()</pre>
</li>
</ul>
<a name="createRpcServer-org.apache.hadoop.hbase.Server-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.RpcSchedulerFactory-java.net.InetSocketAddress-java.lang.String-">
@@ -1747,7 +1747,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>createRpcServer</h4>
-<pre>protected <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1276">createRpcServer</a>(<a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> server,
+<pre>protected <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1277">createRpcServer</a>(<a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> server,
org.apache.hadoop.conf.Configuration conf,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/RpcSchedulerFactory.html" title="interface in org.apache.hadoop.hbase.regionserver">RpcSchedulerFactory</a> rpcSchedulerFactory,
<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a> bindAddress,
@@ -1765,7 +1765,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>getRpcSchedulerFactoryClass</h4>
-<pre>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><?> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1291">getRpcSchedulerFactoryClass</a>()</pre>
+<pre>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><?> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1292">getRpcSchedulerFactoryClass</a>()</pre>
</li>
</ul>
<a name="onConfigurationChange-org.apache.hadoop.conf.Configuration-">
@@ -1774,7 +1774,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>onConfigurationChange</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1297">onConfigurationChange</a>(org.apache.hadoop.conf.Configuration newConf)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1298">onConfigurationChange</a>(org.apache.hadoop.conf.Configuration newConf)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserver.html#onConfigurationChange-org.apache.hadoop.conf.Configuration-">ConfigurationObserver</a></code></span></div>
<div class="block">This method would be called by the <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf"><code>ConfigurationManager</code></a>
object when the <code>Configuration</code> object is reloaded from disk.</div>
@@ -1790,7 +1790,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>createPriority</h4>
-<pre>protected <a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html" title="interface in org.apache.hadoop.hbase.ipc">PriorityFunction</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1303">createPriority</a>()</pre>
+<pre>protected <a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html" title="interface in org.apache.hadoop.hbase.ipc">PriorityFunction</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1304">createPriority</a>()</pre>
</li>
</ul>
<a name="requirePermission-java.lang.String-org.apache.hadoop.hbase.security.access.Permission.Action-">
@@ -1799,7 +1799,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>requirePermission</h4>
-<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1307">requirePermission</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> request,
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1308">requirePermission</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> request,
<a href="../../../../../org/apache/hadoop/hbase/security/access/Permission.Action.html" title="enum in org.apache.hadoop.hbase.security.access">Permission.Action</a> perm)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
@@ -1814,7 +1814,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>getHostname</h4>
-<pre>public static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1314">getHostname</a>(org.apache.hadoop.conf.Configuration conf,
+<pre>public static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1315">getHostname</a>(org.apache.hadoop.conf.Configuration conf,
boolean isMaster)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/net/UnknownHostException.html?is-external=true" title="class or interface in java.net">UnknownHostException</a></pre>
<dl>
@@ -1829,7 +1829,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>getScannersCount</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1330">getScannersCount</a>()</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1331">getScannersCount</a>()</pre>
</li>
</ul>
<a name="getScanner-long-">
@@ -1838,7 +1838,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>getScanner</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1335">getScanner</a>(long scannerId)</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1336">getScanner</a>(long scannerId)</pre>
</li>
</ul>
<a name="getScanDetailsWithId-long-">
@@ -1847,7 +1847,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>getScanDetailsWithId</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1344">getScanDetailsWithId</a>(long scannerId)</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1345">getScanDetailsWithId</a>(long scannerId)</pre>
</li>
</ul>
<a name="getScannerVirtualTime-long-">
@@ -1856,7 +1856,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>getScannerVirtualTime</h4>
-<pre>long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1359">getScannerVirtualTime</a>(long scannerId)</pre>
+<pre>long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1360">getScannerVirtualTime</a>(long scannerId)</pre>
<div class="block">Get the vtime associated with the scanner.
Currently the vtime is the number of "next" calls.</div>
</li>
@@ -1867,7 +1867,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>addSize</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1372">addSize</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallContext</a> context,
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1373">addSize</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallContext</a> context,
<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a> r,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> lastBlock)</pre>
<div class="block">Method to account for the size of retained cells and retained data blocks.</div>
@@ -1883,7 +1883,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>addScanner</h4>
-<pre>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices.RegionScannerHolder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1406">addScanner</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> scannerName,
+<pre>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices.RegionScannerHolder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1407">addScanner</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> scannerName,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a> s,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.html" title="interface in org.apache.hadoop.hbase.regionserver">Shipper</a> shipper,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> r,
@@ -1901,7 +1901,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>getRegion</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1434">getRegion</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier regionSpecifier)
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1435">getRegion</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier regionSpecifier)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Find the HRegion based on a region specifier</div>
<dl>
@@ -1921,7 +1921,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>getRegions</h4>
-<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1447">getRegions</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier> regionSpecifiers,
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1448">getRegions</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier> regionSpecifiers,
<a href="../../../../../org/apache/hadoop/hbase/CacheEvictionStatsBuilder.html" title="class in org.apache.hadoop.hbase">CacheEvictionStatsBuilder</a> stats)</pre>
<div class="block">Find the List of HRegions based on a list of region specifiers</div>
<dl>
@@ -1941,7 +1941,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>getPriority</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html" title="interface in org.apache.hadoop.hbase.ipc">PriorityFunction</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1461">getPriority</a>()</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html" title="interface in org.apache.hadoop.hbase.ipc">PriorityFunction</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1462">getPriority</a>()</pre>
</li>
</ul>
<a name="getConfiguration--">
@@ -1950,7 +1950,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>getConfiguration</h4>
-<pre>public org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1466">getConfiguration</a>()</pre>
+<pre>public org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1467">getConfiguration</a>()</pre>
</li>
</ul>
<a name="getRpcQuotaManager--">
@@ -1959,7 +1959,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>getRpcQuotaManager</h4>
-<pre>private <a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerRpcQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerRpcQuotaManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1470">getRpcQuotaManager</a>()</pre>
+<pre>private <a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerRpcQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerRpcQuotaManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1471">getRpcQuotaManager</a>()</pre>
</li>
</ul>
<a name="getSpaceQuotaManager--">
@@ -1968,7 +1968,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>getSpaceQuotaManager</h4>
-<pre>private <a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerSpaceQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerSpaceQuotaManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1474">getSpaceQuotaManager</a>()</pre>
+<pre>private <a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerSpaceQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerSpaceQuotaManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1475">getSpaceQuotaManager</a>()</pre>
</li>
</ul>
<a name="start-org.apache.hadoop.hbase.zookeeper.ZKWatcher-">
@@ -1977,7 +1977,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>start</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1478">start</a>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a> zkWatcher)</pre>
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1479">start</a>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a> zkWatcher)</pre>
</li>
</ul>
<a name="stop--">
@@ -1986,7 +1986,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>stop</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1486">stop</a>()</pre>
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1487">stop</a>()</pre>
</li>
</ul>
<a name="checkOpen--">
@@ -1995,7 +1995,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>checkOpen</h4>
-<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1498">checkOpen</a>()
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1499">checkOpen</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Called to verify that this server is up and running.</div>
<dl>
@@ -2010,7 +2010,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>getServices</h4>
-<pre>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.BlockingServiceAndInterface</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1522">getServices</a>()</pre>
+<pre>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.BlockingServiceAndInterface</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1523">getServices</a>()</pre>
<div class="block">By default, put up an Admin and a Client Service.
Set booleans <code>hbase.regionserver.admin.executorService</code> and
<code>hbase.regionserver.client.executorService</code> if you want to enable/disable services.
@@ -2028,7 +2028,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>getSocketAddress</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1542">getSocketAddress</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1543">getSocketAddress</a>()</pre>
</li>
</ul>
<a name="getPriority-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader-org.apache.hbase.thirdparty.com.google.protobuf.Message-org.apache.hadoop.hbase.security.User-">
@@ -2037,7 +2037,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>getPriority</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1547">getPriority</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader header,
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1548">getPriority</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader header,
org.apache.hbase.thirdparty.com.google.protobuf.Message param,
<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a> user)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html#getPriority-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader-org.apache.hbase.thirdparty.com.google.protobuf.Message-org.apache.hadoop.hbase.security.User-">PriorityFunction</a></code></span></div>
@@ -2057,7 +2057,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>getDeadline</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1552">getDeadline</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader header,
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1553">getDeadline</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader header,
org.apache.hbase.thirdparty.com.google.protobuf.Message param)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html#getDeadline-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader-org.apache.hbase.thirdparty.com.google.protobuf.Message-">PriorityFunction</a></code></span></div>
<div class="block">Returns the deadline of the specified request.
@@ -2076,7 +2076,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>checkOOME</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1564">checkOOME</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a> e)</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1565">checkOOME</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a> e)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHandler.html#checkOOME-java.lang.Throwable-">HBaseRPCErrorHandler</a></code></span></div>
<div class="block">Take actions on the event of an OutOfMemoryError.</div>
<dl>
@@ -2095,7 +2095,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>exitIfOOME</h4>
-<pre>public static boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1568">exitIfOOME</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a> e)</pre>
+<pre>public static boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1569">exitIfOOME</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a> e)</pre>
</li>
</ul>
<a name="closeRegion-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest-">
@@ -2104,7 +2104,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>closeRegion</h4>
-<pre>public org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1597">closeRegion</a>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
+<pre>public org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1598">closeRegion</a>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest request)
throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException</pre>
<div class="block">Close a region on the region server.</div>
@@ -2125,7 +2125,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>compactRegion</h4>
-<pre>public org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1638">compactRegion</a>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
+<pre>public org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1639">compactRegion</a>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest request)
throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException</pre>
<div class="block">Compact a region on the region server.</div>
@@ -2146,7 +2146,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>compactionSwitch</h4>
-<pre>public org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactionSwitchResponse <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1677">compactionSwitch</a>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
+<pre>public org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactionSwitchResponse <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1678">compactionSwitch</a>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactionSwitchRequest request)
throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException</pre>
<dl>
@@ -2163,7 +2163,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>flushRegion</h4>
-<pre>public org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1705">flushRegion</a>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
+<pre>public org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1706">flushRegion</a>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest request)
throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException</pre>
<div class="block">Flush a region on the region server.</div>
@@ -2184,7 +2184,7 @@ private static final <a href="https://docs.oracle.com/javase/8/docs/api/jav
<ul class="blockList">
<li class="blockList">
<h4>getOnlineRegion</h4>
-<pre>public org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1747">getOnlineRegion</a>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
+<pre>public org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#li
<TRUNCATED>
[41/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html
index 34f0ddd..f8df7c4 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html
@@ -942,7 +942,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
<ul class="blockList">
<li class="blockList">
<h4>MINOR_VERSION_WITH_CHECKSUM</h4>
-<pre>public static final int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1265">MINOR_VERSION_WITH_CHECKSUM</a></pre>
+<pre>public static final int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1268">MINOR_VERSION_WITH_CHECKSUM</a></pre>
<div class="block">Minor versions in HFile starting with this number have hbase checksums</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
@@ -956,7 +956,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
<ul class="blockList">
<li class="blockList">
<h4>MINOR_VERSION_NO_CHECKSUM</h4>
-<pre>public static final int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1267">MINOR_VERSION_NO_CHECKSUM</a></pre>
+<pre>public static final int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1270">MINOR_VERSION_NO_CHECKSUM</a></pre>
<div class="block">In HFile minor version that does not support checksums</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
@@ -970,7 +970,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
<ul class="blockList">
<li class="blockList">
<h4>PBUF_TRAILER_MINOR_VERSION</h4>
-<pre>public static final int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1270">PBUF_TRAILER_MINOR_VERSION</a></pre>
+<pre>public static final int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1273">PBUF_TRAILER_MINOR_VERSION</a></pre>
<div class="block">HFile minor version that introduced pbuf filetrailer</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
@@ -984,7 +984,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
<ul class="blockList">
<li class="blockList">
<h4>KEY_VALUE_LEN_SIZE</h4>
-<pre>public static final int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1276">KEY_VALUE_LEN_SIZE</a></pre>
+<pre>public static final int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1279">KEY_VALUE_LEN_SIZE</a></pre>
<div class="block">The size of a (key length, value length) tuple that prefixes each entry in
a data block.</div>
<dl>
@@ -999,7 +999,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
<ul class="blockList">
<li class="blockList">
<h4>includesMemstoreTS</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1278">includesMemstoreTS</a></pre>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1281">includesMemstoreTS</a></pre>
</li>
</ul>
<a name="decodeMemstoreTS">
@@ -1008,7 +1008,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Rea
<ul class="blockListLast">
<li class="blockList">
<h4>decodeMemstoreTS</h4>
-<pre>protected boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1279">decodeMemstoreTS</a></pre>
+<pre>protected boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1282">decodeMemstoreTS</a></pre>
</li>
</ul>
</li>
@@ -1169,7 +1169,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>getFirstKey</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.386">getFirstKey</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.389">getFirstKey</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#getFirstKey--">getFirstKey</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1186,7 +1186,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>getFirstRowKey</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><byte[]> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.401">getFirstRowKey</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><byte[]> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.404">getFirstRowKey</a>()</pre>
<div class="block">TODO left from <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.html" title="class in org.apache.hadoop.hbase.io.hfile"><code>HFile</code></a> version 1: move this to StoreFile after Ryan's
patch goes in to eliminate <a href="../../../../../../org/apache/hadoop/hbase/KeyValue.html" title="class in org.apache.hadoop.hbase"><code>KeyValue</code></a> here.</div>
<dl>
@@ -1203,7 +1203,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>getLastRowKey</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><byte[]> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.413">getLastRowKey</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><byte[]> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.416">getLastRowKey</a>()</pre>
<div class="block">TODO left from <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.html" title="class in org.apache.hadoop.hbase.io.hfile"><code>HFile</code></a> version 1: move this to StoreFile after
Ryan's patch goes in to eliminate <a href="../../../../../../org/apache/hadoop/hbase/KeyValue.html" title="class in org.apache.hadoop.hbase"><code>KeyValue</code></a> here.</div>
<dl>
@@ -1220,7 +1220,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>getEntries</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.420">getEntries</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.423">getEntries</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#getEntries--">getEntries</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1235,7 +1235,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>getComparator</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.426">getComparator</a>()</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.429">getComparator</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#getComparator--">getComparator</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1250,7 +1250,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>getCompressionAlgorithm</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/compress/Compression.Algorithm.html" title="enum in org.apache.hadoop.hbase.io.compress">Compression.Algorithm</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.432">getCompressionAlgorithm</a>()</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/compress/Compression.Algorithm.html" title="enum in org.apache.hadoop.hbase.io.compress">Compression.Algorithm</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.435">getCompressionAlgorithm</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#getCompressionAlgorithm--">getCompressionAlgorithm</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1265,7 +1265,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>indexSize</h4>
-<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.441">indexSize</a>()</pre>
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.444">indexSize</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#indexSize--">indexSize</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1281,7 +1281,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.448">getName</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.451">getName</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#getName--">HFile.Reader</a></code></span></div>
<div class="block">Returns this reader's "name". Usually the last component of the path.
Needs to be constant as the file is being moved to support caching on
@@ -1298,7 +1298,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>getDataBlockIndexReader</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexReader.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlockIndex.BlockIndexReader</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.453">getDataBlockIndexReader</a>()</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.BlockIndexReader.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlockIndex.BlockIndexReader</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.456">getDataBlockIndexReader</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#getDataBlockIndexReader--">getDataBlockIndexReader</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1311,7 +1311,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>getTrailer</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.html" title="class in org.apache.hadoop.hbase.io.hfile">FixedFileTrailer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.458">getTrailer</a>()</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.html" title="class in org.apache.hadoop.hbase.io.hfile">FixedFileTrailer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.461">getTrailer</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#getTrailer--">getTrailer</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1324,7 +1324,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>isPrimaryReplicaReader</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.463">isPrimaryReplicaReader</a>()</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.466">isPrimaryReplicaReader</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#isPrimaryReplicaReader--">isPrimaryReplicaReader</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1337,7 +1337,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>loadFileInfo</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.FileInfo.html" title="class in org.apache.hadoop.hbase.io.hfile">HFile.FileInfo</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.468">loadFileInfo</a>()
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.FileInfo.html" title="class in org.apache.hadoop.hbase.io.hfile">HFile.FileInfo</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.471">loadFileInfo</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1353,7 +1353,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>getPath</h4>
-<pre>public org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1245">getPath</a>()</pre>
+<pre>public org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1248">getPath</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#getPath--">getPath</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1366,7 +1366,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>getDataBlockEncoding</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html" title="enum in org.apache.hadoop.hbase.io.encoding">DataBlockEncoding</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1250">getDataBlockEncoding</a>()</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html" title="enum in org.apache.hadoop.hbase.io.encoding">DataBlockEncoding</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1253">getDataBlockEncoding</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#getDataBlockEncoding--">getDataBlockEncoding</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1379,7 +1379,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>getConf</h4>
-<pre>public org.apache.hadoop.conf.Configuration <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1255">getConf</a>()</pre>
+<pre>public org.apache.hadoop.conf.Configuration <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1258">getConf</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getConf</code> in interface <code>org.apache.hadoop.conf.Configurable</code></dd>
@@ -1392,7 +1392,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>setConf</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1260">setConf</a>(org.apache.hadoop.conf.Configuration conf)</pre>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1263">setConf</a>(org.apache.hadoop.conf.Configuration conf)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>setConf</code> in interface <code>org.apache.hadoop.conf.Configurable</code></dd>
@@ -1405,7 +1405,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>isDecodeMemStoreTS</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1283">isDecodeMemStoreTS</a>()</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1286">isDecodeMemStoreTS</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#isDecodeMemStoreTS--">isDecodeMemStoreTS</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1418,7 +1418,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>shouldIncludeMemStoreTS</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1288">shouldIncludeMemStoreTS</a>()</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1291">shouldIncludeMemStoreTS</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#shouldIncludeMemStoreTS--">shouldIncludeMemStoreTS</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1431,7 +1431,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>getCachedBlock</h4>
-<pre>private <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1296">getCachedBlock</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> cacheKey,
+<pre>private <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1299">getCachedBlock</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> cacheKey,
boolean cacheBlock,
boolean useLock,
boolean isCompaction,
@@ -1453,7 +1453,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>getMetaBlock</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1367">getMetaBlock</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> metaBlockName,
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1368">getMetaBlock</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> metaBlockName,
boolean cacheBlock)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
@@ -1475,7 +1475,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>readBlock</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1419">readBlock</a>(long dataBlockOffset,
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1418">readBlock</a>(long dataBlockOffset,
long onDiskBlockSize,
boolean cacheBlock,
boolean pread,
@@ -1513,7 +1513,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>hasMVCCInfo</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1514">hasMVCCInfo</a>()</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1515">hasMVCCInfo</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#hasMVCCInfo--">hasMVCCInfo</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1526,7 +1526,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>validateBlockType</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1527">validateBlockType</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> block,
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1528">validateBlockType</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a> block,
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockType</a> expectedBlockType)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Compares the actual type of a block retrieved from cache or disk with its
@@ -1549,7 +1549,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>getLastKey</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1550">getLastKey</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1551">getLastKey</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#getLastKey--">getLastKey</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1566,7 +1566,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>midKey</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1560">midKey</a>()
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1561">midKey</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1585,7 +1585,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1565">close</a>()
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1566">close</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1603,7 +1603,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1570">close</a>(boolean evictOnClose)
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1571">close</a>(boolean evictOnClose)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#close-boolean-">HFile.Reader</a></code></span></div>
<div class="block">Close method with optional evictOnClose</div>
@@ -1621,7 +1621,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>getEffectiveEncodingInCache</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html" title="enum in org.apache.hadoop.hbase.io.encoding">DataBlockEncoding</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1583">getEffectiveEncodingInCache</a>(boolean isCompaction)</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html" title="enum in org.apache.hadoop.hbase.io.encoding">DataBlockEncoding</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1585">getEffectiveEncodingInCache</a>(boolean isCompaction)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#getEffectiveEncodingInCache-boolean-">getEffectiveEncodingInCache</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Reader</a></code></dd>
@@ -1634,7 +1634,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>getUncachedBlockReader</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.FSReader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileBlock.FSReader</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1589">getUncachedBlockReader</a>()</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.FSReader.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileBlock.FSReader</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1591">getUncachedBlockReader</a>()</pre>
<div class="block">For testing</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1648,7 +1648,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>getGeneralBloomFilterMetadata</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1747">getGeneralBloomFilterMetadata</a>()
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1749">getGeneralBloomFilterMetadata</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Returns a buffer with the Bloom filter metadata. The caller takes
ownership of the buffer.</div>
@@ -1666,7 +1666,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>getDeleteBloomFilterMetadata</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1752">getDeleteBloomFilterMetadata</a>()
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1754">getDeleteBloomFilterMetadata</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#getDeleteBloomFilterMetadata--">HFile.Reader</a></code></span></div>
<div class="block">Retrieves delete family Bloom filter metadata as appropriate for each
@@ -1686,7 +1686,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>getBloomFilterMetadata</h4>
-<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1756">getBloomFilterMetadata</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockType</a> blockType)
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1758">getBloomFilterMetadata</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockType</a> blockType)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -1700,7 +1700,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>isFileInfoLoaded</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1770">isFileInfoLoaded</a>()</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1772">isFileInfoLoaded</a>()</pre>
</li>
</ul>
<a name="getFileContext--">
@@ -1709,7 +1709,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>getFileContext</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileContext.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileContext</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1775">getFileContext</a>()</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileContext.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileContext</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1777">getFileContext</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#getFileContext--">HFile.Reader</a></code></span></div>
<div class="block">Return the file context of the HFile this reader belongs to</div>
<dl>
@@ -1724,7 +1724,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>prefetchComplete</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1785">prefetchComplete</a>()</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1787">prefetchComplete</a>()</pre>
<div class="block">Returns false if block prefetching was requested for this file and has
not completed, true otherwise</div>
<dl>
@@ -1739,7 +1739,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>createHFileContext</h4>
-<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileContext.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileContext</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1789">createHFileContext</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html" title="class in org.apache.hadoop.hbase.io">FSDataInputStreamWrapper</a> fsdis,
+<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileContext.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileContext</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1791">createHFileContext</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html" title="class in org.apache.hadoop.hbase.io">FSDataInputStreamWrapper</a> fsdis,
long fileSize,
<a href="../../../../../../org/apache/hadoop/hbase/fs/HFileSystem.html" title="class in org.apache.hadoop.hbase.fs">HFileSystem</a> hfs,
org.apache.hadoop.fs.Path path,
@@ -1757,7 +1757,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>getScanner</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileScanner</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1839">getScanner</a>(boolean cacheBlocks,
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileScanner</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1841">getScanner</a>(boolean cacheBlocks,
boolean pread)</pre>
<div class="block">Create a Scanner on this file. No seeks or reads are done on creation. Call
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html#seekTo-org.apache.hadoop.hbase.Cell-"><code>HFileScanner.seekTo(Cell)</code></a> to position an start the read. There is
@@ -1782,7 +1782,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>getScanner</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileScanner</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1858">getScanner</a>(boolean cacheBlocks,
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileScanner.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFileScanner</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1860">getScanner</a>(boolean cacheBlocks,
boolean pread,
boolean isCompaction)</pre>
<div class="block">Create a Scanner on this file. No seeks or reads are done on creation. Call
@@ -1808,7 +1808,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockList">
<li class="blockList">
<h4>getMajorVersion</h4>
-<pre>public int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1866">getMajorVersion</a>()</pre>
+<pre>public int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1868">getMajorVersion</a>()</pre>
</li>
</ul>
<a name="unbufferStream--">
@@ -1817,7 +1817,7 @@ public <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile
<ul class="blockListLast">
<li class="blockList">
<h4>unbufferStream</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1871">unbufferStream</a>()</pre>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.html#line.1873">unbufferStream</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Reader.html#unbufferStream--">HFile.Reader</a></code></span></div>
<div class="block">To close the stream's socket. Note: This can be concurrently called from multiple threads and
implementation should take care of thread safety.</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html
index 3e81c1d..8f0ee6e 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html
@@ -1213,7 +1213,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Wri
<ul class="blockList">
<li class="blockList">
<h4>newBlock</h4>
-<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line.556">newBlock</a>()
+<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line.557">newBlock</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Ready a new block for writing.</div>
<dl>
@@ -1228,7 +1228,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Wri
<ul class="blockList">
<li class="blockList">
<h4>appendMetaBlock</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line.577">appendMetaBlock</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> metaBlockName,
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line.578">appendMetaBlock</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> metaBlockName,
org.apache.hadoop.io.Writable content)</pre>
<div class="block">Add a meta block to the end of the file. Call before close(). Metadata
blocks are expensive. Fill one with a bunch of serialized data rather than
@@ -1249,7 +1249,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Wri
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line.593">close</a>()
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line.594">close</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1267,7 +1267,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Wri
<ul class="blockList">
<li class="blockList">
<h4>addInlineBlockWriter</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line.675">addInlineBlockWriter</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/InlineBlockWriter.html" title="interface in org.apache.hadoop.hbase.io.hfile">InlineBlockWriter</a> ibw)</pre>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line.676">addInlineBlockWriter</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/InlineBlockWriter.html" title="interface in org.apache.hadoop.hbase.io.hfile">InlineBlockWriter</a> ibw)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Writer.html#addInlineBlockWriter-org.apache.hadoop.hbase.io.hfile.InlineBlockWriter-">HFile.Writer</a></code></span></div>
<div class="block">Adds an inline block writer such as a multi-level block index writer or
a compound Bloom filter writer.</div>
@@ -1283,7 +1283,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Wri
<ul class="blockList">
<li class="blockList">
<h4>addGeneralBloomFilter</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line.680">addGeneralBloomFilter</a>(<a href="../../../../../../org/apache/hadoop/hbase/util/BloomFilterWriter.html" title="interface in org.apache.hadoop.hbase.util">BloomFilterWriter</a> bfw)</pre>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line.681">addGeneralBloomFilter</a>(<a href="../../../../../../org/apache/hadoop/hbase/util/BloomFilterWriter.html" title="interface in org.apache.hadoop.hbase.util">BloomFilterWriter</a> bfw)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Writer.html#addGeneralBloomFilter-org.apache.hadoop.hbase.util.BloomFilterWriter-">HFile.Writer</a></code></span></div>
<div class="block">Store general Bloom filter in the file. This does not deal with Bloom filter
internals but is necessary, since Bloom filters are stored differently
@@ -1300,7 +1300,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Wri
<ul class="blockList">
<li class="blockList">
<h4>addDeleteFamilyBloomFilter</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line.685">addDeleteFamilyBloomFilter</a>(<a href="../../../../../../org/apache/hadoop/hbase/util/BloomFilterWriter.html" title="interface in org.apache.hadoop.hbase.util">BloomFilterWriter</a> bfw)</pre>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line.686">addDeleteFamilyBloomFilter</a>(<a href="../../../../../../org/apache/hadoop/hbase/util/BloomFilterWriter.html" title="interface in org.apache.hadoop.hbase.util">BloomFilterWriter</a> bfw)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Writer.html#addDeleteFamilyBloomFilter-org.apache.hadoop.hbase.util.BloomFilterWriter-">HFile.Writer</a></code></span></div>
<div class="block">Store delete family Bloom filter in the file, which is only supported in
HFile V2.</div>
@@ -1316,7 +1316,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Wri
<ul class="blockList">
<li class="blockList">
<h4>addBloomFilter</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line.689">addBloomFilter</a>(<a href="../../../../../../org/apache/hadoop/hbase/util/BloomFilterWriter.html" title="interface in org.apache.hadoop.hbase.util">BloomFilterWriter</a> bfw,
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line.690">addBloomFilter</a>(<a href="../../../../../../org/apache/hadoop/hbase/util/BloomFilterWriter.html" title="interface in org.apache.hadoop.hbase.util">BloomFilterWriter</a> bfw,
<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockType</a> blockType)</pre>
</li>
</ul>
@@ -1326,7 +1326,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Wri
<ul class="blockList">
<li class="blockList">
<h4>getFileContext</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileContext.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileContext</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line.716">getFileContext</a>()</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileContext.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileContext</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line.717">getFileContext</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Writer.html#getFileContext--">HFile.Writer</a></code></span></div>
<div class="block">Return the file context for the HFile this writer belongs to</div>
<dl>
@@ -1341,7 +1341,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Wri
<ul class="blockList">
<li class="blockList">
<h4>append</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line.729">append</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> cell)
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line.730">append</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> cell)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Add key/value to file. Keys must be added in an order that agrees with the
Comparator passed on construction.</div>
@@ -1361,7 +1361,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Wri
<ul class="blockList">
<li class="blockList">
<h4>beforeShipped</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line.763">beforeShipped</a>()
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line.764">beforeShipped</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/ShipperListener.html#beforeShipped--">ShipperListener</a></code></span></div>
<div class="block">The action that needs to be performed before <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Shipper.html#shipped--"><code>Shipper.shipped()</code></a> is performed</div>
@@ -1379,7 +1379,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Wri
<ul class="blockList">
<li class="blockList">
<h4>finishFileInfo</h4>
-<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line.776">finishFileInfo</a>()
+<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line.777">finishFileInfo</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -1393,7 +1393,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Wri
<ul class="blockList">
<li class="blockList">
<h4>getMajorVersion</h4>
-<pre>protected int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line.805">getMajorVersion</a>()</pre>
+<pre>protected int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line.806">getMajorVersion</a>()</pre>
</li>
</ul>
<a name="getMinorVersion--">
@@ -1402,7 +1402,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Wri
<ul class="blockList">
<li class="blockList">
<h4>getMinorVersion</h4>
-<pre>protected int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line.809">getMinorVersion</a>()</pre>
+<pre>protected int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line.810">getMinorVersion</a>()</pre>
</li>
</ul>
<a name="finishClose-org.apache.hadoop.hbase.io.hfile.FixedFileTrailer-">
@@ -1411,7 +1411,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.Wri
<ul class="blockListLast">
<li class="blockList">
<h4>finishClose</h4>
-<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line.813">finishClose</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.html" title="class in org.apache.hadoop.hbase.io.hfile">FixedFileTrailer</a> trailer)
+<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#line.814">finishClose</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.html" title="class in org.apache.hadoop.hbase.io.hfile">FixedFileTrailer</a> trailer)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/InclusiveCombinedBlockCache.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/InclusiveCombinedBlockCache.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/InclusiveCombinedBlockCache.html
index 1e5b6e4..7c4ddac 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/InclusiveCombinedBlockCache.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/InclusiveCombinedBlockCache.html
@@ -216,7 +216,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBloc
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile">CombinedBlockCache</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#cacheBlock-org.apache.hadoop.hbase.io.hfile.BlockCacheKey-org.apache.hadoop.hbase.io.hfile.Cacheable-">cacheBlock</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#evictBlocksByHfileName-java.lang.String-">evictBlocksByHfileName</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#getBlockCaches--">getBlockCaches</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#getBlockCount--">getBlockCount</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#getCurrentDataSize--">getCurrentDataSize</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#getCurrentSize--">getCurrentSize</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#getDataBlockCount--">getDataBlockCount</a>, <a href="../
../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#getFreeSize--">getFreeSize</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#getMaxSize--">getMaxSize</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#getRefCount-org.apache.hadoop.hbase.io.hfile.BlockCacheKey-">getRefCount</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#getStats--">getStats</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#heapSize--">heapSize</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#iterator--">iterator</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#returnBlock-org.apache.hadoop.hbase.io.hfile.BlockCacheKey-org.apache.hadoop.hbase.io.hfile.Cacheable-">returnBlock</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.htm
l#setMaxSize-long-">setMaxSize</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#shutdown--">shutdown</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#size--">size</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#cacheBlock-org.apache.hadoop.hbase.io.hfile.BlockCacheKey-org.apache.hadoop.hbase.io.hfile.Cacheable-">cacheBlock</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#evictBlocksByHfileName-java.lang.String-">evictBlocksByHfileName</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#getBlockCaches--">getBlockCaches</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#getBlockCount--">getBlockCount</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#getCurrentDataSize--">getCurrentDataSize</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#getCurrentSize--">getCurrentSize</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#getDataBlockCount--">getDataBlockCount</a>, <a href="../
../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#getFreeSize--">getFreeSize</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#getMaxSize--">getMaxSize</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#getOnHeapCache--">getOnHeapCache</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#getRefCount-org.apache.hadoop.hbase.io.hfile.BlockCacheKey-">getRefCount</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#getStats--">getStats</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#heapSize--">heapSize</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#iterator--">iterator</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#returnBlock-org.apache.hadoop.hbase.io.hfile.BlockCacheKey-org.apache.hadoop.hbas
e.io.hfile.Cacheable-">returnBlock</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#setMaxSize-long-">setMaxSize</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#shutdown--">shutdown</a>, <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html#size--">size</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/class-use/BucketCache.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/class-use/BucketCache.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/class-use/BucketCache.html
index 82dac25..5499d3e 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/class-use/BucketCache.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/class-use/BucketCache.html
@@ -113,8 +113,8 @@
</tr>
<tbody>
<tr class="altColor">
-<td class="colFirst"><code>(package private) static <a href="../../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CacheConfig.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html#getBucketCache-org.apache.hadoop.conf.Configuration-">getBucketCache</a></span>(org.apache.hadoop.conf.Configuration c)</code> </td>
+<td class="colFirst"><code>private static <a href="../../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BlockCacheFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.html#createBucketCache-org.apache.hadoop.conf.Configuration-">createBucketCache</a></span>(org.apache.hadoop.conf.Configuration c)</code> </td>
</tr>
</tbody>
</table>
[23/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.LogDelegate.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.LogDelegate.html b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.LogDelegate.html
index 84c4071..e7b6097 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.LogDelegate.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.LogDelegate.html
@@ -105,7 +105,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1184">RSRpcServices.LogDelegate</a></pre>
+<pre>static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1185">RSRpcServices.LogDelegate</a></pre>
</li>
</ul>
</div>
@@ -151,7 +151,7 @@ var activeTableTab = "activeTableTab";
<ul class="blockListLast">
<li class="blockList">
<h4>logBatchWarning</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.LogDelegate.html#line.1185">logBatchWarning</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> firstRegionName,
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.LogDelegate.html#line.1186">logBatchWarning</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> firstRegionName,
int sum,
int rowSizeWarnThreshold)</pre>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html
index 5d0e72a..9e736dc 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.365">RSRpcServices.RegionScannerCloseCallBack</a>
+<pre>private static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.366">RSRpcServices.RegionScannerCloseCallBack</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a></pre>
<div class="block">An Rpc callback for closing a RegionScanner.</div>
@@ -209,7 +209,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
<ul class="blockListLast">
<li class="blockList">
<h4>scanner</h4>
-<pre>private final <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html#line.367">scanner</a></pre>
+<pre>private final <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html#line.368">scanner</a></pre>
</li>
</ul>
</li>
@@ -226,7 +226,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
<ul class="blockListLast">
<li class="blockList">
<h4>RegionScannerCloseCallBack</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html#line.369">RegionScannerCloseCallBack</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a> scanner)</pre>
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html#line.370">RegionScannerCloseCallBack</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a> scanner)</pre>
</li>
</ul>
</li>
@@ -243,7 +243,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
<ul class="blockListLast">
<li class="blockList">
<h4>run</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html#line.374">run</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html#line.375">run</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html#run--">RpcCallback</a></code></span></div>
<div class="block">Called at the end of an Rpc Call <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc"><code>RpcCallContext</code></a></div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html
index 70b0bd0..69d484d 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.431">RSRpcServices.RegionScannerHolder</a>
+<pre>private static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.432">RSRpcServices.RegionScannerHolder</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.</div>
</li>
@@ -239,7 +239,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>nextCallSeq</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.433">nextCallSeq</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.434">nextCallSeq</a></pre>
</li>
</ul>
<a name="scannerName">
@@ -248,7 +248,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>scannerName</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.434">scannerName</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.435">scannerName</a></pre>
</li>
</ul>
<a name="s">
@@ -257,7 +257,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>s</h4>
-<pre>private final <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.435">s</a></pre>
+<pre>private final <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.436">s</a></pre>
</li>
</ul>
<a name="r">
@@ -266,7 +266,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>r</h4>
-<pre>private final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.436">r</a></pre>
+<pre>private final <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.437">r</a></pre>
</li>
</ul>
<a name="closeCallBack">
@@ -275,7 +275,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>closeCallBack</h4>
-<pre>private final <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.437">closeCallBack</a></pre>
+<pre>private final <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.438">closeCallBack</a></pre>
</li>
</ul>
<a name="shippedCallback">
@@ -284,7 +284,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>shippedCallback</h4>
-<pre>private final <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.438">shippedCallback</a></pre>
+<pre>private final <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.439">shippedCallback</a></pre>
</li>
</ul>
<a name="rowOfLastPartialResult">
@@ -293,7 +293,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>rowOfLastPartialResult</h4>
-<pre>private byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.439">rowOfLastPartialResult</a></pre>
+<pre>private byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.440">rowOfLastPartialResult</a></pre>
</li>
</ul>
<a name="needCursor">
@@ -302,7 +302,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>needCursor</h4>
-<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.440">needCursor</a></pre>
+<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.441">needCursor</a></pre>
</li>
</ul>
</li>
@@ -319,7 +319,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>RegionScannerHolder</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.442">RegionScannerHolder</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> scannerName,
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.443">RegionScannerHolder</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> scannerName,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a> s,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> r,
<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a> closeCallBack,
@@ -341,7 +341,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>getNextCallSeq</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.452">getNextCallSeq</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.453">getNextCallSeq</a>()</pre>
</li>
</ul>
<a name="incNextCallSeq-long-">
@@ -350,7 +350,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>incNextCallSeq</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.456">incNextCallSeq</a>(long currentSeq)</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.457">incNextCallSeq</a>(long currentSeq)</pre>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html
index fac0e72..e6fe4db 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.382">RSRpcServices.RegionScannerShippedCallBack</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.383">RSRpcServices.RegionScannerShippedCallBack</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a></pre>
<div class="block">An Rpc callback for doing shipped() call on a RegionScanner.</div>
@@ -219,7 +219,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
<ul class="blockList">
<li class="blockList">
<h4>scannerName</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.384">scannerName</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.385">scannerName</a></pre>
</li>
</ul>
<a name="shipper">
@@ -228,7 +228,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
<ul class="blockList">
<li class="blockList">
<h4>shipper</h4>
-<pre>private final <a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.html" title="interface in org.apache.hadoop.hbase.regionserver">Shipper</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.385">shipper</a></pre>
+<pre>private final <a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.html" title="interface in org.apache.hadoop.hbase.regionserver">Shipper</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.386">shipper</a></pre>
</li>
</ul>
<a name="lease">
@@ -237,7 +237,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
<ul class="blockListLast">
<li class="blockList">
<h4>lease</h4>
-<pre>private final <a href="../../../../../org/apache/hadoop/hbase/regionserver/Leases.Lease.html" title="class in org.apache.hadoop.hbase.regionserver">Leases.Lease</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.386">lease</a></pre>
+<pre>private final <a href="../../../../../org/apache/hadoop/hbase/regionserver/Leases.Lease.html" title="class in org.apache.hadoop.hbase.regionserver">Leases.Lease</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.387">lease</a></pre>
</li>
</ul>
</li>
@@ -254,7 +254,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
<ul class="blockListLast">
<li class="blockList">
<h4>RegionScannerShippedCallBack</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.388">RegionScannerShippedCallBack</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> scannerName,
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.389">RegionScannerShippedCallBack</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> scannerName,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.html" title="interface in org.apache.hadoop.hbase.regionserver">Shipper</a> shipper,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/Leases.Lease.html" title="class in org.apache.hadoop.hbase.regionserver">Leases.Lease</a> lease)</pre>
</li>
@@ -273,7 +273,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
<ul class="blockListLast">
<li class="blockList">
<h4>run</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.395">run</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.396">run</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html#run--">RpcCallback</a></code></span></div>
<div class="block">Called at the end of an Rpc Call <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc"><code>RpcCallContext</code></a></div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html
index 7080be8..4506356 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.409">RSRpcServices.RegionScannersCloseCallBack</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.410">RSRpcServices.RegionScannersCloseCallBack</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a></pre>
<div class="block">An RpcCallBack that creates a list of scanners that needs to perform callBack operation on
@@ -214,7 +214,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
<ul class="blockListLast">
<li class="blockList">
<h4>scanners</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html#line.410">scanners</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html#line.411">scanners</a></pre>
</li>
</ul>
</li>
@@ -231,7 +231,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
<ul class="blockListLast">
<li class="blockList">
<h4>RegionScannersCloseCallBack</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html#line.409">RegionScannersCloseCallBack</a>()</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html#line.410">RegionScannersCloseCallBack</a>()</pre>
</li>
</ul>
</li>
@@ -248,7 +248,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
<ul class="blockList">
<li class="blockList">
<h4>addScanner</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html#line.412">addScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a> scanner)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html#line.413">addScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a> scanner)</pre>
</li>
</ul>
<a name="run--">
@@ -257,7 +257,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
<ul class="blockListLast">
<li class="blockList">
<h4>run</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html#line.417">run</a>()</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html#line.418">run</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html#run--">RpcCallback</a></code></span></div>
<div class="block">Called at the end of an Rpc Call <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc"><code>RpcCallContext</code></a></div>
<dl>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html
index 459ba75..68b2325 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.466">RSRpcServices.ScannerListener</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.467">RSRpcServices.ScannerListener</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/LeaseListener.html" title="interface in org.apache.hadoop.hbase.regionserver">LeaseListener</a></pre>
<div class="block">Instantiated as a scanner lease. If the lease times out, the scanner is
@@ -210,7 +210,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/LeaseLis
<ul class="blockListLast">
<li class="blockList">
<h4>scannerName</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html#line.467">scannerName</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html#line.468">scannerName</a></pre>
</li>
</ul>
</li>
@@ -227,7 +227,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/LeaseLis
<ul class="blockListLast">
<li class="blockList">
<h4>ScannerListener</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html#line.469">ScannerListener</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> n)</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html#line.470">ScannerListener</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> n)</pre>
</li>
</ul>
</li>
@@ -244,7 +244,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/LeaseLis
<ul class="blockListLast">
<li class="blockList">
<h4>leaseExpired</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html#line.474">leaseExpired</a>()</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html#line.475">leaseExpired</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/LeaseListener.html#leaseExpired--">LeaseListener</a></code></span></div>
<div class="block">When a lease expires, this method is called.</div>
<dl>
[28/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html
index 6e007de..e258dca 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html
@@ -18,7 +18,7 @@
catch(err) {
}
//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":9,"i43":9,"i44":9,"i45":9,"i46":9,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":9,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":9,"i98":10,"i99":10,"i100":10,"i101":10,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i109":10
,"i110":9,"i111":10,"i112":10,"i113":10,"i114":10,"i115":10,"i116":10,"i117":41,"i118":41,"i119":10,"i120":10,"i121":10,"i122":10,"i123":10,"i124":10,"i125":10,"i126":10,"i127":10,"i128":10,"i129":10,"i130":10,"i131":10,"i132":10,"i133":10,"i134":10,"i135":10,"i136":10,"i137":10,"i138":10,"i139":10,"i140":10,"i141":10,"i142":10,"i143":10,"i144":10,"i145":10,"i146":9,"i147":10,"i148":10,"i149":10,"i150":10,"i151":10,"i152":10,"i153":10,"i154":10,"i155":42,"i156":10,"i157":10,"i158":10,"i159":10,"i160":10,"i161":10,"i162":10,"i163":10,"i164":10,"i165":10,"i166":10,"i167":10,"i168":10,"i169":10,"i170":10,"i171":10,"i172":10,"i173":10,"i174":10,"i175":10,"i176":10,"i177":9,"i178":10,"i179":10,"i180":10,"i181":10,"i182":10,"i183":10,"i184":10,"i185":10,"i186":9,"i187":10,"i188":10,"i189":9,"i190":9,"i191":9,"i192":9,"i193":9,"i194":9,"i195":9,"i196":9,"i197":9,"i198":9,"i199":10,"i200":10,"i201":10,"i202":10,"i203":10,"i204":10,"i205":10,"i206":10,"i207":10,"i208":9,"i209":10,"i210":10,"
i211":10,"i212":10,"i213":10,"i214":10,"i215":10,"i216":10,"i217":10,"i218":10,"i219":10,"i220":10,"i221":10,"i222":10,"i223":10,"i224":10,"i225":10,"i226":10,"i227":10,"i228":10,"i229":10,"i230":10,"i231":10,"i232":10,"i233":10,"i234":10,"i235":10,"i236":10,"i237":10,"i238":10,"i239":10,"i240":9,"i241":9,"i242":10,"i243":10,"i244":10,"i245":10,"i246":10,"i247":10,"i248":10,"i249":10,"i250":10,"i251":10,"i252":10,"i253":10,"i254":9,"i255":10,"i256":10,"i257":10,"i258":10,"i259":10,"i260":10,"i261":10,"i262":9,"i263":10,"i264":10,"i265":10,"i266":10,"i267":10,"i268":9,"i269":10,"i270":10,"i271":10,"i272":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":9,"i43":9,"i44":9,"i45":9,"i46":9,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":9,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":9,"i99":10,"i100":10,"i101":10,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i109":10
,"i110":10,"i111":10,"i112":9,"i113":10,"i114":10,"i115":10,"i116":10,"i117":10,"i118":10,"i119":41,"i120":41,"i121":10,"i122":10,"i123":10,"i124":10,"i125":10,"i126":10,"i127":10,"i128":10,"i129":10,"i130":10,"i131":10,"i132":10,"i133":10,"i134":10,"i135":10,"i136":10,"i137":10,"i138":10,"i139":10,"i140":10,"i141":10,"i142":10,"i143":10,"i144":10,"i145":10,"i146":10,"i147":10,"i148":9,"i149":10,"i150":10,"i151":10,"i152":10,"i153":10,"i154":10,"i155":10,"i156":10,"i157":42,"i158":10,"i159":10,"i160":10,"i161":10,"i162":10,"i163":10,"i164":10,"i165":10,"i166":10,"i167":10,"i168":10,"i169":10,"i170":10,"i171":10,"i172":10,"i173":10,"i174":10,"i175":10,"i176":10,"i177":10,"i178":10,"i179":9,"i180":10,"i181":10,"i182":10,"i183":10,"i184":10,"i185":10,"i186":10,"i187":10,"i188":9,"i189":10,"i190":10,"i191":9,"i192":9,"i193":9,"i194":9,"i195":9,"i196":9,"i197":9,"i198":9,"i199":9,"i200":9,"i201":10,"i202":10,"i203":10,"i204":10,"i205":10,"i206":10,"i207":10,"i208":10,"i209":10,"i210":9,"
i211":10,"i212":10,"i213":10,"i214":10,"i215":10,"i216":10,"i217":10,"i218":10,"i219":10,"i220":10,"i221":10,"i222":10,"i223":10,"i224":10,"i225":10,"i226":10,"i227":10,"i228":10,"i229":10,"i230":10,"i231":10,"i232":10,"i233":10,"i234":10,"i235":10,"i236":10,"i237":10,"i238":10,"i239":10,"i240":10,"i241":10,"i242":9,"i243":9,"i244":10,"i245":10,"i246":10,"i247":10,"i248":10,"i249":10,"i250":10,"i251":10,"i252":10,"i253":10,"i254":10,"i255":10,"i256":10,"i257":10,"i258":9,"i259":10,"i260":10,"i261":10,"i262":10,"i263":10,"i264":10,"i265":10,"i266":9,"i267":10,"i268":10,"i269":10,"i270":10,"i271":10,"i272":9,"i273":10,"i274":10,"i275":10,"i276":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
<hr>
<br>
<pre>@InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.227">HRegion</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.229">HRegion</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" title="interface in org.apache.hadoop.hbase.io">HeapSize</a>, <a href="../../../../../org/apache/hadoop/hbase/conf/PropagatingConfigurationObserver.html" title="interface in org.apache.hadoop.hbase.conf">PropagatingConfigurationObserver</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a></pre>
<div class="block">Regions store data for a certain region of a table. It stores all columns
@@ -245,287 +245,295 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#baseConf">baseConf</a></span></code> </td>
</tr>
<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#blockCache">blockCache</a></span></code> </td>
+</tr>
+<tr class="altColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#blockedRequestsCount">blockedRequestsCount</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#blockingMemStoreSize">blockingMemStoreSize</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>(package private) long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#busyWaitDuration">busyWaitDuration</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#checkAndMutateChecksFailed">checkAndMutateChecksFailed</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#checkAndMutateChecksPassed">checkAndMutateChecksPassed</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#closed">closed</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#closeLock">closeLock</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#closing">closing</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#compactionNumBytesCompacted">compactionNumBytesCompacted</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#compactionNumFilesCompacted">compactionNumFilesCompacted</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#compactionsFailed">compactionsFailed</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#compactionsFinished">compactionsFinished</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#compactionsQueued">compactionsQueued</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>protected org.apache.hadoop.conf.Configuration</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#conf">conf</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a><<a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf">ConfigurationManager</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#configurationManager">configurationManager</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver">RegionCoprocessorHost</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#coprocessorHost">coprocessorHost</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,com.google.protobuf.Service></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#coprocessorServiceHandlers">coprocessorServiceHandlers</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#cpRequestsCount">cpRequestsCount</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#dataInMemoryWithoutWAL">dataInMemoryWithoutWAL</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#DEEP_OVERHEAD">DEEP_OVERHEAD</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>(package private) static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#DEFAULT_BUSY_WAIT_DURATION">DEFAULT_BUSY_WAIT_DURATION</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#DEFAULT_CACHE_FLUSH_INTERVAL">DEFAULT_CACHE_FLUSH_INTERVAL</a></span></code>
<div class="block">Default interval for the memstore flush</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#DEFAULT_DURABILITY">DEFAULT_DURABILITY</a></span></code>
<div class="block">This is the global default value for durability.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#DEFAULT_FLUSH_PER_CHANGES">DEFAULT_FLUSH_PER_CHANGES</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#DEFAULT_HBASE_REGIONSERVER_MINIBATCH_SIZE">DEFAULT_HBASE_REGIONSERVER_MINIBATCH_SIZE</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#DEFAULT_MAX_CELL_SIZE">DEFAULT_MAX_CELL_SIZE</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>(package private) static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#DEFAULT_ROW_PROCESSOR_TIMEOUT">DEFAULT_ROW_PROCESSOR_TIMEOUT</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>(package private) static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#DEFAULT_ROWLOCK_WAIT_DURATION">DEFAULT_ROWLOCK_WAIT_DURATION</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#DEFAULT_WAL_HSYNC">DEFAULT_WAL_HSYNC</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#explicitSplitPoint">explicitSplitPoint</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#filteredReadRequestsCount">filteredReadRequestsCount</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#FIXED_OVERHEAD">FIXED_OVERHEAD</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#flushCheckInterval">flushCheckInterval</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#flushesQueued">flushesQueued</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#flushPerChanges">flushPerChanges</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushPolicy.html" title="class in org.apache.hadoop.hbase.regionserver">FlushPolicy</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#flushPolicy">flushPolicy</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private static byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#FOR_UNIT_TESTS_ONLY">FOR_UNIT_TESTS_ONLY</a></span></code>
<div class="block">Row needed by below method.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#fs">fs</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#HBASE_MAX_CELL_SIZE_KEY">HBASE_MAX_CELL_SIZE_KEY</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#HBASE_REGIONSERVER_MINIBATCH_SIZE">HBASE_REGIONSERVER_MINIBATCH_SIZE</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#htableDescriptor">htableDescriptor</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#isLoadingCfsOnDemandDefault">isLoadingCfsOnDemandDefault</a></span></code>
<div class="block">The default setting for whether to enable on-demand CF loading for
scan requests to this region.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#lastFlushOpSeqId">lastFlushOpSeqId</a></span></code>
<div class="block">Record the sequence id of last flush operation.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>protected long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#lastReplayedCompactionSeqId">lastReplayedCompactionSeqId</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>protected long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#lastReplayedOpenRegionSeqId">lastReplayedOpenRegionSeqId</a></span></code>
<div class="block">The sequence id of the last replayed open region event from the primary region.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#lastStoreFlushTimeMap">lastStoreFlushTimeMap</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#LOAD_CFS_ON_DEMAND_CONFIG_KEY">LOAD_CFS_ON_DEMAND_CONFIG_KEY</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantReadWriteLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantReadWriteLock</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#lock">lock</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentHashMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentHashMap</a><<a href="../../../../../org/apache/hadoop/hbase/util/HashedBytes.html" title="class in org.apache.hadoop.hbase.util">HashedBytes</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#lockedRows">lockedRows</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private static org.slf4j.Logger</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#LOG">LOG</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#majorInProgress">majorInProgress</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#MAX_FLUSH_PER_CHANGES">MAX_FLUSH_PER_CHANGES</a></span></code>
<div class="block">The following MAX_FLUSH_PER_CHANGES is large enough because each KeyValue has 20+ bytes
overhead.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>(package private) long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#maxBusyWaitDuration">maxBusyWaitDuration</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>(package private) int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#maxBusyWaitMultiplier">maxBusyWaitMultiplier</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>(package private) long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#maxCellSize">maxCellSize</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#maxFlushedSeqId">maxFlushedSeqId</a></span></code>
<div class="block">The max sequence id of flushed data on this region.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#maxSeqIdInStores">maxSeqIdInStores</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#MEMSTORE_FLUSH_PER_CHANGES">MEMSTORE_FLUSH_PER_CHANGES</a></span></code>
<div class="block">Conf key to force a flush if there are already enough changes for one region in memstore</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#MEMSTORE_PERIODIC_FLUSH_INTERVAL">MEMSTORE_PERIODIC_FLUSH_INTERVAL</a></span></code>
<div class="block">Conf key for the periodic flush interval</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>(package private) long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#memstoreFlushSize">memstoreFlushSize</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSizing.html" title="interface in org.apache.hadoop.hbase.regionserver">MemStoreSizing</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#memStoreSizing">memStoreSizing</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegion.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegion</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#metricsRegion">metricsRegion</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionWrapperImpl</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#metricsRegionWrapper">metricsRegionWrapper</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#miniBatchSize">miniBatchSize</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#minorInProgress">minorInProgress</a></span></code> </td>
</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#mobFileCache">mobFileCache</a></span></code> </td>
+</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#MOCKED_LIST">MOCKED_LIST</a></span></code>
@@ -1235,164 +1243,172 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
</td>
</tr>
<tr id="i80" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getBlockCache--">getBlockCache</a></span>()</code> </td>
+</tr>
+<tr id="i81" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getBlockedRequestsCount--">getBlockedRequestsCount</a></span>()</code> </td>
</tr>
-<tr id="i81" class="rowColor">
+<tr id="i82" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getCellComparator--">getCellComparator</a></span>()</code>
<div class="block">The comparator to be used with the region</div>
</td>
</tr>
-<tr id="i82" class="altColor">
+<tr id="i83" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getCheckAndMutateChecksFailed--">getCheckAndMutateChecksFailed</a></span>()</code> </td>
</tr>
-<tr id="i83" class="rowColor">
+<tr id="i84" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getCheckAndMutateChecksPassed--">getCheckAndMutateChecksPassed</a></span>()</code> </td>
</tr>
-<tr id="i84" class="altColor">
+<tr id="i85" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getCompactionState--">getCompactionState</a></span>()</code> </td>
</tr>
-<tr id="i85" class="rowColor">
+<tr id="i86" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getCompactPriority--">getCompactPriority</a></span>()</code> </td>
</tr>
-<tr id="i86" class="altColor">
+<tr id="i87" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver">RegionCoprocessorHost</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getCoprocessorHost--">getCoprocessorHost</a></span>()</code> </td>
</tr>
-<tr id="i87" class="rowColor">
+<tr id="i88" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getCpRequestsCount--">getCpRequestsCount</a></span>()</code> </td>
</tr>
-<tr id="i88" class="altColor">
+<tr id="i89" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getDataInMemoryWithoutWAL--">getDataInMemoryWithoutWAL</a></span>()</code> </td>
</tr>
-<tr id="i89" class="rowColor">
+<tr id="i90" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getEarliestFlushTimeForAllStores--">getEarliestFlushTimeForAllStores</a></span>()</code> </td>
</tr>
-<tr id="i90" class="altColor">
+<tr id="i91" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getEffectiveDurability-org.apache.hadoop.hbase.client.Durability-">getEffectiveDurability</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a> d)</code>
<div class="block">Returns effective durability from the passed durability and
the table descriptor.</div>
</td>
</tr>
-<tr id="i91" class="rowColor">
+<tr id="i92" class="altColor">
<td class="colFirst"><code>(package private) byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getExplicitSplitPoint--">getExplicitSplitPoint</a></span>()</code> </td>
</tr>
-<tr id="i92" class="altColor">
+<tr id="i93" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.fs.FileSystem</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getFilesystem--">getFilesystem</a></span>()</code> </td>
</tr>
-<tr id="i93" class="rowColor">
+<tr id="i94" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getFilteredReadRequestsCount--">getFilteredReadRequestsCount</a></span>()</code> </td>
</tr>
-<tr id="i94" class="altColor">
+<tr id="i95" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HDFSBlocksDistribution.html" title="class in org.apache.hadoop.hbase">HDFSBlocksDistribution</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getHDFSBlocksDistribution--">getHDFSBlocksDistribution</a></span>()</code> </td>
</tr>
-<tr id="i95" class="rowColor">
+<tr id="i96" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionLoadStats</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getLoadStatistics--">getLoadStatistics</a></span>()</code> </td>
</tr>
-<tr id="i96" class="altColor">
+<tr id="i97" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentHashMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentHashMap</a><<a href="../../../../../org/apache/hadoop/hbase/util/HashedBytes.html" title="class in org.apache.hadoop.hbase.util">HashedBytes</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getLockedRows--">getLockedRows</a></span>()</code> </td>
</tr>
-<tr id="i97" class="rowColor">
+<tr id="i98" class="altColor">
<td class="colFirst"><code>private static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getLongValue-org.apache.hadoop.hbase.Cell-">getLongValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> cell)</code> </td>
</tr>
-<tr id="i98" class="altColor">
+<tr id="i99" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getMaxFlushedSeqId--">getMaxFlushedSeqId</a></span>()</code> </td>
</tr>
-<tr id="i99" class="rowColor">
+<tr id="i100" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getMaxStoreSeqId--">getMaxStoreSeqId</a></span>()</code> </td>
</tr>
-<tr id="i100" class="altColor">
+<tr id="i101" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getMemStoreDataSize--">getMemStoreDataSize</a></span>()</code> </td>
</tr>
-<tr id="i101" class="rowColor">
+<tr id="i102" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getMemStoreFlushSize--">getMemStoreFlushSize</a></span>()</code> </td>
</tr>
-<tr id="i102" class="altColor">
+<tr id="i103" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getMemStoreHeapSize--">getMemStoreHeapSize</a></span>()</code> </td>
</tr>
-<tr id="i103" class="rowColor">
+<tr id="i104" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getMemStoreOffHeapSize--">getMemStoreOffHeapSize</a></span>()</code> </td>
</tr>
-<tr id="i104" class="altColor">
+<tr id="i105" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegion.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegion</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getMetrics--">getMetrics</a></span>()</code> </td>
</tr>
-<tr id="i105" class="rowColor">
+<tr id="i106" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getMobFileCache--">getMobFileCache</a></span>()</code> </td>
+</tr>
+<tr id="i107" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getMVCC--">getMVCC</a></span>()</code> </td>
</tr>
-<tr id="i106" class="altColor">
+<tr id="i108" class="altColor">
<td class="colFirst"><code>protected long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getNextSequenceId-org.apache.hadoop.hbase.wal.WAL-">getNextSequenceId</a></span>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a> wal)</code>
<div class="block">Method to safely get the next sequence number.</div>
</td>
</tr>
-<tr id="i107" class="rowColor">
+<tr id="i109" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getNumMutationsWithoutWAL--">getNumMutationsWithoutWAL</a></span>()</code> </td>
</tr>
-<tr id="i108" class="altColor">
+<tr id="i110" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getOldestHfileTs-boolean-">getOldestHfileTs</a></span>(boolean majorCompactionOnly)</code>
<div class="block">This can be used to determine the last time all files of this region were major compacted.</div>
</td>
</tr>
-<tr id="i109" class="rowColor">
+<tr id="i111" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getOldestSeqIdOfStore-byte:A-">getOldestSeqIdOfStore</a></span>(byte[] familyName)</code> </td>
</tr>
-<tr id="i110" class="altColor">
+<tr id="i112" class="altColor">
<td class="colFirst"><code>(package private) static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getOpenAndCloseThreadPool-int-java.lang.String-">getOpenAndCloseThreadPool</a></span>(int maxThreads,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> threadNamePrefix)</code> </td>
</tr>
-<tr id="i111" class="rowColor">
+<tr id="i113" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getOpenSeqNum--">getOpenSeqNum</a></span>()</code> </td>
</tr>
-<tr id="i112" class="altColor">
+<tr id="i114" class="altColor">
<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.PrepareFlushResult</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getPrepareFlushResult--">getPrepareFlushResult</a></span>()</code> </td>
</tr>
-<tr id="i113" class="rowColor">
+<tr id="i115" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getReadLockCount--">getReadLockCount</a></span>()</code> </td>
</tr>
-<tr id="i114" class="altColor">
+<tr id="i116" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getReadPoint--">getReadPoint</a></span>()</code> </td>
</tr>
-<tr id="i115" class="rowColor">
+<tr id="i117" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getReadPoint-org.apache.hadoop.hbase.client.IsolationLevel-">getReadPoint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a> isolationLevel)</code> </td>
</tr>
-<tr id="i116" class="altColor">
+<tr id="i118" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getReadRequestsCount--">getReadRequestsCount</a></span>()</code> </td>
</tr>
-<tr id="i117" class="rowColor">
+<tr id="i119" class="rowColor">
<td class="colFirst"><code>static org.apache.hadoop.fs.Path</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getRegionDir-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.client.RegionInfo-">getRegionDir</a></span>(org.apache.hadoop.fs.Path rootdir,
<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> info)</code>
@@ -1401,7 +1417,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
</div>
</td>
</tr>
-<tr id="i118" class="altColor">
+<tr id="i120" class="altColor">
<td class="colFirst"><code>static org.apache.hadoop.fs.Path</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getRegionDir-org.apache.hadoop.fs.Path-java.lang.String-">getRegionDir</a></span>(org.apache.hadoop.fs.Path tabledir,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name)</code>
@@ -1410,57 +1426,57 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
</div>
</td>
</tr>
-<tr id="i119" class="rowColor">
+<tr id="i121" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getRegionFileSystem--">getRegionFileSystem</a></span>()</code> </td>
</tr>
-<tr id="i120" class="altColor">
+<tr id="i122" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getRegionInfo--">getRegionInfo</a></span>()</code> </td>
</tr>
-<tr id="i121" class="rowColor">
+<tr id="i123" class="rowColor">
<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getRegionServerServices--">getRegionServerServices</a></span>()</code> </td>
</tr>
-<tr id="i122" class="altColor">
+<tr id="i124" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServicesForStores.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServicesForStores</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getRegionServicesForStores--">getRegionServicesForStores</a></span>()</code> </td>
</tr>
-<tr id="i123" class="rowColor">
+<tr id="i125" class="rowColor">
<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getRegionWALFileSystem--">getRegionWALFileSystem</a></span>()</code> </td>
</tr>
-<tr id="i124" class="altColor">
+<tr id="i126" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a><byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getReplicationScope--">getReplicationScope</a></span>()</code> </td>
</tr>
-<tr id="i125" class="rowColor">
+<tr id="i127" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getRowLock-byte:A-">getRowLock</a></span>(byte[] row)</code>
<div class="block">Get an exclusive ( write lock ) lock on a given row.</div>
</td>
</tr>
-<tr id="i126" class="altColor">
+<tr id="i128" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getRowLock-byte:A-boolean-">getRowLock</a></span>(byte[] row,
boolean readLock)</code>
<div class="block">Get a row lock for the specified row.</div>
</td>
</tr>
-<tr id="i127" class="rowColor">
+<tr id="i129" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getRowLockInternal-byte:A-boolean-org.apache.hadoop.hbase.regionserver.Region.RowLock-">getRowLockInternal</a></span>(byte[] row,
boolean readLock,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a> prevRowLock)</code> </td>
</tr>
-<tr id="i128" class="altColor">
+<tr id="i130" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RegionScannerImpl</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getScanner-org.apache.hadoop.hbase.client.Scan-">getScanner</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a> scan)</code>
<div class="block">Return an iterator that scans over the HRegion, returning the indicated
columns and rows specified by the <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a>.</div>
</td>
</tr>
-<tr id="i129" class="rowColor">
+<tr id="i131" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RegionScannerImpl</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getScanner-org.apache.hadoop.hbase.client.Scan-java.util.List-">getScanner</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a> scan,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>> additionalScanners)</code>
@@ -1468,128 +1484,128 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
specified by the <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a>.</div>
</td>
</tr>
-<tr id="i130" class="altColor">
+<tr id="i132" class="altColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RegionScannerImpl</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getScanner-org.apache.hadoop.hbase.client.Scan-java.util.List-long-long-">getScanner</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a> scan,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>> additionalScanners,
long nonceGroup,
long nonce)</code> </td>
</tr>
-<tr id="i131" class="rowColor">
+<tr id="i133" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getSmallestReadPoint--">getSmallestReadPoint</a></span>()</code> </td>
</tr>
-<tr id="i132" class="altColor">
+<tr id="i134" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSplitPolicy.html" title="class in org.apache.hadoop.hbase.regionserver">RegionSplitPolicy</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getSplitPolicy--">getSplitPolicy</a></span>()</code> </td>
</tr>
-<tr id="i133" class="rowColor">
+<tr id="i135" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getStore-byte:A-">getStore</a></span>(byte[] column)</code>
<div class="block">Return the Store for the given family</div>
</td>
</tr>
-<tr id="i134" class="altColor">
+<tr id="i136" class="altColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getStore-org.apache.hadoop.hbase.Cell-">getStore</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> cell)</code>
<div class="block">Return HStore instance.</div>
</td>
</tr>
-<tr id="i135" class="rowColor">
+<tr id="i137" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getStoreFileList-byte:A:A-">getStoreFileList</a></span>(byte[][] columns)</code> </td>
</tr>
-<tr id="i136" class="altColor">
+<tr id="i138" class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getStoreFileOpenAndCloseThreadPool-java.lang.String-">getStoreFileOpenAndCloseThreadPool</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> threadNamePrefix)</code> </td>
</tr>
-<tr id="i137" class="rowColor">
+<tr id="i139" class="rowColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a><byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.fs.Path>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getStoreFiles--">getStoreFiles</a></span>()</code> </td>
</tr>
-<tr id="i138" class="altColor">
+<tr id="i140" class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getStoreOpenAndCloseThreadPool-java.lang.String-">getStoreOpenAndCloseThreadPool</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> threadNamePrefix)</code> </td>
</tr>
-<tr id="i139" class="rowColor">
+<tr id="i141" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getStores--">getStores</a></span>()</code>
<div class="block">Return the list of Stores managed by this region</div>
</td>
</tr>
-<tr id="i140" class="altColor">
+<tr id="i142" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getTableDescriptor--">getTableDescriptor</a></span>()</code> </td>
</tr>
-<tr id="i141" class="rowColor">
+<tr id="i143" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getWAL--">getWAL</a></span>()</code> </td>
</tr>
-<tr id="i142" class="altColor">
+<tr id="i144" class="altColor">
<td class="colFirst"><code>(package private) org.apache.hadoop.fs.FileSystem</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getWalFileSystem--">getWalFileSystem</a></span>()</code> </td>
</tr>
-<tr id="i143" class="rowColor">
+<tr id="i145" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.fs.Path</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getWALRegionDir--">getWALRegionDir</a></span>()</code> </td>
</tr>
-<tr id="i144" class="altColor">
+<tr id="i146" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getWriteRequestsCount--">getWriteRequestsCount</a></span>()</code> </td>
</tr>
-<tr id="i145" class="rowColor">
+<tr id="i147" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#hashCode--">hashCode</a></span>()</code> </td>
</tr>
-<tr id="i146" class="altColor">
+<tr id="i148" class="altColor">
<td class="colFirst"><code>private static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#hasMultipleColumnFamilies-java.util.Collection-">hasMultipleColumnFamilies</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>>> familyPaths)</code>
<div class="block">Determines whether multiple column families are present
Precondition: familyPaths is not null</div>
</td>
</tr>
-<tr id="i147" class="rowColor">
+<tr id="i149" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#hasReferences--">hasReferences</a></span>()</code> </td>
</tr>
-<tr id="i148" class="altColor">
+<tr id="i150" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#heapSize--">heapSize</a></span>()</code> </td>
</tr>
-<tr id="i149" class="rowColor">
+<tr id="i151" class="rowColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#incMemStoreSize-long-long-long-">incMemStoreSize</a></span>(long dataSizeDelta,
long heapSizeDelta,
long offHeapSizeDelta)</code> </td>
</tr>
-<tr id="i150" class="altColor">
+<tr id="i152" class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#incMemStoreSize-org.apache.hadoop.hbase.regionserver.MemStoreSize-">incMemStoreSize</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSize.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreSize</a> mss)</code>
<div class="block">Increase the size of mem store in this region and the size of global mem
store</div>
</td>
</tr>
-<tr id="i151" class="rowColor">
+<tr id="i153" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#increment-org.apache.hadoop.hbase.client.Increment-">increment</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a> increment)</code>
<div class="block">Perform one or more increment operations on a row.</div>
</td>
</tr>
-<tr id="i152" class="altColor">
+<tr id="i154" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#increment-org.apache.hadoop.hbase.client.Increment-long-long-">increment</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a> mutation,
long nonceGroup,
long nonce)</code> </td>
</tr>
-<tr id="i153" class="rowColor">
+<tr id="i155" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#incrementCompactionsQueuedCount--">incrementCompactionsQueuedCount</a></span>()</code> </td>
</tr>
-<tr id="i154" class="altColor">
+<tr id="i156" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#incrementFlushesQueuedCount--">incrementFlushesQueuedCount</a></span>()</code> </td>
</tr>
-<tr id="i155" class="rowColor">
+<tr id="i157" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#initialize--">initialize</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
@@ -1597,45 +1613,45 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
</div>
</td>
</tr>
-<tr id="i156" class="altColor">
+<tr id="i158" class="altColor">
<td class="colFirst"><code>(package private) long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#initialize-org.apache.hadoop.hbase.util.CancelableProgressable-">initialize</a></span>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a> reporter)</code>
<div class="block">Initialize this region.</div>
</td>
</tr>
-<tr id="i157" class="rowColor">
+<tr id="i159" class="rowColor">
<td class="colFirst"><code>private long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#initializeRegionInternals-org.apache.hadoop.hbase.util.CancelableProgressable-org.apache.hadoop.hbase.monitoring.MonitoredTask-">initializeRegionInternals</a></span>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a> reporter,
<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a> status)</code> </td>
</tr>
-<tr id="i158" class="altColor">
+<tr id="i160" class="altColor">
<td class="colFirst"><code>private long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#initializeStores-org.apache.hadoop.hbase.util.CancelableProgressable-org.apache.hadoop.hbase.monitoring.MonitoredTask-">initializeStores</a></span>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a> reporter,
<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a> status)</code>
<div class="block">Open all Stores.</div>
</td>
</tr>
-<tr id="i159" class="rowColor">
+<tr id="i161" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#initializeWarmup-org.apache.hadoop.hbase.util.CancelableProgressable-">initializeWarmup</a></span>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a> reporter)</code> </td>
</tr>
-<tr id="i160" class="altColor">
+<tr id="i162" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#instantiateHStore-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">instantiateHStore</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a> family)</code> </td>
</tr>
-<tr id="i161" class="rowColor">
+<tr id="i163" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#instantiateRegionScanner-org.apache.hadoop.hbase.client.Scan-java.util.List-">instantiateRegionScanner</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a> scan,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>> additionalScanners)</code> </td>
</tr>
-<tr id="i162" class="altColor">
+<tr id="i164" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RegionScannerImpl</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#instantiateRegionScanner-org.apache.hadoop.hbase.client.Scan-java.util.List-long-long-">instantiateRegionScanner</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a> scan,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>> additionalScanners,
long nonceGroup,
long nonce)</code> </td>
</tr>
-<tr id="i163" class="rowColor">
+<tr id="i165" class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.FlushResultImpl</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#internalFlushcache-java.util.Collection-org.apache.hadoop.hbase.monitoring.MonitoredTask-boolean-org.apache.hadoop.hbase.regionserver.FlushLifeCycleTracker-">internalFlushcache</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>> storesToFlush,
<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a> status,
@@ -1644,13 +1660,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
<div class="block">Flushing given stores.</div>
</td>
</tr>
-<tr id="i164" class="altColor">
+<tr id="i166" class="altColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#internalFlushcache-org.apache.hadoop.hbase.monitoring.MonitoredTask-">internalFlushcache</a></span>(<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a> status)</code>
<div class="block">Flushing all stores.</div>
</td>
</tr>
-<tr id="i165" class="rowColor">
+<tr id="i167" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.FlushResultImpl</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#internalFlushcache-org.apache.hadoop.hbase.wal.WAL-long-java.util.Collection-org.apache.hadoop.hbase.monitoring.MonitoredTask-boolean-org.apache.hadoop.hbase.regionserver.FlushLifeCycleTracker-">internalFlushcache</a></span>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a> wal,
long myseqid,
@@ -1661,14 +1677,14 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
<div class="block">Flush the memstore.</div>
</td>
</tr>
-<tr id="i166" class="altColor">
+<tr id="i168" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.FlushResultImpl</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#internalFlushCacheAndCommit-org.apache.hadoop.hbase.wal.WAL-org.apache.hadoop.hbase.monitoring.MonitoredTask-org.apache.hadoop.hbase.regionserver.HRegion.PrepareFlushResult-java.util.Collection-">internalFlushCacheAndCommit</a></span>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a> wal,
<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a> status,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.PrepareFlushResult</a> prepareResult,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>> storesToFlush)</code> </td>
</tr>
-<tr id="i167" class="rowColor">
+<tr id="i169" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.PrepareFlushResult</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#internalPrepareFlushCache-org.apache.hadoop.hbase.wal.WAL-long-java.util.Collection-org.apache.hadoop.hbase.monitoring.MonitoredTask-boolean-org.apache.hadoop.hbase.regionserver.FlushLifeCycleTracker-">internalPrepareFlushCache</a></span>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a> wal,
long myseqid,
@@ -1677,86 +1693,86 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
boolean writeFlushWalMarker,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushLifeCycleTracker.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushLifeCycleTracker</a> tracker)</code> </td>
</tr>
-<tr id="i168" class="altColor">
+<tr id="i170" class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#isAllFamilies-java.util.Collection-">isAllFamilies</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>> families)</code> </td>
</tr>
-<tr id="i169" class="rowColor">
+<tr id="i171" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#isAvailable--">isAvailable</a></span>()</code> </td>
</tr>
-<tr id="i170" class="altColor">
+<tr id="i172" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#isClosed--">isClosed</a></span>()</code> </td>
</tr>
-<tr id="i171" class="rowColor">
+<tr id="i173" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#isClosing--">isClosing</a></span>()</code> </td>
</tr>
-<tr id="i172" class="altColor">
+<tr id="i174" class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#isFlushSize-org.apache.hadoop.hbase.regionserver.MemStoreSize-">isFlushSize</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSize.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreSize</a> size)</code> </td>
</tr>
-<tr id="i173" class="rowColor">
+<tr id="i175" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#isLoadingCfsOnDemandDefault--">isLoadingCfsOnDemandDefault</a></span>()</code> </td>
</tr>
-<tr id="i174" class="altColor">
+<tr id="i176" class="altColor">
<td class="colFirst"><code>boo
<TRUNCATED>
[08/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.BlockIndexNotLoadedException.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.BlockIndexNotLoadedException.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.BlockIndexNotLoadedException.html
index 79cb21b..d8d391b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.BlockIndexNotLoadedException.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.BlockIndexNotLoadedException.html
@@ -378,1508 +378,1510 @@
<span class="sourceLineNo">370</span><a name="line.370"></a>
<span class="sourceLineNo">371</span> @Override<a name="line.371"></a>
<span class="sourceLineNo">372</span> public void returnBlock(HFileBlock block) {<a name="line.372"></a>
-<span class="sourceLineNo">373</span> BlockCache blockCache = this.cacheConf.getBlockCache();<a name="line.373"></a>
-<span class="sourceLineNo">374</span> if (blockCache != null && block != null) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span> BlockCacheKey cacheKey = new BlockCacheKey(this.getFileContext().getHFileName(),<a name="line.375"></a>
-<span class="sourceLineNo">376</span> block.getOffset(), this.isPrimaryReplicaReader(), block.getBlockType());<a name="line.376"></a>
-<span class="sourceLineNo">377</span> blockCache.returnBlock(cacheKey, block);<a name="line.377"></a>
-<span class="sourceLineNo">378</span> }<a name="line.378"></a>
-<span class="sourceLineNo">379</span> }<a name="line.379"></a>
-<span class="sourceLineNo">380</span> /**<a name="line.380"></a>
-<span class="sourceLineNo">381</span> * @return the first key in the file. May be null if file has no entries. Note<a name="line.381"></a>
-<span class="sourceLineNo">382</span> * that this is not the first row key, but rather the byte form of the<a name="line.382"></a>
-<span class="sourceLineNo">383</span> * first KeyValue.<a name="line.383"></a>
-<span class="sourceLineNo">384</span> */<a name="line.384"></a>
-<span class="sourceLineNo">385</span> @Override<a name="line.385"></a>
-<span class="sourceLineNo">386</span> public Optional<Cell> getFirstKey() {<a name="line.386"></a>
-<span class="sourceLineNo">387</span> if (dataBlockIndexReader == null) {<a name="line.387"></a>
-<span class="sourceLineNo">388</span> throw new BlockIndexNotLoadedException();<a name="line.388"></a>
-<span class="sourceLineNo">389</span> }<a name="line.389"></a>
-<span class="sourceLineNo">390</span> return dataBlockIndexReader.isEmpty() ? Optional.empty()<a name="line.390"></a>
-<span class="sourceLineNo">391</span> : Optional.of(dataBlockIndexReader.getRootBlockKey(0));<a name="line.391"></a>
-<span class="sourceLineNo">392</span> }<a name="line.392"></a>
-<span class="sourceLineNo">393</span><a name="line.393"></a>
-<span class="sourceLineNo">394</span> /**<a name="line.394"></a>
-<span class="sourceLineNo">395</span> * TODO left from {@link HFile} version 1: move this to StoreFile after Ryan's<a name="line.395"></a>
-<span class="sourceLineNo">396</span> * patch goes in to eliminate {@link KeyValue} here.<a name="line.396"></a>
-<span class="sourceLineNo">397</span> *<a name="line.397"></a>
-<span class="sourceLineNo">398</span> * @return the first row key, or null if the file is empty.<a name="line.398"></a>
-<span class="sourceLineNo">399</span> */<a name="line.399"></a>
-<span class="sourceLineNo">400</span> @Override<a name="line.400"></a>
-<span class="sourceLineNo">401</span> public Optional<byte[]> getFirstRowKey() {<a name="line.401"></a>
-<span class="sourceLineNo">402</span> // We have to copy the row part to form the row key alone<a name="line.402"></a>
-<span class="sourceLineNo">403</span> return getFirstKey().map(CellUtil::cloneRow);<a name="line.403"></a>
-<span class="sourceLineNo">404</span> }<a name="line.404"></a>
-<span class="sourceLineNo">405</span><a name="line.405"></a>
-<span class="sourceLineNo">406</span> /**<a name="line.406"></a>
-<span class="sourceLineNo">407</span> * TODO left from {@link HFile} version 1: move this to StoreFile after<a name="line.407"></a>
-<span class="sourceLineNo">408</span> * Ryan's patch goes in to eliminate {@link KeyValue} here.<a name="line.408"></a>
-<span class="sourceLineNo">409</span> *<a name="line.409"></a>
-<span class="sourceLineNo">410</span> * @return the last row key, or null if the file is empty.<a name="line.410"></a>
-<span class="sourceLineNo">411</span> */<a name="line.411"></a>
-<span class="sourceLineNo">412</span> @Override<a name="line.412"></a>
-<span class="sourceLineNo">413</span> public Optional<byte[]> getLastRowKey() {<a name="line.413"></a>
-<span class="sourceLineNo">414</span> // We have to copy the row part to form the row key alone<a name="line.414"></a>
-<span class="sourceLineNo">415</span> return getLastKey().map(CellUtil::cloneRow);<a name="line.415"></a>
-<span class="sourceLineNo">416</span> }<a name="line.416"></a>
-<span class="sourceLineNo">417</span><a name="line.417"></a>
-<span class="sourceLineNo">418</span> /** @return number of KV entries in this HFile */<a name="line.418"></a>
-<span class="sourceLineNo">419</span> @Override<a name="line.419"></a>
-<span class="sourceLineNo">420</span> public long getEntries() {<a name="line.420"></a>
-<span class="sourceLineNo">421</span> return trailer.getEntryCount();<a name="line.421"></a>
-<span class="sourceLineNo">422</span> }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span> /** @return comparator */<a name="line.424"></a>
-<span class="sourceLineNo">425</span> @Override<a name="line.425"></a>
-<span class="sourceLineNo">426</span> public CellComparator getComparator() {<a name="line.426"></a>
-<span class="sourceLineNo">427</span> return comparator;<a name="line.427"></a>
-<span class="sourceLineNo">428</span> }<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span> /** @return compression algorithm */<a name="line.430"></a>
-<span class="sourceLineNo">431</span> @Override<a name="line.431"></a>
-<span class="sourceLineNo">432</span> public Compression.Algorithm getCompressionAlgorithm() {<a name="line.432"></a>
-<span class="sourceLineNo">433</span> return compressAlgo;<a name="line.433"></a>
-<span class="sourceLineNo">434</span> }<a name="line.434"></a>
-<span class="sourceLineNo">435</span><a name="line.435"></a>
-<span class="sourceLineNo">436</span> /**<a name="line.436"></a>
-<span class="sourceLineNo">437</span> * @return the total heap size of data and meta block indexes in bytes. Does<a name="line.437"></a>
-<span class="sourceLineNo">438</span> * not take into account non-root blocks of a multilevel data index.<a name="line.438"></a>
-<span class="sourceLineNo">439</span> */<a name="line.439"></a>
-<span class="sourceLineNo">440</span> @Override<a name="line.440"></a>
-<span class="sourceLineNo">441</span> public long indexSize() {<a name="line.441"></a>
-<span class="sourceLineNo">442</span> return (dataBlockIndexReader != null ? dataBlockIndexReader.heapSize() : 0)<a name="line.442"></a>
-<span class="sourceLineNo">443</span> + ((metaBlockIndexReader != null) ? metaBlockIndexReader.heapSize()<a name="line.443"></a>
-<span class="sourceLineNo">444</span> : 0);<a name="line.444"></a>
-<span class="sourceLineNo">445</span> }<a name="line.445"></a>
-<span class="sourceLineNo">446</span><a name="line.446"></a>
-<span class="sourceLineNo">447</span> @Override<a name="line.447"></a>
-<span class="sourceLineNo">448</span> public String getName() {<a name="line.448"></a>
-<span class="sourceLineNo">449</span> return name;<a name="line.449"></a>
-<span class="sourceLineNo">450</span> }<a name="line.450"></a>
-<span class="sourceLineNo">451</span><a name="line.451"></a>
-<span class="sourceLineNo">452</span> @Override<a name="line.452"></a>
-<span class="sourceLineNo">453</span> public HFileBlockIndex.BlockIndexReader getDataBlockIndexReader() {<a name="line.453"></a>
-<span class="sourceLineNo">454</span> return dataBlockIndexReader;<a name="line.454"></a>
-<span class="sourceLineNo">455</span> }<a name="line.455"></a>
-<span class="sourceLineNo">456</span><a name="line.456"></a>
-<span class="sourceLineNo">457</span> @Override<a name="line.457"></a>
-<span class="sourceLineNo">458</span> public FixedFileTrailer getTrailer() {<a name="line.458"></a>
-<span class="sourceLineNo">459</span> return trailer;<a name="line.459"></a>
-<span class="sourceLineNo">460</span> }<a name="line.460"></a>
-<span class="sourceLineNo">461</span><a name="line.461"></a>
-<span class="sourceLineNo">462</span> @Override<a name="line.462"></a>
-<span class="sourceLineNo">463</span> public boolean isPrimaryReplicaReader() {<a name="line.463"></a>
-<span class="sourceLineNo">464</span> return primaryReplicaReader;<a name="line.464"></a>
-<span class="sourceLineNo">465</span> }<a name="line.465"></a>
-<span class="sourceLineNo">466</span><a name="line.466"></a>
-<span class="sourceLineNo">467</span> @Override<a name="line.467"></a>
-<span class="sourceLineNo">468</span> public FileInfo loadFileInfo() throws IOException {<a name="line.468"></a>
-<span class="sourceLineNo">469</span> return fileInfo;<a name="line.469"></a>
-<span class="sourceLineNo">470</span> }<a name="line.470"></a>
-<span class="sourceLineNo">471</span><a name="line.471"></a>
-<span class="sourceLineNo">472</span> /**<a name="line.472"></a>
-<span class="sourceLineNo">473</span> * An exception thrown when an operation requiring a scanner to be seeked<a name="line.473"></a>
-<span class="sourceLineNo">474</span> * is invoked on a scanner that is not seeked.<a name="line.474"></a>
-<span class="sourceLineNo">475</span> */<a name="line.475"></a>
-<span class="sourceLineNo">476</span> @SuppressWarnings("serial")<a name="line.476"></a>
-<span class="sourceLineNo">477</span> public static class NotSeekedException extends IllegalStateException {<a name="line.477"></a>
-<span class="sourceLineNo">478</span> public NotSeekedException() {<a name="line.478"></a>
-<span class="sourceLineNo">479</span> super("Not seeked to a key/value");<a name="line.479"></a>
-<span class="sourceLineNo">480</span> }<a name="line.480"></a>
-<span class="sourceLineNo">481</span> }<a name="line.481"></a>
-<span class="sourceLineNo">482</span><a name="line.482"></a>
-<span class="sourceLineNo">483</span> protected static class HFileScannerImpl implements HFileScanner {<a name="line.483"></a>
-<span class="sourceLineNo">484</span> private ByteBuff blockBuffer;<a name="line.484"></a>
-<span class="sourceLineNo">485</span> protected final boolean cacheBlocks;<a name="line.485"></a>
-<span class="sourceLineNo">486</span> protected final boolean pread;<a name="line.486"></a>
-<span class="sourceLineNo">487</span> protected final boolean isCompaction;<a name="line.487"></a>
-<span class="sourceLineNo">488</span> private int currKeyLen;<a name="line.488"></a>
-<span class="sourceLineNo">489</span> private int currValueLen;<a name="line.489"></a>
-<span class="sourceLineNo">490</span> private int currMemstoreTSLen;<a name="line.490"></a>
-<span class="sourceLineNo">491</span> private long currMemstoreTS;<a name="line.491"></a>
-<span class="sourceLineNo">492</span> // Updated but never read?<a name="line.492"></a>
-<span class="sourceLineNo">493</span> protected AtomicInteger blockFetches = new AtomicInteger(0);<a name="line.493"></a>
-<span class="sourceLineNo">494</span> protected final HFile.Reader reader;<a name="line.494"></a>
-<span class="sourceLineNo">495</span> private int currTagsLen;<a name="line.495"></a>
-<span class="sourceLineNo">496</span> // buffer backed keyonlyKV<a name="line.496"></a>
-<span class="sourceLineNo">497</span> private ByteBufferKeyOnlyKeyValue bufBackedKeyOnlyKv = new ByteBufferKeyOnlyKeyValue();<a name="line.497"></a>
-<span class="sourceLineNo">498</span> // A pair for reusing in blockSeek() so that we don't garbage lot of objects<a name="line.498"></a>
-<span class="sourceLineNo">499</span> final ObjectIntPair<ByteBuffer> pair = new ObjectIntPair<>();<a name="line.499"></a>
-<span class="sourceLineNo">500</span><a name="line.500"></a>
-<span class="sourceLineNo">501</span> /**<a name="line.501"></a>
-<span class="sourceLineNo">502</span> * The next indexed key is to keep track of the indexed key of the next data block.<a name="line.502"></a>
-<span class="sourceLineNo">503</span> * If the nextIndexedKey is HConstants.NO_NEXT_INDEXED_KEY, it means that the<a name="line.503"></a>
-<span class="sourceLineNo">504</span> * current data block is the last data block.<a name="line.504"></a>
-<span class="sourceLineNo">505</span> *<a name="line.505"></a>
-<span class="sourceLineNo">506</span> * If the nextIndexedKey is null, it means the nextIndexedKey has not been loaded yet.<a name="line.506"></a>
-<span class="sourceLineNo">507</span> */<a name="line.507"></a>
-<span class="sourceLineNo">508</span> protected Cell nextIndexedKey;<a name="line.508"></a>
-<span class="sourceLineNo">509</span> // Current block being used<a name="line.509"></a>
-<span class="sourceLineNo">510</span> protected HFileBlock curBlock;<a name="line.510"></a>
-<span class="sourceLineNo">511</span> // Previous blocks that were used in the course of the read<a name="line.511"></a>
-<span class="sourceLineNo">512</span> protected final ArrayList<HFileBlock> prevBlocks = new ArrayList<>();<a name="line.512"></a>
-<span class="sourceLineNo">513</span><a name="line.513"></a>
-<span class="sourceLineNo">514</span> public HFileScannerImpl(final HFile.Reader reader, final boolean cacheBlocks,<a name="line.514"></a>
-<span class="sourceLineNo">515</span> final boolean pread, final boolean isCompaction) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span> this.reader = reader;<a name="line.516"></a>
-<span class="sourceLineNo">517</span> this.cacheBlocks = cacheBlocks;<a name="line.517"></a>
-<span class="sourceLineNo">518</span> this.pread = pread;<a name="line.518"></a>
-<span class="sourceLineNo">519</span> this.isCompaction = isCompaction;<a name="line.519"></a>
-<span class="sourceLineNo">520</span> }<a name="line.520"></a>
-<span class="sourceLineNo">521</span><a name="line.521"></a>
-<span class="sourceLineNo">522</span> void updateCurrBlockRef(HFileBlock block) {<a name="line.522"></a>
-<span class="sourceLineNo">523</span> if (block != null && this.curBlock != null &&<a name="line.523"></a>
-<span class="sourceLineNo">524</span> block.getOffset() == this.curBlock.getOffset()) {<a name="line.524"></a>
-<span class="sourceLineNo">525</span> return;<a name="line.525"></a>
-<span class="sourceLineNo">526</span> }<a name="line.526"></a>
-<span class="sourceLineNo">527</span> // We don't have to keep ref to EXCLUSIVE type of block<a name="line.527"></a>
-<span class="sourceLineNo">528</span> if (this.curBlock != null && this.curBlock.usesSharedMemory()) {<a name="line.528"></a>
-<span class="sourceLineNo">529</span> prevBlocks.add(this.curBlock);<a name="line.529"></a>
-<span class="sourceLineNo">530</span> }<a name="line.530"></a>
-<span class="sourceLineNo">531</span> this.curBlock = block;<a name="line.531"></a>
-<span class="sourceLineNo">532</span> }<a name="line.532"></a>
-<span class="sourceLineNo">533</span><a name="line.533"></a>
-<span class="sourceLineNo">534</span> void reset() {<a name="line.534"></a>
-<span class="sourceLineNo">535</span> // We don't have to keep ref to EXCLUSIVE type of block<a name="line.535"></a>
-<span class="sourceLineNo">536</span> if (this.curBlock != null && this.curBlock.usesSharedMemory()) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span> this.prevBlocks.add(this.curBlock);<a name="line.537"></a>
-<span class="sourceLineNo">538</span> }<a name="line.538"></a>
-<span class="sourceLineNo">539</span> this.curBlock = null;<a name="line.539"></a>
-<span class="sourceLineNo">540</span> }<a name="line.540"></a>
-<span class="sourceLineNo">541</span><a name="line.541"></a>
-<span class="sourceLineNo">542</span> private void returnBlockToCache(HFileBlock block) {<a name="line.542"></a>
-<span class="sourceLineNo">543</span> if (LOG.isTraceEnabled()) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span> LOG.trace("Returning the block : " + block);<a name="line.544"></a>
-<span class="sourceLineNo">545</span> }<a name="line.545"></a>
-<span class="sourceLineNo">546</span> this.reader.returnBlock(block);<a name="line.546"></a>
-<span class="sourceLineNo">547</span> }<a name="line.547"></a>
-<span class="sourceLineNo">548</span><a name="line.548"></a>
-<span class="sourceLineNo">549</span> private void returnBlocks(boolean returnAll) {<a name="line.549"></a>
-<span class="sourceLineNo">550</span> for (int i = 0; i < this.prevBlocks.size(); i++) {<a name="line.550"></a>
-<span class="sourceLineNo">551</span> returnBlockToCache(this.prevBlocks.get(i));<a name="line.551"></a>
-<span class="sourceLineNo">552</span> }<a name="line.552"></a>
-<span class="sourceLineNo">553</span> this.prevBlocks.clear();<a name="line.553"></a>
-<span class="sourceLineNo">554</span> if (returnAll && this.curBlock != null) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span> returnBlockToCache(this.curBlock);<a name="line.555"></a>
-<span class="sourceLineNo">556</span> this.curBlock = null;<a name="line.556"></a>
-<span class="sourceLineNo">557</span> }<a name="line.557"></a>
-<span class="sourceLineNo">558</span> }<a name="line.558"></a>
-<span class="sourceLineNo">559</span> @Override<a name="line.559"></a>
-<span class="sourceLineNo">560</span> public boolean isSeeked(){<a name="line.560"></a>
-<span class="sourceLineNo">561</span> return blockBuffer != null;<a name="line.561"></a>
-<span class="sourceLineNo">562</span> }<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span> @Override<a name="line.564"></a>
-<span class="sourceLineNo">565</span> public String toString() {<a name="line.565"></a>
-<span class="sourceLineNo">566</span> return "HFileScanner for reader " + String.valueOf(getReader());<a name="line.566"></a>
-<span class="sourceLineNo">567</span> }<a name="line.567"></a>
-<span class="sourceLineNo">568</span><a name="line.568"></a>
-<span class="sourceLineNo">569</span> protected void assertSeeked() {<a name="line.569"></a>
-<span class="sourceLineNo">570</span> if (!isSeeked())<a name="line.570"></a>
-<span class="sourceLineNo">571</span> throw new NotSeekedException();<a name="line.571"></a>
-<span class="sourceLineNo">572</span> }<a name="line.572"></a>
-<span class="sourceLineNo">573</span><a name="line.573"></a>
-<span class="sourceLineNo">574</span> @Override<a name="line.574"></a>
-<span class="sourceLineNo">575</span> public HFile.Reader getReader() {<a name="line.575"></a>
-<span class="sourceLineNo">576</span> return reader;<a name="line.576"></a>
-<span class="sourceLineNo">577</span> }<a name="line.577"></a>
-<span class="sourceLineNo">578</span><a name="line.578"></a>
-<span class="sourceLineNo">579</span> // From non encoded HFiles, we always read back KeyValue or its descendant.(Note: When HFile<a name="line.579"></a>
-<span class="sourceLineNo">580</span> // block is in DBB, it will be OffheapKV). So all parts of the Cell is in a contiguous<a name="line.580"></a>
-<span class="sourceLineNo">581</span> // array/buffer. How many bytes we should wrap to make the KV is what this method returns.<a name="line.581"></a>
-<span class="sourceLineNo">582</span> private int getKVBufSize() {<a name="line.582"></a>
-<span class="sourceLineNo">583</span> int kvBufSize = KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen;<a name="line.583"></a>
-<span class="sourceLineNo">584</span> if (currTagsLen > 0) {<a name="line.584"></a>
-<span class="sourceLineNo">585</span> kvBufSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.585"></a>
-<span class="sourceLineNo">586</span> }<a name="line.586"></a>
-<span class="sourceLineNo">587</span> return kvBufSize;<a name="line.587"></a>
-<span class="sourceLineNo">588</span> }<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span> @Override<a name="line.590"></a>
-<span class="sourceLineNo">591</span> public void close() {<a name="line.591"></a>
-<span class="sourceLineNo">592</span> if (!pread) {<a name="line.592"></a>
-<span class="sourceLineNo">593</span> // For seek + pread stream socket should be closed when the scanner is closed. HBASE-9393<a name="line.593"></a>
-<span class="sourceLineNo">594</span> reader.unbufferStream();<a name="line.594"></a>
-<span class="sourceLineNo">595</span> }<a name="line.595"></a>
-<span class="sourceLineNo">596</span> this.returnBlocks(true);<a name="line.596"></a>
-<span class="sourceLineNo">597</span> }<a name="line.597"></a>
-<span class="sourceLineNo">598</span><a name="line.598"></a>
-<span class="sourceLineNo">599</span> // Returns the #bytes in HFile for the current cell. Used to skip these many bytes in current<a name="line.599"></a>
-<span class="sourceLineNo">600</span> // HFile block's buffer so as to position to the next cell.<a name="line.600"></a>
-<span class="sourceLineNo">601</span> private int getCurCellSerializedSize() {<a name="line.601"></a>
-<span class="sourceLineNo">602</span> int curCellSize = KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen<a name="line.602"></a>
-<span class="sourceLineNo">603</span> + currMemstoreTSLen;<a name="line.603"></a>
-<span class="sourceLineNo">604</span> if (this.reader.getFileContext().isIncludesTags()) {<a name="line.604"></a>
-<span class="sourceLineNo">605</span> curCellSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.605"></a>
-<span class="sourceLineNo">606</span> }<a name="line.606"></a>
-<span class="sourceLineNo">607</span> return curCellSize;<a name="line.607"></a>
-<span class="sourceLineNo">608</span> }<a name="line.608"></a>
-<span class="sourceLineNo">609</span><a name="line.609"></a>
-<span class="sourceLineNo">610</span> protected void readKeyValueLen() {<a name="line.610"></a>
-<span class="sourceLineNo">611</span> // This is a hot method. We go out of our way to make this method short so it can be<a name="line.611"></a>
-<span class="sourceLineNo">612</span> // inlined and is not too big to compile. We also manage position in ByteBuffer ourselves<a name="line.612"></a>
-<span class="sourceLineNo">613</span> // because it is faster than going via range-checked ByteBuffer methods or going through a<a name="line.613"></a>
-<span class="sourceLineNo">614</span> // byte buffer array a byte at a time.<a name="line.614"></a>
-<span class="sourceLineNo">615</span> // Get a long at a time rather than read two individual ints. In micro-benchmarking, even<a name="line.615"></a>
-<span class="sourceLineNo">616</span> // with the extra bit-fiddling, this is order-of-magnitude faster than getting two ints.<a name="line.616"></a>
-<span class="sourceLineNo">617</span> // Trying to imitate what was done - need to profile if this is better or<a name="line.617"></a>
-<span class="sourceLineNo">618</span> // earlier way is better by doing mark and reset?<a name="line.618"></a>
-<span class="sourceLineNo">619</span> // But ensure that you read long instead of two ints<a name="line.619"></a>
-<span class="sourceLineNo">620</span> long ll = blockBuffer.getLongAfterPosition(0);<a name="line.620"></a>
-<span class="sourceLineNo">621</span> // Read top half as an int of key length and bottom int as value length<a name="line.621"></a>
-<span class="sourceLineNo">622</span> this.currKeyLen = (int)(ll >> Integer.SIZE);<a name="line.622"></a>
-<span class="sourceLineNo">623</span> this.currValueLen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.623"></a>
-<span class="sourceLineNo">624</span> checkKeyValueLen();<a name="line.624"></a>
-<span class="sourceLineNo">625</span> // Move position past the key and value lengths and then beyond the key and value<a name="line.625"></a>
-<span class="sourceLineNo">626</span> int p = (Bytes.SIZEOF_LONG + currKeyLen + currValueLen);<a name="line.626"></a>
-<span class="sourceLineNo">627</span> if (reader.getFileContext().isIncludesTags()) {<a name="line.627"></a>
-<span class="sourceLineNo">628</span> // Tags length is a short.<a name="line.628"></a>
-<span class="sourceLineNo">629</span> this.currTagsLen = blockBuffer.getShortAfterPosition(p);<a name="line.629"></a>
-<span class="sourceLineNo">630</span> checkTagsLen();<a name="line.630"></a>
-<span class="sourceLineNo">631</span> p += (Bytes.SIZEOF_SHORT + currTagsLen);<a name="line.631"></a>
-<span class="sourceLineNo">632</span> }<a name="line.632"></a>
-<span class="sourceLineNo">633</span> readMvccVersion(p);<a name="line.633"></a>
-<span class="sourceLineNo">634</span> }<a name="line.634"></a>
-<span class="sourceLineNo">635</span><a name="line.635"></a>
-<span class="sourceLineNo">636</span> private final void checkTagsLen() {<a name="line.636"></a>
-<span class="sourceLineNo">637</span> if (checkLen(this.currTagsLen)) {<a name="line.637"></a>
-<span class="sourceLineNo">638</span> throw new IllegalStateException("Invalid currTagsLen " + this.currTagsLen +<a name="line.638"></a>
-<span class="sourceLineNo">639</span> ". Block offset: " + curBlock.getOffset() + ", block length: " +<a name="line.639"></a>
-<span class="sourceLineNo">640</span> this.blockBuffer.limit() +<a name="line.640"></a>
-<span class="sourceLineNo">641</span> ", position: " + this.blockBuffer.position() + " (without header).");<a name="line.641"></a>
-<span class="sourceLineNo">642</span> }<a name="line.642"></a>
-<span class="sourceLineNo">643</span> }<a name="line.643"></a>
-<span class="sourceLineNo">644</span><a name="line.644"></a>
-<span class="sourceLineNo">645</span> /**<a name="line.645"></a>
-<span class="sourceLineNo">646</span> * Read mvcc. Does checks to see if we even need to read the mvcc at all.<a name="line.646"></a>
-<span class="sourceLineNo">647</span> * @param offsetFromPos<a name="line.647"></a>
-<span class="sourceLineNo">648</span> */<a name="line.648"></a>
-<span class="sourceLineNo">649</span> protected void readMvccVersion(final int offsetFromPos) {<a name="line.649"></a>
-<span class="sourceLineNo">650</span> // See if we even need to decode mvcc.<a name="line.650"></a>
-<span class="sourceLineNo">651</span> if (!this.reader.shouldIncludeMemStoreTS()) return;<a name="line.651"></a>
-<span class="sourceLineNo">652</span> if (!this.reader.isDecodeMemStoreTS()) {<a name="line.652"></a>
-<span class="sourceLineNo">653</span> currMemstoreTS = 0;<a name="line.653"></a>
-<span class="sourceLineNo">654</span> currMemstoreTSLen = 1;<a name="line.654"></a>
-<span class="sourceLineNo">655</span> return;<a name="line.655"></a>
-<span class="sourceLineNo">656</span> }<a name="line.656"></a>
-<span class="sourceLineNo">657</span> _readMvccVersion(offsetFromPos);<a name="line.657"></a>
-<span class="sourceLineNo">658</span> }<a name="line.658"></a>
-<span class="sourceLineNo">659</span><a name="line.659"></a>
-<span class="sourceLineNo">660</span> /**<a name="line.660"></a>
-<span class="sourceLineNo">661</span> * Actually do the mvcc read. Does no checks.<a name="line.661"></a>
-<span class="sourceLineNo">662</span> * @param offsetFromPos<a name="line.662"></a>
-<span class="sourceLineNo">663</span> */<a name="line.663"></a>
-<span class="sourceLineNo">664</span> private void _readMvccVersion(int offsetFromPos) {<a name="line.664"></a>
-<span class="sourceLineNo">665</span> // This is Bytes#bytesToVint inlined so can save a few instructions in this hot method; i.e.<a name="line.665"></a>
-<span class="sourceLineNo">666</span> // previous if one-byte vint, we'd redo the vint call to find int size.<a name="line.666"></a>
-<span class="sourceLineNo">667</span> // Also the method is kept small so can be inlined.<a name="line.667"></a>
-<span class="sourceLineNo">668</span> byte firstByte = blockBuffer.getByteAfterPosition(offsetFromPos);<a name="line.668"></a>
-<span class="sourceLineNo">669</span> int len = WritableUtils.decodeVIntSize(firstByte);<a name="line.669"></a>
-<span class="sourceLineNo">670</span> if (len == 1) {<a name="line.670"></a>
-<span class="sourceLineNo">671</span> this.currMemstoreTS = firstByte;<a name="line.671"></a>
-<span class="sourceLineNo">672</span> } else {<a name="line.672"></a>
-<span class="sourceLineNo">673</span> int remaining = len -1;<a name="line.673"></a>
-<span class="sourceLineNo">674</span> long i = 0;<a name="line.674"></a>
-<span class="sourceLineNo">675</span> offsetFromPos++;<a name="line.675"></a>
-<span class="sourceLineNo">676</span> if (remaining >= Bytes.SIZEOF_INT) {<a name="line.676"></a>
-<span class="sourceLineNo">677</span> // The int read has to be converted to unsigned long so the & op<a name="line.677"></a>
-<span class="sourceLineNo">678</span> i = (blockBuffer.getIntAfterPosition(offsetFromPos) & 0x00000000ffffffffL);<a name="line.678"></a>
-<span class="sourceLineNo">679</span> remaining -= Bytes.SIZEOF_INT;<a name="line.679"></a>
-<span class="sourceLineNo">680</span> offsetFromPos += Bytes.SIZEOF_INT;<a name="line.680"></a>
-<span class="sourceLineNo">681</span> }<a name="line.681"></a>
-<span class="sourceLineNo">682</span> if (remaining >= Bytes.SIZEOF_SHORT) {<a name="line.682"></a>
-<span class="sourceLineNo">683</span> short s = blockBuffer.getShortAfterPosition(offsetFromPos);<a name="line.683"></a>
-<span class="sourceLineNo">684</span> i = i << 16;<a name="line.684"></a>
-<span class="sourceLineNo">685</span> i = i | (s & 0xFFFF);<a name="line.685"></a>
-<span class="sourceLineNo">686</span> remaining -= Bytes.SIZEOF_SHORT;<a name="line.686"></a>
-<span class="sourceLineNo">687</span> offsetFromPos += Bytes.SIZEOF_SHORT;<a name="line.687"></a>
-<span class="sourceLineNo">688</span> }<a name="line.688"></a>
-<span class="sourceLineNo">689</span> for (int idx = 0; idx < remaining; idx++) {<a name="line.689"></a>
-<span class="sourceLineNo">690</span> byte b = blockBuffer.getByteAfterPosition(offsetFromPos + idx);<a name="line.690"></a>
-<span class="sourceLineNo">691</span> i = i << 8;<a name="line.691"></a>
-<span class="sourceLineNo">692</span> i = i | (b & 0xFF);<a name="line.692"></a>
-<span class="sourceLineNo">693</span> }<a name="line.693"></a>
-<span class="sourceLineNo">694</span> currMemstoreTS = (WritableUtils.isNegativeVInt(firstByte) ? ~i : i);<a name="line.694"></a>
-<span class="sourceLineNo">695</span> }<a name="line.695"></a>
-<span class="sourceLineNo">696</span> this.currMemstoreTSLen = len;<a name="line.696"></a>
-<span class="sourceLineNo">697</span> }<a name="line.697"></a>
-<span class="sourceLineNo">698</span><a name="line.698"></a>
-<span class="sourceLineNo">699</span> /**<a name="line.699"></a>
-<span class="sourceLineNo">700</span> * Within a loaded block, seek looking for the last key that is smaller than<a name="line.700"></a>
-<span class="sourceLineNo">701</span> * (or equal to?) the key we are interested in.<a name="line.701"></a>
-<span class="sourceLineNo">702</span> * A note on the seekBefore: if you have seekBefore = true, AND the first<a name="line.702"></a>
-<span class="sourceLineNo">703</span> * key in the block = key, then you'll get thrown exceptions. The caller has<a name="line.703"></a>
-<span class="sourceLineNo">704</span> * to check for that case and load the previous block as appropriate.<a name="line.704"></a>
-<span class="sourceLineNo">705</span> * @param key<a name="line.705"></a>
-<span class="sourceLineNo">706</span> * the key to find<a name="line.706"></a>
-<span class="sourceLineNo">707</span> * @param seekBefore<a name="line.707"></a>
-<span class="sourceLineNo">708</span> * find the key before the given key in case of exact match.<a name="line.708"></a>
-<span class="sourceLineNo">709</span> * @return 0 in case of an exact key match, 1 in case of an inexact match,<a name="line.709"></a>
-<span class="sourceLineNo">710</span> * -2 in case of an inexact match and furthermore, the input key<a name="line.710"></a>
-<span class="sourceLineNo">711</span> * less than the first key of current block(e.g. using a faked index<a name="line.711"></a>
-<span class="sourceLineNo">712</span> * key)<a name="line.712"></a>
-<span class="sourceLineNo">713</span> */<a name="line.713"></a>
-<span class="sourceLineNo">714</span> protected int blockSeek(Cell key, boolean seekBefore) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span> int klen, vlen, tlen = 0;<a name="line.715"></a>
-<span class="sourceLineNo">716</span> int lastKeyValueSize = -1;<a name="line.716"></a>
-<span class="sourceLineNo">717</span> int offsetFromPos;<a name="line.717"></a>
-<span class="sourceLineNo">718</span> do {<a name="line.718"></a>
-<span class="sourceLineNo">719</span> offsetFromPos = 0;<a name="line.719"></a>
-<span class="sourceLineNo">720</span> // Better to ensure that we use the BB Utils here<a name="line.720"></a>
-<span class="sourceLineNo">721</span> long ll = blockBuffer.getLongAfterPosition(offsetFromPos);<a name="line.721"></a>
-<span class="sourceLineNo">722</span> klen = (int)(ll >> Integer.SIZE);<a name="line.722"></a>
-<span class="sourceLineNo">723</span> vlen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.723"></a>
-<span class="sourceLineNo">724</span> if (checkKeyLen(klen) || checkLen(vlen)) {<a name="line.724"></a>
-<span class="sourceLineNo">725</span> throw new IllegalStateException("Invalid klen " + klen + " or vlen "<a name="line.725"></a>
-<span class="sourceLineNo">726</span> + vlen + ". Block offset: "<a name="line.726"></a>
-<span class="sourceLineNo">727</span> + curBlock.getOffset() + ", block length: " + blockBuffer.limit() + ", position: "<a name="line.727"></a>
-<span class="sourceLineNo">728</span> + blockBuffer.position() + " (without header).");<a name="line.728"></a>
-<span class="sourceLineNo">729</span> }<a name="line.729"></a>
-<span class="sourceLineNo">730</span> offsetFromPos += Bytes.SIZEOF_LONG;<a name="line.730"></a>
-<span class="sourceLineNo">731</span> blockBuffer.asSubByteBuffer(blockBuffer.position() + offsetFromPos, klen, pair);<a name="line.731"></a>
-<span class="sourceLineNo">732</span> bufBackedKeyOnlyKv.setKey(pair.getFirst(), pair.getSecond(), klen);<a name="line.732"></a>
-<span class="sourceLineNo">733</span> int comp =<a name="line.733"></a>
-<span class="sourceLineNo">734</span> PrivateCellUtil.compareKeyIgnoresMvcc(reader.getComparator(), key, bufBackedKeyOnlyKv);<a name="line.734"></a>
-<span class="sourceLineNo">735</span> offsetFromPos += klen + vlen;<a name="line.735"></a>
-<span class="sourceLineNo">736</span> if (this.reader.getFileContext().isIncludesTags()) {<a name="line.736"></a>
-<span class="sourceLineNo">737</span> // Read short as unsigned, high byte first<a name="line.737"></a>
-<span class="sourceLineNo">738</span> tlen = ((blockBuffer.getByteAfterPosition(offsetFromPos) & 0xff) << 8)<a name="line.738"></a>
-<span class="sourceLineNo">739</span> ^ (blockBuffer.getByteAfterPosition(offsetFromPos + 1) & 0xff);<a name="line.739"></a>
-<span class="sourceLineNo">740</span> if (checkLen(tlen)) {<a name="line.740"></a>
-<span class="sourceLineNo">741</span> throw new IllegalStateException("Invalid tlen " + tlen + ". Block offset: "<a name="line.741"></a>
-<span class="sourceLineNo">742</span> + curBlock.getOffset() + ", block length: " + blockBuffer.limit() + ", position: "<a name="line.742"></a>
-<span class="sourceLineNo">743</span> + blockBuffer.position() + " (without header).");<a name="line.743"></a>
-<span class="sourceLineNo">744</span> }<a name="line.744"></a>
-<span class="sourceLineNo">745</span> // add the two bytes read for the tags.<a name="line.745"></a>
-<span class="sourceLineNo">746</span> offsetFromPos += tlen + (Bytes.SIZEOF_SHORT);<a name="line.746"></a>
-<span class="sourceLineNo">747</span> }<a name="line.747"></a>
-<span class="sourceLineNo">748</span> if (this.reader.shouldIncludeMemStoreTS()) {<a name="line.748"></a>
-<span class="sourceLineNo">749</span> // Directly read the mvcc based on current position<a name="line.749"></a>
-<span class="sourceLineNo">750</span> readMvccVersion(offsetFromPos);<a name="line.750"></a>
-<span class="sourceLineNo">751</span> }<a name="line.751"></a>
-<span class="sourceLineNo">752</span> if (comp == 0) {<a name="line.752"></a>
-<span class="sourceLineNo">753</span> if (seekBefore) {<a name="line.753"></a>
-<span class="sourceLineNo">754</span> if (lastKeyValueSize < 0) {<a name="line.754"></a>
-<span class="sourceLineNo">755</span> throw new IllegalStateException("blockSeek with seekBefore "<a name="line.755"></a>
-<span class="sourceLineNo">756</span> + "at the first key of the block: key=" + CellUtil.getCellKeyAsString(key)<a name="line.756"></a>
-<span class="sourceLineNo">757</span> + ", blockOffset=" + curBlock.getOffset() + ", onDiskSize="<a name="line.757"></a>
-<span class="sourceLineNo">758</span> + curBlock.getOnDiskSizeWithHeader());<a name="line.758"></a>
-<span class="sourceLineNo">759</span> }<a name="line.759"></a>
-<span class="sourceLineNo">760</span> blockBuffer.moveBack(lastKeyValueSize);<a name="line.760"></a>
-<span class="sourceLineNo">761</span> readKeyValueLen();<a name="line.761"></a>
-<span class="sourceLineNo">762</span> return 1; // non exact match.<a name="line.762"></a>
-<span class="sourceLineNo">763</span> }<a name="line.763"></a>
-<span class="sourceLineNo">764</span> currKeyLen = klen;<a name="line.764"></a>
-<span class="sourceLineNo">765</span> currValueLen = vlen;<a name="line.765"></a>
-<span class="sourceLineNo">766</span> currTagsLen = tlen;<a name="line.766"></a>
-<span class="sourceLineNo">767</span> return 0; // indicate exact match<a name="line.767"></a>
-<span class="sourceLineNo">768</span> } else if (comp < 0) {<a name="line.768"></a>
-<span class="sourceLineNo">769</span> if (lastKeyValueSize > 0) {<a name="line.769"></a>
-<span class="sourceLineNo">770</span> blockBuffer.moveBack(lastKeyValueSize);<a name="line.770"></a>
-<span class="sourceLineNo">771</span> }<a name="line.771"></a>
-<span class="sourceLineNo">772</span> readKeyValueLen();<a name="line.772"></a>
-<span class="sourceLineNo">773</span> if (lastKeyValueSize == -1 && blockBuffer.position() == 0) {<a name="line.773"></a>
-<span class="sourceLineNo">774</span> return HConstants.INDEX_KEY_MAGIC;<a name="line.774"></a>
-<span class="sourceLineNo">775</span> }<a name="line.775"></a>
-<span class="sourceLineNo">776</span> return 1;<a name="line.776"></a>
-<span class="sourceLineNo">777</span> }<a name="line.777"></a>
-<span class="sourceLineNo">778</span> // The size of this key/value tuple, including key/value length fields.<a name="line.778"></a>
-<span class="sourceLineNo">779</span> lastKeyValueSize = klen + vlen + currMemstoreTSLen + KEY_VALUE_LEN_SIZE;<a name="line.779"></a>
-<span class="sourceLineNo">780</span> // include tag length also if tags included with KV<a name="line.780"></a>
-<span class="sourceLineNo">781</span> if (reader.getFileContext().isIncludesTags()) {<a name="line.781"></a>
-<span class="sourceLineNo">782</span> lastKeyValueSize += tlen + Bytes.SIZEOF_SHORT;<a name="line.782"></a>
-<span class="sourceLineNo">783</span> }<a name="line.783"></a>
-<span class="sourceLineNo">784</span> blockBuffer.skip(lastKeyValueSize);<a name="line.784"></a>
-<span class="sourceLineNo">785</span> } while (blockBuffer.hasRemaining());<a name="line.785"></a>
-<span class="sourceLineNo">786</span><a name="line.786"></a>
-<span class="sourceLineNo">787</span> // Seek to the last key we successfully read. This will happen if this is<a name="line.787"></a>
-<span class="sourceLineNo">788</span> // the last key/value pair in the file, in which case the following call<a name="line.788"></a>
-<span class="sourceLineNo">789</span> // to next() has to return false.<a name="line.789"></a>
-<span class="sourceLineNo">790</span> blockBuffer.moveBack(lastKeyValueSize);<a name="line.790"></a>
-<span class="sourceLineNo">791</span> readKeyValueLen();<a name="line.791"></a>
-<span class="sourceLineNo">792</span> return 1; // didn't exactly find it.<a name="line.792"></a>
-<span class="sourceLineNo">793</span> }<a name="line.793"></a>
-<span class="sourceLineNo">794</span><a name="line.794"></a>
-<span class="sourceLineNo">795</span> @Override<a name="line.795"></a>
-<span class="sourceLineNo">796</span> public Cell getNextIndexedKey() {<a name="line.796"></a>
-<span class="sourceLineNo">797</span> return nextIndexedKey;<a name="line.797"></a>
-<span class="sourceLineNo">798</span> }<a name="line.798"></a>
-<span class="sourceLineNo">799</span><a name="line.799"></a>
-<span class="sourceLineNo">800</span> @Override<a name="line.800"></a>
-<span class="sourceLineNo">801</span> public int seekTo(Cell key) throws IOException {<a name="line.801"></a>
-<span class="sourceLineNo">802</span> return seekTo(key, true);<a name="line.802"></a>
-<span class="sourceLineNo">803</span> }<a name="line.803"></a>
-<span class="sourceLineNo">804</span><a name="line.804"></a>
-<span class="sourceLineNo">805</span> @Override<a name="line.805"></a>
-<span class="sourceLineNo">806</span> public int reseekTo(Cell key) throws IOException {<a name="line.806"></a>
-<span class="sourceLineNo">807</span> int compared;<a name="line.807"></a>
-<span class="sourceLineNo">808</span> if (isSeeked()) {<a name="line.808"></a>
-<span class="sourceLineNo">809</span> compared = compareKey(reader.getComparator(), key);<a name="line.809"></a>
-<span class="sourceLineNo">810</span> if (compared < 1) {<a name="line.810"></a>
-<span class="sourceLineNo">811</span> // If the required key is less than or equal to current key, then<a name="line.811"></a>
-<span class="sourceLineNo">812</span> // don't do anything.<a name="line.812"></a>
-<span class="sourceLineNo">813</span> return compared;<a name="line.813"></a>
-<span class="sourceLineNo">814</span> } else {<a name="line.814"></a>
-<span class="sourceLineNo">815</span> // The comparison with no_next_index_key has to be checked<a name="line.815"></a>
-<span class="sourceLineNo">816</span> if (this.nextIndexedKey != null &&<a name="line.816"></a>
-<span class="sourceLineNo">817</span> (this.nextIndexedKey == KeyValueScanner.NO_NEXT_INDEXED_KEY || PrivateCellUtil<a name="line.817"></a>
-<span class="sourceLineNo">818</span> .compareKeyIgnoresMvcc(reader.getComparator(), key, nextIndexedKey) < 0)) {<a name="line.818"></a>
-<span class="sourceLineNo">819</span> // The reader shall continue to scan the current data block instead<a name="line.819"></a>
-<span class="sourceLineNo">820</span> // of querying the<a name="line.820"></a>
-<span class="sourceLineNo">821</span> // block index as long as it knows the target key is strictly<a name="line.821"></a>
-<span class="sourceLineNo">822</span> // smaller than<a name="line.822"></a>
-<span class="sourceLineNo">823</span> // the next indexed key or the current data block is the last data<a name="line.823"></a>
-<span class="sourceLineNo">824</span> // block.<a name="line.824"></a>
-<span class="sourceLineNo">825</span> return loadBlockAndSeekToKey(this.curBlock, nextIndexedKey, false, key,<a name="line.825"></a>
-<span class="sourceLineNo">826</span> false);<a name="line.826"></a>
-<span class="sourceLineNo">827</span> }<a name="line.827"></a>
-<span class="sourceLineNo">828</span><a name="line.828"></a>
-<span class="sourceLineNo">829</span> }<a name="line.829"></a>
-<span class="sourceLineNo">830</span> }<a name="line.830"></a>
-<span class="sourceLineNo">831</span> // Don't rewind on a reseek operation, because reseek implies that we are<a name="line.831"></a>
-<span class="sourceLineNo">832</span> // always going forward in the file.<a name="line.832"></a>
-<span class="sourceLineNo">833</span> return seekTo(key, false);<a name="line.833"></a>
-<span class="sourceLineNo">834</span> }<a name="line.834"></a>
-<span class="sourceLineNo">835</span><a name="line.835"></a>
-<span class="sourceLineNo">836</span> /**<a name="line.836"></a>
-<span class="sourceLineNo">837</span> * An internal API function. Seek to the given key, optionally rewinding to<a name="line.837"></a>
-<span class="sourceLineNo">838</span> * the first key of the block before doing the seek.<a name="line.838"></a>
-<span class="sourceLineNo">839</span> *<a name="line.839"></a>
-<span class="sourceLineNo">840</span> * @param key - a cell representing the key that we need to fetch<a name="line.840"></a>
-<span class="sourceLineNo">841</span> * @param rewind whether to rewind to the first key of the block before<a name="line.841"></a>
-<span class="sourceLineNo">842</span> * doing the seek. If this is false, we are assuming we never go<a name="line.842"></a>
-<span class="sourceLineNo">843</span> * back, otherwise the result is undefined.<a name="line.843"></a>
-<span class="sourceLineNo">844</span> * @return -1 if the key is earlier than the first key of the file,<a name="line.844"></a>
-<span class="sourceLineNo">845</span> * 0 if we are at the given key, 1 if we are past the given key<a name="line.845"></a>
-<span class="sourceLineNo">846</span> * -2 if the key is earlier than the first key of the file while<a name="line.846"></a>
-<span class="sourceLineNo">847</span> * using a faked index key<a name="line.847"></a>
-<span class="sourceLineNo">848</span> * @throws IOException<a name="line.848"></a>
-<span class="sourceLineNo">849</span> */<a name="line.849"></a>
-<span class="sourceLineNo">850</span> public int seekTo(Cell key, boolean rewind) throws IOException {<a name="line.850"></a>
-<span class="sourceLineNo">851</span> HFileBlockIndex.BlockIndexReader indexReader = reader.getDataBlockIndexReader();<a name="line.851"></a>
-<span class="sourceLineNo">852</span> BlockWithScanInfo blockWithScanInfo = indexReader.loadDataBlockWithScanInfo(key, curBlock,<a name="line.852"></a>
-<span class="sourceLineNo">853</span> cacheBlocks, pread, isCompaction, getEffectiveDataBlockEncoding());<a name="line.853"></a>
-<span class="sourceLineNo">854</span> if (blockWithScanInfo == null || blockWithScanInfo.getHFileBlock() == null) {<a name="line.854"></a>
-<span class="sourceLineNo">855</span> // This happens if the key e.g. falls before the beginning of the<a name="line.855"></a>
-<span class="sourceLineNo">856</span> // file.<a name="line.856"></a>
-<span class="sourceLineNo">857</span> return -1;<a name="line.857"></a>
-<span class="sourceLineNo">858</span> }<a name="line.858"></a>
-<span class="sourceLineNo">859</span> return loadBlockAndSeekToKey(blockWithScanInfo.getHFileBlock(),<a name="line.859"></a>
-<span class="sourceLineNo">860</span> blockWithScanInfo.getNextIndexedKey(), rewind, key, false);<a name="line.860"></a>
-<span class="sourceLineNo">861</span> }<a name="line.861"></a>
-<span class="sourceLineNo">862</span><a name="line.862"></a>
-<span class="sourceLineNo">863</span> @Override<a name="line.863"></a>
-<span class="sourceLineNo">864</span> public boolean seekBefore(Cell key) throws IOException {<a name="line.864"></a>
-<span class="sourceLineNo">865</span> HFileBlock seekToBlock = reader.getDataBlockIndexReader().seekToDataBlock(key, curBlock,<a name="line.865"></a>
-<span class="sourceLineNo">866</span> cacheBlocks, pread, isCompaction, reader.getEffectiveEncodingInCache(isCompaction));<a name="line.866"></a>
-<span class="sourceLineNo">867</span> if (seekToBlock == null) {<a name="line.867"></a>
-<span class="sourceLineNo">868</span> return false;<a name="line.868"></a>
-<span class="sourceLineNo">869</span> }<a name="line.869"></a>
-<span class="sourceLineNo">870</span> Cell firstKey = getFirstKeyCellInBlock(seekToBlock);<a name="line.870"></a>
-<span class="sourceLineNo">871</span> if (PrivateCellUtil.compareKeyIgnoresMvcc(reader.getComparator(), firstKey, key) >= 0) {<a name="line.871"></a>
-<span class="sourceLineNo">872</span> long previousBlockOffset = seekToBlock.getPrevBlockOffset();<a name="line.872"></a>
-<span class="sourceLineNo">873</span> // The key we are interested in<a name="line.873"></a>
-<span class="sourceLineNo">874</span> if (previousBlockOffset == -1) {<a name="line.874"></a>
-<span class="sourceLineNo">875</span> // we have a 'problem', the key we want is the first of the file.<a name="line.875"></a>
-<span class="sourceLineNo">876</span> return false;<a name="line.876"></a>
-<span class="sourceLineNo">877</span> }<a name="line.877"></a>
-<span class="sourceLineNo">878</span><a name="line.878"></a>
-<span class="sourceLineNo">879</span> // The first key in the current block 'seekToBlock' is greater than the given<a name="line.879"></a>
-<span class="sourceLineNo">880</span> // seekBefore key. We will go ahead by reading the next block that satisfies the<a name="line.880"></a>
-<span class="sourceLineNo">881</span> // given key. Return the current block before reading the next one.<a name="line.881"></a>
-<span class="sourceLineNo">882</span> reader.returnBlock(seekToBlock);<a name="line.882"></a>
-<span class="sourceLineNo">883</span> // It is important that we compute and pass onDiskSize to the block<a name="line.883"></a>
-<span class="sourceLineNo">884</span> // reader so that it does not have to read the header separately to<a name="line.884"></a>
-<span class="sourceLineNo">885</span> // figure out the size. Currently, we do not have a way to do this<a name="line.885"></a>
-<span class="sourceLineNo">886</span> // correctly in the general case however.<a name="line.886"></a>
-<span class="sourceLineNo">887</span> // TODO: See https://issues.apache.org/jira/browse/HBASE-14576<a name="line.887"></a>
-<span class="sourceLineNo">888</span> int prevBlockSize = -1;<a name="line.888"></a>
-<span class="sourceLineNo">889</span> seekToBlock = reader.readBlock(previousBlockOffset,<a name="line.889"></a>
-<span class="sourceLineNo">890</span> prevBlockSize, cacheBlocks,<a name="line.890"></a>
-<span class="sourceLineNo">891</span> pread, isCompaction, true, BlockType.DATA, getEffectiveDataBlockEncoding());<a name="line.891"></a>
-<span class="sourceLineNo">892</span> // TODO shortcut: seek forward in this block to the last key of the<a name="line.892"></a>
-<span class="sourceLineNo">893</span> // block.<a name="line.893"></a>
-<span class="sourceLineNo">894</span> }<a name="line.894"></a>
-<span class="sourceLineNo">895</span> loadBlockAndSeekToKey(seekToBlock, firstKey, true, key, true);<a name="line.895"></a>
-<span class="sourceLineNo">896</span> return true;<a name="line.896"></a>
-<span class="sourceLineNo">897</span> }<a name="line.897"></a>
-<span class="sourceLineNo">898</span><a name="line.898"></a>
-<span class="sourceLineNo">899</span> /**<a name="line.899"></a>
-<span class="sourceLineNo">900</span> * Scans blocks in the "scanned" section of the {@link HFile} until the next<a name="line.900"></a>
-<span class="sourceLineNo">901</span> * data block is found.<a name="line.901"></a>
-<span class="sourceLineNo">902</span> *<a name="line.902"></a>
-<span class="sourceLineNo">903</span> * @return the next block, or null if there are no more data blocks<a name="line.903"></a>
-<span class="sourceLineNo">904</span> * @throws IOException<a name="line.904"></a>
-<span class="sourceLineNo">905</span> */<a name="line.905"></a>
-<span class="sourceLineNo">906</span> @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.906"></a>
-<span class="sourceLineNo">907</span> justification="Yeah, unnecessary null check; could do w/ clean up")<a name="line.907"></a>
-<span class="sourceLineNo">908</span> protected HFileBlock readNextDataBlock() throws IOException {<a name="line.908"></a>
-<span class="sourceLineNo">909</span> long lastDataBlockOffset = reader.getTrailer().getLastDataBlockOffset();<a name="line.909"></a>
-<span class="sourceLineNo">910</span> if (curBlock == null)<a name="line.910"></a>
-<span class="sourceLineNo">911</span> return null;<a name="line.911"></a>
-<span class="sourceLineNo">912</span><a name="line.912"></a>
-<span class="sourceLineNo">913</span> HFileBlock block = this.curBlock;<a name="line.913"></a>
-<span class="sourceLineNo">914</span><a name="line.914"></a>
-<span class="sourceLineNo">915</span> do {<a name="line.915"></a>
-<span class="sourceLineNo">916</span> if (block.getOffset() >= lastDataBlockOffset) {<a name="line.916"></a>
-<span class="sourceLineNo">917</span> return null;<a name="line.917"></a>
-<span class="sourceLineNo">918</span> }<a name="line.918"></a>
-<span class="sourceLineNo">919</span><a name="line.919"></a>
-<span class="sourceLineNo">920</span> if (block.getOffset() < 0) {<a name="line.920"></a>
-<span class="sourceLineNo">921</span> throw new IOException("Invalid block file offset: " + block);<a name="line.921"></a>
-<span class="sourceLineNo">922</span> }<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span> // We are reading the next block without block type validation, because<a name="line.924"></a>
-<span class="sourceLineNo">925</span> // it might turn out to be a non-data block.<a name="line.925"></a>
-<span class="sourceLineNo">926</span> block = reader.readBlock(block.getOffset() + block.getOnDiskSizeWithHeader(),<a name="line.926"></a>
-<span class="sourceLineNo">927</span> block.getNextBlockOnDiskSize(), cacheBlocks, pread,<a name="line.927"></a>
-<span class="sourceLineNo">928</span> isCompaction, true, null, getEffectiveDataBlockEncoding());<a name="line.928"></a>
-<span class="sourceLineNo">929</span> if (block != null && !block.getBlockType().isData()) { // Findbugs: NP_NULL_ON_SOME_PATH<a name="line.929"></a>
-<span class="sourceLineNo">930</span> // Whatever block we read we will be returning it unless<a name="line.930"></a>
-<span class="sourceLineNo">931</span> // it is a datablock. Just in case the blocks are non data blocks<a name="line.931"></a>
-<span class="sourceLineNo">932</span> reader.returnBlock(block);<a name="line.932"></a>
-<span class="sourceLineNo">933</span> }<a name="line.933"></a>
-<span class="sourceLineNo">934</span> } while (!block.getBlockType().isData());<a name="line.934"></a>
-<span class="sourceLineNo">935</span><a name="line.935"></a>
-<span class="sourceLineNo">936</span> return block;<a name="line.936"></a>
-<span class="sourceLineNo">937</span> }<a name="line.937"></a>
+<span class="sourceLineNo">373</span> if (block != null) {<a name="line.373"></a>
+<span class="sourceLineNo">374</span> this.cacheConf.getBlockCache().ifPresent(blockCache -> {<a name="line.374"></a>
+<span class="sourceLineNo">375</span> BlockCacheKey cacheKey =<a name="line.375"></a>
+<span class="sourceLineNo">376</span> new BlockCacheKey(this.getFileContext().getHFileName(), block.getOffset(),<a name="line.376"></a>
+<span class="sourceLineNo">377</span> this.isPrimaryReplicaReader(), block.getBlockType());<a name="line.377"></a>
+<span class="sourceLineNo">378</span> blockCache.returnBlock(cacheKey, block);<a name="line.378"></a>
+<span class="sourceLineNo">379</span> });<a name="line.379"></a>
+<span class="sourceLineNo">380</span> }<a name="line.380"></a>
+<span class="sourceLineNo">381</span> }<a name="line.381"></a>
+<span class="sourceLineNo">382</span><a name="line.382"></a>
+<span class="sourceLineNo">383</span> /**<a name="line.383"></a>
+<span class="sourceLineNo">384</span> * @return the first key in the file. May be null if file has no entries. Note<a name="line.384"></a>
+<span class="sourceLineNo">385</span> * that this is not the first row key, but rather the byte form of the<a name="line.385"></a>
+<span class="sourceLineNo">386</span> * first KeyValue.<a name="line.386"></a>
+<span class="sourceLineNo">387</span> */<a name="line.387"></a>
+<span class="sourceLineNo">388</span> @Override<a name="line.388"></a>
+<span class="sourceLineNo">389</span> public Optional<Cell> getFirstKey() {<a name="line.389"></a>
+<span class="sourceLineNo">390</span> if (dataBlockIndexReader == null) {<a name="line.390"></a>
+<span class="sourceLineNo">391</span> throw new BlockIndexNotLoadedException();<a name="line.391"></a>
+<span class="sourceLineNo">392</span> }<a name="line.392"></a>
+<span class="sourceLineNo">393</span> return dataBlockIndexReader.isEmpty() ? Optional.empty()<a name="line.393"></a>
+<span class="sourceLineNo">394</span> : Optional.of(dataBlockIndexReader.getRootBlockKey(0));<a name="line.394"></a>
+<span class="sourceLineNo">395</span> }<a name="line.395"></a>
+<span class="sourceLineNo">396</span><a name="line.396"></a>
+<span class="sourceLineNo">397</span> /**<a name="line.397"></a>
+<span class="sourceLineNo">398</span> * TODO left from {@link HFile} version 1: move this to StoreFile after Ryan's<a name="line.398"></a>
+<span class="sourceLineNo">399</span> * patch goes in to eliminate {@link KeyValue} here.<a name="line.399"></a>
+<span class="sourceLineNo">400</span> *<a name="line.400"></a>
+<span class="sourceLineNo">401</span> * @return the first row key, or null if the file is empty.<a name="line.401"></a>
+<span class="sourceLineNo">402</span> */<a name="line.402"></a>
+<span class="sourceLineNo">403</span> @Override<a name="line.403"></a>
+<span class="sourceLineNo">404</span> public Optional<byte[]> getFirstRowKey() {<a name="line.404"></a>
+<span class="sourceLineNo">405</span> // We have to copy the row part to form the row key alone<a name="line.405"></a>
+<span class="sourceLineNo">406</span> return getFirstKey().map(CellUtil::cloneRow);<a name="line.406"></a>
+<span class="sourceLineNo">407</span> }<a name="line.407"></a>
+<span class="sourceLineNo">408</span><a name="line.408"></a>
+<span class="sourceLineNo">409</span> /**<a name="line.409"></a>
+<span class="sourceLineNo">410</span> * TODO left from {@link HFile} version 1: move this to StoreFile after<a name="line.410"></a>
+<span class="sourceLineNo">411</span> * Ryan's patch goes in to eliminate {@link KeyValue} here.<a name="line.411"></a>
+<span class="sourceLineNo">412</span> *<a name="line.412"></a>
+<span class="sourceLineNo">413</span> * @return the last row key, or null if the file is empty.<a name="line.413"></a>
+<span class="sourceLineNo">414</span> */<a name="line.414"></a>
+<span class="sourceLineNo">415</span> @Override<a name="line.415"></a>
+<span class="sourceLineNo">416</span> public Optional<byte[]> getLastRowKey() {<a name="line.416"></a>
+<span class="sourceLineNo">417</span> // We have to copy the row part to form the row key alone<a name="line.417"></a>
+<span class="sourceLineNo">418</span> return getLastKey().map(CellUtil::cloneRow);<a name="line.418"></a>
+<span class="sourceLineNo">419</span> }<a name="line.419"></a>
+<span class="sourceLineNo">420</span><a name="line.420"></a>
+<span class="sourceLineNo">421</span> /** @return number of KV entries in this HFile */<a name="line.421"></a>
+<span class="sourceLineNo">422</span> @Override<a name="line.422"></a>
+<span class="sourceLineNo">423</span> public long getEntries() {<a name="line.423"></a>
+<span class="sourceLineNo">424</span> return trailer.getEntryCount();<a name="line.424"></a>
+<span class="sourceLineNo">425</span> }<a name="line.425"></a>
+<span class="sourceLineNo">426</span><a name="line.426"></a>
+<span class="sourceLineNo">427</span> /** @return comparator */<a name="line.427"></a>
+<span class="sourceLineNo">428</span> @Override<a name="line.428"></a>
+<span class="sourceLineNo">429</span> public CellComparator getComparator() {<a name="line.429"></a>
+<span class="sourceLineNo">430</span> return comparator;<a name="line.430"></a>
+<span class="sourceLineNo">431</span> }<a name="line.431"></a>
+<span class="sourceLineNo">432</span><a name="line.432"></a>
+<span class="sourceLineNo">433</span> /** @return compression algorithm */<a name="line.433"></a>
+<span class="sourceLineNo">434</span> @Override<a name="line.434"></a>
+<span class="sourceLineNo">435</span> public Compression.Algorithm getCompressionAlgorithm() {<a name="line.435"></a>
+<span class="sourceLineNo">436</span> return compressAlgo;<a name="line.436"></a>
+<span class="sourceLineNo">437</span> }<a name="line.437"></a>
+<span class="sourceLineNo">438</span><a name="line.438"></a>
+<span class="sourceLineNo">439</span> /**<a name="line.439"></a>
+<span class="sourceLineNo">440</span> * @return the total heap size of data and meta block indexes in bytes. Does<a name="line.440"></a>
+<span class="sourceLineNo">441</span> * not take into account non-root blocks of a multilevel data index.<a name="line.441"></a>
+<span class="sourceLineNo">442</span> */<a name="line.442"></a>
+<span class="sourceLineNo">443</span> @Override<a name="line.443"></a>
+<span class="sourceLineNo">444</span> public long indexSize() {<a name="line.444"></a>
+<span class="sourceLineNo">445</span> return (dataBlockIndexReader != null ? dataBlockIndexReader.heapSize() : 0)<a name="line.445"></a>
+<span class="sourceLineNo">446</span> + ((metaBlockIndexReader != null) ? metaBlockIndexReader.heapSize()<a name="line.446"></a>
+<span class="sourceLineNo">447</span> : 0);<a name="line.447"></a>
+<span class="sourceLineNo">448</span> }<a name="line.448"></a>
+<span class="sourceLineNo">449</span><a name="line.449"></a>
+<span class="sourceLineNo">450</span> @Override<a name="line.450"></a>
+<span class="sourceLineNo">451</span> public String getName() {<a name="line.451"></a>
+<span class="sourceLineNo">452</span> return name;<a name="line.452"></a>
+<span class="sourceLineNo">453</span> }<a name="line.453"></a>
+<span class="sourceLineNo">454</span><a name="line.454"></a>
+<span class="sourceLineNo">455</span> @Override<a name="line.455"></a>
+<span class="sourceLineNo">456</span> public HFileBlockIndex.BlockIndexReader getDataBlockIndexReader() {<a name="line.456"></a>
+<span class="sourceLineNo">457</span> return dataBlockIndexReader;<a name="line.457"></a>
+<span class="sourceLineNo">458</span> }<a name="line.458"></a>
+<span class="sourceLineNo">459</span><a name="line.459"></a>
+<span class="sourceLineNo">460</span> @Override<a name="line.460"></a>
+<span class="sourceLineNo">461</span> public FixedFileTrailer getTrailer() {<a name="line.461"></a>
+<span class="sourceLineNo">462</span> return trailer;<a name="line.462"></a>
+<span class="sourceLineNo">463</span> }<a name="line.463"></a>
+<span class="sourceLineNo">464</span><a name="line.464"></a>
+<span class="sourceLineNo">465</span> @Override<a name="line.465"></a>
+<span class="sourceLineNo">466</span> public boolean isPrimaryReplicaReader() {<a name="line.466"></a>
+<span class="sourceLineNo">467</span> return primaryReplicaReader;<a name="line.467"></a>
+<span class="sourceLineNo">468</span> }<a name="line.468"></a>
+<span class="sourceLineNo">469</span><a name="line.469"></a>
+<span class="sourceLineNo">470</span> @Override<a name="line.470"></a>
+<span class="sourceLineNo">471</span> public FileInfo loadFileInfo() throws IOException {<a name="line.471"></a>
+<span class="sourceLineNo">472</span> return fileInfo;<a name="line.472"></a>
+<span class="sourceLineNo">473</span> }<a name="line.473"></a>
+<span class="sourceLineNo">474</span><a name="line.474"></a>
+<span class="sourceLineNo">475</span> /**<a name="line.475"></a>
+<span class="sourceLineNo">476</span> * An exception thrown when an operation requiring a scanner to be seeked<a name="line.476"></a>
+<span class="sourceLineNo">477</span> * is invoked on a scanner that is not seeked.<a name="line.477"></a>
+<span class="sourceLineNo">478</span> */<a name="line.478"></a>
+<span class="sourceLineNo">479</span> @SuppressWarnings("serial")<a name="line.479"></a>
+<span class="sourceLineNo">480</span> public static class NotSeekedException extends IllegalStateException {<a name="line.480"></a>
+<span class="sourceLineNo">481</span> public NotSeekedException() {<a name="line.481"></a>
+<span class="sourceLineNo">482</span> super("Not seeked to a key/value");<a name="line.482"></a>
+<span class="sourceLineNo">483</span> }<a name="line.483"></a>
+<span class="sourceLineNo">484</span> }<a name="line.484"></a>
+<span class="sourceLineNo">485</span><a name="line.485"></a>
+<span class="sourceLineNo">486</span> protected static class HFileScannerImpl implements HFileScanner {<a name="line.486"></a>
+<span class="sourceLineNo">487</span> private ByteBuff blockBuffer;<a name="line.487"></a>
+<span class="sourceLineNo">488</span> protected final boolean cacheBlocks;<a name="line.488"></a>
+<span class="sourceLineNo">489</span> protected final boolean pread;<a name="line.489"></a>
+<span class="sourceLineNo">490</span> protected final boolean isCompaction;<a name="line.490"></a>
+<span class="sourceLineNo">491</span> private int currKeyLen;<a name="line.491"></a>
+<span class="sourceLineNo">492</span> private int currValueLen;<a name="line.492"></a>
+<span class="sourceLineNo">493</span> private int currMemstoreTSLen;<a name="line.493"></a>
+<span class="sourceLineNo">494</span> private long currMemstoreTS;<a name="line.494"></a>
+<span class="sourceLineNo">495</span> // Updated but never read?<a name="line.495"></a>
+<span class="sourceLineNo">496</span> protected AtomicInteger blockFetches = new AtomicInteger(0);<a name="line.496"></a>
+<span class="sourceLineNo">497</span> protected final HFile.Reader reader;<a name="line.497"></a>
+<span class="sourceLineNo">498</span> private int currTagsLen;<a name="line.498"></a>
+<span class="sourceLineNo">499</span> // buffer backed keyonlyKV<a name="line.499"></a>
+<span class="sourceLineNo">500</span> private ByteBufferKeyOnlyKeyValue bufBackedKeyOnlyKv = new ByteBufferKeyOnlyKeyValue();<a name="line.500"></a>
+<span class="sourceLineNo">501</span> // A pair for reusing in blockSeek() so that we don't garbage lot of objects<a name="line.501"></a>
+<span class="sourceLineNo">502</span> final ObjectIntPair<ByteBuffer> pair = new ObjectIntPair<>();<a name="line.502"></a>
+<span class="sourceLineNo">503</span><a name="line.503"></a>
+<span class="sourceLineNo">504</span> /**<a name="line.504"></a>
+<span class="sourceLineNo">505</span> * The next indexed key is to keep track of the indexed key of the next data block.<a name="line.505"></a>
+<span class="sourceLineNo">506</span> * If the nextIndexedKey is HConstants.NO_NEXT_INDEXED_KEY, it means that the<a name="line.506"></a>
+<span class="sourceLineNo">507</span> * current data block is the last data block.<a name="line.507"></a>
+<span class="sourceLineNo">508</span> *<a name="line.508"></a>
+<span class="sourceLineNo">509</span> * If the nextIndexedKey is null, it means the nextIndexedKey has not been loaded yet.<a name="line.509"></a>
+<span class="sourceLineNo">510</span> */<a name="line.510"></a>
+<span class="sourceLineNo">511</span> protected Cell nextIndexedKey;<a name="line.511"></a>
+<span class="sourceLineNo">512</span> // Current block being used<a name="line.512"></a>
+<span class="sourceLineNo">513</span> protected HFileBlock curBlock;<a name="line.513"></a>
+<span class="sourceLineNo">514</span> // Previous blocks that were used in the course of the read<a name="line.514"></a>
+<span class="sourceLineNo">515</span> protected final ArrayList<HFileBlock> prevBlocks = new ArrayList<>();<a name="line.515"></a>
+<span class="sourceLineNo">516</span><a name="line.516"></a>
+<span class="sourceLineNo">517</span> public HFileScannerImpl(final HFile.Reader reader, final boolean cacheBlocks,<a name="line.517"></a>
+<span class="sourceLineNo">518</span> final boolean pread, final boolean isCompaction) {<a name="line.518"></a>
+<span class="sourceLineNo">519</span> this.reader = reader;<a name="line.519"></a>
+<span class="sourceLineNo">520</span> this.cacheBlocks = cacheBlocks;<a name="line.520"></a>
+<span class="sourceLineNo">521</span> this.pread = pread;<a name="line.521"></a>
+<span class="sourceLineNo">522</span> this.isCompaction = isCompaction;<a name="line.522"></a>
+<span class="sourceLineNo">523</span> }<a name="line.523"></a>
+<span class="sourceLineNo">524</span><a name="line.524"></a>
+<span class="sourceLineNo">525</span> void updateCurrBlockRef(HFileBlock block) {<a name="line.525"></a>
+<span class="sourceLineNo">526</span> if (block != null && this.curBlock != null &&<a name="line.526"></a>
+<span class="sourceLineNo">527</span> block.getOffset() == this.curBlock.getOffset()) {<a name="line.527"></a>
+<span class="sourceLineNo">528</span> return;<a name="line.528"></a>
+<span class="sourceLineNo">529</span> }<a name="line.529"></a>
+<span class="sourceLineNo">530</span> // We don't have to keep ref to EXCLUSIVE type of block<a name="line.530"></a>
+<span class="sourceLineNo">531</span> if (this.curBlock != null && this.curBlock.usesSharedMemory()) {<a name="line.531"></a>
+<span class="sourceLineNo">532</span> prevBlocks.add(this.curBlock);<a name="line.532"></a>
+<span class="sourceLineNo">533</span> }<a name="line.533"></a>
+<span class="sourceLineNo">534</span> this.curBlock = block;<a name="line.534"></a>
+<span class="sourceLineNo">535</span> }<a name="line.535"></a>
+<span class="sourceLineNo">536</span><a name="line.536"></a>
+<span class="sourceLineNo">537</span> void reset() {<a name="line.537"></a>
+<span class="sourceLineNo">538</span> // We don't have to keep ref to EXCLUSIVE type of block<a name="line.538"></a>
+<span class="sourceLineNo">539</span> if (this.curBlock != null && this.curBlock.usesSharedMemory()) {<a name="line.539"></a>
+<span class="sourceLineNo">540</span> this.prevBlocks.add(this.curBlock);<a name="line.540"></a>
+<span class="sourceLineNo">541</span> }<a name="line.541"></a>
+<span class="sourceLineNo">542</span> this.curBlock = null;<a name="line.542"></a>
+<span class="sourceLineNo">543</span> }<a name="line.543"></a>
+<span class="sourceLineNo">544</span><a name="line.544"></a>
+<span class="sourceLineNo">545</span> private void returnBlockToCache(HFileBlock block) {<a name="line.545"></a>
+<span class="sourceLineNo">546</span> if (LOG.isTraceEnabled()) {<a name="line.546"></a>
+<span class="sourceLineNo">547</span> LOG.trace("Returning the block : " + block);<a name="line.547"></a>
+<span class="sourceLineNo">548</span> }<a name="line.548"></a>
+<span class="sourceLineNo">549</span> this.reader.returnBlock(block);<a name="line.549"></a>
+<span class="sourceLineNo">550</span> }<a name="line.550"></a>
+<span class="sourceLineNo">551</span><a name="line.551"></a>
+<span class="sourceLineNo">552</span> private void returnBlocks(boolean returnAll) {<a name="line.552"></a>
+<span class="sourceLineNo">553</span> for (int i = 0; i < this.prevBlocks.size(); i++) {<a name="line.553"></a>
+<span class="sourceLineNo">554</span> returnBlockToCache(this.prevBlocks.get(i));<a name="line.554"></a>
+<span class="sourceLineNo">555</span> }<a name="line.555"></a>
+<span class="sourceLineNo">556</span> this.prevBlocks.clear();<a name="line.556"></a>
+<span class="sourceLineNo">557</span> if (returnAll && this.curBlock != null) {<a name="line.557"></a>
+<span class="sourceLineNo">558</span> returnBlockToCache(this.curBlock);<a name="line.558"></a>
+<span class="sourceLineNo">559</span> this.curBlock = null;<a name="line.559"></a>
+<span class="sourceLineNo">560</span> }<a name="line.560"></a>
+<span class="sourceLineNo">561</span> }<a name="line.561"></a>
+<span class="sourceLineNo">562</span> @Override<a name="line.562"></a>
+<span class="sourceLineNo">563</span> public boolean isSeeked(){<a name="line.563"></a>
+<span class="sourceLineNo">564</span> return blockBuffer != null;<a name="line.564"></a>
+<span class="sourceLineNo">565</span> }<a name="line.565"></a>
+<span class="sourceLineNo">566</span><a name="line.566"></a>
+<span class="sourceLineNo">567</span> @Override<a name="line.567"></a>
+<span class="sourceLineNo">568</span> public String toString() {<a name="line.568"></a>
+<span class="sourceLineNo">569</span> return "HFileScanner for reader " + String.valueOf(getReader());<a name="line.569"></a>
+<span class="sourceLineNo">570</span> }<a name="line.570"></a>
+<span class="sourceLineNo">571</span><a name="line.571"></a>
+<span class="sourceLineNo">572</span> protected void assertSeeked() {<a name="line.572"></a>
+<span class="sourceLineNo">573</span> if (!isSeeked())<a name="line.573"></a>
+<span class="sourceLineNo">574</span> throw new NotSeekedException();<a name="line.574"></a>
+<span class="sourceLineNo">575</span> }<a name="line.575"></a>
+<span class="sourceLineNo">576</span><a name="line.576"></a>
+<span class="sourceLineNo">577</span> @Override<a name="line.577"></a>
+<span class="sourceLineNo">578</span> public HFile.Reader getReader() {<a name="line.578"></a>
+<span class="sourceLineNo">579</span> return reader;<a name="line.579"></a>
+<span class="sourceLineNo">580</span> }<a name="line.580"></a>
+<span class="sourceLineNo">581</span><a name="line.581"></a>
+<span class="sourceLineNo">582</span> // From non encoded HFiles, we always read back KeyValue or its descendant.(Note: When HFile<a name="line.582"></a>
+<span class="sourceLineNo">583</span> // block is in DBB, it will be OffheapKV). So all parts of the Cell is in a contiguous<a name="line.583"></a>
+<span class="sourceLineNo">584</span> // array/buffer. How many bytes we should wrap to make the KV is what this method returns.<a name="line.584"></a>
+<span class="sourceLineNo">585</span> private int getKVBufSize() {<a name="line.585"></a>
+<span class="sourceLineNo">586</span> int kvBufSize = KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen;<a name="line.586"></a>
+<span class="sourceLineNo">587</span> if (currTagsLen > 0) {<a name="line.587"></a>
+<span class="sourceLineNo">588</span> kvBufSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.588"></a>
+<span class="sourceLineNo">589</span> }<a name="line.589"></a>
+<span class="sourceLineNo">590</span> return kvBufSize;<a name="line.590"></a>
+<span class="sourceLineNo">591</span> }<a name="line.591"></a>
+<span class="sourceLineNo">592</span><a name="line.592"></a>
+<span class="sourceLineNo">593</span> @Override<a name="line.593"></a>
+<span class="sourceLineNo">594</span> public void close() {<a name="line.594"></a>
+<span class="sourceLineNo">595</span> if (!pread) {<a name="line.595"></a>
+<span class="sourceLineNo">596</span> // For seek + pread stream socket should be closed when the scanner is closed. HBASE-9393<a name="line.596"></a>
+<span class="sourceLineNo">597</span> reader.unbufferStream();<a name="line.597"></a>
+<span class="sourceLineNo">598</span> }<a name="line.598"></a>
+<span class="sourceLineNo">599</span> this.returnBlocks(true);<a name="line.599"></a>
+<span class="sourceLineNo">600</span> }<a name="line.600"></a>
+<span class="sourceLineNo">601</span><a name="line.601"></a>
+<span class="sourceLineNo">602</span> // Returns the #bytes in HFile for the current cell. Used to skip these many bytes in current<a name="line.602"></a>
+<span class="sourceLineNo">603</span> // HFile block's buffer so as to position to the next cell.<a name="line.603"></a>
+<span class="sourceLineNo">604</span> private int getCurCellSerializedSize() {<a name="line.604"></a>
+<span class="sourceLineNo">605</span> int curCellSize = KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen<a name="line.605"></a>
+<span class="sourceLineNo">606</span> + currMemstoreTSLen;<a name="line.606"></a>
+<span class="sourceLineNo">607</span> if (this.reader.getFileContext().isIncludesTags()) {<a name="line.607"></a>
+<span class="sourceLineNo">608</span> curCellSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.608"></a>
+<span class="sourceLineNo">609</span> }<a name="line.609"></a>
+<span class="sourceLineNo">610</span> return curCellSize;<a name="line.610"></a>
+<span class="sourceLineNo">611</span> }<a name="line.611"></a>
+<span class="sourceLineNo">612</span><a name="line.612"></a>
+<span class="sourceLineNo">613</span> protected void readKeyValueLen() {<a name="line.613"></a>
+<span class="sourceLineNo">614</span> // This is a hot method. We go out of our way to make this method short so it can be<a name="line.614"></a>
+<span class="sourceLineNo">615</span> // inlined and is not too big to compile. We also manage position in ByteBuffer ourselves<a name="line.615"></a>
+<span class="sourceLineNo">616</span> // because it is faster than going via range-checked ByteBuffer methods or going through a<a name="line.616"></a>
+<span class="sourceLineNo">617</span> // byte buffer array a byte at a time.<a name="line.617"></a>
+<span class="sourceLineNo">618</span> // Get a long at a time rather than read two individual ints. In micro-benchmarking, even<a name="line.618"></a>
+<span class="sourceLineNo">619</span> // with the extra bit-fiddling, this is order-of-magnitude faster than getting two ints.<a name="line.619"></a>
+<span class="sourceLineNo">620</span> // Trying to imitate what was done - need to profile if this is better or<a name="line.620"></a>
+<span class="sourceLineNo">621</span> // earlier way is better by doing mark and reset?<a name="line.621"></a>
+<span class="sourceLineNo">622</span> // But ensure that you read long instead of two ints<a name="line.622"></a>
+<span class="sourceLineNo">623</span> long ll = blockBuffer.getLongAfterPosition(0);<a name="line.623"></a>
+<span class="sourceLineNo">624</span> // Read top half as an int of key length and bottom int as value length<a name="line.624"></a>
+<span class="sourceLineNo">625</span> this.currKeyLen = (int)(ll >> Integer.SIZE);<a name="line.625"></a>
+<span class="sourceLineNo">626</span> this.currValueLen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.626"></a>
+<span class="sourceLineNo">627</span> checkKeyValueLen();<a name="line.627"></a>
+<span class="sourceLineNo">628</span> // Move position past the key and value lengths and then beyond the key and value<a name="line.628"></a>
+<span class="sourceLineNo">629</span> int p = (Bytes.SIZEOF_LONG + currKeyLen + currValueLen);<a name="line.629"></a>
+<span class="sourceLineNo">630</span> if (reader.getFileContext().isIncludesTags()) {<a name="line.630"></a>
+<span class="sourceLineNo">631</span> // Tags length is a short.<a name="line.631"></a>
+<span class="sourceLineNo">632</span> this.currTagsLen = blockBuffer.getShortAfterPosition(p);<a name="line.632"></a>
+<span class="sourceLineNo">633</span> checkTagsLen();<a name="line.633"></a>
+<span class="sourceLineNo">634</span> p += (Bytes.SIZEOF_SHORT + currTagsLen);<a name="line.634"></a>
+<span class="sourceLineNo">635</span> }<a name="line.635"></a>
+<span class="sourceLineNo">636</span> readMvccVersion(p);<a name="line.636"></a>
+<span class="sourceLineNo">637</span> }<a name="line.637"></a>
+<span class="sourceLineNo">638</span><a name="line.638"></a>
+<span class="sourceLineNo">639</span> private final void checkTagsLen() {<a name="line.639"></a>
+<span class="sourceLineNo">640</span> if (checkLen(this.currTagsLen)) {<a name="line.640"></a>
+<span class="sourceLineNo">641</span> throw new IllegalStateException("Invalid currTagsLen " + this.currTagsLen +<a name="line.641"></a>
+<span class="sourceLineNo">642</span> ". Block offset: " + curBlock.getOffset() + ", block length: " +<a name="line.642"></a>
+<span class="sourceLineNo">643</span> this.blockBuffer.limit() +<a name="line.643"></a>
+<span class="sourceLineNo">644</span> ", position: " + this.blockBuffer.position() + " (without header).");<a name="line.644"></a>
+<span class="sourceLineNo">645</span> }<a name="line.645"></a>
+<span class="sourceLineNo">646</span> }<a name="line.646"></a>
+<span class="sourceLineNo">647</span><a name="line.647"></a>
+<span class="sourceLineNo">648</span> /**<a name="line.648"></a>
+<span class="sourceLineNo">649</span> * Read mvcc. Does checks to see if we even need to read the mvcc at all.<a name="line.649"></a>
+<span class="sourceLineNo">650</span> * @param offsetFromPos<a name="line.650"></a>
+<span class="sourceLineNo">651</span> */<a name="line.651"></a>
+<span class="sourceLineNo">652</span> protected void readMvccVersion(final int offsetFromPos) {<a name="line.652"></a>
+<span class="sourceLineNo">653</span> // See if we even need to decode mvcc.<a name="line.653"></a>
+<span class="sourceLineNo">654</span> if (!this.reader.shouldIncludeMemStoreTS()) return;<a name="line.654"></a>
+<span class="sourceLineNo">655</span> if (!this.reader.isDecodeMemStoreTS()) {<a name="line.655"></a>
+<span class="sourceLineNo">656</span> currMemstoreTS = 0;<a name="line.656"></a>
+<span class="sourceLineNo">657</span> currMemstoreTSLen = 1;<a name="line.657"></a>
+<span class="sourceLineNo">658</span> return;<a name="line.658"></a>
+<span class="sourceLineNo">659</span> }<a name="line.659"></a>
+<span class="sourceLineNo">660</span> _readMvccVersion(offsetFromPos);<a name="line.660"></a>
+<span class="sourceLineNo">661</span> }<a name="line.661"></a>
+<span class="sourceLineNo">662</span><a name="line.662"></a>
+<span class="sourceLineNo">663</span> /**<a name="line.663"></a>
+<span class="sourceLineNo">664</span> * Actually do the mvcc read. Does no checks.<a name="line.664"></a>
+<span class="sourceLineNo">665</span> * @param offsetFromPos<a name="line.665"></a>
+<span class="sourceLineNo">666</span> */<a name="line.666"></a>
+<span class="sourceLineNo">667</span> private void _readMvccVersion(int offsetFromPos) {<a name="line.667"></a>
+<span class="sourceLineNo">668</span> // This is Bytes#bytesToVint inlined so can save a few instructions in this hot method; i.e.<a name="line.668"></a>
+<span class="sourceLineNo">669</span> // previous if one-byte vint, we'd redo the vint call to find int size.<a name="line.669"></a>
+<span class="sourceLineNo">670</span> // Also the method is kept small so can be inlined.<a name="line.670"></a>
+<span class="sourceLineNo">671</span> byte firstByte = blockBuffer.getByteAfterPosition(offsetFromPos);<a name="line.671"></a>
+<span class="sourceLineNo">672</span> int len = WritableUtils.decodeVIntSize(firstByte);<a name="line.672"></a>
+<span class="sourceLineNo">673</span> if (len == 1) {<a name="line.673"></a>
+<span class="sourceLineNo">674</span> this.currMemstoreTS = firstByte;<a name="line.674"></a>
+<span class="sourceLineNo">675</span> } else {<a name="line.675"></a>
+<span class="sourceLineNo">676</span> int remaining = len -1;<a name="line.676"></a>
+<span class="sourceLineNo">677</span> long i = 0;<a name="line.677"></a>
+<span class="sourceLineNo">678</span> offsetFromPos++;<a name="line.678"></a>
+<span class="sourceLineNo">679</span> if (remaining >= Bytes.SIZEOF_INT) {<a name="line.679"></a>
+<span class="sourceLineNo">680</span> // The int read has to be converted to unsigned long so the & op<a name="line.680"></a>
+<span class="sourceLineNo">681</span> i = (blockBuffer.getIntAfterPosition(offsetFromPos) & 0x00000000ffffffffL);<a name="line.681"></a>
+<span class="sourceLineNo">682</span> remaining -= Bytes.SIZEOF_INT;<a name="line.682"></a>
+<span class="sourceLineNo">683</span> offsetFromPos += Bytes.SIZEOF_INT;<a name="line.683"></a>
+<span class="sourceLineNo">684</span> }<a name="line.684"></a>
+<span class="sourceLineNo">685</span> if (remaining >= Bytes.SIZEOF_SHORT) {<a name="line.685"></a>
+<span class="sourceLineNo">686</span> short s = blockBuffer.getShortAfterPosition(offsetFromPos);<a name="line.686"></a>
+<span class="sourceLineNo">687</span> i = i << 16;<a name="line.687"></a>
+<span class="sourceLineNo">688</span> i = i | (s & 0xFFFF);<a name="line.688"></a>
+<span class="sourceLineNo">689</span> remaining -= Bytes.SIZEOF_SHORT;<a name="line.689"></a>
+<span class="sourceLineNo">690</span> offsetFromPos += Bytes.SIZEOF_SHORT;<a name="line.690"></a>
+<span class="sourceLineNo">691</span> }<a name="line.691"></a>
+<span class="sourceLineNo">692</span> for (int idx = 0; idx < remaining; idx++) {<a name="line.692"></a>
+<span class="sourceLineNo">693</span> byte b = blockBuffer.getByteAfterPosition(offsetFromPos + idx);<a name="line.693"></a>
+<span class="sourceLineNo">694</span> i = i << 8;<a name="line.694"></a>
+<span class="sourceLineNo">695</span> i = i | (b & 0xFF);<a name="line.695"></a>
+<span class="sourceLineNo">696</span> }<a name="line.696"></a>
+<span class="sourceLineNo">697</span> currMemstoreTS = (WritableUtils.isNegativeVInt(firstByte) ? ~i : i);<a name="line.697"></a>
+<span class="sourceLineNo">698</span> }<a name="line.698"></a>
+<span class="sourceLineNo">699</span> this.currMemstoreTSLen = len;<a name="line.699"></a>
+<span class="sourceLineNo">700</span> }<a name="line.700"></a>
+<span class="sourceLineNo">701</span><a name="line.701"></a>
+<span class="sourceLineNo">702</span> /**<a name="line.702"></a>
+<
<TRUNCATED>
[46/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html
index d9d5ea9..78176fc 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html
@@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
</div>
<div class="subNav">
<ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Prev Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCachesIterator.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Next Class</span></a></li>
</ul>
<ul class="navList">
@@ -489,7 +489,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/HeapSize.html"
</div>
<div class="subNav">
<ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Prev Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCachesIterator.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Next Class</span></a></li>
</ul>
<ul class="navList">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html
deleted file mode 100644
index a81d07b..0000000
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html
+++ /dev/null
@@ -1,372 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>CacheConfig.ExternalBlockCaches (Apache HBase 3.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="CacheConfig.ExternalBlockCaches (Apache HBase 3.0.0-SNAPSHOT API)";
- }
- }
- catch(err) {
- }
-//-->
-var methods = {"i0":9,"i1":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/CacheConfig.ExternalBlockCaches.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CachedBlock.html" title="interface in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" target="_top">Frames</a></li>
-<li><a href="CacheConfig.ExternalBlockCaches.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li>Nested | </li>
-<li><a href="#enum.constant.summary">Enum Constants</a> | </li>
-<li><a href="#field.summary">Field</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li><a href="#enum.constant.detail">Enum Constants</a> | </li>
-<li><a href="#field.detail">Field</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.hadoop.hbase.io.hfile</div>
-<h2 title="Enum CacheConfig.ExternalBlockCaches" class="title">Enum CacheConfig.ExternalBlockCaches</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a><<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">CacheConfig.ExternalBlockCaches</a>></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.hadoop.hbase.io.hfile.CacheConfig.ExternalBlockCaches</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">CacheConfig.ExternalBlockCaches</a>></dd>
-</dl>
-<dl>
-<dt>Enclosing class:</dt>
-<dd><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dd>
-</dl>
-<hr>
-<br>
-<pre>private static enum <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.html#line.151">CacheConfig.ExternalBlockCaches</a>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a><<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">CacheConfig.ExternalBlockCaches</a>></pre>
-<div class="block">Enum of all built in external block caches.
- This is used for config.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- =========== ENUM CONSTANT SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="enum.constant.summary">
-<!-- -->
-</a>
-<h3>Enum Constant Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
-<caption><span>Enum Constants</span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colOne" scope="col">Enum Constant and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html#memcached">memcached</a></span></code> </td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!-- -->
-</a>
-<h3>Field Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
-<caption><span>Fields</span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html#clazz">clazz</a></span></code> </td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!-- -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">CacheConfig.ExternalBlockCaches</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name)</code>
-<div class="block">Returns the enum constant of this type with the specified name.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">CacheConfig.ExternalBlockCaches</a>[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html#values--">values</a></span>()</code>
-<div class="block">Returns an array containing the constants of this enum type, in
-the order they are declared.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/
8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ ENUM CONSTANT DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="enum.constant.detail">
-<!-- -->
-</a>
-<h3>Enum Constant Detail</h3>
-<a name="memcached">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>memcached</h4>
-<pre>public static final <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">CacheConfig.ExternalBlockCaches</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html#line.152">memcached</a></pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ FIELD DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.detail">
-<!-- -->
-</a>
-<h3>Field Detail</h3>
-<a name="clazz">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>clazz</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html#line.154">clazz</a></pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!-- -->
-</a>
-<h3>Method Detail</h3>
-<a name="values--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>values</h4>
-<pre>public static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">CacheConfig.ExternalBlockCaches</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html#line.151">values</a>()</pre>
-<div class="block">Returns an array containing the constants of this enum type, in
-the order they are declared. This method may be used to iterate
-over the constants as follows:
-<pre>
-for (CacheConfig.ExternalBlockCaches c : CacheConfig.ExternalBlockCaches.values())
- System.out.println(c);
-</pre></div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an array containing the constants of this enum type, in the order they are declared</dd>
-</dl>
-</li>
-</ul>
-<a name="valueOf-java.lang.String-">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>valueOf</h4>
-<pre>public static <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile">CacheConfig.ExternalBlockCaches</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html#line.151">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name)</pre>
-<div class="block">Returns the enum constant of this type with the specified name.
-The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type. (Extraneous whitespace characters are
-not permitted.)</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>name</code> - the name of the enum constant to be returned.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the enum constant with the specified name</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/CacheConfig.ExternalBlockCaches.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CachedBlock.html" title="interface in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" target="_top">Frames</a></li>
-<li><a href="CacheConfig.ExternalBlockCaches.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li>Nested | </li>
-<li><a href="#enum.constant.summary">Enum Constants</a> | </li>
-<li><a href="#field.summary">Field</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li><a href="#enum.constant.detail">Enum Constants</a> | </li>
-<li><a href="#field.detail">Field</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright © 2007–2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
[51/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
Published site at c448604ceb987d113913f0583452b2abce04db0d.
Project: http://git-wip-us.apache.org/repos/asf/hbase-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase-site/commit/4f8b8424
Tree: http://git-wip-us.apache.org/repos/asf/hbase-site/tree/4f8b8424
Diff: http://git-wip-us.apache.org/repos/asf/hbase-site/diff/4f8b8424
Branch: refs/heads/asf-site
Commit: 4f8b842476c373ebcbaf9c035d0aae678dac780f
Parents: d0f540a
Author: jenkins <bu...@apache.org>
Authored: Tue Dec 18 14:56:11 2018 +0000
Committer: jenkins <bu...@apache.org>
Committed: Tue Dec 18 14:56:11 2018 +0000
----------------------------------------------------------------------
acid-semantics.html | 4 +-
apache_hbase_reference_guide.pdf | 4 +-
book.html | 2 +-
bulk-loads.html | 4 +-
checkstyle-aggregate.html | 26622 ++++++++---------
checkstyle.rss | 62 +-
coc.html | 4 +-
dependencies.html | 4 +-
dependency-convergence.html | 4 +-
dependency-info.html | 4 +-
dependency-management.html | 4 +-
devapidocs/allclasses-frame.html | 4 +-
devapidocs/allclasses-noframe.html | 4 +-
devapidocs/constant-values.html | 188 +-
devapidocs/index-all.html | 234 +-
.../hadoop/hbase/backup/package-tree.html | 2 +-
.../apache/hadoop/hbase/class-use/Server.html | 11 +-
.../hadoop/hbase/class-use/ServerName.html | 2 +-
.../class-use/ColumnFamilyDescriptor.html | 27 +-
.../hadoop/hbase/client/package-tree.html | 24 +-
.../hadoop/hbase/coprocessor/package-tree.html | 2 +-
.../hadoop/hbase/executor/package-tree.html | 2 +-
.../hadoop/hbase/filter/package-tree.html | 6 +-
.../apache/hadoop/hbase/io/Reference.Range.html | 4 +-
.../hadoop/hbase/io/hfile/BlockCache.html | 4 +-
.../BlockCacheFactory.ExternalBlockCaches.html | 372 +
.../hbase/io/hfile/BlockCacheFactory.html | 564 +
.../hadoop/hbase/io/hfile/BlockCacheKey.html | 4 +-
.../hfile/CacheConfig.ExternalBlockCaches.html | 372 -
.../hadoop/hbase/io/hfile/CacheConfig.html | 695 +-
.../hadoop/hbase/io/hfile/CachedBlock.html | 4 +-
.../CombinedBlockCache.CombinedCacheStats.html | 170 +-
.../hbase/io/hfile/CombinedBlockCache.html | 41 +-
.../hfile/HFileBlockIndex.BlockIndexChunk.html | 46 +-
.../hfile/HFileBlockIndex.BlockIndexWriter.html | 28 +-
.../hadoop/hbase/io/hfile/HFileBlockIndex.html | 4 +-
.../hfile/HFileReaderImpl.EncodedScanner.html | 40 +-
.../hfile/HFileReaderImpl.HFileScannerImpl.html | 126 +-
.../HFileReaderImpl.NotSeekedException.html | 4 +-
.../hadoop/hbase/io/hfile/HFileReaderImpl.html | 92 +-
.../hadoop/hbase/io/hfile/HFileWriterImpl.html | 28 +-
.../io/hfile/InclusiveCombinedBlockCache.html | 2 +-
.../io/hfile/bucket/class-use/BucketCache.html | 4 +-
.../hbase/io/hfile/class-use/BlockCache.html | 266 +-
.../BlockCacheFactory.ExternalBlockCaches.html | 177 +
.../io/hfile/class-use/BlockCacheFactory.html | 125 +
.../CacheConfig.ExternalBlockCaches.html | 177 -
.../hbase/io/hfile/class-use/CacheConfig.html | 73 +-
.../hbase/io/hfile/class-use/CacheStats.html | 12 +-
.../hbase/io/hfile/class-use/LruBlockCache.html | 12 +-
.../io/hfile/class-use/ResizableBlockCache.html | 13 +-
.../hadoop/hbase/io/hfile/package-frame.html | 3 +-
.../hadoop/hbase/io/hfile/package-summary.html | 130 +-
.../hadoop/hbase/io/hfile/package-tree.html | 7 +-
.../hadoop/hbase/io/hfile/package-use.html | 28 +-
.../apache/hadoop/hbase/ipc/package-tree.html | 2 +-
.../hadoop/hbase/mapreduce/package-tree.html | 4 +-
.../org/apache/hadoop/hbase/master/HMaster.html | 4 +-
.../master/HMasterCommandLine.LocalHMaster.html | 4 +-
.../hbase/master/RegionServerTracker.html | 6 +-
.../ServerManager.FlushedSequenceIdFlusher.html | 6 +-
.../hadoop/hbase/master/ServerManager.html | 62 +-
.../master/assignment/AssignmentManager.html | 72 +-
.../assignment/MergeTableRegionsProcedure.html | 28 +-
.../hbase/master/assignment/RegionStates.html | 14 +-
.../hbase/master/assignment/ServerState.html | 2 +-
.../master/assignment/ServerStateNode.html | 2 +-
...tTableRegionProcedure.StoreFileSplitter.html | 12 +-
.../assignment/SplitTableRegionProcedure.html | 26 +-
.../assignment/class-use/ServerStateNode.html | 2 +-
.../hadoop/hbase/master/package-tree.html | 6 +-
.../master/procedure/ServerCrashProcedure.html | 69 +-
.../procedure/class-use/MasterProcedureEnv.html | 7 +-
.../hbase/master/procedure/package-tree.html | 2 +-
.../hadoop/hbase/mob/ExpiredMobFileCleaner.html | 4 +-
.../apache/hadoop/hbase/mob/MobCacheConfig.html | 372 -
.../apache/hadoop/hbase/mob/MobConstants.html | 4 +-
.../hbase/mob/MobFileCache.EvictionThread.html | 8 +-
.../apache/hadoop/hbase/mob/MobFileCache.html | 64 +-
.../hbase/mob/class-use/MobCacheConfig.html | 195 -
.../hadoop/hbase/mob/class-use/MobFile.html | 4 +-
.../hbase/mob/class-use/MobFileCache.html | 93 +-
.../apache/hadoop/hbase/mob/package-frame.html | 1 -
.../hadoop/hbase/mob/package-summary.html | 18 +-
.../apache/hadoop/hbase/mob/package-tree.html | 5 -
.../apache/hadoop/hbase/mob/package-use.html | 16 +-
.../hadoop/hbase/monitoring/package-tree.html | 2 +-
.../org/apache/hadoop/hbase/package-tree.html | 16 +-
.../hadoop/hbase/procedure2/package-tree.html | 4 +-
.../hadoop/hbase/quotas/package-tree.html | 6 +-
.../hadoop/hbase/regionserver/HMobStore.html | 168 +-
.../HRegion.BatchOperation.Visitor.html | 4 +-
.../regionserver/HRegion.BatchOperation.html | 78 +-
.../regionserver/HRegion.BulkLoadListener.html | 8 +-
.../HRegion.FlushResult.Result.html | 14 +-
.../hbase/regionserver/HRegion.FlushResult.html | 8 +-
.../regionserver/HRegion.FlushResultImpl.html | 24 +-
.../HRegion.MutationBatchOperation.html | 44 +-
.../HRegion.ObservedExceptionsInBatch.html | 22 +-
.../HRegion.PrepareFlushResult.html | 26 +-
.../regionserver/HRegion.RegionScannerImpl.html | 90 +-
.../HRegion.ReplayBatchOperation.html | 32 +-
.../regionserver/HRegion.RowLockContext.html | 28 +-
.../hbase/regionserver/HRegion.RowLockImpl.html | 16 +-
.../hbase/regionserver/HRegion.WriteState.html | 26 +-
.../hadoop/hbase/regionserver/HRegion.html | 1342 +-
.../HRegionServer.CompactionChecker.html | 14 +-
.../HRegionServer.MovedRegionInfo.html | 16 +-
.../HRegionServer.MovedRegionsCleaner.html | 16 +-
.../HRegionServer.PeriodicMemStoreFlusher.html | 14 +-
...RegionServer.SystemExitWhenAbortTimeout.html | 6 +-
.../hbase/regionserver/HRegionServer.html | 795 +-
.../hbase/regionserver/HeapMemoryManager.html | 102 +-
...Impl.RegionServerMetricsWrapperRunnable.html | 16 +-
.../MetricsRegionServerWrapperImpl.html | 402 +-
.../regionserver/RSRpcServices.LogDelegate.html | 4 +-
...SRpcServices.RegionScannerCloseCallBack.html | 8 +-
.../RSRpcServices.RegionScannerHolder.html | 24 +-
...pcServices.RegionScannerShippedCallBack.html | 12 +-
...RpcServices.RegionScannersCloseCallBack.html | 10 +-
.../RSRpcServices.ScannerListener.html | 8 +-
.../hbase/regionserver/RSRpcServices.html | 268 +-
...ionServerServices.PostOpenDeployContext.html | 12 +-
...erServices.RegionStateTransitionContext.html | 20 +-
.../regionserver/RegionServerServices.html | 150 +-
.../regionserver/class-use/FlushRequester.html | 18 +-
.../class-use/HeapMemoryManager.html | 9 +-
.../class-use/RegionServerAccounting.html | 18 +-
.../hadoop/hbase/regionserver/package-tree.html | 16 +-
.../regionserver/querymatcher/package-tree.html | 2 +-
.../hbase/regionserver/wal/package-tree.html | 2 +-
.../hadoop/hbase/replication/package-tree.html | 2 +-
.../hadoop/hbase/rest/model/package-tree.html | 2 +-
.../hbase/security/access/package-tree.html | 6 +-
.../hadoop/hbase/thrift/package-tree.html | 2 +-
.../regionserver/BlockCacheTmpl.ImplData.html | 69 +-
.../tmpl/regionserver/BlockCacheTmpl.Intf.html | 4 +-
.../hbase/tmpl/regionserver/BlockCacheTmpl.html | 52 +-
.../tmpl/regionserver/BlockCacheTmplImpl.html | 53 +-
.../BlockCacheViewTmpl.ImplData.html | 85 +-
.../regionserver/BlockCacheViewTmpl.Intf.html | 4 +-
.../tmpl/regionserver/BlockCacheViewTmpl.html | 52 +-
.../regionserver/BlockCacheViewTmplImpl.html | 25 +-
.../regionserver/RSStatusTmpl.ImplData.html | 50 +-
.../tmpl/regionserver/RSStatusTmpl.Intf.html | 4 +-
.../hbase/tmpl/regionserver/RSStatusTmpl.html | 38 +-
.../tmpl/regionserver/RSStatusTmplImpl.html | 18 +-
.../util/IdReadWriteLock.ReferenceType.html | 4 +-
.../apache/hadoop/hbase/util/package-tree.html | 8 +-
.../apache/hadoop/hbase/wal/package-tree.html | 2 +-
devapidocs/overview-tree.html | 9 +-
.../org/apache/hadoop/hbase/Version.html | 4 +-
.../BlockCacheFactory.ExternalBlockCaches.html | 298 +
.../hbase/io/hfile/BlockCacheFactory.html | 298 +
.../hfile/CacheConfig.ExternalBlockCaches.html | 756 -
.../hadoop/hbase/io/hfile/CacheConfig.html | 997 +-
.../CombinedBlockCache.CombinedCacheStats.html | 472 +-
.../hbase/io/hfile/CombinedBlockCache.html | 472 +-
.../hfile/HFileBlockIndex.BlockIndexChunk.html | 1147 +-
.../hfile/HFileBlockIndex.BlockIndexReader.html | 1147 +-
.../hfile/HFileBlockIndex.BlockIndexWriter.html | 1147 +-
...BlockIndex.ByteArrayKeyBlockIndexReader.html | 1147 +-
...BlockIndex.CellBasedKeyBlockIndexReader.html | 1147 +-
.../hadoop/hbase/io/hfile/HFileBlockIndex.html | 1147 +-
...ReaderImpl.BlockIndexNotLoadedException.html | 2992 +-
.../hfile/HFileReaderImpl.EncodedScanner.html | 2992 +-
.../hfile/HFileReaderImpl.HFileScannerImpl.html | 2992 +-
.../HFileReaderImpl.NotSeekedException.html | 2992 +-
.../hadoop/hbase/io/hfile/HFileReaderImpl.html | 2992 +-
.../hadoop/hbase/io/hfile/HFileWriterImpl.html | 589 +-
.../io/hfile/bucket/BucketAllocator.Bucket.html | 12 +-
.../bucket/BucketAllocator.BucketSizeInfo.html | 12 +-
.../bucket/BucketAllocator.IndexStatistics.html | 12 +-
.../hbase/io/hfile/bucket/BucketAllocator.html | 12 +-
.../hbase/master/RegionServerTracker.html | 135 +-
.../ServerManager.FlushedSequenceIdFlusher.html | 1159 +-
.../hadoop/hbase/master/ServerManager.html | 1159 +-
...signmentManager.RegionInTransitionChore.html | 1068 +-
...ssignmentManager.RegionInTransitionStat.html | 1068 +-
.../master/assignment/AssignmentManager.html | 1068 +-
.../assignment/MergeTableRegionsProcedure.html | 327 +-
.../RegionStates.RegionFailedOpen.html | 131 +-
...RegionStates.RegionStateStampComparator.html | 131 +-
.../hbase/master/assignment/RegionStates.html | 131 +-
.../hbase/master/assignment/ServerState.html | 2 +-
.../master/assignment/ServerStateNode.html | 2 +-
...tTableRegionProcedure.StoreFileSplitter.html | 451 +-
.../assignment/SplitTableRegionProcedure.html | 451 +-
.../master/procedure/ServerCrashProcedure.html | 110 +-
.../apache/hadoop/hbase/mob/MobCacheConfig.html | 136 -
.../hbase/mob/MobFileCache.EvictionThread.html | 593 +-
.../apache/hadoop/hbase/mob/MobFileCache.html | 593 +-
.../hadoop/hbase/regionserver/HMobStore.html | 722 +-
.../HRegion.BatchOperation.Visitor.html | 16868 +++++------
.../regionserver/HRegion.BatchOperation.html | 16868 +++++------
.../regionserver/HRegion.BulkLoadListener.html | 16868 +++++------
.../HRegion.FlushResult.Result.html | 16868 +++++------
.../hbase/regionserver/HRegion.FlushResult.html | 16868 +++++------
.../regionserver/HRegion.FlushResultImpl.html | 16868 +++++------
.../HRegion.MutationBatchOperation.html | 16868 +++++------
.../HRegion.ObservedExceptionsInBatch.html | 16868 +++++------
.../HRegion.PrepareFlushResult.html | 16868 +++++------
.../regionserver/HRegion.RegionScannerImpl.html | 16868 +++++------
.../HRegion.ReplayBatchOperation.html | 16868 +++++------
.../regionserver/HRegion.RowLockContext.html | 16868 +++++------
.../hbase/regionserver/HRegion.RowLockImpl.html | 16868 +++++------
.../hbase/regionserver/HRegion.WriteState.html | 16868 +++++------
.../hadoop/hbase/regionserver/HRegion.html | 16868 +++++------
.../HRegionServer.CompactionChecker.html | 7535 ++---
.../HRegionServer.MovedRegionInfo.html | 7535 ++---
.../HRegionServer.MovedRegionsCleaner.html | 7535 ++---
.../HRegionServer.PeriodicMemStoreFlusher.html | 7535 ++---
...RegionServer.SystemExitWhenAbortTimeout.html | 7535 ++---
.../hbase/regionserver/HRegionServer.html | 7535 ++---
.../regionserver/HStore.StoreFlusherImpl.html | 2 +-
.../hadoop/hbase/regionserver/HStore.html | 2 +-
...eapMemoryManager.HeapMemoryTuneObserver.html | 196 +-
.../HeapMemoryManager.HeapMemoryTunerChore.html | 196 +-
.../HeapMemoryManager.TunerContext.html | 196 +-
.../HeapMemoryManager.TunerResult.html | 196 +-
.../hbase/regionserver/HeapMemoryManager.html | 196 +-
...Impl.RegionServerMetricsWrapperRunnable.html | 1865 +-
.../MetricsRegionServerWrapperImpl.html | 1865 +-
.../regionserver/RSRpcServices.LogDelegate.html | 7358 ++---
...SRpcServices.RegionScannerCloseCallBack.html | 7358 ++---
.../RSRpcServices.RegionScannerHolder.html | 7358 ++---
...pcServices.RegionScannerShippedCallBack.html | 7358 ++---
...RpcServices.RegionScannersCloseCallBack.html | 7358 ++---
.../RSRpcServices.ScannerListener.html | 7358 ++---
.../hbase/regionserver/RSRpcServices.html | 7358 ++---
...ionServerServices.PostOpenDeployContext.html | 489 +-
...erServices.RegionStateTransitionContext.html | 489 +-
.../regionserver/RegionServerServices.html | 489 +-
.../regionserver/BlockCacheTmpl.ImplData.html | 273 +-
.../tmpl/regionserver/BlockCacheTmpl.Intf.html | 273 +-
.../hbase/tmpl/regionserver/BlockCacheTmpl.html | 273 +-
.../tmpl/regionserver/BlockCacheTmplImpl.html | 861 +-
.../BlockCacheViewTmpl.ImplData.html | 319 +-
.../regionserver/BlockCacheViewTmpl.Intf.html | 319 +-
.../tmpl/regionserver/BlockCacheViewTmpl.html | 319 +-
.../regionserver/BlockCacheViewTmplImpl.html | 196 +-
.../regionserver/RSStatusTmpl.ImplData.html | 426 +-
.../tmpl/regionserver/RSStatusTmpl.Intf.html | 426 +-
.../hbase/tmpl/regionserver/RSStatusTmpl.html | 426 +-
.../tmpl/regionserver/RSStatusTmplImpl.html | 486 +-
downloads.html | 4 +-
export_control.html | 4 +-
index.html | 4 +-
integration.html | 4 +-
issue-tracking.html | 4 +-
license.html | 4 +-
mail-lists.html | 4 +-
metrics.html | 4 +-
old_news.html | 4 +-
plugin-management.html | 4 +-
plugins.html | 4 +-
poweredbyhbase.html | 4 +-
project-info.html | 4 +-
project-reports.html | 4 +-
project-summary.html | 4 +-
pseudo-distributed.html | 4 +-
replication.html | 4 +-
resources.html | 4 +-
source-repository.html | 4 +-
sponsors.html | 4 +-
supportingprojects.html | 4 +-
team-list.html | 4 +-
testapidocs/index-all.html | 12 +
.../hadoop/hbase/HBaseTestingUtility.html | 910 +-
.../hadoop/hbase/HBaseTestingUtility.html | 8417 +++---
testdevapidocs/index-all.html | 68 +-
.../org/apache/hadoop/hbase/HBaseTestCase.html | 2 +-
...lity.PortAllocator.AvailablePortChecker.html | 4 +-
.../HBaseTestingUtility.PortAllocator.html | 20 +-
.../HBaseTestingUtility.SeenRowTracker.html | 20 +-
.../hadoop/hbase/HBaseTestingUtility.html | 1000 +-
.../hadoop/hbase/IntegrationTestingUtility.html | 2 +-
...aseCluster.MiniHBaseClusterRegionServer.html | 4 +-
.../hadoop/hbase/MockRegionServerServices.html | 266 +-
...entOperationTimeout.DelayedRegionServer.html | 4 +-
...cing.BlockCompactionsInCompletionRegion.html | 2 +-
...tIOFencing.BlockCompactionsInPrepRegion.html | 2 +-
.../TestIOFencing.CompactionBlockerRegion.html | 2 +-
.../hbase/TestLocalHBaseCluster.MyHMaster.html | 4 +-
.../TestLocalHBaseCluster.MyHRegionServer.html | 4 +-
...ovedRegionsCleaner.TestMockRegionServer.html | 4 +-
.../hadoop/hbase/backup/package-tree.html | 2 +-
.../hadoop/hbase/class-use/HBaseTestCase.html | 8 +-
.../hbase/class-use/HBaseTestingUtility.html | 15 +-
...rRPCTimeout.RegionServerWithScanTimeout.html | 4 +-
.../hadoop/hbase/client/TestFromClientSide.html | 54 +-
...stFromClientSideScanExcpetion.MyHRegion.html | 2 +-
...taCache.RegionServerWithFakeRpcServices.html | 4 +-
...ook.CompactionCompletionNotifyingRegion.html | 2 +-
...FilesEndpoint.HRegionForRefreshHFilesEP.html | 2 +-
.../hbase/io/encoding/TestEncodedSeekers.html | 44 +-
.../hbase/io/hfile/TestBlockCacheReporting.html | 46 +-
.../hfile/TestCacheConfig.DataCacheEntry.html | 26 +-
.../io/hfile/TestCacheConfig.Deserializer.html | 14 +-
.../hfile/TestCacheConfig.IndexCacheEntry.html | 8 +-
.../hfile/TestCacheConfig.MetaCacheEntry.html | 6 +-
.../hadoop/hbase/io/hfile/TestCacheConfig.html | 67 +-
.../TestCacheOnWrite.CacheOnWriteType.html | 22 +-
.../hadoop/hbase/io/hfile/TestCacheOnWrite.html | 50 +-
.../io/hfile/TestForceCacheImportantBlocks.html | 4 +-
.../apache/hadoop/hbase/io/hfile/TestHFile.html | 52 +-
.../hfile/TestHFileBlock.BlockReaderThread.html | 16 +-
.../hadoop/hbase/io/hfile/TestHFileBlock.html | 82 +-
.../hbase/io/hfile/TestHFileBlockIndex.html | 14 +-
.../hfile/TestLazyDataBlockDecompression.html | 8 +-
.../hadoop/hbase/io/hfile/TestPrefetch.html | 69 +-
.../io/hfile/TestScannerFromBucketCache.html | 109 +-
.../io/hfile/TestScannerSelectionUsingTTL.html | 36 +-
.../hadoop/hbase/io/hfile/package-tree.html | 2 +-
.../MockRegionServer.RegionNameAndIndex.html | 12 +-
.../hadoop/hbase/master/MockRegionServer.html | 362 +-
.../TestCloseAnOpeningRegion.MockHMaster.html | 4 +-
.../master/TestGetReplicationLoad.MyMaster.html | 4 +-
.../master/TestMasterMetrics.MyMaster.html | 4 +-
.../TestMasterMetrics.MyRegionServer.html | 4 +-
.../hbase/master/TestMasterNotCarryTable.html | 17 +-
.../TestMetaShutdownHandler.MyRegionServer.html | 4 +-
.../hadoop/hbase/master/TestRestartCluster.html | 44 +-
.../TestShutdownBackupMaster.MockHMaster.html | 4 +-
...dToMultipleRegionServers.HMasterForTest.html | 4 +-
...tReportOnlineRegionsRace.HMasterForTest.html | 4 +-
...TransitionFromDeadServer.HMasterForTest.html | 4 +-
...gionStateTransitionRetry.HMasterForTest.html | 4 +-
.../procedure/TestServerCrashProcedure.html | 66 +-
.../TestServerCrashProcedureWithReplicas.html | 2 +-
...PeerWorkerWhenRestarting.HMasterForTest.html | 4 +-
.../hadoop/hbase/mob/TestMobFileCache.html | 101 +-
.../org/apache/hadoop/hbase/package-tree.html | 8 +-
.../hadoop/hbase/procedure/package-tree.html | 8 +-
.../hadoop/hbase/procedure2/package-tree.html | 4 +-
.../hadoop/hbase/quotas/TestQuotaThrottle.html | 70 +-
.../hbase/regionserver/OOMERegionServer.html | 4 +-
.../TestAtomicOperation.AtomicOperation.html | 14 +-
.../TestAtomicOperation.CheckAndPutThread.html | 8 +-
.../TestAtomicOperation.Incrementer.html | 12 +-
...micOperation.MockHRegion.WrappedRowLock.html | 8 +-
.../TestAtomicOperation.MockHRegion.html | 8 +-
.../TestAtomicOperation.PutThread.html | 8 +-
.../TestAtomicOperation.TestStep.html | 16 +-
.../hbase/regionserver/TestAtomicOperation.html | 64 +-
.../hbase/regionserver/TestBlocksRead.html | 133 +-
.../hbase/regionserver/TestBlocksScanned.html | 118 +-
...stCacheOnWriteInSchema.CacheOnWriteType.html | 20 +-
.../regionserver/TestCacheOnWriteInSchema.html | 42 +-
.../regionserver/TestClearRegionBlockCache.html | 6 +-
...onInDeadRegionServer.IgnoreYouAreDeadRS.html | 4 +-
.../regionserver/TestCompoundBloomFilter.html | 46 +-
.../hbase/regionserver/TestHMobStore.html | 207 +-
.../TestHRegion.HRegionForTesting.html | 2 +-
.../TestHRegion.HRegionWithSeqId.html | 2 +-
.../hbase/regionserver/TestHStoreFile.html | 72 +-
.../regionserver/TestMobStoreCompaction.html | 108 +-
.../regionserver/TestMultiColumnScanner.html | 52 +-
...penSeqNumUnexpectedIncrease.MockHRegion.html | 2 +-
...Initializing.RegisterAndDieRegionServer.html | 4 +-
.../hbase/regionserver/TestRSStatusServlet.html | 32 +-
.../hbase/regionserver/TestRecoveredEdits.html | 65 +-
...egionMergeTransactionOnCluster.MyMaster.html | 4 +-
...tRegionServerAbort.ErrorThrowingHRegion.html | 2 +-
...egionServerReportForDuty.MyRegionServer.html | 4 +-
...verReportForDuty.NeverInitializedMaster.html | 4 +-
...annerHeartbeatMessages.HeartbeatHRegion.html | 2 +-
...eartbeatMessages.HeartbeatHRegionServer.html | 4 +-
...stShutdownWhileWALBroken.MyRegionServer.html | 4 +-
.../TestSplitTransactionOnCluster.MyMaster.html | 4 +-
.../hadoop/hbase/regionserver/package-tree.html | 8 +-
...stReplicationProcedureRetry.MockHMaster.html | 4 +-
...icationSource.ShutdownDelayRegionServer.html | 4 +-
.../apache/hadoop/hbase/test/package-tree.html | 2 +-
.../apache/hadoop/hbase/wal/package-tree.html | 2 +-
testdevapidocs/overview-tree.html | 2 +-
...lity.PortAllocator.AvailablePortChecker.html | 8417 +++---
.../HBaseTestingUtility.PortAllocator.html | 8417 +++---
.../HBaseTestingUtility.SeenRowTracker.html | 8417 +++---
.../hadoop/hbase/HBaseTestingUtility.html | 8417 +++---
.../hadoop/hbase/MockRegionServerServices.html | 673 +-
...oShippedBlocks.CompactorInternalScanner.html | 4 +-
...toShippedBlocks.CompactorRegionObserver.html | 4 +-
...ferencesIntoShippedBlocks.ScannerThread.html | 4 +-
...estAvoidCellReferencesIntoShippedBlocks.html | 4 +-
...ionFromClient.CustomInnerRegionObserver.html | 20 +-
...Client.CustomInnerRegionObserverWrapper.html | 20 +-
...stBlockEvictionFromClient.CustomScanner.html | 20 +-
.../TestBlockEvictionFromClient.GetThread.html | 20 +-
...tBlockEvictionFromClient.MultiGetThread.html | 20 +-
.../TestBlockEvictionFromClient.ScanThread.html | 20 +-
.../client/TestBlockEvictionFromClient.html | 20 +-
.../hadoop/hbase/client/TestFromClientSide.html | 2931 +-
.../hbase/io/encoding/TestEncodedSeekers.html | 274 +-
.../hbase/io/hfile/TestBlockCacheReporting.html | 275 +-
.../hfile/TestCacheConfig.DataCacheEntry.html | 687 +-
.../io/hfile/TestCacheConfig.Deserializer.html | 687 +-
.../hfile/TestCacheConfig.IndexCacheEntry.html | 687 +-
.../hfile/TestCacheConfig.MetaCacheEntry.html | 687 +-
.../hadoop/hbase/io/hfile/TestCacheConfig.html | 687 +-
.../TestCacheOnWrite.CacheOnWriteType.html | 394 +-
.../hadoop/hbase/io/hfile/TestCacheOnWrite.html | 394 +-
.../io/hfile/TestForceCacheImportantBlocks.html | 104 +-
.../apache/hadoop/hbase/io/hfile/TestHFile.html | 1051 +-
.../hfile/TestHFileBlock.BlockReaderThread.html | 1703 +-
.../hadoop/hbase/io/hfile/TestHFileBlock.html | 1703 +-
.../TestHFileBlockIndex.BlockReaderWrapper.html | 502 +-
.../hbase/io/hfile/TestHFileBlockIndex.html | 502 +-
.../hfile/TestLazyDataBlockDecompression.html | 308 +-
.../hadoop/hbase/io/hfile/TestPrefetch.html | 326 +-
.../io/hfile/TestScannerFromBucketCache.html | 590 +-
.../TestScannerSelectionUsingKeyRange.html | 29 +-
.../io/hfile/TestScannerSelectionUsingTTL.html | 227 +-
.../MockRegionServer.RegionNameAndIndex.html | 1377 +-
.../hadoop/hbase/master/MockRegionServer.html | 1377 +-
.../hbase/master/TestMasterNotCarryTable.html | 16 +-
.../hadoop/hbase/master/TestRestartCluster.html | 483 +-
.../procedure/TestServerCrashProcedure.html | 340 +-
.../hadoop/hbase/mob/TestMobFileCache.html | 346 +-
.../hadoop/hbase/quotas/TestQuotaThrottle.html | 239 +-
.../DataBlockEncodingTool.Manipulation.html | 13 +-
.../regionserver/DataBlockEncodingTool.html | 13 +-
.../EncodedSeekPerformanceTest.html | 2 +-
.../TestAtomicOperation.AtomicOperation.html | 1398 +-
.../TestAtomicOperation.CheckAndPutThread.html | 1398 +-
.../TestAtomicOperation.Incrementer.html | 1398 +-
...micOperation.MockHRegion.WrappedRowLock.html | 1398 +-
.../TestAtomicOperation.MockHRegion.html | 1398 +-
.../TestAtomicOperation.PutThread.html | 1398 +-
.../TestAtomicOperation.TestStep.html | 1398 +-
.../hbase/regionserver/TestAtomicOperation.html | 1398 +-
.../hbase/regionserver/TestBlocksRead.html | 816 +-
.../hbase/regionserver/TestBlocksScanned.html | 228 +-
...stCacheOnWriteInSchema.CacheOnWriteType.html | 286 +-
.../regionserver/TestCacheOnWriteInSchema.html | 286 +-
.../hbase/regionserver/TestCleanupMetaWAL.html | 31 +-
.../regionserver/TestClearRegionBlockCache.html | 110 +-
.../regionserver/TestCompoundBloomFilter.html | 550 +-
.../hbase/regionserver/TestHMobStore.html | 1044 +-
.../hbase/regionserver/TestHStoreFile.html | 1770 +-
.../regionserver/TestMobStoreCompaction.html | 846 +-
.../regionserver/TestMultiColumnScanner.html | 529 +-
.../hbase/regionserver/TestRSStatusServlet.html | 251 +-
.../hbase/regionserver/TestRecoveredEdits.html | 388 +-
.../regionserver/TestRowPrefixBloomFilter.html | 2 +-
...BulkLoadManager.MyExceptionToAvoidRetry.html | 2 +-
.../regionserver/TestSecureBulkLoadManager.html | 2 +-
447 files changed, 258728 insertions(+), 258597 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/acid-semantics.html
----------------------------------------------------------------------
diff --git a/acid-semantics.html b/acid-semantics.html
index 489a2b1..da6bdeb 100644
--- a/acid-semantics.html
+++ b/acid-semantics.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181215" />
+ <meta name="Date-Revision-yyyymmdd" content="20181218" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase –
Apache HBase (TM) ACID Properties
@@ -611,7 +611,7 @@ under the License. -->
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-12-15</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-12-18</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/apache_hbase_reference_guide.pdf
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index 5edfe76..61a72b1 100644
--- a/apache_hbase_reference_guide.pdf
+++ b/apache_hbase_reference_guide.pdf
@@ -5,8 +5,8 @@
/Author (Apache HBase Team)
/Creator (Asciidoctor PDF 1.5.0.alpha.15, based on Prawn 2.2.2)
/Producer (Apache HBase Team)
-/ModDate (D:20181215143220+00'00')
-/CreationDate (D:20181215144907+00'00')
+/ModDate (D:20181218143412+00'00')
+/CreationDate (D:20181218145148+00'00')
>>
endobj
2 0 obj
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/book.html
----------------------------------------------------------------------
diff --git a/book.html b/book.html
index eb3d342..afdb9f1 100644
--- a/book.html
+++ b/book.html
@@ -41371,7 +41371,7 @@ org/apache/hadoop/hbase/security/access/AccessControlClient.revoke:(Lorg/apache/
<div id="footer">
<div id="footer-text">
Version 3.0.0-SNAPSHOT<br>
-Last updated 2018-12-15 14:32:20 UTC
+Last updated 2018-12-18 14:34:12 UTC
</div>
</div>
</body>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/bulk-loads.html
----------------------------------------------------------------------
diff --git a/bulk-loads.html b/bulk-loads.html
index 5a2090e..55eea1f 100644
--- a/bulk-loads.html
+++ b/bulk-loads.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181215" />
+ <meta name="Date-Revision-yyyymmdd" content="20181218" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase –
Bulk Loads in Apache HBase (TM)
@@ -316,7 +316,7 @@ under the License. -->
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-12-15</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-12-18</li>
</p>
</div>
[06/51] [partial] hbase-site git commit: Published site at
c448604ceb987d113913f0583452b2abce04db0d.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/4f8b8424/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html
index 79cb21b..d8d391b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.HFileScannerImpl.html
@@ -378,1508 +378,1510 @@
<span class="sourceLineNo">370</span><a name="line.370"></a>
<span class="sourceLineNo">371</span> @Override<a name="line.371"></a>
<span class="sourceLineNo">372</span> public void returnBlock(HFileBlock block) {<a name="line.372"></a>
-<span class="sourceLineNo">373</span> BlockCache blockCache = this.cacheConf.getBlockCache();<a name="line.373"></a>
-<span class="sourceLineNo">374</span> if (blockCache != null && block != null) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span> BlockCacheKey cacheKey = new BlockCacheKey(this.getFileContext().getHFileName(),<a name="line.375"></a>
-<span class="sourceLineNo">376</span> block.getOffset(), this.isPrimaryReplicaReader(), block.getBlockType());<a name="line.376"></a>
-<span class="sourceLineNo">377</span> blockCache.returnBlock(cacheKey, block);<a name="line.377"></a>
-<span class="sourceLineNo">378</span> }<a name="line.378"></a>
-<span class="sourceLineNo">379</span> }<a name="line.379"></a>
-<span class="sourceLineNo">380</span> /**<a name="line.380"></a>
-<span class="sourceLineNo">381</span> * @return the first key in the file. May be null if file has no entries. Note<a name="line.381"></a>
-<span class="sourceLineNo">382</span> * that this is not the first row key, but rather the byte form of the<a name="line.382"></a>
-<span class="sourceLineNo">383</span> * first KeyValue.<a name="line.383"></a>
-<span class="sourceLineNo">384</span> */<a name="line.384"></a>
-<span class="sourceLineNo">385</span> @Override<a name="line.385"></a>
-<span class="sourceLineNo">386</span> public Optional<Cell> getFirstKey() {<a name="line.386"></a>
-<span class="sourceLineNo">387</span> if (dataBlockIndexReader == null) {<a name="line.387"></a>
-<span class="sourceLineNo">388</span> throw new BlockIndexNotLoadedException();<a name="line.388"></a>
-<span class="sourceLineNo">389</span> }<a name="line.389"></a>
-<span class="sourceLineNo">390</span> return dataBlockIndexReader.isEmpty() ? Optional.empty()<a name="line.390"></a>
-<span class="sourceLineNo">391</span> : Optional.of(dataBlockIndexReader.getRootBlockKey(0));<a name="line.391"></a>
-<span class="sourceLineNo">392</span> }<a name="line.392"></a>
-<span class="sourceLineNo">393</span><a name="line.393"></a>
-<span class="sourceLineNo">394</span> /**<a name="line.394"></a>
-<span class="sourceLineNo">395</span> * TODO left from {@link HFile} version 1: move this to StoreFile after Ryan's<a name="line.395"></a>
-<span class="sourceLineNo">396</span> * patch goes in to eliminate {@link KeyValue} here.<a name="line.396"></a>
-<span class="sourceLineNo">397</span> *<a name="line.397"></a>
-<span class="sourceLineNo">398</span> * @return the first row key, or null if the file is empty.<a name="line.398"></a>
-<span class="sourceLineNo">399</span> */<a name="line.399"></a>
-<span class="sourceLineNo">400</span> @Override<a name="line.400"></a>
-<span class="sourceLineNo">401</span> public Optional<byte[]> getFirstRowKey() {<a name="line.401"></a>
-<span class="sourceLineNo">402</span> // We have to copy the row part to form the row key alone<a name="line.402"></a>
-<span class="sourceLineNo">403</span> return getFirstKey().map(CellUtil::cloneRow);<a name="line.403"></a>
-<span class="sourceLineNo">404</span> }<a name="line.404"></a>
-<span class="sourceLineNo">405</span><a name="line.405"></a>
-<span class="sourceLineNo">406</span> /**<a name="line.406"></a>
-<span class="sourceLineNo">407</span> * TODO left from {@link HFile} version 1: move this to StoreFile after<a name="line.407"></a>
-<span class="sourceLineNo">408</span> * Ryan's patch goes in to eliminate {@link KeyValue} here.<a name="line.408"></a>
-<span class="sourceLineNo">409</span> *<a name="line.409"></a>
-<span class="sourceLineNo">410</span> * @return the last row key, or null if the file is empty.<a name="line.410"></a>
-<span class="sourceLineNo">411</span> */<a name="line.411"></a>
-<span class="sourceLineNo">412</span> @Override<a name="line.412"></a>
-<span class="sourceLineNo">413</span> public Optional<byte[]> getLastRowKey() {<a name="line.413"></a>
-<span class="sourceLineNo">414</span> // We have to copy the row part to form the row key alone<a name="line.414"></a>
-<span class="sourceLineNo">415</span> return getLastKey().map(CellUtil::cloneRow);<a name="line.415"></a>
-<span class="sourceLineNo">416</span> }<a name="line.416"></a>
-<span class="sourceLineNo">417</span><a name="line.417"></a>
-<span class="sourceLineNo">418</span> /** @return number of KV entries in this HFile */<a name="line.418"></a>
-<span class="sourceLineNo">419</span> @Override<a name="line.419"></a>
-<span class="sourceLineNo">420</span> public long getEntries() {<a name="line.420"></a>
-<span class="sourceLineNo">421</span> return trailer.getEntryCount();<a name="line.421"></a>
-<span class="sourceLineNo">422</span> }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span> /** @return comparator */<a name="line.424"></a>
-<span class="sourceLineNo">425</span> @Override<a name="line.425"></a>
-<span class="sourceLineNo">426</span> public CellComparator getComparator() {<a name="line.426"></a>
-<span class="sourceLineNo">427</span> return comparator;<a name="line.427"></a>
-<span class="sourceLineNo">428</span> }<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span> /** @return compression algorithm */<a name="line.430"></a>
-<span class="sourceLineNo">431</span> @Override<a name="line.431"></a>
-<span class="sourceLineNo">432</span> public Compression.Algorithm getCompressionAlgorithm() {<a name="line.432"></a>
-<span class="sourceLineNo">433</span> return compressAlgo;<a name="line.433"></a>
-<span class="sourceLineNo">434</span> }<a name="line.434"></a>
-<span class="sourceLineNo">435</span><a name="line.435"></a>
-<span class="sourceLineNo">436</span> /**<a name="line.436"></a>
-<span class="sourceLineNo">437</span> * @return the total heap size of data and meta block indexes in bytes. Does<a name="line.437"></a>
-<span class="sourceLineNo">438</span> * not take into account non-root blocks of a multilevel data index.<a name="line.438"></a>
-<span class="sourceLineNo">439</span> */<a name="line.439"></a>
-<span class="sourceLineNo">440</span> @Override<a name="line.440"></a>
-<span class="sourceLineNo">441</span> public long indexSize() {<a name="line.441"></a>
-<span class="sourceLineNo">442</span> return (dataBlockIndexReader != null ? dataBlockIndexReader.heapSize() : 0)<a name="line.442"></a>
-<span class="sourceLineNo">443</span> + ((metaBlockIndexReader != null) ? metaBlockIndexReader.heapSize()<a name="line.443"></a>
-<span class="sourceLineNo">444</span> : 0);<a name="line.444"></a>
-<span class="sourceLineNo">445</span> }<a name="line.445"></a>
-<span class="sourceLineNo">446</span><a name="line.446"></a>
-<span class="sourceLineNo">447</span> @Override<a name="line.447"></a>
-<span class="sourceLineNo">448</span> public String getName() {<a name="line.448"></a>
-<span class="sourceLineNo">449</span> return name;<a name="line.449"></a>
-<span class="sourceLineNo">450</span> }<a name="line.450"></a>
-<span class="sourceLineNo">451</span><a name="line.451"></a>
-<span class="sourceLineNo">452</span> @Override<a name="line.452"></a>
-<span class="sourceLineNo">453</span> public HFileBlockIndex.BlockIndexReader getDataBlockIndexReader() {<a name="line.453"></a>
-<span class="sourceLineNo">454</span> return dataBlockIndexReader;<a name="line.454"></a>
-<span class="sourceLineNo">455</span> }<a name="line.455"></a>
-<span class="sourceLineNo">456</span><a name="line.456"></a>
-<span class="sourceLineNo">457</span> @Override<a name="line.457"></a>
-<span class="sourceLineNo">458</span> public FixedFileTrailer getTrailer() {<a name="line.458"></a>
-<span class="sourceLineNo">459</span> return trailer;<a name="line.459"></a>
-<span class="sourceLineNo">460</span> }<a name="line.460"></a>
-<span class="sourceLineNo">461</span><a name="line.461"></a>
-<span class="sourceLineNo">462</span> @Override<a name="line.462"></a>
-<span class="sourceLineNo">463</span> public boolean isPrimaryReplicaReader() {<a name="line.463"></a>
-<span class="sourceLineNo">464</span> return primaryReplicaReader;<a name="line.464"></a>
-<span class="sourceLineNo">465</span> }<a name="line.465"></a>
-<span class="sourceLineNo">466</span><a name="line.466"></a>
-<span class="sourceLineNo">467</span> @Override<a name="line.467"></a>
-<span class="sourceLineNo">468</span> public FileInfo loadFileInfo() throws IOException {<a name="line.468"></a>
-<span class="sourceLineNo">469</span> return fileInfo;<a name="line.469"></a>
-<span class="sourceLineNo">470</span> }<a name="line.470"></a>
-<span class="sourceLineNo">471</span><a name="line.471"></a>
-<span class="sourceLineNo">472</span> /**<a name="line.472"></a>
-<span class="sourceLineNo">473</span> * An exception thrown when an operation requiring a scanner to be seeked<a name="line.473"></a>
-<span class="sourceLineNo">474</span> * is invoked on a scanner that is not seeked.<a name="line.474"></a>
-<span class="sourceLineNo">475</span> */<a name="line.475"></a>
-<span class="sourceLineNo">476</span> @SuppressWarnings("serial")<a name="line.476"></a>
-<span class="sourceLineNo">477</span> public static class NotSeekedException extends IllegalStateException {<a name="line.477"></a>
-<span class="sourceLineNo">478</span> public NotSeekedException() {<a name="line.478"></a>
-<span class="sourceLineNo">479</span> super("Not seeked to a key/value");<a name="line.479"></a>
-<span class="sourceLineNo">480</span> }<a name="line.480"></a>
-<span class="sourceLineNo">481</span> }<a name="line.481"></a>
-<span class="sourceLineNo">482</span><a name="line.482"></a>
-<span class="sourceLineNo">483</span> protected static class HFileScannerImpl implements HFileScanner {<a name="line.483"></a>
-<span class="sourceLineNo">484</span> private ByteBuff blockBuffer;<a name="line.484"></a>
-<span class="sourceLineNo">485</span> protected final boolean cacheBlocks;<a name="line.485"></a>
-<span class="sourceLineNo">486</span> protected final boolean pread;<a name="line.486"></a>
-<span class="sourceLineNo">487</span> protected final boolean isCompaction;<a name="line.487"></a>
-<span class="sourceLineNo">488</span> private int currKeyLen;<a name="line.488"></a>
-<span class="sourceLineNo">489</span> private int currValueLen;<a name="line.489"></a>
-<span class="sourceLineNo">490</span> private int currMemstoreTSLen;<a name="line.490"></a>
-<span class="sourceLineNo">491</span> private long currMemstoreTS;<a name="line.491"></a>
-<span class="sourceLineNo">492</span> // Updated but never read?<a name="line.492"></a>
-<span class="sourceLineNo">493</span> protected AtomicInteger blockFetches = new AtomicInteger(0);<a name="line.493"></a>
-<span class="sourceLineNo">494</span> protected final HFile.Reader reader;<a name="line.494"></a>
-<span class="sourceLineNo">495</span> private int currTagsLen;<a name="line.495"></a>
-<span class="sourceLineNo">496</span> // buffer backed keyonlyKV<a name="line.496"></a>
-<span class="sourceLineNo">497</span> private ByteBufferKeyOnlyKeyValue bufBackedKeyOnlyKv = new ByteBufferKeyOnlyKeyValue();<a name="line.497"></a>
-<span class="sourceLineNo">498</span> // A pair for reusing in blockSeek() so that we don't garbage lot of objects<a name="line.498"></a>
-<span class="sourceLineNo">499</span> final ObjectIntPair<ByteBuffer> pair = new ObjectIntPair<>();<a name="line.499"></a>
-<span class="sourceLineNo">500</span><a name="line.500"></a>
-<span class="sourceLineNo">501</span> /**<a name="line.501"></a>
-<span class="sourceLineNo">502</span> * The next indexed key is to keep track of the indexed key of the next data block.<a name="line.502"></a>
-<span class="sourceLineNo">503</span> * If the nextIndexedKey is HConstants.NO_NEXT_INDEXED_KEY, it means that the<a name="line.503"></a>
-<span class="sourceLineNo">504</span> * current data block is the last data block.<a name="line.504"></a>
-<span class="sourceLineNo">505</span> *<a name="line.505"></a>
-<span class="sourceLineNo">506</span> * If the nextIndexedKey is null, it means the nextIndexedKey has not been loaded yet.<a name="line.506"></a>
-<span class="sourceLineNo">507</span> */<a name="line.507"></a>
-<span class="sourceLineNo">508</span> protected Cell nextIndexedKey;<a name="line.508"></a>
-<span class="sourceLineNo">509</span> // Current block being used<a name="line.509"></a>
-<span class="sourceLineNo">510</span> protected HFileBlock curBlock;<a name="line.510"></a>
-<span class="sourceLineNo">511</span> // Previous blocks that were used in the course of the read<a name="line.511"></a>
-<span class="sourceLineNo">512</span> protected final ArrayList<HFileBlock> prevBlocks = new ArrayList<>();<a name="line.512"></a>
-<span class="sourceLineNo">513</span><a name="line.513"></a>
-<span class="sourceLineNo">514</span> public HFileScannerImpl(final HFile.Reader reader, final boolean cacheBlocks,<a name="line.514"></a>
-<span class="sourceLineNo">515</span> final boolean pread, final boolean isCompaction) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span> this.reader = reader;<a name="line.516"></a>
-<span class="sourceLineNo">517</span> this.cacheBlocks = cacheBlocks;<a name="line.517"></a>
-<span class="sourceLineNo">518</span> this.pread = pread;<a name="line.518"></a>
-<span class="sourceLineNo">519</span> this.isCompaction = isCompaction;<a name="line.519"></a>
-<span class="sourceLineNo">520</span> }<a name="line.520"></a>
-<span class="sourceLineNo">521</span><a name="line.521"></a>
-<span class="sourceLineNo">522</span> void updateCurrBlockRef(HFileBlock block) {<a name="line.522"></a>
-<span class="sourceLineNo">523</span> if (block != null && this.curBlock != null &&<a name="line.523"></a>
-<span class="sourceLineNo">524</span> block.getOffset() == this.curBlock.getOffset()) {<a name="line.524"></a>
-<span class="sourceLineNo">525</span> return;<a name="line.525"></a>
-<span class="sourceLineNo">526</span> }<a name="line.526"></a>
-<span class="sourceLineNo">527</span> // We don't have to keep ref to EXCLUSIVE type of block<a name="line.527"></a>
-<span class="sourceLineNo">528</span> if (this.curBlock != null && this.curBlock.usesSharedMemory()) {<a name="line.528"></a>
-<span class="sourceLineNo">529</span> prevBlocks.add(this.curBlock);<a name="line.529"></a>
-<span class="sourceLineNo">530</span> }<a name="line.530"></a>
-<span class="sourceLineNo">531</span> this.curBlock = block;<a name="line.531"></a>
-<span class="sourceLineNo">532</span> }<a name="line.532"></a>
-<span class="sourceLineNo">533</span><a name="line.533"></a>
-<span class="sourceLineNo">534</span> void reset() {<a name="line.534"></a>
-<span class="sourceLineNo">535</span> // We don't have to keep ref to EXCLUSIVE type of block<a name="line.535"></a>
-<span class="sourceLineNo">536</span> if (this.curBlock != null && this.curBlock.usesSharedMemory()) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span> this.prevBlocks.add(this.curBlock);<a name="line.537"></a>
-<span class="sourceLineNo">538</span> }<a name="line.538"></a>
-<span class="sourceLineNo">539</span> this.curBlock = null;<a name="line.539"></a>
-<span class="sourceLineNo">540</span> }<a name="line.540"></a>
-<span class="sourceLineNo">541</span><a name="line.541"></a>
-<span class="sourceLineNo">542</span> private void returnBlockToCache(HFileBlock block) {<a name="line.542"></a>
-<span class="sourceLineNo">543</span> if (LOG.isTraceEnabled()) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span> LOG.trace("Returning the block : " + block);<a name="line.544"></a>
-<span class="sourceLineNo">545</span> }<a name="line.545"></a>
-<span class="sourceLineNo">546</span> this.reader.returnBlock(block);<a name="line.546"></a>
-<span class="sourceLineNo">547</span> }<a name="line.547"></a>
-<span class="sourceLineNo">548</span><a name="line.548"></a>
-<span class="sourceLineNo">549</span> private void returnBlocks(boolean returnAll) {<a name="line.549"></a>
-<span class="sourceLineNo">550</span> for (int i = 0; i < this.prevBlocks.size(); i++) {<a name="line.550"></a>
-<span class="sourceLineNo">551</span> returnBlockToCache(this.prevBlocks.get(i));<a name="line.551"></a>
-<span class="sourceLineNo">552</span> }<a name="line.552"></a>
-<span class="sourceLineNo">553</span> this.prevBlocks.clear();<a name="line.553"></a>
-<span class="sourceLineNo">554</span> if (returnAll && this.curBlock != null) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span> returnBlockToCache(this.curBlock);<a name="line.555"></a>
-<span class="sourceLineNo">556</span> this.curBlock = null;<a name="line.556"></a>
-<span class="sourceLineNo">557</span> }<a name="line.557"></a>
-<span class="sourceLineNo">558</span> }<a name="line.558"></a>
-<span class="sourceLineNo">559</span> @Override<a name="line.559"></a>
-<span class="sourceLineNo">560</span> public boolean isSeeked(){<a name="line.560"></a>
-<span class="sourceLineNo">561</span> return blockBuffer != null;<a name="line.561"></a>
-<span class="sourceLineNo">562</span> }<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span> @Override<a name="line.564"></a>
-<span class="sourceLineNo">565</span> public String toString() {<a name="line.565"></a>
-<span class="sourceLineNo">566</span> return "HFileScanner for reader " + String.valueOf(getReader());<a name="line.566"></a>
-<span class="sourceLineNo">567</span> }<a name="line.567"></a>
-<span class="sourceLineNo">568</span><a name="line.568"></a>
-<span class="sourceLineNo">569</span> protected void assertSeeked() {<a name="line.569"></a>
-<span class="sourceLineNo">570</span> if (!isSeeked())<a name="line.570"></a>
-<span class="sourceLineNo">571</span> throw new NotSeekedException();<a name="line.571"></a>
-<span class="sourceLineNo">572</span> }<a name="line.572"></a>
-<span class="sourceLineNo">573</span><a name="line.573"></a>
-<span class="sourceLineNo">574</span> @Override<a name="line.574"></a>
-<span class="sourceLineNo">575</span> public HFile.Reader getReader() {<a name="line.575"></a>
-<span class="sourceLineNo">576</span> return reader;<a name="line.576"></a>
-<span class="sourceLineNo">577</span> }<a name="line.577"></a>
-<span class="sourceLineNo">578</span><a name="line.578"></a>
-<span class="sourceLineNo">579</span> // From non encoded HFiles, we always read back KeyValue or its descendant.(Note: When HFile<a name="line.579"></a>
-<span class="sourceLineNo">580</span> // block is in DBB, it will be OffheapKV). So all parts of the Cell is in a contiguous<a name="line.580"></a>
-<span class="sourceLineNo">581</span> // array/buffer. How many bytes we should wrap to make the KV is what this method returns.<a name="line.581"></a>
-<span class="sourceLineNo">582</span> private int getKVBufSize() {<a name="line.582"></a>
-<span class="sourceLineNo">583</span> int kvBufSize = KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen;<a name="line.583"></a>
-<span class="sourceLineNo">584</span> if (currTagsLen > 0) {<a name="line.584"></a>
-<span class="sourceLineNo">585</span> kvBufSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.585"></a>
-<span class="sourceLineNo">586</span> }<a name="line.586"></a>
-<span class="sourceLineNo">587</span> return kvBufSize;<a name="line.587"></a>
-<span class="sourceLineNo">588</span> }<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span> @Override<a name="line.590"></a>
-<span class="sourceLineNo">591</span> public void close() {<a name="line.591"></a>
-<span class="sourceLineNo">592</span> if (!pread) {<a name="line.592"></a>
-<span class="sourceLineNo">593</span> // For seek + pread stream socket should be closed when the scanner is closed. HBASE-9393<a name="line.593"></a>
-<span class="sourceLineNo">594</span> reader.unbufferStream();<a name="line.594"></a>
-<span class="sourceLineNo">595</span> }<a name="line.595"></a>
-<span class="sourceLineNo">596</span> this.returnBlocks(true);<a name="line.596"></a>
-<span class="sourceLineNo">597</span> }<a name="line.597"></a>
-<span class="sourceLineNo">598</span><a name="line.598"></a>
-<span class="sourceLineNo">599</span> // Returns the #bytes in HFile for the current cell. Used to skip these many bytes in current<a name="line.599"></a>
-<span class="sourceLineNo">600</span> // HFile block's buffer so as to position to the next cell.<a name="line.600"></a>
-<span class="sourceLineNo">601</span> private int getCurCellSerializedSize() {<a name="line.601"></a>
-<span class="sourceLineNo">602</span> int curCellSize = KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen<a name="line.602"></a>
-<span class="sourceLineNo">603</span> + currMemstoreTSLen;<a name="line.603"></a>
-<span class="sourceLineNo">604</span> if (this.reader.getFileContext().isIncludesTags()) {<a name="line.604"></a>
-<span class="sourceLineNo">605</span> curCellSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.605"></a>
-<span class="sourceLineNo">606</span> }<a name="line.606"></a>
-<span class="sourceLineNo">607</span> return curCellSize;<a name="line.607"></a>
-<span class="sourceLineNo">608</span> }<a name="line.608"></a>
-<span class="sourceLineNo">609</span><a name="line.609"></a>
-<span class="sourceLineNo">610</span> protected void readKeyValueLen() {<a name="line.610"></a>
-<span class="sourceLineNo">611</span> // This is a hot method. We go out of our way to make this method short so it can be<a name="line.611"></a>
-<span class="sourceLineNo">612</span> // inlined and is not too big to compile. We also manage position in ByteBuffer ourselves<a name="line.612"></a>
-<span class="sourceLineNo">613</span> // because it is faster than going via range-checked ByteBuffer methods or going through a<a name="line.613"></a>
-<span class="sourceLineNo">614</span> // byte buffer array a byte at a time.<a name="line.614"></a>
-<span class="sourceLineNo">615</span> // Get a long at a time rather than read two individual ints. In micro-benchmarking, even<a name="line.615"></a>
-<span class="sourceLineNo">616</span> // with the extra bit-fiddling, this is order-of-magnitude faster than getting two ints.<a name="line.616"></a>
-<span class="sourceLineNo">617</span> // Trying to imitate what was done - need to profile if this is better or<a name="line.617"></a>
-<span class="sourceLineNo">618</span> // earlier way is better by doing mark and reset?<a name="line.618"></a>
-<span class="sourceLineNo">619</span> // But ensure that you read long instead of two ints<a name="line.619"></a>
-<span class="sourceLineNo">620</span> long ll = blockBuffer.getLongAfterPosition(0);<a name="line.620"></a>
-<span class="sourceLineNo">621</span> // Read top half as an int of key length and bottom int as value length<a name="line.621"></a>
-<span class="sourceLineNo">622</span> this.currKeyLen = (int)(ll >> Integer.SIZE);<a name="line.622"></a>
-<span class="sourceLineNo">623</span> this.currValueLen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.623"></a>
-<span class="sourceLineNo">624</span> checkKeyValueLen();<a name="line.624"></a>
-<span class="sourceLineNo">625</span> // Move position past the key and value lengths and then beyond the key and value<a name="line.625"></a>
-<span class="sourceLineNo">626</span> int p = (Bytes.SIZEOF_LONG + currKeyLen + currValueLen);<a name="line.626"></a>
-<span class="sourceLineNo">627</span> if (reader.getFileContext().isIncludesTags()) {<a name="line.627"></a>
-<span class="sourceLineNo">628</span> // Tags length is a short.<a name="line.628"></a>
-<span class="sourceLineNo">629</span> this.currTagsLen = blockBuffer.getShortAfterPosition(p);<a name="line.629"></a>
-<span class="sourceLineNo">630</span> checkTagsLen();<a name="line.630"></a>
-<span class="sourceLineNo">631</span> p += (Bytes.SIZEOF_SHORT + currTagsLen);<a name="line.631"></a>
-<span class="sourceLineNo">632</span> }<a name="line.632"></a>
-<span class="sourceLineNo">633</span> readMvccVersion(p);<a name="line.633"></a>
-<span class="sourceLineNo">634</span> }<a name="line.634"></a>
-<span class="sourceLineNo">635</span><a name="line.635"></a>
-<span class="sourceLineNo">636</span> private final void checkTagsLen() {<a name="line.636"></a>
-<span class="sourceLineNo">637</span> if (checkLen(this.currTagsLen)) {<a name="line.637"></a>
-<span class="sourceLineNo">638</span> throw new IllegalStateException("Invalid currTagsLen " + this.currTagsLen +<a name="line.638"></a>
-<span class="sourceLineNo">639</span> ". Block offset: " + curBlock.getOffset() + ", block length: " +<a name="line.639"></a>
-<span class="sourceLineNo">640</span> this.blockBuffer.limit() +<a name="line.640"></a>
-<span class="sourceLineNo">641</span> ", position: " + this.blockBuffer.position() + " (without header).");<a name="line.641"></a>
-<span class="sourceLineNo">642</span> }<a name="line.642"></a>
-<span class="sourceLineNo">643</span> }<a name="line.643"></a>
-<span class="sourceLineNo">644</span><a name="line.644"></a>
-<span class="sourceLineNo">645</span> /**<a name="line.645"></a>
-<span class="sourceLineNo">646</span> * Read mvcc. Does checks to see if we even need to read the mvcc at all.<a name="line.646"></a>
-<span class="sourceLineNo">647</span> * @param offsetFromPos<a name="line.647"></a>
-<span class="sourceLineNo">648</span> */<a name="line.648"></a>
-<span class="sourceLineNo">649</span> protected void readMvccVersion(final int offsetFromPos) {<a name="line.649"></a>
-<span class="sourceLineNo">650</span> // See if we even need to decode mvcc.<a name="line.650"></a>
-<span class="sourceLineNo">651</span> if (!this.reader.shouldIncludeMemStoreTS()) return;<a name="line.651"></a>
-<span class="sourceLineNo">652</span> if (!this.reader.isDecodeMemStoreTS()) {<a name="line.652"></a>
-<span class="sourceLineNo">653</span> currMemstoreTS = 0;<a name="line.653"></a>
-<span class="sourceLineNo">654</span> currMemstoreTSLen = 1;<a name="line.654"></a>
-<span class="sourceLineNo">655</span> return;<a name="line.655"></a>
-<span class="sourceLineNo">656</span> }<a name="line.656"></a>
-<span class="sourceLineNo">657</span> _readMvccVersion(offsetFromPos);<a name="line.657"></a>
-<span class="sourceLineNo">658</span> }<a name="line.658"></a>
-<span class="sourceLineNo">659</span><a name="line.659"></a>
-<span class="sourceLineNo">660</span> /**<a name="line.660"></a>
-<span class="sourceLineNo">661</span> * Actually do the mvcc read. Does no checks.<a name="line.661"></a>
-<span class="sourceLineNo">662</span> * @param offsetFromPos<a name="line.662"></a>
-<span class="sourceLineNo">663</span> */<a name="line.663"></a>
-<span class="sourceLineNo">664</span> private void _readMvccVersion(int offsetFromPos) {<a name="line.664"></a>
-<span class="sourceLineNo">665</span> // This is Bytes#bytesToVint inlined so can save a few instructions in this hot method; i.e.<a name="line.665"></a>
-<span class="sourceLineNo">666</span> // previous if one-byte vint, we'd redo the vint call to find int size.<a name="line.666"></a>
-<span class="sourceLineNo">667</span> // Also the method is kept small so can be inlined.<a name="line.667"></a>
-<span class="sourceLineNo">668</span> byte firstByte = blockBuffer.getByteAfterPosition(offsetFromPos);<a name="line.668"></a>
-<span class="sourceLineNo">669</span> int len = WritableUtils.decodeVIntSize(firstByte);<a name="line.669"></a>
-<span class="sourceLineNo">670</span> if (len == 1) {<a name="line.670"></a>
-<span class="sourceLineNo">671</span> this.currMemstoreTS = firstByte;<a name="line.671"></a>
-<span class="sourceLineNo">672</span> } else {<a name="line.672"></a>
-<span class="sourceLineNo">673</span> int remaining = len -1;<a name="line.673"></a>
-<span class="sourceLineNo">674</span> long i = 0;<a name="line.674"></a>
-<span class="sourceLineNo">675</span> offsetFromPos++;<a name="line.675"></a>
-<span class="sourceLineNo">676</span> if (remaining >= Bytes.SIZEOF_INT) {<a name="line.676"></a>
-<span class="sourceLineNo">677</span> // The int read has to be converted to unsigned long so the & op<a name="line.677"></a>
-<span class="sourceLineNo">678</span> i = (blockBuffer.getIntAfterPosition(offsetFromPos) & 0x00000000ffffffffL);<a name="line.678"></a>
-<span class="sourceLineNo">679</span> remaining -= Bytes.SIZEOF_INT;<a name="line.679"></a>
-<span class="sourceLineNo">680</span> offsetFromPos += Bytes.SIZEOF_INT;<a name="line.680"></a>
-<span class="sourceLineNo">681</span> }<a name="line.681"></a>
-<span class="sourceLineNo">682</span> if (remaining >= Bytes.SIZEOF_SHORT) {<a name="line.682"></a>
-<span class="sourceLineNo">683</span> short s = blockBuffer.getShortAfterPosition(offsetFromPos);<a name="line.683"></a>
-<span class="sourceLineNo">684</span> i = i << 16;<a name="line.684"></a>
-<span class="sourceLineNo">685</span> i = i | (s & 0xFFFF);<a name="line.685"></a>
-<span class="sourceLineNo">686</span> remaining -= Bytes.SIZEOF_SHORT;<a name="line.686"></a>
-<span class="sourceLineNo">687</span> offsetFromPos += Bytes.SIZEOF_SHORT;<a name="line.687"></a>
-<span class="sourceLineNo">688</span> }<a name="line.688"></a>
-<span class="sourceLineNo">689</span> for (int idx = 0; idx < remaining; idx++) {<a name="line.689"></a>
-<span class="sourceLineNo">690</span> byte b = blockBuffer.getByteAfterPosition(offsetFromPos + idx);<a name="line.690"></a>
-<span class="sourceLineNo">691</span> i = i << 8;<a name="line.691"></a>
-<span class="sourceLineNo">692</span> i = i | (b & 0xFF);<a name="line.692"></a>
-<span class="sourceLineNo">693</span> }<a name="line.693"></a>
-<span class="sourceLineNo">694</span> currMemstoreTS = (WritableUtils.isNegativeVInt(firstByte) ? ~i : i);<a name="line.694"></a>
-<span class="sourceLineNo">695</span> }<a name="line.695"></a>
-<span class="sourceLineNo">696</span> this.currMemstoreTSLen = len;<a name="line.696"></a>
-<span class="sourceLineNo">697</span> }<a name="line.697"></a>
-<span class="sourceLineNo">698</span><a name="line.698"></a>
-<span class="sourceLineNo">699</span> /**<a name="line.699"></a>
-<span class="sourceLineNo">700</span> * Within a loaded block, seek looking for the last key that is smaller than<a name="line.700"></a>
-<span class="sourceLineNo">701</span> * (or equal to?) the key we are interested in.<a name="line.701"></a>
-<span class="sourceLineNo">702</span> * A note on the seekBefore: if you have seekBefore = true, AND the first<a name="line.702"></a>
-<span class="sourceLineNo">703</span> * key in the block = key, then you'll get thrown exceptions. The caller has<a name="line.703"></a>
-<span class="sourceLineNo">704</span> * to check for that case and load the previous block as appropriate.<a name="line.704"></a>
-<span class="sourceLineNo">705</span> * @param key<a name="line.705"></a>
-<span class="sourceLineNo">706</span> * the key to find<a name="line.706"></a>
-<span class="sourceLineNo">707</span> * @param seekBefore<a name="line.707"></a>
-<span class="sourceLineNo">708</span> * find the key before the given key in case of exact match.<a name="line.708"></a>
-<span class="sourceLineNo">709</span> * @return 0 in case of an exact key match, 1 in case of an inexact match,<a name="line.709"></a>
-<span class="sourceLineNo">710</span> * -2 in case of an inexact match and furthermore, the input key<a name="line.710"></a>
-<span class="sourceLineNo">711</span> * less than the first key of current block(e.g. using a faked index<a name="line.711"></a>
-<span class="sourceLineNo">712</span> * key)<a name="line.712"></a>
-<span class="sourceLineNo">713</span> */<a name="line.713"></a>
-<span class="sourceLineNo">714</span> protected int blockSeek(Cell key, boolean seekBefore) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span> int klen, vlen, tlen = 0;<a name="line.715"></a>
-<span class="sourceLineNo">716</span> int lastKeyValueSize = -1;<a name="line.716"></a>
-<span class="sourceLineNo">717</span> int offsetFromPos;<a name="line.717"></a>
-<span class="sourceLineNo">718</span> do {<a name="line.718"></a>
-<span class="sourceLineNo">719</span> offsetFromPos = 0;<a name="line.719"></a>
-<span class="sourceLineNo">720</span> // Better to ensure that we use the BB Utils here<a name="line.720"></a>
-<span class="sourceLineNo">721</span> long ll = blockBuffer.getLongAfterPosition(offsetFromPos);<a name="line.721"></a>
-<span class="sourceLineNo">722</span> klen = (int)(ll >> Integer.SIZE);<a name="line.722"></a>
-<span class="sourceLineNo">723</span> vlen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.723"></a>
-<span class="sourceLineNo">724</span> if (checkKeyLen(klen) || checkLen(vlen)) {<a name="line.724"></a>
-<span class="sourceLineNo">725</span> throw new IllegalStateException("Invalid klen " + klen + " or vlen "<a name="line.725"></a>
-<span class="sourceLineNo">726</span> + vlen + ". Block offset: "<a name="line.726"></a>
-<span class="sourceLineNo">727</span> + curBlock.getOffset() + ", block length: " + blockBuffer.limit() + ", position: "<a name="line.727"></a>
-<span class="sourceLineNo">728</span> + blockBuffer.position() + " (without header).");<a name="line.728"></a>
-<span class="sourceLineNo">729</span> }<a name="line.729"></a>
-<span class="sourceLineNo">730</span> offsetFromPos += Bytes.SIZEOF_LONG;<a name="line.730"></a>
-<span class="sourceLineNo">731</span> blockBuffer.asSubByteBuffer(blockBuffer.position() + offsetFromPos, klen, pair);<a name="line.731"></a>
-<span class="sourceLineNo">732</span> bufBackedKeyOnlyKv.setKey(pair.getFirst(), pair.getSecond(), klen);<a name="line.732"></a>
-<span class="sourceLineNo">733</span> int comp =<a name="line.733"></a>
-<span class="sourceLineNo">734</span> PrivateCellUtil.compareKeyIgnoresMvcc(reader.getComparator(), key, bufBackedKeyOnlyKv);<a name="line.734"></a>
-<span class="sourceLineNo">735</span> offsetFromPos += klen + vlen;<a name="line.735"></a>
-<span class="sourceLineNo">736</span> if (this.reader.getFileContext().isIncludesTags()) {<a name="line.736"></a>
-<span class="sourceLineNo">737</span> // Read short as unsigned, high byte first<a name="line.737"></a>
-<span class="sourceLineNo">738</span> tlen = ((blockBuffer.getByteAfterPosition(offsetFromPos) & 0xff) << 8)<a name="line.738"></a>
-<span class="sourceLineNo">739</span> ^ (blockBuffer.getByteAfterPosition(offsetFromPos + 1) & 0xff);<a name="line.739"></a>
-<span class="sourceLineNo">740</span> if (checkLen(tlen)) {<a name="line.740"></a>
-<span class="sourceLineNo">741</span> throw new IllegalStateException("Invalid tlen " + tlen + ". Block offset: "<a name="line.741"></a>
-<span class="sourceLineNo">742</span> + curBlock.getOffset() + ", block length: " + blockBuffer.limit() + ", position: "<a name="line.742"></a>
-<span class="sourceLineNo">743</span> + blockBuffer.position() + " (without header).");<a name="line.743"></a>
-<span class="sourceLineNo">744</span> }<a name="line.744"></a>
-<span class="sourceLineNo">745</span> // add the two bytes read for the tags.<a name="line.745"></a>
-<span class="sourceLineNo">746</span> offsetFromPos += tlen + (Bytes.SIZEOF_SHORT);<a name="line.746"></a>
-<span class="sourceLineNo">747</span> }<a name="line.747"></a>
-<span class="sourceLineNo">748</span> if (this.reader.shouldIncludeMemStoreTS()) {<a name="line.748"></a>
-<span class="sourceLineNo">749</span> // Directly read the mvcc based on current position<a name="line.749"></a>
-<span class="sourceLineNo">750</span> readMvccVersion(offsetFromPos);<a name="line.750"></a>
-<span class="sourceLineNo">751</span> }<a name="line.751"></a>
-<span class="sourceLineNo">752</span> if (comp == 0) {<a name="line.752"></a>
-<span class="sourceLineNo">753</span> if (seekBefore) {<a name="line.753"></a>
-<span class="sourceLineNo">754</span> if (lastKeyValueSize < 0) {<a name="line.754"></a>
-<span class="sourceLineNo">755</span> throw new IllegalStateException("blockSeek with seekBefore "<a name="line.755"></a>
-<span class="sourceLineNo">756</span> + "at the first key of the block: key=" + CellUtil.getCellKeyAsString(key)<a name="line.756"></a>
-<span class="sourceLineNo">757</span> + ", blockOffset=" + curBlock.getOffset() + ", onDiskSize="<a name="line.757"></a>
-<span class="sourceLineNo">758</span> + curBlock.getOnDiskSizeWithHeader());<a name="line.758"></a>
-<span class="sourceLineNo">759</span> }<a name="line.759"></a>
-<span class="sourceLineNo">760</span> blockBuffer.moveBack(lastKeyValueSize);<a name="line.760"></a>
-<span class="sourceLineNo">761</span> readKeyValueLen();<a name="line.761"></a>
-<span class="sourceLineNo">762</span> return 1; // non exact match.<a name="line.762"></a>
-<span class="sourceLineNo">763</span> }<a name="line.763"></a>
-<span class="sourceLineNo">764</span> currKeyLen = klen;<a name="line.764"></a>
-<span class="sourceLineNo">765</span> currValueLen = vlen;<a name="line.765"></a>
-<span class="sourceLineNo">766</span> currTagsLen = tlen;<a name="line.766"></a>
-<span class="sourceLineNo">767</span> return 0; // indicate exact match<a name="line.767"></a>
-<span class="sourceLineNo">768</span> } else if (comp < 0) {<a name="line.768"></a>
-<span class="sourceLineNo">769</span> if (lastKeyValueSize > 0) {<a name="line.769"></a>
-<span class="sourceLineNo">770</span> blockBuffer.moveBack(lastKeyValueSize);<a name="line.770"></a>
-<span class="sourceLineNo">771</span> }<a name="line.771"></a>
-<span class="sourceLineNo">772</span> readKeyValueLen();<a name="line.772"></a>
-<span class="sourceLineNo">773</span> if (lastKeyValueSize == -1 && blockBuffer.position() == 0) {<a name="line.773"></a>
-<span class="sourceLineNo">774</span> return HConstants.INDEX_KEY_MAGIC;<a name="line.774"></a>
-<span class="sourceLineNo">775</span> }<a name="line.775"></a>
-<span class="sourceLineNo">776</span> return 1;<a name="line.776"></a>
-<span class="sourceLineNo">777</span> }<a name="line.777"></a>
-<span class="sourceLineNo">778</span> // The size of this key/value tuple, including key/value length fields.<a name="line.778"></a>
-<span class="sourceLineNo">779</span> lastKeyValueSize = klen + vlen + currMemstoreTSLen + KEY_VALUE_LEN_SIZE;<a name="line.779"></a>
-<span class="sourceLineNo">780</span> // include tag length also if tags included with KV<a name="line.780"></a>
-<span class="sourceLineNo">781</span> if (reader.getFileContext().isIncludesTags()) {<a name="line.781"></a>
-<span class="sourceLineNo">782</span> lastKeyValueSize += tlen + Bytes.SIZEOF_SHORT;<a name="line.782"></a>
-<span class="sourceLineNo">783</span> }<a name="line.783"></a>
-<span class="sourceLineNo">784</span> blockBuffer.skip(lastKeyValueSize);<a name="line.784"></a>
-<span class="sourceLineNo">785</span> } while (blockBuffer.hasRemaining());<a name="line.785"></a>
-<span class="sourceLineNo">786</span><a name="line.786"></a>
-<span class="sourceLineNo">787</span> // Seek to the last key we successfully read. This will happen if this is<a name="line.787"></a>
-<span class="sourceLineNo">788</span> // the last key/value pair in the file, in which case the following call<a name="line.788"></a>
-<span class="sourceLineNo">789</span> // to next() has to return false.<a name="line.789"></a>
-<span class="sourceLineNo">790</span> blockBuffer.moveBack(lastKeyValueSize);<a name="line.790"></a>
-<span class="sourceLineNo">791</span> readKeyValueLen();<a name="line.791"></a>
-<span class="sourceLineNo">792</span> return 1; // didn't exactly find it.<a name="line.792"></a>
-<span class="sourceLineNo">793</span> }<a name="line.793"></a>
-<span class="sourceLineNo">794</span><a name="line.794"></a>
-<span class="sourceLineNo">795</span> @Override<a name="line.795"></a>
-<span class="sourceLineNo">796</span> public Cell getNextIndexedKey() {<a name="line.796"></a>
-<span class="sourceLineNo">797</span> return nextIndexedKey;<a name="line.797"></a>
-<span class="sourceLineNo">798</span> }<a name="line.798"></a>
-<span class="sourceLineNo">799</span><a name="line.799"></a>
-<span class="sourceLineNo">800</span> @Override<a name="line.800"></a>
-<span class="sourceLineNo">801</span> public int seekTo(Cell key) throws IOException {<a name="line.801"></a>
-<span class="sourceLineNo">802</span> return seekTo(key, true);<a name="line.802"></a>
-<span class="sourceLineNo">803</span> }<a name="line.803"></a>
-<span class="sourceLineNo">804</span><a name="line.804"></a>
-<span class="sourceLineNo">805</span> @Override<a name="line.805"></a>
-<span class="sourceLineNo">806</span> public int reseekTo(Cell key) throws IOException {<a name="line.806"></a>
-<span class="sourceLineNo">807</span> int compared;<a name="line.807"></a>
-<span class="sourceLineNo">808</span> if (isSeeked()) {<a name="line.808"></a>
-<span class="sourceLineNo">809</span> compared = compareKey(reader.getComparator(), key);<a name="line.809"></a>
-<span class="sourceLineNo">810</span> if (compared < 1) {<a name="line.810"></a>
-<span class="sourceLineNo">811</span> // If the required key is less than or equal to current key, then<a name="line.811"></a>
-<span class="sourceLineNo">812</span> // don't do anything.<a name="line.812"></a>
-<span class="sourceLineNo">813</span> return compared;<a name="line.813"></a>
-<span class="sourceLineNo">814</span> } else {<a name="line.814"></a>
-<span class="sourceLineNo">815</span> // The comparison with no_next_index_key has to be checked<a name="line.815"></a>
-<span class="sourceLineNo">816</span> if (this.nextIndexedKey != null &&<a name="line.816"></a>
-<span class="sourceLineNo">817</span> (this.nextIndexedKey == KeyValueScanner.NO_NEXT_INDEXED_KEY || PrivateCellUtil<a name="line.817"></a>
-<span class="sourceLineNo">818</span> .compareKeyIgnoresMvcc(reader.getComparator(), key, nextIndexedKey) < 0)) {<a name="line.818"></a>
-<span class="sourceLineNo">819</span> // The reader shall continue to scan the current data block instead<a name="line.819"></a>
-<span class="sourceLineNo">820</span> // of querying the<a name="line.820"></a>
-<span class="sourceLineNo">821</span> // block index as long as it knows the target key is strictly<a name="line.821"></a>
-<span class="sourceLineNo">822</span> // smaller than<a name="line.822"></a>
-<span class="sourceLineNo">823</span> // the next indexed key or the current data block is the last data<a name="line.823"></a>
-<span class="sourceLineNo">824</span> // block.<a name="line.824"></a>
-<span class="sourceLineNo">825</span> return loadBlockAndSeekToKey(this.curBlock, nextIndexedKey, false, key,<a name="line.825"></a>
-<span class="sourceLineNo">826</span> false);<a name="line.826"></a>
-<span class="sourceLineNo">827</span> }<a name="line.827"></a>
-<span class="sourceLineNo">828</span><a name="line.828"></a>
-<span class="sourceLineNo">829</span> }<a name="line.829"></a>
-<span class="sourceLineNo">830</span> }<a name="line.830"></a>
-<span class="sourceLineNo">831</span> // Don't rewind on a reseek operation, because reseek implies that we are<a name="line.831"></a>
-<span class="sourceLineNo">832</span> // always going forward in the file.<a name="line.832"></a>
-<span class="sourceLineNo">833</span> return seekTo(key, false);<a name="line.833"></a>
-<span class="sourceLineNo">834</span> }<a name="line.834"></a>
-<span class="sourceLineNo">835</span><a name="line.835"></a>
-<span class="sourceLineNo">836</span> /**<a name="line.836"></a>
-<span class="sourceLineNo">837</span> * An internal API function. Seek to the given key, optionally rewinding to<a name="line.837"></a>
-<span class="sourceLineNo">838</span> * the first key of the block before doing the seek.<a name="line.838"></a>
-<span class="sourceLineNo">839</span> *<a name="line.839"></a>
-<span class="sourceLineNo">840</span> * @param key - a cell representing the key that we need to fetch<a name="line.840"></a>
-<span class="sourceLineNo">841</span> * @param rewind whether to rewind to the first key of the block before<a name="line.841"></a>
-<span class="sourceLineNo">842</span> * doing the seek. If this is false, we are assuming we never go<a name="line.842"></a>
-<span class="sourceLineNo">843</span> * back, otherwise the result is undefined.<a name="line.843"></a>
-<span class="sourceLineNo">844</span> * @return -1 if the key is earlier than the first key of the file,<a name="line.844"></a>
-<span class="sourceLineNo">845</span> * 0 if we are at the given key, 1 if we are past the given key<a name="line.845"></a>
-<span class="sourceLineNo">846</span> * -2 if the key is earlier than the first key of the file while<a name="line.846"></a>
-<span class="sourceLineNo">847</span> * using a faked index key<a name="line.847"></a>
-<span class="sourceLineNo">848</span> * @throws IOException<a name="line.848"></a>
-<span class="sourceLineNo">849</span> */<a name="line.849"></a>
-<span class="sourceLineNo">850</span> public int seekTo(Cell key, boolean rewind) throws IOException {<a name="line.850"></a>
-<span class="sourceLineNo">851</span> HFileBlockIndex.BlockIndexReader indexReader = reader.getDataBlockIndexReader();<a name="line.851"></a>
-<span class="sourceLineNo">852</span> BlockWithScanInfo blockWithScanInfo = indexReader.loadDataBlockWithScanInfo(key, curBlock,<a name="line.852"></a>
-<span class="sourceLineNo">853</span> cacheBlocks, pread, isCompaction, getEffectiveDataBlockEncoding());<a name="line.853"></a>
-<span class="sourceLineNo">854</span> if (blockWithScanInfo == null || blockWithScanInfo.getHFileBlock() == null) {<a name="line.854"></a>
-<span class="sourceLineNo">855</span> // This happens if the key e.g. falls before the beginning of the<a name="line.855"></a>
-<span class="sourceLineNo">856</span> // file.<a name="line.856"></a>
-<span class="sourceLineNo">857</span> return -1;<a name="line.857"></a>
-<span class="sourceLineNo">858</span> }<a name="line.858"></a>
-<span class="sourceLineNo">859</span> return loadBlockAndSeekToKey(blockWithScanInfo.getHFileBlock(),<a name="line.859"></a>
-<span class="sourceLineNo">860</span> blockWithScanInfo.getNextIndexedKey(), rewind, key, false);<a name="line.860"></a>
-<span class="sourceLineNo">861</span> }<a name="line.861"></a>
-<span class="sourceLineNo">862</span><a name="line.862"></a>
-<span class="sourceLineNo">863</span> @Override<a name="line.863"></a>
-<span class="sourceLineNo">864</span> public boolean seekBefore(Cell key) throws IOException {<a name="line.864"></a>
-<span class="sourceLineNo">865</span> HFileBlock seekToBlock = reader.getDataBlockIndexReader().seekToDataBlock(key, curBlock,<a name="line.865"></a>
-<span class="sourceLineNo">866</span> cacheBlocks, pread, isCompaction, reader.getEffectiveEncodingInCache(isCompaction));<a name="line.866"></a>
-<span class="sourceLineNo">867</span> if (seekToBlock == null) {<a name="line.867"></a>
-<span class="sourceLineNo">868</span> return false;<a name="line.868"></a>
-<span class="sourceLineNo">869</span> }<a name="line.869"></a>
-<span class="sourceLineNo">870</span> Cell firstKey = getFirstKeyCellInBlock(seekToBlock);<a name="line.870"></a>
-<span class="sourceLineNo">871</span> if (PrivateCellUtil.compareKeyIgnoresMvcc(reader.getComparator(), firstKey, key) >= 0) {<a name="line.871"></a>
-<span class="sourceLineNo">872</span> long previousBlockOffset = seekToBlock.getPrevBlockOffset();<a name="line.872"></a>
-<span class="sourceLineNo">873</span> // The key we are interested in<a name="line.873"></a>
-<span class="sourceLineNo">874</span> if (previousBlockOffset == -1) {<a name="line.874"></a>
-<span class="sourceLineNo">875</span> // we have a 'problem', the key we want is the first of the file.<a name="line.875"></a>
-<span class="sourceLineNo">876</span> return false;<a name="line.876"></a>
-<span class="sourceLineNo">877</span> }<a name="line.877"></a>
-<span class="sourceLineNo">878</span><a name="line.878"></a>
-<span class="sourceLineNo">879</span> // The first key in the current block 'seekToBlock' is greater than the given<a name="line.879"></a>
-<span class="sourceLineNo">880</span> // seekBefore key. We will go ahead by reading the next block that satisfies the<a name="line.880"></a>
-<span class="sourceLineNo">881</span> // given key. Return the current block before reading the next one.<a name="line.881"></a>
-<span class="sourceLineNo">882</span> reader.returnBlock(seekToBlock);<a name="line.882"></a>
-<span class="sourceLineNo">883</span> // It is important that we compute and pass onDiskSize to the block<a name="line.883"></a>
-<span class="sourceLineNo">884</span> // reader so that it does not have to read the header separately to<a name="line.884"></a>
-<span class="sourceLineNo">885</span> // figure out the size. Currently, we do not have a way to do this<a name="line.885"></a>
-<span class="sourceLineNo">886</span> // correctly in the general case however.<a name="line.886"></a>
-<span class="sourceLineNo">887</span> // TODO: See https://issues.apache.org/jira/browse/HBASE-14576<a name="line.887"></a>
-<span class="sourceLineNo">888</span> int prevBlockSize = -1;<a name="line.888"></a>
-<span class="sourceLineNo">889</span> seekToBlock = reader.readBlock(previousBlockOffset,<a name="line.889"></a>
-<span class="sourceLineNo">890</span> prevBlockSize, cacheBlocks,<a name="line.890"></a>
-<span class="sourceLineNo">891</span> pread, isCompaction, true, BlockType.DATA, getEffectiveDataBlockEncoding());<a name="line.891"></a>
-<span class="sourceLineNo">892</span> // TODO shortcut: seek forward in this block to the last key of the<a name="line.892"></a>
-<span class="sourceLineNo">893</span> // block.<a name="line.893"></a>
-<span class="sourceLineNo">894</span> }<a name="line.894"></a>
-<span class="sourceLineNo">895</span> loadBlockAndSeekToKey(seekToBlock, firstKey, true, key, true);<a name="line.895"></a>
-<span class="sourceLineNo">896</span> return true;<a name="line.896"></a>
-<span class="sourceLineNo">897</span> }<a name="line.897"></a>
-<span class="sourceLineNo">898</span><a name="line.898"></a>
-<span class="sourceLineNo">899</span> /**<a name="line.899"></a>
-<span class="sourceLineNo">900</span> * Scans blocks in the "scanned" section of the {@link HFile} until the next<a name="line.900"></a>
-<span class="sourceLineNo">901</span> * data block is found.<a name="line.901"></a>
-<span class="sourceLineNo">902</span> *<a name="line.902"></a>
-<span class="sourceLineNo">903</span> * @return the next block, or null if there are no more data blocks<a name="line.903"></a>
-<span class="sourceLineNo">904</span> * @throws IOException<a name="line.904"></a>
-<span class="sourceLineNo">905</span> */<a name="line.905"></a>
-<span class="sourceLineNo">906</span> @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.906"></a>
-<span class="sourceLineNo">907</span> justification="Yeah, unnecessary null check; could do w/ clean up")<a name="line.907"></a>
-<span class="sourceLineNo">908</span> protected HFileBlock readNextDataBlock() throws IOException {<a name="line.908"></a>
-<span class="sourceLineNo">909</span> long lastDataBlockOffset = reader.getTrailer().getLastDataBlockOffset();<a name="line.909"></a>
-<span class="sourceLineNo">910</span> if (curBlock == null)<a name="line.910"></a>
-<span class="sourceLineNo">911</span> return null;<a name="line.911"></a>
-<span class="sourceLineNo">912</span><a name="line.912"></a>
-<span class="sourceLineNo">913</span> HFileBlock block = this.curBlock;<a name="line.913"></a>
-<span class="sourceLineNo">914</span><a name="line.914"></a>
-<span class="sourceLineNo">915</span> do {<a name="line.915"></a>
-<span class="sourceLineNo">916</span> if (block.getOffset() >= lastDataBlockOffset) {<a name="line.916"></a>
-<span class="sourceLineNo">917</span> return null;<a name="line.917"></a>
-<span class="sourceLineNo">918</span> }<a name="line.918"></a>
-<span class="sourceLineNo">919</span><a name="line.919"></a>
-<span class="sourceLineNo">920</span> if (block.getOffset() < 0) {<a name="line.920"></a>
-<span class="sourceLineNo">921</span> throw new IOException("Invalid block file offset: " + block);<a name="line.921"></a>
-<span class="sourceLineNo">922</span> }<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span> // We are reading the next block without block type validation, because<a name="line.924"></a>
-<span class="sourceLineNo">925</span> // it might turn out to be a non-data block.<a name="line.925"></a>
-<span class="sourceLineNo">926</span> block = reader.readBlock(block.getOffset() + block.getOnDiskSizeWithHeader(),<a name="line.926"></a>
-<span class="sourceLineNo">927</span> block.getNextBlockOnDiskSize(), cacheBlocks, pread,<a name="line.927"></a>
-<span class="sourceLineNo">928</span> isCompaction, true, null, getEffectiveDataBlockEncoding());<a name="line.928"></a>
-<span class="sourceLineNo">929</span> if (block != null && !block.getBlockType().isData()) { // Findbugs: NP_NULL_ON_SOME_PATH<a name="line.929"></a>
-<span class="sourceLineNo">930</span> // Whatever block we read we will be returning it unless<a name="line.930"></a>
-<span class="sourceLineNo">931</span> // it is a datablock. Just in case the blocks are non data blocks<a name="line.931"></a>
-<span class="sourceLineNo">932</span> reader.returnBlock(block);<a name="line.932"></a>
-<span class="sourceLineNo">933</span> }<a name="line.933"></a>
-<span class="sourceLineNo">934</span> } while (!block.getBlockType().isData());<a name="line.934"></a>
-<span class="sourceLineNo">935</span><a name="line.935"></a>
-<span class="sourceLineNo">936</span> return block;<a name="line.936"></a>
-<span class="sourceLineNo">937</span> }<a name="line.937"></a>
+<span class="sourceLineNo">373</span> if (block != null) {<a name="line.373"></a>
+<span class="sourceLineNo">374</span> this.cacheConf.getBlockCache().ifPresent(blockCache -> {<a name="line.374"></a>
+<span class="sourceLineNo">375</span> BlockCacheKey cacheKey =<a name="line.375"></a>
+<span class="sourceLineNo">376</span> new BlockCacheKey(this.getFileContext().getHFileName(), block.getOffset(),<a name="line.376"></a>
+<span class="sourceLineNo">377</span> this.isPrimaryReplicaReader(), block.getBlockType());<a name="line.377"></a>
+<span class="sourceLineNo">378</span> blockCache.returnBlock(cacheKey, block);<a name="line.378"></a>
+<span class="sourceLineNo">379</span> });<a name="line.379"></a>
+<span class="sourceLineNo">380</span> }<a name="line.380"></a>
+<span class="sourceLineNo">381</span> }<a name="line.381"></a>
+<span class="sourceLineNo">382</span><a name="line.382"></a>
+<span class="sourceLineNo">383</span> /**<a name="line.383"></a>
+<span class="sourceLineNo">384</span> * @return the first key in the file. May be null if file has no entries. Note<a name="line.384"></a>
+<span class="sourceLineNo">385</span> * that this is not the first row key, but rather the byte form of the<a name="line.385"></a>
+<span class="sourceLineNo">386</span> * first KeyValue.<a name="line.386"></a>
+<span class="sourceLineNo">387</span> */<a name="line.387"></a>
+<span class="sourceLineNo">388</span> @Override<a name="line.388"></a>
+<span class="sourceLineNo">389</span> public Optional<Cell> getFirstKey() {<a name="line.389"></a>
+<span class="sourceLineNo">390</span> if (dataBlockIndexReader == null) {<a name="line.390"></a>
+<span class="sourceLineNo">391</span> throw new BlockIndexNotLoadedException();<a name="line.391"></a>
+<span class="sourceLineNo">392</span> }<a name="line.392"></a>
+<span class="sourceLineNo">393</span> return dataBlockIndexReader.isEmpty() ? Optional.empty()<a name="line.393"></a>
+<span class="sourceLineNo">394</span> : Optional.of(dataBlockIndexReader.getRootBlockKey(0));<a name="line.394"></a>
+<span class="sourceLineNo">395</span> }<a name="line.395"></a>
+<span class="sourceLineNo">396</span><a name="line.396"></a>
+<span class="sourceLineNo">397</span> /**<a name="line.397"></a>
+<span class="sourceLineNo">398</span> * TODO left from {@link HFile} version 1: move this to StoreFile after Ryan's<a name="line.398"></a>
+<span class="sourceLineNo">399</span> * patch goes in to eliminate {@link KeyValue} here.<a name="line.399"></a>
+<span class="sourceLineNo">400</span> *<a name="line.400"></a>
+<span class="sourceLineNo">401</span> * @return the first row key, or null if the file is empty.<a name="line.401"></a>
+<span class="sourceLineNo">402</span> */<a name="line.402"></a>
+<span class="sourceLineNo">403</span> @Override<a name="line.403"></a>
+<span class="sourceLineNo">404</span> public Optional<byte[]> getFirstRowKey() {<a name="line.404"></a>
+<span class="sourceLineNo">405</span> // We have to copy the row part to form the row key alone<a name="line.405"></a>
+<span class="sourceLineNo">406</span> return getFirstKey().map(CellUtil::cloneRow);<a name="line.406"></a>
+<span class="sourceLineNo">407</span> }<a name="line.407"></a>
+<span class="sourceLineNo">408</span><a name="line.408"></a>
+<span class="sourceLineNo">409</span> /**<a name="line.409"></a>
+<span class="sourceLineNo">410</span> * TODO left from {@link HFile} version 1: move this to StoreFile after<a name="line.410"></a>
+<span class="sourceLineNo">411</span> * Ryan's patch goes in to eliminate {@link KeyValue} here.<a name="line.411"></a>
+<span class="sourceLineNo">412</span> *<a name="line.412"></a>
+<span class="sourceLineNo">413</span> * @return the last row key, or null if the file is empty.<a name="line.413"></a>
+<span class="sourceLineNo">414</span> */<a name="line.414"></a>
+<span class="sourceLineNo">415</span> @Override<a name="line.415"></a>
+<span class="sourceLineNo">416</span> public Optional<byte[]> getLastRowKey() {<a name="line.416"></a>
+<span class="sourceLineNo">417</span> // We have to copy the row part to form the row key alone<a name="line.417"></a>
+<span class="sourceLineNo">418</span> return getLastKey().map(CellUtil::cloneRow);<a name="line.418"></a>
+<span class="sourceLineNo">419</span> }<a name="line.419"></a>
+<span class="sourceLineNo">420</span><a name="line.420"></a>
+<span class="sourceLineNo">421</span> /** @return number of KV entries in this HFile */<a name="line.421"></a>
+<span class="sourceLineNo">422</span> @Override<a name="line.422"></a>
+<span class="sourceLineNo">423</span> public long getEntries() {<a name="line.423"></a>
+<span class="sourceLineNo">424</span> return trailer.getEntryCount();<a name="line.424"></a>
+<span class="sourceLineNo">425</span> }<a name="line.425"></a>
+<span class="sourceLineNo">426</span><a name="line.426"></a>
+<span class="sourceLineNo">427</span> /** @return comparator */<a name="line.427"></a>
+<span class="sourceLineNo">428</span> @Override<a name="line.428"></a>
+<span class="sourceLineNo">429</span> public CellComparator getComparator() {<a name="line.429"></a>
+<span class="sourceLineNo">430</span> return comparator;<a name="line.430"></a>
+<span class="sourceLineNo">431</span> }<a name="line.431"></a>
+<span class="sourceLineNo">432</span><a name="line.432"></a>
+<span class="sourceLineNo">433</span> /** @return compression algorithm */<a name="line.433"></a>
+<span class="sourceLineNo">434</span> @Override<a name="line.434"></a>
+<span class="sourceLineNo">435</span> public Compression.Algorithm getCompressionAlgorithm() {<a name="line.435"></a>
+<span class="sourceLineNo">436</span> return compressAlgo;<a name="line.436"></a>
+<span class="sourceLineNo">437</span> }<a name="line.437"></a>
+<span class="sourceLineNo">438</span><a name="line.438"></a>
+<span class="sourceLineNo">439</span> /**<a name="line.439"></a>
+<span class="sourceLineNo">440</span> * @return the total heap size of data and meta block indexes in bytes. Does<a name="line.440"></a>
+<span class="sourceLineNo">441</span> * not take into account non-root blocks of a multilevel data index.<a name="line.441"></a>
+<span class="sourceLineNo">442</span> */<a name="line.442"></a>
+<span class="sourceLineNo">443</span> @Override<a name="line.443"></a>
+<span class="sourceLineNo">444</span> public long indexSize() {<a name="line.444"></a>
+<span class="sourceLineNo">445</span> return (dataBlockIndexReader != null ? dataBlockIndexReader.heapSize() : 0)<a name="line.445"></a>
+<span class="sourceLineNo">446</span> + ((metaBlockIndexReader != null) ? metaBlockIndexReader.heapSize()<a name="line.446"></a>
+<span class="sourceLineNo">447</span> : 0);<a name="line.447"></a>
+<span class="sourceLineNo">448</span> }<a name="line.448"></a>
+<span class="sourceLineNo">449</span><a name="line.449"></a>
+<span class="sourceLineNo">450</span> @Override<a name="line.450"></a>
+<span class="sourceLineNo">451</span> public String getName() {<a name="line.451"></a>
+<span class="sourceLineNo">452</span> return name;<a name="line.452"></a>
+<span class="sourceLineNo">453</span> }<a name="line.453"></a>
+<span class="sourceLineNo">454</span><a name="line.454"></a>
+<span class="sourceLineNo">455</span> @Override<a name="line.455"></a>
+<span class="sourceLineNo">456</span> public HFileBlockIndex.BlockIndexReader getDataBlockIndexReader() {<a name="line.456"></a>
+<span class="sourceLineNo">457</span> return dataBlockIndexReader;<a name="line.457"></a>
+<span class="sourceLineNo">458</span> }<a name="line.458"></a>
+<span class="sourceLineNo">459</span><a name="line.459"></a>
+<span class="sourceLineNo">460</span> @Override<a name="line.460"></a>
+<span class="sourceLineNo">461</span> public FixedFileTrailer getTrailer() {<a name="line.461"></a>
+<span class="sourceLineNo">462</span> return trailer;<a name="line.462"></a>
+<span class="sourceLineNo">463</span> }<a name="line.463"></a>
+<span class="sourceLineNo">464</span><a name="line.464"></a>
+<span class="sourceLineNo">465</span> @Override<a name="line.465"></a>
+<span class="sourceLineNo">466</span> public boolean isPrimaryReplicaReader() {<a name="line.466"></a>
+<span class="sourceLineNo">467</span> return primaryReplicaReader;<a name="line.467"></a>
+<span class="sourceLineNo">468</span> }<a name="line.468"></a>
+<span class="sourceLineNo">469</span><a name="line.469"></a>
+<span class="sourceLineNo">470</span> @Override<a name="line.470"></a>
+<span class="sourceLineNo">471</span> public FileInfo loadFileInfo() throws IOException {<a name="line.471"></a>
+<span class="sourceLineNo">472</span> return fileInfo;<a name="line.472"></a>
+<span class="sourceLineNo">473</span> }<a name="line.473"></a>
+<span class="sourceLineNo">474</span><a name="line.474"></a>
+<span class="sourceLineNo">475</span> /**<a name="line.475"></a>
+<span class="sourceLineNo">476</span> * An exception thrown when an operation requiring a scanner to be seeked<a name="line.476"></a>
+<span class="sourceLineNo">477</span> * is invoked on a scanner that is not seeked.<a name="line.477"></a>
+<span class="sourceLineNo">478</span> */<a name="line.478"></a>
+<span class="sourceLineNo">479</span> @SuppressWarnings("serial")<a name="line.479"></a>
+<span class="sourceLineNo">480</span> public static class NotSeekedException extends IllegalStateException {<a name="line.480"></a>
+<span class="sourceLineNo">481</span> public NotSeekedException() {<a name="line.481"></a>
+<span class="sourceLineNo">482</span> super("Not seeked to a key/value");<a name="line.482"></a>
+<span class="sourceLineNo">483</span> }<a name="line.483"></a>
+<span class="sourceLineNo">484</span> }<a name="line.484"></a>
+<span class="sourceLineNo">485</span><a name="line.485"></a>
+<span class="sourceLineNo">486</span> protected static class HFileScannerImpl implements HFileScanner {<a name="line.486"></a>
+<span class="sourceLineNo">487</span> private ByteBuff blockBuffer;<a name="line.487"></a>
+<span class="sourceLineNo">488</span> protected final boolean cacheBlocks;<a name="line.488"></a>
+<span class="sourceLineNo">489</span> protected final boolean pread;<a name="line.489"></a>
+<span class="sourceLineNo">490</span> protected final boolean isCompaction;<a name="line.490"></a>
+<span class="sourceLineNo">491</span> private int currKeyLen;<a name="line.491"></a>
+<span class="sourceLineNo">492</span> private int currValueLen;<a name="line.492"></a>
+<span class="sourceLineNo">493</span> private int currMemstoreTSLen;<a name="line.493"></a>
+<span class="sourceLineNo">494</span> private long currMemstoreTS;<a name="line.494"></a>
+<span class="sourceLineNo">495</span> // Updated but never read?<a name="line.495"></a>
+<span class="sourceLineNo">496</span> protected AtomicInteger blockFetches = new AtomicInteger(0);<a name="line.496"></a>
+<span class="sourceLineNo">497</span> protected final HFile.Reader reader;<a name="line.497"></a>
+<span class="sourceLineNo">498</span> private int currTagsLen;<a name="line.498"></a>
+<span class="sourceLineNo">499</span> // buffer backed keyonlyKV<a name="line.499"></a>
+<span class="sourceLineNo">500</span> private ByteBufferKeyOnlyKeyValue bufBackedKeyOnlyKv = new ByteBufferKeyOnlyKeyValue();<a name="line.500"></a>
+<span class="sourceLineNo">501</span> // A pair for reusing in blockSeek() so that we don't garbage lot of objects<a name="line.501"></a>
+<span class="sourceLineNo">502</span> final ObjectIntPair<ByteBuffer> pair = new ObjectIntPair<>();<a name="line.502"></a>
+<span class="sourceLineNo">503</span><a name="line.503"></a>
+<span class="sourceLineNo">504</span> /**<a name="line.504"></a>
+<span class="sourceLineNo">505</span> * The next indexed key is to keep track of the indexed key of the next data block.<a name="line.505"></a>
+<span class="sourceLineNo">506</span> * If the nextIndexedKey is HConstants.NO_NEXT_INDEXED_KEY, it means that the<a name="line.506"></a>
+<span class="sourceLineNo">507</span> * current data block is the last data block.<a name="line.507"></a>
+<span class="sourceLineNo">508</span> *<a name="line.508"></a>
+<span class="sourceLineNo">509</span> * If the nextIndexedKey is null, it means the nextIndexedKey has not been loaded yet.<a name="line.509"></a>
+<span class="sourceLineNo">510</span> */<a name="line.510"></a>
+<span class="sourceLineNo">511</span> protected Cell nextIndexedKey;<a name="line.511"></a>
+<span class="sourceLineNo">512</span> // Current block being used<a name="line.512"></a>
+<span class="sourceLineNo">513</span> protected HFileBlock curBlock;<a name="line.513"></a>
+<span class="sourceLineNo">514</span> // Previous blocks that were used in the course of the read<a name="line.514"></a>
+<span class="sourceLineNo">515</span> protected final ArrayList<HFileBlock> prevBlocks = new ArrayList<>();<a name="line.515"></a>
+<span class="sourceLineNo">516</span><a name="line.516"></a>
+<span class="sourceLineNo">517</span> public HFileScannerImpl(final HFile.Reader reader, final boolean cacheBlocks,<a name="line.517"></a>
+<span class="sourceLineNo">518</span> final boolean pread, final boolean isCompaction) {<a name="line.518"></a>
+<span class="sourceLineNo">519</span> this.reader = reader;<a name="line.519"></a>
+<span class="sourceLineNo">520</span> this.cacheBlocks = cacheBlocks;<a name="line.520"></a>
+<span class="sourceLineNo">521</span> this.pread = pread;<a name="line.521"></a>
+<span class="sourceLineNo">522</span> this.isCompaction = isCompaction;<a name="line.522"></a>
+<span class="sourceLineNo">523</span> }<a name="line.523"></a>
+<span class="sourceLineNo">524</span><a name="line.524"></a>
+<span class="sourceLineNo">525</span> void updateCurrBlockRef(HFileBlock block) {<a name="line.525"></a>
+<span class="sourceLineNo">526</span> if (block != null && this.curBlock != null &&<a name="line.526"></a>
+<span class="sourceLineNo">527</span> block.getOffset() == this.curBlock.getOffset()) {<a name="line.527"></a>
+<span class="sourceLineNo">528</span> return;<a name="line.528"></a>
+<span class="sourceLineNo">529</span> }<a name="line.529"></a>
+<span class="sourceLineNo">530</span> // We don't have to keep ref to EXCLUSIVE type of block<a name="line.530"></a>
+<span class="sourceLineNo">531</span> if (this.curBlock != null && this.curBlock.usesSharedMemory()) {<a name="line.531"></a>
+<span class="sourceLineNo">532</span> prevBlocks.add(this.curBlock);<a name="line.532"></a>
+<span class="sourceLineNo">533</span> }<a name="line.533"></a>
+<span class="sourceLineNo">534</span> this.curBlock = block;<a name="line.534"></a>
+<span class="sourceLineNo">535</span> }<a name="line.535"></a>
+<span class="sourceLineNo">536</span><a name="line.536"></a>
+<span class="sourceLineNo">537</span> void reset() {<a name="line.537"></a>
+<span class="sourceLineNo">538</span> // We don't have to keep ref to EXCLUSIVE type of block<a name="line.538"></a>
+<span class="sourceLineNo">539</span> if (this.curBlock != null && this.curBlock.usesSharedMemory()) {<a name="line.539"></a>
+<span class="sourceLineNo">540</span> this.prevBlocks.add(this.curBlock);<a name="line.540"></a>
+<span class="sourceLineNo">541</span> }<a name="line.541"></a>
+<span class="sourceLineNo">542</span> this.curBlock = null;<a name="line.542"></a>
+<span class="sourceLineNo">543</span> }<a name="line.543"></a>
+<span class="sourceLineNo">544</span><a name="line.544"></a>
+<span class="sourceLineNo">545</span> private void returnBlockToCache(HFileBlock block) {<a name="line.545"></a>
+<span class="sourceLineNo">546</span> if (LOG.isTraceEnabled()) {<a name="line.546"></a>
+<span class="sourceLineNo">547</span> LOG.trace("Returning the block : " + block);<a name="line.547"></a>
+<span class="sourceLineNo">548</span> }<a name="line.548"></a>
+<span class="sourceLineNo">549</span> this.reader.returnBlock(block);<a name="line.549"></a>
+<span class="sourceLineNo">550</span> }<a name="line.550"></a>
+<span class="sourceLineNo">551</span><a name="line.551"></a>
+<span class="sourceLineNo">552</span> private void returnBlocks(boolean returnAll) {<a name="line.552"></a>
+<span class="sourceLineNo">553</span> for (int i = 0; i < this.prevBlocks.size(); i++) {<a name="line.553"></a>
+<span class="sourceLineNo">554</span> returnBlockToCache(this.prevBlocks.get(i));<a name="line.554"></a>
+<span class="sourceLineNo">555</span> }<a name="line.555"></a>
+<span class="sourceLineNo">556</span> this.prevBlocks.clear();<a name="line.556"></a>
+<span class="sourceLineNo">557</span> if (returnAll && this.curBlock != null) {<a name="line.557"></a>
+<span class="sourceLineNo">558</span> returnBlockToCache(this.curBlock);<a name="line.558"></a>
+<span class="sourceLineNo">559</span> this.curBlock = null;<a name="line.559"></a>
+<span class="sourceLineNo">560</span> }<a name="line.560"></a>
+<span class="sourceLineNo">561</span> }<a name="line.561"></a>
+<span class="sourceLineNo">562</span> @Override<a name="line.562"></a>
+<span class="sourceLineNo">563</span> public boolean isSeeked(){<a name="line.563"></a>
+<span class="sourceLineNo">564</span> return blockBuffer != null;<a name="line.564"></a>
+<span class="sourceLineNo">565</span> }<a name="line.565"></a>
+<span class="sourceLineNo">566</span><a name="line.566"></a>
+<span class="sourceLineNo">567</span> @Override<a name="line.567"></a>
+<span class="sourceLineNo">568</span> public String toString() {<a name="line.568"></a>
+<span class="sourceLineNo">569</span> return "HFileScanner for reader " + String.valueOf(getReader());<a name="line.569"></a>
+<span class="sourceLineNo">570</span> }<a name="line.570"></a>
+<span class="sourceLineNo">571</span><a name="line.571"></a>
+<span class="sourceLineNo">572</span> protected void assertSeeked() {<a name="line.572"></a>
+<span class="sourceLineNo">573</span> if (!isSeeked())<a name="line.573"></a>
+<span class="sourceLineNo">574</span> throw new NotSeekedException();<a name="line.574"></a>
+<span class="sourceLineNo">575</span> }<a name="line.575"></a>
+<span class="sourceLineNo">576</span><a name="line.576"></a>
+<span class="sourceLineNo">577</span> @Override<a name="line.577"></a>
+<span class="sourceLineNo">578</span> public HFile.Reader getReader() {<a name="line.578"></a>
+<span class="sourceLineNo">579</span> return reader;<a name="line.579"></a>
+<span class="sourceLineNo">580</span> }<a name="line.580"></a>
+<span class="sourceLineNo">581</span><a name="line.581"></a>
+<span class="sourceLineNo">582</span> // From non encoded HFiles, we always read back KeyValue or its descendant.(Note: When HFile<a name="line.582"></a>
+<span class="sourceLineNo">583</span> // block is in DBB, it will be OffheapKV). So all parts of the Cell is in a contiguous<a name="line.583"></a>
+<span class="sourceLineNo">584</span> // array/buffer. How many bytes we should wrap to make the KV is what this method returns.<a name="line.584"></a>
+<span class="sourceLineNo">585</span> private int getKVBufSize() {<a name="line.585"></a>
+<span class="sourceLineNo">586</span> int kvBufSize = KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen;<a name="line.586"></a>
+<span class="sourceLineNo">587</span> if (currTagsLen > 0) {<a name="line.587"></a>
+<span class="sourceLineNo">588</span> kvBufSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.588"></a>
+<span class="sourceLineNo">589</span> }<a name="line.589"></a>
+<span class="sourceLineNo">590</span> return kvBufSize;<a name="line.590"></a>
+<span class="sourceLineNo">591</span> }<a name="line.591"></a>
+<span class="sourceLineNo">592</span><a name="line.592"></a>
+<span class="sourceLineNo">593</span> @Override<a name="line.593"></a>
+<span class="sourceLineNo">594</span> public void close() {<a name="line.594"></a>
+<span class="sourceLineNo">595</span> if (!pread) {<a name="line.595"></a>
+<span class="sourceLineNo">596</span> // For seek + pread stream socket should be closed when the scanner is closed. HBASE-9393<a name="line.596"></a>
+<span class="sourceLineNo">597</span> reader.unbufferStream();<a name="line.597"></a>
+<span class="sourceLineNo">598</span> }<a name="line.598"></a>
+<span class="sourceLineNo">599</span> this.returnBlocks(true);<a name="line.599"></a>
+<span class="sourceLineNo">600</span> }<a name="line.600"></a>
+<span class="sourceLineNo">601</span><a name="line.601"></a>
+<span class="sourceLineNo">602</span> // Returns the #bytes in HFile for the current cell. Used to skip these many bytes in current<a name="line.602"></a>
+<span class="sourceLineNo">603</span> // HFile block's buffer so as to position to the next cell.<a name="line.603"></a>
+<span class="sourceLineNo">604</span> private int getCurCellSerializedSize() {<a name="line.604"></a>
+<span class="sourceLineNo">605</span> int curCellSize = KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen<a name="line.605"></a>
+<span class="sourceLineNo">606</span> + currMemstoreTSLen;<a name="line.606"></a>
+<span class="sourceLineNo">607</span> if (this.reader.getFileContext().isIncludesTags()) {<a name="line.607"></a>
+<span class="sourceLineNo">608</span> curCellSize += Bytes.SIZEOF_SHORT + currTagsLen;<a name="line.608"></a>
+<span class="sourceLineNo">609</span> }<a name="line.609"></a>
+<span class="sourceLineNo">610</span> return curCellSize;<a name="line.610"></a>
+<span class="sourceLineNo">611</span> }<a name="line.611"></a>
+<span class="sourceLineNo">612</span><a name="line.612"></a>
+<span class="sourceLineNo">613</span> protected void readKeyValueLen() {<a name="line.613"></a>
+<span class="sourceLineNo">614</span> // This is a hot method. We go out of our way to make this method short so it can be<a name="line.614"></a>
+<span class="sourceLineNo">615</span> // inlined and is not too big to compile. We also manage position in ByteBuffer ourselves<a name="line.615"></a>
+<span class="sourceLineNo">616</span> // because it is faster than going via range-checked ByteBuffer methods or going through a<a name="line.616"></a>
+<span class="sourceLineNo">617</span> // byte buffer array a byte at a time.<a name="line.617"></a>
+<span class="sourceLineNo">618</span> // Get a long at a time rather than read two individual ints. In micro-benchmarking, even<a name="line.618"></a>
+<span class="sourceLineNo">619</span> // with the extra bit-fiddling, this is order-of-magnitude faster than getting two ints.<a name="line.619"></a>
+<span class="sourceLineNo">620</span> // Trying to imitate what was done - need to profile if this is better or<a name="line.620"></a>
+<span class="sourceLineNo">621</span> // earlier way is better by doing mark and reset?<a name="line.621"></a>
+<span class="sourceLineNo">622</span> // But ensure that you read long instead of two ints<a name="line.622"></a>
+<span class="sourceLineNo">623</span> long ll = blockBuffer.getLongAfterPosition(0);<a name="line.623"></a>
+<span class="sourceLineNo">624</span> // Read top half as an int of key length and bottom int as value length<a name="line.624"></a>
+<span class="sourceLineNo">625</span> this.currKeyLen = (int)(ll >> Integer.SIZE);<a name="line.625"></a>
+<span class="sourceLineNo">626</span> this.currValueLen = (int)(Bytes.MASK_FOR_LOWER_INT_IN_LONG ^ ll);<a name="line.626"></a>
+<span class="sourceLineNo">627</span> checkKeyValueLen();<a name="line.627"></a>
+<span class="sourceLineNo">628</span> // Move position past the key and value lengths and then beyond the key and value<a name="line.628"></a>
+<span class="sourceLineNo">629</span> int p = (Bytes.SIZEOF_LONG + currKeyLen + currValueLen);<a name="line.629"></a>
+<span class="sourceLineNo">630</span> if (reader.getFileContext().isIncludesTags()) {<a name="line.630"></a>
+<span class="sourceLineNo">631</span> // Tags length is a short.<a name="line.631"></a>
+<span class="sourceLineNo">632</span> this.currTagsLen = blockBuffer.getShortAfterPosition(p);<a name="line.632"></a>
+<span class="sourceLineNo">633</span> checkTagsLen();<a name="line.633"></a>
+<span class="sourceLineNo">634</span> p += (Bytes.SIZEOF_SHORT + currTagsLen);<a name="line.634"></a>
+<span class="sourceLineNo">635</span> }<a name="line.635"></a>
+<span class="sourceLineNo">636</span> readMvccVersion(p);<a name="line.636"></a>
+<span class="sourceLineNo">637</span> }<a name="line.637"></a>
+<span class="sourceLineNo">638</span><a name="line.638"></a>
+<span class="sourceLineNo">639</span> private final void checkTagsLen() {<a name="line.639"></a>
+<span class="sourceLineNo">640</span> if (checkLen(this.currTagsLen)) {<a name="line.640"></a>
+<span class="sourceLineNo">641</span> throw new IllegalStateException("Invalid currTagsLen " + this.currTagsLen +<a name="line.641"></a>
+<span class="sourceLineNo">642</span> ". Block offset: " + curBlock.getOffset() + ", block length: " +<a name="line.642"></a>
+<span class="sourceLineNo">643</span> this.blockBuffer.limit() +<a name="line.643"></a>
+<span class="sourceLineNo">644</span> ", position: " + this.blockBuffer.position() + " (without header).");<a name="line.644"></a>
+<span class="sourceLineNo">645</span> }<a name="line.645"></a>
+<span class="sourceLineNo">646</span> }<a name="line.646"></a>
+<span class="sourceLineNo">647</span><a name="line.647"></a>
+<span class="sourceLineNo">648</span> /**<a name="line.648"></a>
+<span class="sourceLineNo">649</span> * Read mvcc. Does checks to see if we even need to read the mvcc at all.<a name="line.649"></a>
+<span class="sourceLineNo">650</span> * @param offsetFromPos<a name="line.650"></a>
+<span class="sourceLineNo">651</span> */<a name="line.651"></a>
+<span class="sourceLineNo">652</span> protected void readMvccVersion(final int offsetFromPos) {<a name="line.652"></a>
+<span class="sourceLineNo">653</span> // See if we even need to decode mvcc.<a name="line.653"></a>
+<span class="sourceLineNo">654</span> if (!this.reader.shouldIncludeMemStoreTS()) return;<a name="line.654"></a>
+<span class="sourceLineNo">655</span> if (!this.reader.isDecodeMemStoreTS()) {<a name="line.655"></a>
+<span class="sourceLineNo">656</span> currMemstoreTS = 0;<a name="line.656"></a>
+<span class="sourceLineNo">657</span> currMemstoreTSLen = 1;<a name="line.657"></a>
+<span class="sourceLineNo">658</span> return;<a name="line.658"></a>
+<span class="sourceLineNo">659</span> }<a name="line.659"></a>
+<span class="sourceLineNo">660</span> _readMvccVersion(offsetFromPos);<a name="line.660"></a>
+<span class="sourceLineNo">661</span> }<a name="line.661"></a>
+<span class="sourceLineNo">662</span><a name="line.662"></a>
+<span class="sourceLineNo">663</span> /**<a name="line.663"></a>
+<span class="sourceLineNo">664</span> * Actually do the mvcc read. Does no checks.<a name="line.664"></a>
+<span class="sourceLineNo">665</span> * @param offsetFromPos<a name="line.665"></a>
+<span class="sourceLineNo">666</span> */<a name="line.666"></a>
+<span class="sourceLineNo">667</span> private void _readMvccVersion(int offsetFromPos) {<a name="line.667"></a>
+<span class="sourceLineNo">668</span> // This is Bytes#bytesToVint inlined so can save a few instructions in this hot method; i.e.<a name="line.668"></a>
+<span class="sourceLineNo">669</span> // previous if one-byte vint, we'd redo the vint call to find int size.<a name="line.669"></a>
+<span class="sourceLineNo">670</span> // Also the method is kept small so can be inlined.<a name="line.670"></a>
+<span class="sourceLineNo">671</span> byte firstByte = blockBuffer.getByteAfterPosition(offsetFromPos);<a name="line.671"></a>
+<span class="sourceLineNo">672</span> int len = WritableUtils.decodeVIntSize(firstByte);<a name="line.672"></a>
+<span class="sourceLineNo">673</span> if (len == 1) {<a name="line.673"></a>
+<span class="sourceLineNo">674</span> this.currMemstoreTS = firstByte;<a name="line.674"></a>
+<span class="sourceLineNo">675</span> } else {<a name="line.675"></a>
+<span class="sourceLineNo">676</span> int remaining = len -1;<a name="line.676"></a>
+<span class="sourceLineNo">677</span> long i = 0;<a name="line.677"></a>
+<span class="sourceLineNo">678</span> offsetFromPos++;<a name="line.678"></a>
+<span class="sourceLineNo">679</span> if (remaining >= Bytes.SIZEOF_INT) {<a name="line.679"></a>
+<span class="sourceLineNo">680</span> // The int read has to be converted to unsigned long so the & op<a name="line.680"></a>
+<span class="sourceLineNo">681</span> i = (blockBuffer.getIntAfterPosition(offsetFromPos) & 0x00000000ffffffffL);<a name="line.681"></a>
+<span class="sourceLineNo">682</span> remaining -= Bytes.SIZEOF_INT;<a name="line.682"></a>
+<span class="sourceLineNo">683</span> offsetFromPos += Bytes.SIZEOF_INT;<a name="line.683"></a>
+<span class="sourceLineNo">684</span> }<a name="line.684"></a>
+<span class="sourceLineNo">685</span> if (remaining >= Bytes.SIZEOF_SHORT) {<a name="line.685"></a>
+<span class="sourceLineNo">686</span> short s = blockBuffer.getShortAfterPosition(offsetFromPos);<a name="line.686"></a>
+<span class="sourceLineNo">687</span> i = i << 16;<a name="line.687"></a>
+<span class="sourceLineNo">688</span> i = i | (s & 0xFFFF);<a name="line.688"></a>
+<span class="sourceLineNo">689</span> remaining -= Bytes.SIZEOF_SHORT;<a name="line.689"></a>
+<span class="sourceLineNo">690</span> offsetFromPos += Bytes.SIZEOF_SHORT;<a name="line.690"></a>
+<span class="sourceLineNo">691</span> }<a name="line.691"></a>
+<span class="sourceLineNo">692</span> for (int idx = 0; idx < remaining; idx++) {<a name="line.692"></a>
+<span class="sourceLineNo">693</span> byte b = blockBuffer.getByteAfterPosition(offsetFromPos + idx);<a name="line.693"></a>
+<span class="sourceLineNo">694</span> i = i << 8;<a name="line.694"></a>
+<span class="sourceLineNo">695</span> i = i | (b & 0xFF);<a name="line.695"></a>
+<span class="sourceLineNo">696</span> }<a name="line.696"></a>
+<span class="sourceLineNo">697</span> currMemstoreTS = (WritableUtils.isNegativeVInt(firstByte) ? ~i : i);<a name="line.697"></a>
+<span class="sourceLineNo">698</span> }<a name="line.698"></a>
+<span class="sourceLineNo">699</span> this.currMemstoreTSLen = len;<a name="line.699"></a>
+<span class="sourceLineNo">700</span> }<a name="line.700"></a>
+<span class="sourceLineNo">701</span><a name="line.701"></a>
+<span class="sourceLineNo">702</span> /**<a name="line.702"></a>
+<span class="sourceLineNo">703</span> * Within a loaded b
<TRUNCATED>