updateScanIteratorOption

Update the options for an iterator. Note that this does not change the iterator options during a scan, it just replaces the given option on a
configured iterator before a scan is started.

Parameters:

iteratorName - the name of the iterator to change

key - the name of the option

value - the new value for the named option

fetchColumnFamily

void fetchColumnFamily(org.apache.hadoop.io.Text col)

Adds a column family to the list of columns that will be fetched by this scanner. By default when no columns have been added the scanner fetches all
columns.

When used in conjunction with custom iterators, the set of column families fetched is passed to the top iterator's seek method. Custom iterators may change
this set of column families when calling seek on their source.

fetchColumn

Adds a column to the list of columns that will be fetched by this scanner. The column is identified by family and qualifier. By default when no columns
have been added the scanner fetches all columns.

WARNING. Using this method with custom iterators may have unexpected results. Iterators have control over which column families are fetched. However
iterators have no control over which column qualifiers are fetched. When this method is called it activates a system iterator that only allows the
requested family/qualifier pairs through. This low level filtering prevents custom iterators from requesting additional column families when calling seek.

For an example, assume fetchColumns(A, Q1) and fetchColumns(B,Q1) is called on a scanner and a custom iterator is configured. The families (A,B) will be
passed to the seek method of the custom iterator. If the custom iterator seeks its source iterator using the families (A,B,C), it will never see any data
from C because the system iterator filtering A:Q1 and B:Q1 will prevent the C family from getting through. ACCUMULO-3905 also has an example of the type of
problem this method can cause.

tl;dr If using a custom iterator with a seek method that adds column families, then may want to avoid using this method.

Parameters:

colFam - the column family of the column to be fetched

colQual - the column qualifier of the column to be fetched

clearColumns

void clearColumns()

Clears the columns to be fetched (useful for resetting the scanner for reuse). Once cleared, the scanner will fetch all columns.

clearScanIterators

void clearScanIterators()

Clears scan iterators prior to returning a scanner to the pool.

iterator

Returns an iterator over an accumulo table. This iterator uses the options that are currently set for its lifetime, so setting options will have no effect
on existing iterators.
Keys returned by the iterator are not guaranteed to be in sorted order.

setTimeout

This setting determines how long a scanner will automatically retry when a failure occurs. By default a scanner will retry forever.
Setting to zero or Long.MAX_VALUE and TimeUnit.MILLISECONDS means to retry forever.