accumulo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Billie J Rinaldi <>
Subject Re: Inconsistent Naming in IteratorSetting class.
Date Mon, 19 Mar 2012 15:38:57 GMT
On Sunday, March 18, 2012 7:25:49 PM, "David Medinets" <> wrote:
> Is there a list (or example) of supported properties? For example, I
> see the following options when I type 'help setiter'. How are these
> options defined in code?
> -ageoff,--ageoff an aging off type
> -agg,--aggregator an aggregating type
> -majc,--major-compaction applied at major compaction
> -minc,--minor-compaction applied at minor compaction
> -regex,--regular-expression a regex matching type
> -reqvis,--require-visibility a type that omits entries with
> empty visibilities
> -scan,--scan-time applied at scan time
> -vers,--version a versioning type

majc, minc, and scan are iterator scopes.  Any iterator can be configured with any scope,
although many iterators only make sense for the scan scope.  The remaining options, ageoff,
agg, regex, reqvis, and vers, are shorthand for specifying an iterator class name.  They correspond
to the AgeOffFilter, AggregatingIterator, RegExFilter, ReqVisFilter, and VersioningIterator.
 If you don't use one of these shorthand options, you must specify the iterator class with
-class classname.

So, you have guessed correctly that these are not the same options that are passed in to an
Iterator via an IteratorSetting.  Each Iterator can define the options it needs.  Our current
recommended practice is to use a static method to set these options in an IteratorSetting.
 We have a mechanism for the Iterators to communicate what options they need to SetIterCommand
so that the shell can interactively prompt the user for them.  This is the org.apache.accumulo.core.iterators.OptionDescriber
interface.  Iterators that implement this interface can be configured with the setiter command
because there's a way to find out the options they require.  Iterators that do not implement
it must be configured manually using the config command.


View raw message