If no options are given, then this will dispatch to an executor named
default
. This
dispatcher supports the following options.
table.scan.dispatcher.opts.executor=<scan executor name>
: dispatches all scans to
the named executor.
table.scan.dispatcher.opts.multi_executor=<scan executor name>
: dispatches batch
scans to the named executor.
table.scan.dispatcher.opts.single_executor=<scan executor name>
: dispatches regular
scans to the named executor.
table.scan.dispatcher.opts.heed_hints=true|false
: This option defaults to false, so
by default execution hints are ignored. When set to true, the executor can be set on the scanner.
This is done by putting the key/value executor=<scan executor name>
in the map passed to
ScannerBase.setExecutionHints(Map)
table.scan.dispatcher.opts.bad_hint_action=none|log|fail
: When
heed_hints=true
, this option determines what to do if the executor in a hint does not
exist. The possible values for this option are none
, log
, or error
.
Setting none
will silently ignore invalid hints. Setting log
will log a warning
for invalid hints. Setting fail
will throw an exception likely causing the scan to fail.
For log
and none
, when there is an invalid hint it will fall back to the table
configuration. The default is log
.
table.scan.dispatcher.opts.ignored_hint_action=none|log|fail
: When
heed_hints=false
, this option determines what to do if a hint specifies an executor. The
possible values for this option are none
, log
, or fail
. The default is
log
.
The
multi_executor
and
single_executor
options override the
executor
option.