http://git-wip-us.apache.org/repos/asf/hbase-site/blob/62e361eb/apidocs/src-html/org/apache/hadoop/hbase/client/Delete.html ---------------------------------------------------------------------- diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/Delete.html b/apidocs/src-html/org/apache/hadoop/hbase/client/Delete.html index bcd58ec..0c7491c 100644 --- a/apidocs/src-html/org/apache/hadoop/hbase/client/Delete.html +++ b/apidocs/src-html/org/apache/hadoop/hbase/client/Delete.html @@ -180,7 +180,7 @@ <span class="sourceLineNo">172</span> byte [] family = CellUtil.cloneFamily(kv);<a name="line.172"></a> <span class="sourceLineNo">173</span> List<Cell> list = familyMap.get(family);<a name="line.173"></a> <span class="sourceLineNo">174</span> if (list == null) {<a name="line.174"></a> -<span class="sourceLineNo">175</span> list = new ArrayList<Cell>();<a name="line.175"></a> +<span class="sourceLineNo">175</span> list = new ArrayList<Cell>(1);<a name="line.175"></a> <span class="sourceLineNo">176</span> }<a name="line.176"></a> <span class="sourceLineNo">177</span> list.add(kv);<a name="line.177"></a> <span class="sourceLineNo">178</span> familyMap.put(family, list);<a name="line.178"></a> @@ -217,7 +217,7 @@ <span class="sourceLineNo">209</span> }<a name="line.209"></a> <span class="sourceLineNo">210</span> List<Cell> list = familyMap.get(family);<a name="line.210"></a> <span class="sourceLineNo">211</span> if(list == null) {<a name="line.211"></a> -<span class="sourceLineNo">212</span> list = new ArrayList<Cell>();<a name="line.212"></a> +<span class="sourceLineNo">212</span> list = new ArrayList<Cell>(1);<a name="line.212"></a> <span class="sourceLineNo">213</span> } else if(!list.isEmpty()) {<a name="line.213"></a> <span class="sourceLineNo">214</span> list.clear();<a name="line.214"></a> <span class="sourceLineNo">215</span> }<a name="line.215"></a> @@ -237,7 +237,7 @@ <span class="sourceLineNo">229</span> public Delete addFamilyVersion(final byte [] family, final long timestamp) {<a name="line.229"></a> <span class="sourceLineNo">230</span> List<Cell> list = familyMap.get(family);<a name="line.230"></a> <span class="sourceLineNo">231</span> if(list == null) {<a name="line.231"></a> -<span class="sourceLineNo">232</span> list = new ArrayList<Cell>();<a name="line.232"></a> +<span class="sourceLineNo">232</span> list = new ArrayList<Cell>(1);<a name="line.232"></a> <span class="sourceLineNo">233</span> }<a name="line.233"></a> <span class="sourceLineNo">234</span> list.add(new KeyValue(row, family, null, timestamp,<a name="line.234"></a> <span class="sourceLineNo">235</span> KeyValue.Type.DeleteFamilyVersion));<a name="line.235"></a> @@ -270,7 +270,7 @@ <span class="sourceLineNo">262</span> }<a name="line.262"></a> <span class="sourceLineNo">263</span> List<Cell> list = familyMap.get(family);<a name="line.263"></a> <span class="sourceLineNo">264</span> if (list == null) {<a name="line.264"></a> -<span class="sourceLineNo">265</span> list = new ArrayList<Cell>();<a name="line.265"></a> +<span class="sourceLineNo">265</span> list = new ArrayList<Cell>(1);<a name="line.265"></a> <span class="sourceLineNo">266</span> }<a name="line.266"></a> <span class="sourceLineNo">267</span> list.add(new KeyValue(this.row, family, qualifier, timestamp,<a name="line.267"></a> <span class="sourceLineNo">268</span> KeyValue.Type.DeleteColumn));<a name="line.268"></a> @@ -305,7 +305,7 @@ <span class="sourceLineNo">297</span> }<a name="line.297"></a> <span class="sourceLineNo">298</span> List<Cell> list = familyMap.get(family);<a name="line.298"></a> <span class="sourceLineNo">299</span> if(list == null) {<a name="line.299"></a> -<span class="sourceLineNo">300</span> list = new ArrayList<Cell>();<a name="line.300"></a> +<span class="sourceLineNo">300</span> list = new ArrayList<Cell>(1);<a name="line.300"></a> <span class="sourceLineNo">301</span> }<a name="line.301"></a> <span class="sourceLineNo">302</span> KeyValue kv = new KeyValue(this.row, family, qualifier, timestamp, KeyValue.Type.Delete);<a name="line.302"></a> <span class="sourceLineNo">303</span> list.add(kv);<a name="line.303"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/62e361eb/apidocs/src-html/org/apache/hadoop/hbase/client/Get.html ---------------------------------------------------------------------- diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/Get.html b/apidocs/src-html/org/apache/hadoop/hbase/client/Get.html index d917b20..2a44859 100644 --- a/apidocs/src-html/org/apache/hadoop/hbase/client/Get.html +++ b/apidocs/src-html/org/apache/hadoop/hbase/client/Get.html @@ -408,7 +408,7 @@ <span class="sourceLineNo">400</span> @Override<a name="line.400"></a> <span class="sourceLineNo">401</span> public Map<String, Object> getFingerprint() {<a name="line.401"></a> <span class="sourceLineNo">402</span> Map<String, Object> map = new HashMap<String, Object>();<a name="line.402"></a> -<span class="sourceLineNo">403</span> List<String> families = new ArrayList<String>();<a name="line.403"></a> +<span class="sourceLineNo">403</span> List<String> families = new ArrayList<String>(this.familyMap.entrySet().size());<a name="line.403"></a> <span class="sourceLineNo">404</span> map.put("families", families);<a name="line.404"></a> <span class="sourceLineNo">405</span> for (Map.Entry<byte [], NavigableSet<byte[]>> entry :<a name="line.405"></a> <span class="sourceLineNo">406</span> this.familyMap.entrySet()) {<a name="line.406"></a> @@ -436,7 +436,7 @@ <span class="sourceLineNo">428</span> map.put("row", Bytes.toStringBinary(this.row));<a name="line.428"></a> <span class="sourceLineNo">429</span> map.put("maxVersions", this.maxVersions);<a name="line.429"></a> <span class="sourceLineNo">430</span> map.put("cacheBlocks", this.cacheBlocks);<a name="line.430"></a> -<span class="sourceLineNo">431</span> List<Long> timeRange = new ArrayList<Long>();<a name="line.431"></a> +<span class="sourceLineNo">431</span> List<Long> timeRange = new ArrayList<Long>(2);<a name="line.431"></a> <span class="sourceLineNo">432</span> timeRange.add(this.tr.getMin());<a name="line.432"></a> <span class="sourceLineNo">433</span> timeRange.add(this.tr.getMax());<a name="line.433"></a> <span class="sourceLineNo">434</span> map.put("timeRange", timeRange);<a name="line.434"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/62e361eb/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html ---------------------------------------------------------------------- diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html b/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html index 0b439da..0859dfa 100644 --- a/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html +++ b/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html @@ -451,7 +451,7 @@ <span class="sourceLineNo">443</span> private final AtomicInteger retryInQueue = new AtomicInteger(0);<a name="line.443"></a> <span class="sourceLineNo">444</span> private final int writeRpcTimeout; // needed to pass in through AsyncProcess constructor<a name="line.444"></a> <span class="sourceLineNo">445</span> private final int operationTimeout;<a name="line.445"></a> -<span class="sourceLineNo">446</span><a name="line.446"></a> +<span class="sourceLineNo">446</span> private final ExecutorService pool;<a name="line.446"></a> <span class="sourceLineNo">447</span> public FlushWorker(Configuration conf, ClusterConnection conn, HRegionLocation addr,<a name="line.447"></a> <span class="sourceLineNo">448</span> HTableMultiplexer htableMultiplexer, int perRegionServerBufferQueueSize,<a name="line.448"></a> <span class="sourceLineNo">449</span> ExecutorService pool, ScheduledExecutorService executor) {<a name="line.449"></a> @@ -465,10 +465,10 @@ <span class="sourceLineNo">457</span> HConstants.DEFAULT_HBASE_RPC_TIMEOUT));<a name="line.457"></a> <span class="sourceLineNo">458</span> this.operationTimeout = conf.getInt(HConstants.HBASE_CLIENT_OPERATION_TIMEOUT,<a name="line.458"></a> <span class="sourceLineNo">459</span> HConstants.DEFAULT_HBASE_CLIENT_OPERATION_TIMEOUT);<a name="line.459"></a> -<span class="sourceLineNo">460</span> this.ap = new AsyncProcess(conn, conf, pool, rpcCallerFactory, false, rpcControllerFactory,<a name="line.460"></a> -<span class="sourceLineNo">461</span> writeRpcTimeout, operationTimeout);<a name="line.461"></a> -<span class="sourceLineNo">462</span> this.executor = executor;<a name="line.462"></a> -<span class="sourceLineNo">463</span> this.maxRetryInQueue = conf.getInt(TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE, 10000);<a name="line.463"></a> +<span class="sourceLineNo">460</span> this.ap = new AsyncProcess(conn, conf, rpcCallerFactory, false, rpcControllerFactory);<a name="line.460"></a> +<span class="sourceLineNo">461</span> this.executor = executor;<a name="line.461"></a> +<span class="sourceLineNo">462</span> this.maxRetryInQueue = conf.getInt(TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE, 10000);<a name="line.462"></a> +<span class="sourceLineNo">463</span> this.pool = pool;<a name="line.463"></a> <span class="sourceLineNo">464</span> }<a name="line.464"></a> <span class="sourceLineNo">465</span><a name="line.465"></a> <span class="sourceLineNo">466</span> protected LinkedBlockingQueue<PutStatus> getQueue() {<a name="line.466"></a> @@ -577,7 +577,7 @@ <span class="sourceLineNo">569</span> // drain all the queued puts into the tmp list<a name="line.569"></a> <span class="sourceLineNo">570</span> processingList.clear();<a name="line.570"></a> <span class="sourceLineNo">571</span> queue.drainTo(processingList);<a name="line.571"></a> -<span class="sourceLineNo">572</span> if (processingList.size() == 0) {<a name="line.572"></a> +<span class="sourceLineNo">572</span> if (processingList.isEmpty()) {<a name="line.572"></a> <span class="sourceLineNo">573</span> // Nothing to flush<a name="line.573"></a> <span class="sourceLineNo">574</span> return;<a name="line.574"></a> <span class="sourceLineNo">575</span> }<a name="line.575"></a> @@ -602,74 +602,79 @@ <span class="sourceLineNo">594</span> Map<ServerName, MultiAction> actionsByServer =<a name="line.594"></a> <span class="sourceLineNo">595</span> Collections.singletonMap(server, actions);<a name="line.595"></a> <span class="sourceLineNo">596</span> try {<a name="line.596"></a> -<span class="sourceLineNo">597</span> AsyncRequestFuture arf =<a name="line.597"></a> -<span class="sourceLineNo">598</span> ap.submitMultiActions(null, retainedActions, 0L, null, results, true, null,<a name="line.598"></a> -<span class="sourceLineNo">599</span> null, actionsByServer, null);<a name="line.599"></a> -<span class="sourceLineNo">600</span> arf.waitUntilDone();<a name="line.600"></a> -<span class="sourceLineNo">601</span> if (arf.hasError()) {<a name="line.601"></a> -<span class="sourceLineNo">602</span> // We just log and ignore the exception here since failed Puts will be resubmit again.<a name="line.602"></a> -<span class="sourceLineNo">603</span> LOG.debug("Caught some exceptions when flushing puts to region server "<a name="line.603"></a> -<span class="sourceLineNo">604</span> + addr.getHostnamePort(), arf.getErrors());<a name="line.604"></a> -<span class="sourceLineNo">605</span> }<a name="line.605"></a> -<span class="sourceLineNo">606</span> } finally {<a name="line.606"></a> -<span class="sourceLineNo">607</span> for (int i = 0; i < results.length; i++) {<a name="line.607"></a> -<span class="sourceLineNo">608</span> if (results[i] instanceof Result) {<a name="line.608"></a> -<span class="sourceLineNo">609</span> failedCount--;<a name="line.609"></a> -<span class="sourceLineNo">610</span> } else {<a name="line.610"></a> -<span class="sourceLineNo">611</span> if (failed == null) {<a name="line.611"></a> -<span class="sourceLineNo">612</span> failed = new ArrayList<PutStatus>();<a name="line.612"></a> -<span class="sourceLineNo">613</span> }<a name="line.613"></a> -<span class="sourceLineNo">614</span> failed.add(processingList.get(i));<a name="line.614"></a> -<span class="sourceLineNo">615</span> }<a name="line.615"></a> -<span class="sourceLineNo">616</span> }<a name="line.616"></a> -<span class="sourceLineNo">617</span> }<a name="line.617"></a> -<span class="sourceLineNo">618</span><a name="line.618"></a> -<span class="sourceLineNo">619</span> if (failed != null) {<a name="line.619"></a> -<span class="sourceLineNo">620</span> // Resubmit failed puts<a name="line.620"></a> -<span class="sourceLineNo">621</span> for (PutStatus putStatus : failed) {<a name="line.621"></a> -<span class="sourceLineNo">622</span> if (resubmitFailedPut(putStatus, this.addr)) {<a name="line.622"></a> -<span class="sourceLineNo">623</span> failedCount--;<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> }<a name="line.626"></a> -<span class="sourceLineNo">627</span><a name="line.627"></a> -<span class="sourceLineNo">628</span> long elapsed = EnvironmentEdgeManager.currentTime() - start;<a name="line.628"></a> -<span class="sourceLineNo">629</span> // Update latency counters<a name="line.629"></a> -<span class="sourceLineNo">630</span> averageLatency.add(elapsed);<a name="line.630"></a> -<span class="sourceLineNo">631</span> if (elapsed > maxLatency.get()) {<a name="line.631"></a> -<span class="sourceLineNo">632</span> maxLatency.set(elapsed);<a name="line.632"></a> -<span class="sourceLineNo">633</span> }<a name="line.633"></a> -<span class="sourceLineNo">634</span><a name="line.634"></a> -<span class="sourceLineNo">635</span> // Log some basic info<a name="line.635"></a> -<span class="sourceLineNo">636</span> if (LOG.isDebugEnabled()) {<a name="line.636"></a> -<span class="sourceLineNo">637</span> LOG.debug("Processed " + currentProcessingCount + " put requests for "<a name="line.637"></a> -<span class="sourceLineNo">638</span> + addr.getHostnamePort() + " and " + failedCount + " failed"<a name="line.638"></a> -<span class="sourceLineNo">639</span> + ", latency for this send: " + elapsed);<a name="line.639"></a> -<span class="sourceLineNo">640</span> }<a name="line.640"></a> -<span class="sourceLineNo">641</span><a name="line.641"></a> -<span class="sourceLineNo">642</span> // Reset the current processing put count<a name="line.642"></a> -<span class="sourceLineNo">643</span> currentProcessingCount.set(0);<a name="line.643"></a> -<span class="sourceLineNo">644</span> } catch (RuntimeException e) {<a name="line.644"></a> -<span class="sourceLineNo">645</span> // To make findbugs happy<a name="line.645"></a> -<span class="sourceLineNo">646</span> // Log all the exceptions and move on<a name="line.646"></a> -<span class="sourceLineNo">647</span> LOG.debug(<a name="line.647"></a> -<span class="sourceLineNo">648</span> "Caught some exceptions " + e + " when flushing puts to region server "<a name="line.648"></a> -<span class="sourceLineNo">649</span> + addr.getHostnamePort(), e);<a name="line.649"></a> -<span class="sourceLineNo">650</span> } catch (Exception e) {<a name="line.650"></a> -<span class="sourceLineNo">651</span> if (e instanceof InterruptedException) {<a name="line.651"></a> -<span class="sourceLineNo">652</span> Thread.currentThread().interrupt();<a name="line.652"></a> -<span class="sourceLineNo">653</span> }<a name="line.653"></a> -<span class="sourceLineNo">654</span> // Log all the exceptions and move on<a name="line.654"></a> -<span class="sourceLineNo">655</span> LOG.debug(<a name="line.655"></a> -<span class="sourceLineNo">656</span> "Caught some exceptions " + e + " when flushing puts to region server "<a name="line.656"></a> -<span class="sourceLineNo">657</span> + addr.getHostnamePort(), e);<a name="line.657"></a> -<span class="sourceLineNo">658</span> } finally {<a name="line.658"></a> -<span class="sourceLineNo">659</span> // Update the totalFailedCount<a name="line.659"></a> -<span class="sourceLineNo">660</span> this.totalFailedPutCount.addAndGet(failedCount);<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>}<a name="line.664"></a> +<span class="sourceLineNo">597</span> AsyncProcessTask task = AsyncProcessTask.newBuilder()<a name="line.597"></a> +<span class="sourceLineNo">598</span> .setResults(results)<a name="line.598"></a> +<span class="sourceLineNo">599</span> .setPool(pool)<a name="line.599"></a> +<span class="sourceLineNo">600</span> .setRpcTimeout(writeRpcTimeout)<a name="line.600"></a> +<span class="sourceLineNo">601</span> .setOperationTimeout(operationTimeout)<a name="line.601"></a> +<span class="sourceLineNo">602</span> .build();<a name="line.602"></a> +<span class="sourceLineNo">603</span> AsyncRequestFuture arf =<a name="line.603"></a> +<span class="sourceLineNo">604</span> ap.submitMultiActions(task, retainedActions, 0L, null, null, actionsByServer);<a name="line.604"></a> +<span class="sourceLineNo">605</span> arf.waitUntilDone();<a name="line.605"></a> +<span class="sourceLineNo">606</span> if (arf.hasError()) {<a name="line.606"></a> +<span class="sourceLineNo">607</span> // We just log and ignore the exception here since failed Puts will be resubmit again.<a name="line.607"></a> +<span class="sourceLineNo">608</span> LOG.debug("Caught some exceptions when flushing puts to region server "<a name="line.608"></a> +<span class="sourceLineNo">609</span> + addr.getHostnamePort(), arf.getErrors());<a name="line.609"></a> +<span class="sourceLineNo">610</span> }<a name="line.610"></a> +<span class="sourceLineNo">611</span> } finally {<a name="line.611"></a> +<span class="sourceLineNo">612</span> for (int i = 0; i < results.length; i++) {<a name="line.612"></a> +<span class="sourceLineNo">613</span> if (results[i] instanceof Result) {<a name="line.613"></a> +<span class="sourceLineNo">614</span> failedCount--;<a name="line.614"></a> +<span class="sourceLineNo">615</span> } else {<a name="line.615"></a> +<span class="sourceLineNo">616</span> if (failed == null) {<a name="line.616"></a> +<span class="sourceLineNo">617</span> failed = new ArrayList<PutStatus>();<a name="line.617"></a> +<span class="sourceLineNo">618</span> }<a name="line.618"></a> +<span class="sourceLineNo">619</span> failed.add(processingList.get(i));<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><a name="line.623"></a> +<span class="sourceLineNo">624</span> if (failed != null) {<a name="line.624"></a> +<span class="sourceLineNo">625</span> // Resubmit failed puts<a name="line.625"></a> +<span class="sourceLineNo">626</span> for (PutStatus putStatus : failed) {<a name="line.626"></a> +<span class="sourceLineNo">627</span> if (resubmitFailedPut(putStatus, this.addr)) {<a name="line.627"></a> +<span class="sourceLineNo">628</span> failedCount--;<a name="line.628"></a> +<span class="sourceLineNo">629</span> }<a name="line.629"></a> +<span class="sourceLineNo">630</span> }<a name="line.630"></a> +<span class="sourceLineNo">631</span> }<a name="line.631"></a> +<span class="sourceLineNo">632</span><a name="line.632"></a> +<span class="sourceLineNo">633</span> long elapsed = EnvironmentEdgeManager.currentTime() - start;<a name="line.633"></a> +<span class="sourceLineNo">634</span> // Update latency counters<a name="line.634"></a> +<span class="sourceLineNo">635</span> averageLatency.add(elapsed);<a name="line.635"></a> +<span class="sourceLineNo">636</span> if (elapsed > maxLatency.get()) {<a name="line.636"></a> +<span class="sourceLineNo">637</span> maxLatency.set(elapsed);<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> // Log some basic info<a name="line.640"></a> +<span class="sourceLineNo">641</span> if (LOG.isDebugEnabled()) {<a name="line.641"></a> +<span class="sourceLineNo">642</span> LOG.debug("Processed " + currentProcessingCount + " put requests for "<a name="line.642"></a> +<span class="sourceLineNo">643</span> + addr.getHostnamePort() + " and " + failedCount + " failed"<a name="line.643"></a> +<span class="sourceLineNo">644</span> + ", latency for this send: " + elapsed);<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> // Reset the current processing put count<a name="line.647"></a> +<span class="sourceLineNo">648</span> currentProcessingCount.set(0);<a name="line.648"></a> +<span class="sourceLineNo">649</span> } catch (RuntimeException e) {<a name="line.649"></a> +<span class="sourceLineNo">650</span> // To make findbugs happy<a name="line.650"></a> +<span class="sourceLineNo">651</span> // Log all the exceptions and move on<a name="line.651"></a> +<span class="sourceLineNo">652</span> LOG.debug(<a name="line.652"></a> +<span class="sourceLineNo">653</span> "Caught some exceptions " + e + " when flushing puts to region server "<a name="line.653"></a> +<span class="sourceLineNo">654</span> + addr.getHostnamePort(), e);<a name="line.654"></a> +<span class="sourceLineNo">655</span> } catch (Exception e) {<a name="line.655"></a> +<span class="sourceLineNo">656</span> if (e instanceof InterruptedException) {<a name="line.656"></a> +<span class="sourceLineNo">657</span> Thread.currentThread().interrupt();<a name="line.657"></a> +<span class="sourceLineNo">658</span> }<a name="line.658"></a> +<span class="sourceLineNo">659</span> // Log all the exceptions and move on<a name="line.659"></a> +<span class="sourceLineNo">660</span> LOG.debug(<a name="line.660"></a> +<span class="sourceLineNo">661</span> "Caught some exceptions " + e + " when flushing puts to region server "<a name="line.661"></a> +<span class="sourceLineNo">662</span> + addr.getHostnamePort(), e);<a name="line.662"></a> +<span class="sourceLineNo">663</span> } finally {<a name="line.663"></a> +<span class="sourceLineNo">664</span> // Update the totalFailedCount<a name="line.664"></a> +<span class="sourceLineNo">665</span> this.totalFailedPutCount.addAndGet(failedCount);<a name="line.665"></a> +<span class="sourceLineNo">666</span> }<a name="line.666"></a> +<span class="sourceLineNo">667</span> }<a name="line.667"></a> +<span class="sourceLineNo">668</span> }<a name="line.668"></a> +<span class="sourceLineNo">669</span>}<a name="line.669"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/62e361eb/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html ---------------------------------------------------------------------- diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html b/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html index 0b439da..0859dfa 100644 --- a/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html +++ b/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html @@ -451,7 +451,7 @@ <span class="sourceLineNo">443</span> private final AtomicInteger retryInQueue = new AtomicInteger(0);<a name="line.443"></a> <span class="sourceLineNo">444</span> private final int writeRpcTimeout; // needed to pass in through AsyncProcess constructor<a name="line.444"></a> <span class="sourceLineNo">445</span> private final int operationTimeout;<a name="line.445"></a> -<span class="sourceLineNo">446</span><a name="line.446"></a> +<span class="sourceLineNo">446</span> private final ExecutorService pool;<a name="line.446"></a> <span class="sourceLineNo">447</span> public FlushWorker(Configuration conf, ClusterConnection conn, HRegionLocation addr,<a name="line.447"></a> <span class="sourceLineNo">448</span> HTableMultiplexer htableMultiplexer, int perRegionServerBufferQueueSize,<a name="line.448"></a> <span class="sourceLineNo">449</span> ExecutorService pool, ScheduledExecutorService executor) {<a name="line.449"></a> @@ -465,10 +465,10 @@ <span class="sourceLineNo">457</span> HConstants.DEFAULT_HBASE_RPC_TIMEOUT));<a name="line.457"></a> <span class="sourceLineNo">458</span> this.operationTimeout = conf.getInt(HConstants.HBASE_CLIENT_OPERATION_TIMEOUT,<a name="line.458"></a> <span class="sourceLineNo">459</span> HConstants.DEFAULT_HBASE_CLIENT_OPERATION_TIMEOUT);<a name="line.459"></a> -<span class="sourceLineNo">460</span> this.ap = new AsyncProcess(conn, conf, pool, rpcCallerFactory, false, rpcControllerFactory,<a name="line.460"></a> -<span class="sourceLineNo">461</span> writeRpcTimeout, operationTimeout);<a name="line.461"></a> -<span class="sourceLineNo">462</span> this.executor = executor;<a name="line.462"></a> -<span class="sourceLineNo">463</span> this.maxRetryInQueue = conf.getInt(TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE, 10000);<a name="line.463"></a> +<span class="sourceLineNo">460</span> this.ap = new AsyncProcess(conn, conf, rpcCallerFactory, false, rpcControllerFactory);<a name="line.460"></a> +<span class="sourceLineNo">461</span> this.executor = executor;<a name="line.461"></a> +<span class="sourceLineNo">462</span> this.maxRetryInQueue = conf.getInt(TABLE_MULTIPLEXER_MAX_RETRIES_IN_QUEUE, 10000);<a name="line.462"></a> +<span class="sourceLineNo">463</span> this.pool = pool;<a name="line.463"></a> <span class="sourceLineNo">464</span> }<a name="line.464"></a> <span class="sourceLineNo">465</span><a name="line.465"></a> <span class="sourceLineNo">466</span> protected LinkedBlockingQueue<PutStatus> getQueue() {<a name="line.466"></a> @@ -577,7 +577,7 @@ <span class="sourceLineNo">569</span> // drain all the queued puts into the tmp list<a name="line.569"></a> <span class="sourceLineNo">570</span> processingList.clear();<a name="line.570"></a> <span class="sourceLineNo">571</span> queue.drainTo(processingList);<a name="line.571"></a> -<span class="sourceLineNo">572</span> if (processingList.size() == 0) {<a name="line.572"></a> +<span class="sourceLineNo">572</span> if (processingList.isEmpty()) {<a name="line.572"></a> <span class="sourceLineNo">573</span> // Nothing to flush<a name="line.573"></a> <span class="sourceLineNo">574</span> return;<a name="line.574"></a> <span class="sourceLineNo">575</span> }<a name="line.575"></a> @@ -602,74 +602,79 @@ <span class="sourceLineNo">594</span> Map<ServerName, MultiAction> actionsByServer =<a name="line.594"></a> <span class="sourceLineNo">595</span> Collections.singletonMap(server, actions);<a name="line.595"></a> <span class="sourceLineNo">596</span> try {<a name="line.596"></a> -<span class="sourceLineNo">597</span> AsyncRequestFuture arf =<a name="line.597"></a> -<span class="sourceLineNo">598</span> ap.submitMultiActions(null, retainedActions, 0L, null, results, true, null,<a name="line.598"></a> -<span class="sourceLineNo">599</span> null, actionsByServer, null);<a name="line.599"></a> -<span class="sourceLineNo">600</span> arf.waitUntilDone();<a name="line.600"></a> -<span class="sourceLineNo">601</span> if (arf.hasError()) {<a name="line.601"></a> -<span class="sourceLineNo">602</span> // We just log and ignore the exception here since failed Puts will be resubmit again.<a name="line.602"></a> -<span class="sourceLineNo">603</span> LOG.debug("Caught some exceptions when flushing puts to region server "<a name="line.603"></a> -<span class="sourceLineNo">604</span> + addr.getHostnamePort(), arf.getErrors());<a name="line.604"></a> -<span class="sourceLineNo">605</span> }<a name="line.605"></a> -<span class="sourceLineNo">606</span> } finally {<a name="line.606"></a> -<span class="sourceLineNo">607</span> for (int i = 0; i < results.length; i++) {<a name="line.607"></a> -<span class="sourceLineNo">608</span> if (results[i] instanceof Result) {<a name="line.608"></a> -<span class="sourceLineNo">609</span> failedCount--;<a name="line.609"></a> -<span class="sourceLineNo">610</span> } else {<a name="line.610"></a> -<span class="sourceLineNo">611</span> if (failed == null) {<a name="line.611"></a> -<span class="sourceLineNo">612</span> failed = new ArrayList<PutStatus>();<a name="line.612"></a> -<span class="sourceLineNo">613</span> }<a name="line.613"></a> -<span class="sourceLineNo">614</span> failed.add(processingList.get(i));<a name="line.614"></a> -<span class="sourceLineNo">615</span> }<a name="line.615"></a> -<span class="sourceLineNo">616</span> }<a name="line.616"></a> -<span class="sourceLineNo">617</span> }<a name="line.617"></a> -<span class="sourceLineNo">618</span><a name="line.618"></a> -<span class="sourceLineNo">619</span> if (failed != null) {<a name="line.619"></a> -<span class="sourceLineNo">620</span> // Resubmit failed puts<a name="line.620"></a> -<span class="sourceLineNo">621</span> for (PutStatus putStatus : failed) {<a name="line.621"></a> -<span class="sourceLineNo">622</span> if (resubmitFailedPut(putStatus, this.addr)) {<a name="line.622"></a> -<span class="sourceLineNo">623</span> failedCount--;<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> }<a name="line.626"></a> -<span class="sourceLineNo">627</span><a name="line.627"></a> -<span class="sourceLineNo">628</span> long elapsed = EnvironmentEdgeManager.currentTime() - start;<a name="line.628"></a> -<span class="sourceLineNo">629</span> // Update latency counters<a name="line.629"></a> -<span class="sourceLineNo">630</span> averageLatency.add(elapsed);<a name="line.630"></a> -<span class="sourceLineNo">631</span> if (elapsed > maxLatency.get()) {<a name="line.631"></a> -<span class="sourceLineNo">632</span> maxLatency.set(elapsed);<a name="line.632"></a> -<span class="sourceLineNo">633</span> }<a name="line.633"></a> -<span class="sourceLineNo">634</span><a name="line.634"></a> -<span class="sourceLineNo">635</span> // Log some basic info<a name="line.635"></a> -<span class="sourceLineNo">636</span> if (LOG.isDebugEnabled()) {<a name="line.636"></a> -<span class="sourceLineNo">637</span> LOG.debug("Processed " + currentProcessingCount + " put requests for "<a name="line.637"></a> -<span class="sourceLineNo">638</span> + addr.getHostnamePort() + " and " + failedCount + " failed"<a name="line.638"></a> -<span class="sourceLineNo">639</span> + ", latency for this send: " + elapsed);<a name="line.639"></a> -<span class="sourceLineNo">640</span> }<a name="line.640"></a> -<span class="sourceLineNo">641</span><a name="line.641"></a> -<span class="sourceLineNo">642</span> // Reset the current processing put count<a name="line.642"></a> -<span class="sourceLineNo">643</span> currentProcessingCount.set(0);<a name="line.643"></a> -<span class="sourceLineNo">644</span> } catch (RuntimeException e) {<a name="line.644"></a> -<span class="sourceLineNo">645</span> // To make findbugs happy<a name="line.645"></a> -<span class="sourceLineNo">646</span> // Log all the exceptions and move on<a name="line.646"></a> -<span class="sourceLineNo">647</span> LOG.debug(<a name="line.647"></a> -<span class="sourceLineNo">648</span> "Caught some exceptions " + e + " when flushing puts to region server "<a name="line.648"></a> -<span class="sourceLineNo">649</span> + addr.getHostnamePort(), e);<a name="line.649"></a> -<span class="sourceLineNo">650</span> } catch (Exception e) {<a name="line.650"></a> -<span class="sourceLineNo">651</span> if (e instanceof InterruptedException) {<a name="line.651"></a> -<span class="sourceLineNo">652</span> Thread.currentThread().interrupt();<a name="line.652"></a> -<span class="sourceLineNo">653</span> }<a name="line.653"></a> -<span class="sourceLineNo">654</span> // Log all the exceptions and move on<a name="line.654"></a> -<span class="sourceLineNo">655</span> LOG.debug(<a name="line.655"></a> -<span class="sourceLineNo">656</span> "Caught some exceptions " + e + " when flushing puts to region server "<a name="line.656"></a> -<span class="sourceLineNo">657</span> + addr.getHostnamePort(), e);<a name="line.657"></a> -<span class="sourceLineNo">658</span> } finally {<a name="line.658"></a> -<span class="sourceLineNo">659</span> // Update the totalFailedCount<a name="line.659"></a> -<span class="sourceLineNo">660</span> this.totalFailedPutCount.addAndGet(failedCount);<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>}<a name="line.664"></a> +<span class="sourceLineNo">597</span> AsyncProcessTask task = AsyncProcessTask.newBuilder()<a name="line.597"></a> +<span class="sourceLineNo">598</span> .setResults(results)<a name="line.598"></a> +<span class="sourceLineNo">599</span> .setPool(pool)<a name="line.599"></a> +<span class="sourceLineNo">600</span> .setRpcTimeout(writeRpcTimeout)<a name="line.600"></a> +<span class="sourceLineNo">601</span> .setOperationTimeout(operationTimeout)<a name="line.601"></a> +<span class="sourceLineNo">602</span> .build();<a name="line.602"></a> +<span class="sourceLineNo">603</span> AsyncRequestFuture arf =<a name="line.603"></a> +<span class="sourceLineNo">604</span> ap.submitMultiActions(task, retainedActions, 0L, null, null, actionsByServer);<a name="line.604"></a> +<span class="sourceLineNo">605</span> arf.waitUntilDone();<a name="line.605"></a> +<span class="sourceLineNo">606</span> if (arf.hasError()) {<a name="line.606"></a> +<span class="sourceLineNo">607</span> // We just log and ignore the exception here since failed Puts will be resubmit again.<a name="line.607"></a> +<span class="sourceLineNo">608</span> LOG.debug("Caught some exceptions when flushing puts to region server "<a name="line.608"></a> +<span class="sourceLineNo">609</span> + addr.getHostnamePort(), arf.getErrors());<a name="line.609"></a> +<span class="sourceLineNo">610</span> }<a name="line.610"></a> +<span class="sourceLineNo">611</span> } finally {<a name="line.611"></a> +<span class="sourceLineNo">612</span> for (int i = 0; i < results.length; i++) {<a name="line.612"></a> +<span class="sourceLineNo">613</span> if (results[i] instanceof Result) {<a name="line.613"></a> +<span class="sourceLineNo">614</span> failedCount--;<a name="line.614"></a> +<span class="sourceLineNo">615</span> } else {<a name="line.615"></a> +<span class="sourceLineNo">616</span> if (failed == null) {<a name="line.616"></a> +<span class="sourceLineNo">617</span> failed = new ArrayList<PutStatus>();<a name="line.617"></a> +<span class="sourceLineNo">618</span> }<a name="line.618"></a> +<span class="sourceLineNo">619</span> failed.add(processingList.get(i));<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><a name="line.623"></a> +<span class="sourceLineNo">624</span> if (failed != null) {<a name="line.624"></a> +<span class="sourceLineNo">625</span> // Resubmit failed puts<a name="line.625"></a> +<span class="sourceLineNo">626</span> for (PutStatus putStatus : failed) {<a name="line.626"></a> +<span class="sourceLineNo">627</span> if (resubmitFailedPut(putStatus, this.addr)) {<a name="line.627"></a> +<span class="sourceLineNo">628</span> failedCount--;<a name="line.628"></a> +<span class="sourceLineNo">629</span> }<a name="line.629"></a> +<span class="sourceLineNo">630</span> }<a name="line.630"></a> +<span class="sourceLineNo">631</span> }<a name="line.631"></a> +<span class="sourceLineNo">632</span><a name="line.632"></a> +<span class="sourceLineNo">633</span> long elapsed = EnvironmentEdgeManager.currentTime() - start;<a name="line.633"></a> +<span class="sourceLineNo">634</span> // Update latency counters<a name="line.634"></a> +<span class="sourceLineNo">635</span> averageLatency.add(elapsed);<a name="line.635"></a> +<span class="sourceLineNo">636</span> if (elapsed > maxLatency.get()) {<a name="line.636"></a> +<span class="sourceLineNo">637</span> maxLatency.set(elapsed);<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> // Log some basic info<a name="line.640"></a> +<span class="sourceLineNo">641</span> if (LOG.isDebugEnabled()) {<a name="line.641"></a> +<span class="sourceLineNo">642</span> LOG.debug("Processed " + currentProcessingCount + " put requests for "<a name="line.642"></a> +<span class="sourceLineNo">643</span> + addr.getHostnamePort() + " and " + failedCount + " failed"<a name="line.643"></a> +<span class="sourceLineNo">644</span> + ", latency for this send: " + elapsed);<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> // Reset the current processing put count<a name="line.647"></a> +<span class="sourceLineNo">648</span> currentProcessingCount.set(0);<a name="line.648"></a> +<span class="sourceLineNo">649</span> } catch (RuntimeException e) {<a name="line.649"></a> +<span class="sourceLineNo">650</span> // To make findbugs happy<a name="line.650"></a> +<span class="sourceLineNo">651</span> // Log all the exceptions and move on<a name="line.651"></a> +<span class="sourceLineNo">652</span> LOG.debug(<a name="line.652"></a> +<span class="sourceLineNo">653</span> "Caught some exceptions " + e + " when flushing puts to region server "<a name="line.653"></a> +<span class="sourceLineNo">654</span> + addr.getHostnamePort(), e);<a name="line.654"></a> +<span class="sourceLineNo">655</span> } catch (Exception e) {<a name="line.655"></a> +<span class="sourceLineNo">656</span> if (e instanceof InterruptedException) {<a name="line.656"></a> +<span class="sourceLineNo">657</span> Thread.currentThread().interrupt();<a name="line.657"></a> +<span class="sourceLineNo">658</span> }<a name="line.658"></a> +<span class="sourceLineNo">659</span> // Log all the exceptions and move on<a name="line.659"></a> +<span class="sourceLineNo">660</span> LOG.debug(<a name="line.660"></a> +<span class="sourceLineNo">661</span> "Caught some exceptions " + e + " when flushing puts to region server "<a name="line.661"></a> +<span class="sourceLineNo">662</span> + addr.getHostnamePort(), e);<a name="line.662"></a> +<span class="sourceLineNo">663</span> } finally {<a name="line.663"></a> +<span class="sourceLineNo">664</span> // Update the totalFailedCount<a name="line.664"></a> +<span class="sourceLineNo">665</span> this.totalFailedPutCount.addAndGet(failedCount);<a name="line.665"></a> +<span class="sourceLineNo">666</span> }<a name="line.666"></a> +<span class="sourceLineNo">667</span> }<a name="line.667"></a> +<span class="sourceLineNo">668</span> }<a name="line.668"></a> +<span class="sourceLineNo">669</span>}<a name="line.669"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/62e361eb/apidocs/src-html/org/apache/hadoop/hbase/client/Increment.html ---------------------------------------------------------------------- diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/Increment.html b/apidocs/src-html/org/apache/hadoop/hbase/client/Increment.html index 0d1c398..89f978d 100644 --- a/apidocs/src-html/org/apache/hadoop/hbase/client/Increment.html +++ b/apidocs/src-html/org/apache/hadoop/hbase/client/Increment.html @@ -233,7 +233,7 @@ <span class="sourceLineNo">225</span> StringBuilder sb = new StringBuilder();<a name="line.225"></a> <span class="sourceLineNo">226</span> sb.append("row=");<a name="line.226"></a> <span class="sourceLineNo">227</span> sb.append(Bytes.toStringBinary(this.row));<a name="line.227"></a> -<span class="sourceLineNo">228</span> if(this.familyMap.size() == 0) {<a name="line.228"></a> +<span class="sourceLineNo">228</span> if(this.familyMap.isEmpty()) {<a name="line.228"></a> <span class="sourceLineNo">229</span> sb.append(", no columns set to be incremented");<a name="line.229"></a> <span class="sourceLineNo">230</span> return sb.toString();<a name="line.230"></a> <span class="sourceLineNo">231</span> }<a name="line.231"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/62e361eb/apidocs/src-html/org/apache/hadoop/hbase/client/Mutation.html ---------------------------------------------------------------------- diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/Mutation.html b/apidocs/src-html/org/apache/hadoop/hbase/client/Mutation.html index b36be41..610fff9 100644 --- a/apidocs/src-html/org/apache/hadoop/hbase/client/Mutation.html +++ b/apidocs/src-html/org/apache/hadoop/hbase/client/Mutation.html @@ -167,7 +167,7 @@ <span class="sourceLineNo">159</span> @Override<a name="line.159"></a> <span class="sourceLineNo">160</span> public Map<String, Object> getFingerprint() {<a name="line.160"></a> <span class="sourceLineNo">161</span> Map<String, Object> map = new HashMap<String, Object>();<a name="line.161"></a> -<span class="sourceLineNo">162</span> List<String> families = new ArrayList<String>();<a name="line.162"></a> +<span class="sourceLineNo">162</span> List<String> families = new ArrayList<String>(this.familyMap.entrySet().size());<a name="line.162"></a> <span class="sourceLineNo">163</span> // ideally, we would also include table information, but that information<a name="line.163"></a> <span class="sourceLineNo">164</span> // is not stored in each Operation instance.<a name="line.164"></a> <span class="sourceLineNo">165</span> map.put("families", families);<a name="line.165"></a> @@ -235,7 +235,7 @@ <span class="sourceLineNo">227</span> stringMap.put("vlen", c.getValueLength());<a name="line.227"></a> <span class="sourceLineNo">228</span> List<Tag> tags = CellUtil.getTags(c);<a name="line.228"></a> <span class="sourceLineNo">229</span> if (tags != null) {<a name="line.229"></a> -<span class="sourceLineNo">230</span> List<String> tagsString = new ArrayList<String>();<a name="line.230"></a> +<span class="sourceLineNo">230</span> List<String> tagsString = new ArrayList<String>(tags.size());<a name="line.230"></a> <span class="sourceLineNo">231</span> for (Tag t : tags) {<a name="line.231"></a> <span class="sourceLineNo">232</span> tagsString.add((t.getType()) + ":" + Bytes.toStringBinary(TagUtil.cloneValue(t)));<a name="line.232"></a> <span class="sourceLineNo">233</span> }<a name="line.233"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/62e361eb/apidocs/src-html/org/apache/hadoop/hbase/client/Put.html ---------------------------------------------------------------------- diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/Put.html b/apidocs/src-html/org/apache/hadoop/hbase/client/Put.html index 6c848aa..45b8fb8 100644 --- a/apidocs/src-html/org/apache/hadoop/hbase/client/Put.html +++ b/apidocs/src-html/org/apache/hadoop/hbase/client/Put.html @@ -421,7 +421,7 @@ <span class="sourceLineNo">413</span> private boolean has(byte[] family, byte[] qualifier, long ts, byte[] value,<a name="line.413"></a> <span class="sourceLineNo">414</span> boolean ignoreTS, boolean ignoreValue) {<a name="line.414"></a> <span class="sourceLineNo">415</span> List<Cell> list = getCellList(family);<a name="line.415"></a> -<span class="sourceLineNo">416</span> if (list.size() == 0) {<a name="line.416"></a> +<span class="sourceLineNo">416</span> if (list.isEmpty()) {<a name="line.416"></a> <span class="sourceLineNo">417</span> return false;<a name="line.417"></a> <span class="sourceLineNo">418</span> }<a name="line.418"></a> <span class="sourceLineNo">419</span> // Boolean analysis of ignoreTS/ignoreValue.<a name="line.419"></a>