You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by el...@apache.org on 2015/08/27 18:06:10 UTC

[01/12] accumulo git commit: ACCUMULO-3959 More accurate BatchScanner javadoc

Repository: accumulo
Updated Branches:
  refs/heads/1.6 bec493ae4 -> 2906895c5
  refs/heads/1.7 388e48c4c -> 162acf2f2
  refs/heads/master 3f7b72e69 -> dd6780898


ACCUMULO-3959 More accurate BatchScanner javadoc


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/01dd7e32
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/01dd7e32
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/01dd7e32

Branch: refs/heads/1.6
Commit: 01dd7e32e864c7359f8b289f1434c9d9a5c154d4
Parents: dcd27de
Author: Dylan Hutchison <dh...@mit.edu>
Authored: Sun Aug 23 22:19:47 2015 -0400
Committer: Dylan Hutchison <dh...@mit.edu>
Committed: Sun Aug 23 22:19:47 2015 -0400

----------------------------------------------------------------------
 .../apache/accumulo/core/client/BatchScanner.java    | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/01dd7e32/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java b/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
index 47e6db1..bd7eb88 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
@@ -16,19 +16,20 @@
  */
 package org.apache.accumulo.core.client;
 
+import org.apache.accumulo.core.data.Range;
+
 import java.util.Collection;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.accumulo.core.data.Range;
-
 /**
  * Implementations of BatchScanner support efficient lookups of many ranges in accumulo.
+ * BatchScanners are also appropriate for large, single ranges,
+ * as a BatchScanner will break those ranges up into separate RPCs
+ * provided the range spans more than one tablet
+ * and there are sufficiently many scan threads available.
  *
- * Use this when looking up lots of ranges and you expect each range to contain a small amount of data. Also only use this when you do not care about the
- * returned data being in sorted order.
- *
- * If you want to lookup a few ranges and expect those ranges to contain a lot of data, then use the Scanner instead. Also, the Scanner will return data in
- * sorted order, this will not.
+ * Only use this when you do not care about returned data being in sorted order.
+ * Use a {@link Scanner} instead when sorted order is important.
  *
  * A BatchScanner instance will use no more threads than provided in the construction of the BatchScanner
  * implementation. Multiple invocations of <code>iterator()</code> will all share the same resources of the instance.


[03/12] accumulo git commit: ACCUMULO-3959 More accurate BatchScanner javadoc

Posted by el...@apache.org.
ACCUMULO-3959 More accurate BatchScanner javadoc


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/01dd7e32
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/01dd7e32
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/01dd7e32

Branch: refs/heads/master
Commit: 01dd7e32e864c7359f8b289f1434c9d9a5c154d4
Parents: dcd27de
Author: Dylan Hutchison <dh...@mit.edu>
Authored: Sun Aug 23 22:19:47 2015 -0400
Committer: Dylan Hutchison <dh...@mit.edu>
Committed: Sun Aug 23 22:19:47 2015 -0400

----------------------------------------------------------------------
 .../apache/accumulo/core/client/BatchScanner.java    | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/01dd7e32/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java b/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
index 47e6db1..bd7eb88 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
@@ -16,19 +16,20 @@
  */
 package org.apache.accumulo.core.client;
 
+import org.apache.accumulo.core.data.Range;
+
 import java.util.Collection;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.accumulo.core.data.Range;
-
 /**
  * Implementations of BatchScanner support efficient lookups of many ranges in accumulo.
+ * BatchScanners are also appropriate for large, single ranges,
+ * as a BatchScanner will break those ranges up into separate RPCs
+ * provided the range spans more than one tablet
+ * and there are sufficiently many scan threads available.
  *
- * Use this when looking up lots of ranges and you expect each range to contain a small amount of data. Also only use this when you do not care about the
- * returned data being in sorted order.
- *
- * If you want to lookup a few ranges and expect those ranges to contain a lot of data, then use the Scanner instead. Also, the Scanner will return data in
- * sorted order, this will not.
+ * Only use this when you do not care about returned data being in sorted order.
+ * Use a {@link Scanner} instead when sorted order is important.
  *
  * A BatchScanner instance will use no more threads than provided in the construction of the BatchScanner
  * implementation. Multiple invocations of <code>iterator()</code> will all share the same resources of the instance.


[10/12] accumulo git commit: Merge branch '1.6' into 1.7

Posted by el...@apache.org.
Merge branch '1.6' into 1.7

Conflicts:
	core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/162acf2f
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/162acf2f
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/162acf2f

Branch: refs/heads/master
Commit: 162acf2f2223e25fa84921eb1fb15749599f7242
Parents: 388e48c 2906895
Author: Josh Elser <el...@apache.org>
Authored: Thu Aug 27 11:54:25 2015 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Thu Aug 27 12:06:14 2015 -0400

----------------------------------------------------------------------
 .../accumulo/core/client/BatchScanner.java      | 24 ++++++++++++++------
 1 file changed, 17 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/162acf2f/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
----------------------------------------------------------------------
diff --cc core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
index 494bf56,af0fd85..0048c42
--- a/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
@@@ -19,20 -21,34 +21,28 @@@ import org.apache.accumulo.core.data.Ra
  import java.util.Collection;
  import java.util.concurrent.TimeUnit;
  
- import org.apache.accumulo.core.data.Range;
- 
  /**
-  * Implementations of BatchScanner support efficient lookups of many ranges in accumulo.
 - * In exchange for possibly <b>returning scanned entries out of order</b>,
 - * BatchScanner implementations may scan an Accumulo table more efficiently by
++ * In exchange for possibly <b>returning scanned entries out of order</b>, BatchScanner implementations may scan an Accumulo table more efficiently by
+  * <ul>
 - *   <li>Looking up multiple ranges in parallel.
 - *   Parallelism is constrained by the number of threads available to the BatchScanner, set in its constructor.</li>
 - *   <li>Breaking up large ranges into subranges.
 - *   Often the number and boundaries of subranges are determined by a table's split points.</li>
 - *   <li>Combining multiple ranges into a single RPC call to a tablet server.</li>
++ * <li>Looking up multiple ranges in parallel. Parallelism is constrained by the number of threads available to the BatchScanner, set in its constructor.</li>
++ * <li>Breaking up large ranges into subranges. Often the number and boundaries of subranges are determined by a table's split points.</li>
++ * <li>Combining multiple ranges into a single RPC call to a tablet server.</li>
+  * </ul>
   *
-  * Use this when looking up lots of ranges and you expect each range to contain a small amount of data. Also only use this when you do not care about the
-  * returned data being in sorted order.
+  * The above techniques lead to better performance than a {@link Scanner} in use cases such as
+  * <ul>
 - *   <li>Retrieving many small ranges</li>
 - *   <li>Scanning a large range that returns many entries</li>
 - *   <li>Running server-side iterators that perform computation,
 - *   even if few entries are returned from the scan itself</li>
++ * <li>Retrieving many small ranges</li>
++ * <li>Scanning a large range that returns many entries</li>
++ * <li>Running server-side iterators that perform computation, even if few entries are returned from the scan itself</li>
+  * </ul>
   *
-  * If you want to lookup a few ranges and expect those ranges to contain a lot of data, then use the Scanner instead. Also, the Scanner will return data in
-  * sorted order, this will not.
 - * To re-emphasize, only use a BatchScanner when you do not care whether returned data is in sorted order.
 - * Use a {@link Scanner} instead when sorted order is important.
++ * To re-emphasize, only use a BatchScanner when you do not care whether returned data is in sorted order. Use a {@link Scanner} instead when sorted order is
++ * important.
   *
+  * <p>
 - * A BatchScanner instance will use no more threads than provided in the construction of the BatchScanner
 - * implementation. Multiple invocations of <code>iterator()</code> will all share the same resources of the instance.
 - * A new BatchScanner instance should be created to use allocate additional threads.
 + * A BatchScanner instance will use no more threads than provided in the construction of the BatchScanner implementation. Multiple invocations of
 + * <code>iterator()</code> will all share the same resources of the instance. A new BatchScanner instance should be created to use allocate additional threads.
   */
 -
  public interface BatchScanner extends ScannerBase {
  
    /**


[12/12] accumulo git commit: Merge branch '1.7'

Posted by el...@apache.org.
Merge branch '1.7'


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/dd678089
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/dd678089
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/dd678089

Branch: refs/heads/master
Commit: dd6780898b93d3a1909654077911a53d7c8656b4
Parents: 3f7b72e 162acf2
Author: Josh Elser <el...@apache.org>
Authored: Thu Aug 27 12:06:22 2015 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Thu Aug 27 12:06:22 2015 -0400

----------------------------------------------------------------------
 .../accumulo/core/client/BatchScanner.java      | 24 ++++++++++++++------
 1 file changed, 17 insertions(+), 7 deletions(-)
----------------------------------------------------------------------



[04/12] accumulo git commit: ACCUMULO-3959 Rewrite BatchWriter javadoc

Posted by el...@apache.org.
ACCUMULO-3959 Rewrite BatchWriter javadoc


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/d6427e1c
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/d6427e1c
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/d6427e1c

Branch: refs/heads/1.6
Commit: d6427e1ccd6cab7c9f40cc188d5258dbeb71c97c
Parents: 01dd7e3
Author: Dylan Hutchison <dh...@mit.edu>
Authored: Mon Aug 24 19:01:23 2015 -0400
Committer: Dylan Hutchison <dh...@mit.edu>
Committed: Mon Aug 24 19:01:23 2015 -0400

----------------------------------------------------------------------
 .../accumulo/core/client/BatchScanner.java      | 25 +++++++++++++++-----
 1 file changed, 19 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/d6427e1c/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java b/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
index bd7eb88..af0fd85 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
@@ -22,15 +22,28 @@ import java.util.Collection;
 import java.util.concurrent.TimeUnit;
 
 /**
- * Implementations of BatchScanner support efficient lookups of many ranges in accumulo.
- * BatchScanners are also appropriate for large, single ranges,
- * as a BatchScanner will break those ranges up into separate RPCs
- * provided the range spans more than one tablet
- * and there are sufficiently many scan threads available.
+ * In exchange for possibly <b>returning scanned entries out of order</b>,
+ * BatchScanner implementations may scan an Accumulo table more efficiently by
+ * <ul>
+ *   <li>Looking up multiple ranges in parallel.
+ *   Parallelism is constrained by the number of threads available to the BatchScanner, set in its constructor.</li>
+ *   <li>Breaking up large ranges into subranges.
+ *   Often the number and boundaries of subranges are determined by a table's split points.</li>
+ *   <li>Combining multiple ranges into a single RPC call to a tablet server.</li>
+ * </ul>
  *
- * Only use this when you do not care about returned data being in sorted order.
+ * The above techniques lead to better performance than a {@link Scanner} in use cases such as
+ * <ul>
+ *   <li>Retrieving many small ranges</li>
+ *   <li>Scanning a large range that returns many entries</li>
+ *   <li>Running server-side iterators that perform computation,
+ *   even if few entries are returned from the scan itself</li>
+ * </ul>
+ *
+ * To re-emphasize, only use a BatchScanner when you do not care whether returned data is in sorted order.
  * Use a {@link Scanner} instead when sorted order is important.
  *
+ * <p>
  * A BatchScanner instance will use no more threads than provided in the construction of the BatchScanner
  * implementation. Multiple invocations of <code>iterator()</code> will all share the same resources of the instance.
  * A new BatchScanner instance should be created to use allocate additional threads.


[11/12] accumulo git commit: Merge branch '1.6' into 1.7

Posted by el...@apache.org.
Merge branch '1.6' into 1.7

Conflicts:
	core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/162acf2f
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/162acf2f
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/162acf2f

Branch: refs/heads/1.7
Commit: 162acf2f2223e25fa84921eb1fb15749599f7242
Parents: 388e48c 2906895
Author: Josh Elser <el...@apache.org>
Authored: Thu Aug 27 11:54:25 2015 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Thu Aug 27 12:06:14 2015 -0400

----------------------------------------------------------------------
 .../accumulo/core/client/BatchScanner.java      | 24 ++++++++++++++------
 1 file changed, 17 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/162acf2f/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
----------------------------------------------------------------------
diff --cc core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
index 494bf56,af0fd85..0048c42
--- a/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
@@@ -19,20 -21,34 +21,28 @@@ import org.apache.accumulo.core.data.Ra
  import java.util.Collection;
  import java.util.concurrent.TimeUnit;
  
- import org.apache.accumulo.core.data.Range;
- 
  /**
-  * Implementations of BatchScanner support efficient lookups of many ranges in accumulo.
 - * In exchange for possibly <b>returning scanned entries out of order</b>,
 - * BatchScanner implementations may scan an Accumulo table more efficiently by
++ * In exchange for possibly <b>returning scanned entries out of order</b>, BatchScanner implementations may scan an Accumulo table more efficiently by
+  * <ul>
 - *   <li>Looking up multiple ranges in parallel.
 - *   Parallelism is constrained by the number of threads available to the BatchScanner, set in its constructor.</li>
 - *   <li>Breaking up large ranges into subranges.
 - *   Often the number and boundaries of subranges are determined by a table's split points.</li>
 - *   <li>Combining multiple ranges into a single RPC call to a tablet server.</li>
++ * <li>Looking up multiple ranges in parallel. Parallelism is constrained by the number of threads available to the BatchScanner, set in its constructor.</li>
++ * <li>Breaking up large ranges into subranges. Often the number and boundaries of subranges are determined by a table's split points.</li>
++ * <li>Combining multiple ranges into a single RPC call to a tablet server.</li>
+  * </ul>
   *
-  * Use this when looking up lots of ranges and you expect each range to contain a small amount of data. Also only use this when you do not care about the
-  * returned data being in sorted order.
+  * The above techniques lead to better performance than a {@link Scanner} in use cases such as
+  * <ul>
 - *   <li>Retrieving many small ranges</li>
 - *   <li>Scanning a large range that returns many entries</li>
 - *   <li>Running server-side iterators that perform computation,
 - *   even if few entries are returned from the scan itself</li>
++ * <li>Retrieving many small ranges</li>
++ * <li>Scanning a large range that returns many entries</li>
++ * <li>Running server-side iterators that perform computation, even if few entries are returned from the scan itself</li>
+  * </ul>
   *
-  * If you want to lookup a few ranges and expect those ranges to contain a lot of data, then use the Scanner instead. Also, the Scanner will return data in
-  * sorted order, this will not.
 - * To re-emphasize, only use a BatchScanner when you do not care whether returned data is in sorted order.
 - * Use a {@link Scanner} instead when sorted order is important.
++ * To re-emphasize, only use a BatchScanner when you do not care whether returned data is in sorted order. Use a {@link Scanner} instead when sorted order is
++ * important.
   *
+  * <p>
 - * A BatchScanner instance will use no more threads than provided in the construction of the BatchScanner
 - * implementation. Multiple invocations of <code>iterator()</code> will all share the same resources of the instance.
 - * A new BatchScanner instance should be created to use allocate additional threads.
 + * A BatchScanner instance will use no more threads than provided in the construction of the BatchScanner implementation. Multiple invocations of
 + * <code>iterator()</code> will all share the same resources of the instance. A new BatchScanner instance should be created to use allocate additional threads.
   */
 -
  public interface BatchScanner extends ScannerBase {
  
    /**


[02/12] accumulo git commit: ACCUMULO-3959 More accurate BatchScanner javadoc

Posted by el...@apache.org.
ACCUMULO-3959 More accurate BatchScanner javadoc


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/01dd7e32
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/01dd7e32
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/01dd7e32

Branch: refs/heads/1.7
Commit: 01dd7e32e864c7359f8b289f1434c9d9a5c154d4
Parents: dcd27de
Author: Dylan Hutchison <dh...@mit.edu>
Authored: Sun Aug 23 22:19:47 2015 -0400
Committer: Dylan Hutchison <dh...@mit.edu>
Committed: Sun Aug 23 22:19:47 2015 -0400

----------------------------------------------------------------------
 .../apache/accumulo/core/client/BatchScanner.java    | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/01dd7e32/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java b/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
index 47e6db1..bd7eb88 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
@@ -16,19 +16,20 @@
  */
 package org.apache.accumulo.core.client;
 
+import org.apache.accumulo.core.data.Range;
+
 import java.util.Collection;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.accumulo.core.data.Range;
-
 /**
  * Implementations of BatchScanner support efficient lookups of many ranges in accumulo.
+ * BatchScanners are also appropriate for large, single ranges,
+ * as a BatchScanner will break those ranges up into separate RPCs
+ * provided the range spans more than one tablet
+ * and there are sufficiently many scan threads available.
  *
- * Use this when looking up lots of ranges and you expect each range to contain a small amount of data. Also only use this when you do not care about the
- * returned data being in sorted order.
- *
- * If you want to lookup a few ranges and expect those ranges to contain a lot of data, then use the Scanner instead. Also, the Scanner will return data in
- * sorted order, this will not.
+ * Only use this when you do not care about returned data being in sorted order.
+ * Use a {@link Scanner} instead when sorted order is important.
  *
  * A BatchScanner instance will use no more threads than provided in the construction of the BatchScanner
  * implementation. Multiple invocations of <code>iterator()</code> will all share the same resources of the instance.


[05/12] accumulo git commit: ACCUMULO-3959 Rewrite BatchWriter javadoc

Posted by el...@apache.org.
ACCUMULO-3959 Rewrite BatchWriter javadoc


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/d6427e1c
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/d6427e1c
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/d6427e1c

Branch: refs/heads/1.7
Commit: d6427e1ccd6cab7c9f40cc188d5258dbeb71c97c
Parents: 01dd7e3
Author: Dylan Hutchison <dh...@mit.edu>
Authored: Mon Aug 24 19:01:23 2015 -0400
Committer: Dylan Hutchison <dh...@mit.edu>
Committed: Mon Aug 24 19:01:23 2015 -0400

----------------------------------------------------------------------
 .../accumulo/core/client/BatchScanner.java      | 25 +++++++++++++++-----
 1 file changed, 19 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/d6427e1c/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java b/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
index bd7eb88..af0fd85 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
@@ -22,15 +22,28 @@ import java.util.Collection;
 import java.util.concurrent.TimeUnit;
 
 /**
- * Implementations of BatchScanner support efficient lookups of many ranges in accumulo.
- * BatchScanners are also appropriate for large, single ranges,
- * as a BatchScanner will break those ranges up into separate RPCs
- * provided the range spans more than one tablet
- * and there are sufficiently many scan threads available.
+ * In exchange for possibly <b>returning scanned entries out of order</b>,
+ * BatchScanner implementations may scan an Accumulo table more efficiently by
+ * <ul>
+ *   <li>Looking up multiple ranges in parallel.
+ *   Parallelism is constrained by the number of threads available to the BatchScanner, set in its constructor.</li>
+ *   <li>Breaking up large ranges into subranges.
+ *   Often the number and boundaries of subranges are determined by a table's split points.</li>
+ *   <li>Combining multiple ranges into a single RPC call to a tablet server.</li>
+ * </ul>
  *
- * Only use this when you do not care about returned data being in sorted order.
+ * The above techniques lead to better performance than a {@link Scanner} in use cases such as
+ * <ul>
+ *   <li>Retrieving many small ranges</li>
+ *   <li>Scanning a large range that returns many entries</li>
+ *   <li>Running server-side iterators that perform computation,
+ *   even if few entries are returned from the scan itself</li>
+ * </ul>
+ *
+ * To re-emphasize, only use a BatchScanner when you do not care whether returned data is in sorted order.
  * Use a {@link Scanner} instead when sorted order is important.
  *
+ * <p>
  * A BatchScanner instance will use no more threads than provided in the construction of the BatchScanner
  * implementation. Multiple invocations of <code>iterator()</code> will all share the same resources of the instance.
  * A new BatchScanner instance should be created to use allocate additional threads.


[08/12] accumulo git commit: Merge remote-tracking branch 'dhutchis/ACCUMULO-3959' into 1.6

Posted by el...@apache.org.
Merge remote-tracking branch 'dhutchis/ACCUMULO-3959' into 1.6


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/2906895c
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/2906895c
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/2906895c

Branch: refs/heads/master
Commit: 2906895c5f7e7a00b6852b96d9ea190c6ffa8ce3
Parents: bec493a d6427e1
Author: Josh Elser <el...@apache.org>
Authored: Thu Aug 27 11:44:31 2015 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Thu Aug 27 11:44:31 2015 -0400

----------------------------------------------------------------------
 .../accumulo/core/client/BatchScanner.java      | 28 +++++++++++++++-----
 1 file changed, 21 insertions(+), 7 deletions(-)
----------------------------------------------------------------------



[09/12] accumulo git commit: Merge remote-tracking branch 'dhutchis/ACCUMULO-3959' into 1.6

Posted by el...@apache.org.
Merge remote-tracking branch 'dhutchis/ACCUMULO-3959' into 1.6


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/2906895c
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/2906895c
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/2906895c

Branch: refs/heads/1.6
Commit: 2906895c5f7e7a00b6852b96d9ea190c6ffa8ce3
Parents: bec493a d6427e1
Author: Josh Elser <el...@apache.org>
Authored: Thu Aug 27 11:44:31 2015 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Thu Aug 27 11:44:31 2015 -0400

----------------------------------------------------------------------
 .../accumulo/core/client/BatchScanner.java      | 28 +++++++++++++++-----
 1 file changed, 21 insertions(+), 7 deletions(-)
----------------------------------------------------------------------



[07/12] accumulo git commit: Merge remote-tracking branch 'dhutchis/ACCUMULO-3959' into 1.6

Posted by el...@apache.org.
Merge remote-tracking branch 'dhutchis/ACCUMULO-3959' into 1.6


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/2906895c
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/2906895c
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/2906895c

Branch: refs/heads/1.7
Commit: 2906895c5f7e7a00b6852b96d9ea190c6ffa8ce3
Parents: bec493a d6427e1
Author: Josh Elser <el...@apache.org>
Authored: Thu Aug 27 11:44:31 2015 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Thu Aug 27 11:44:31 2015 -0400

----------------------------------------------------------------------
 .../accumulo/core/client/BatchScanner.java      | 28 +++++++++++++++-----
 1 file changed, 21 insertions(+), 7 deletions(-)
----------------------------------------------------------------------



[06/12] accumulo git commit: ACCUMULO-3959 Rewrite BatchWriter javadoc

Posted by el...@apache.org.
ACCUMULO-3959 Rewrite BatchWriter javadoc


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/d6427e1c
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/d6427e1c
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/d6427e1c

Branch: refs/heads/master
Commit: d6427e1ccd6cab7c9f40cc188d5258dbeb71c97c
Parents: 01dd7e3
Author: Dylan Hutchison <dh...@mit.edu>
Authored: Mon Aug 24 19:01:23 2015 -0400
Committer: Dylan Hutchison <dh...@mit.edu>
Committed: Mon Aug 24 19:01:23 2015 -0400

----------------------------------------------------------------------
 .../accumulo/core/client/BatchScanner.java      | 25 +++++++++++++++-----
 1 file changed, 19 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/d6427e1c/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java b/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
index bd7eb88..af0fd85 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
@@ -22,15 +22,28 @@ import java.util.Collection;
 import java.util.concurrent.TimeUnit;
 
 /**
- * Implementations of BatchScanner support efficient lookups of many ranges in accumulo.
- * BatchScanners are also appropriate for large, single ranges,
- * as a BatchScanner will break those ranges up into separate RPCs
- * provided the range spans more than one tablet
- * and there are sufficiently many scan threads available.
+ * In exchange for possibly <b>returning scanned entries out of order</b>,
+ * BatchScanner implementations may scan an Accumulo table more efficiently by
+ * <ul>
+ *   <li>Looking up multiple ranges in parallel.
+ *   Parallelism is constrained by the number of threads available to the BatchScanner, set in its constructor.</li>
+ *   <li>Breaking up large ranges into subranges.
+ *   Often the number and boundaries of subranges are determined by a table's split points.</li>
+ *   <li>Combining multiple ranges into a single RPC call to a tablet server.</li>
+ * </ul>
  *
- * Only use this when you do not care about returned data being in sorted order.
+ * The above techniques lead to better performance than a {@link Scanner} in use cases such as
+ * <ul>
+ *   <li>Retrieving many small ranges</li>
+ *   <li>Scanning a large range that returns many entries</li>
+ *   <li>Running server-side iterators that perform computation,
+ *   even if few entries are returned from the scan itself</li>
+ * </ul>
+ *
+ * To re-emphasize, only use a BatchScanner when you do not care whether returned data is in sorted order.
  * Use a {@link Scanner} instead when sorted order is important.
  *
+ * <p>
  * A BatchScanner instance will use no more threads than provided in the construction of the BatchScanner
  * implementation. Multiple invocations of <code>iterator()</code> will all share the same resources of the instance.
  * A new BatchScanner instance should be created to use allocate additional threads.