Class SimpleCompactionDispatcher

  • All Implemented Interfaces:

    public class SimpleCompactionDispatcher
    extends Object
    implements CompactionDispatcher
    Dispatcher that supports simple configuration for making tables use compaction services. By default it dispatches to a compaction service named default.

    The following schema is supported for configuration options.

    table.compaction.dispatcher.opts.service[.user[.<user type>]|selected|system|chop]= <service>

    The following configuration will make a table use compaction service cs9 for user compactions, service cs4 for chop compactions, and service cs7 for everything else.

    table.compaction.dispatcher.opts.service=cs7 table.compaction.dispatcher.opts.service.user=cs9 table.compaction.dispatcher.opts.service.chop=cs4

    Compactions started using the client API are called user compactions and can set execution hints using CompactionConfig.setExecutionHints(Map). Hints of the form compaction_type=<user type> can be used by this dispatcher. For example the following will use service cs2 when the hint compaction_type=urgent is seen, service cs3 when hint compaction_type=trifling, everything else uses cs9.

    table.compaction.dispatcher.opts.service=cs9 table.compaction.dispatcher.opts.service.user.urgent=cs2 table.compaction.dispatcher.opts.service.user.trifling=cs3

    See Also: