## org.apache.lucene.benchmark.byTask.tasks
Class DeleteByPercentTask

    java.lang.Object
      org.apache.lucene.benchmark.byTask.tasks.PerfTask
          org.apache.lucene.benchmark.byTask.tasks.DeleteByPercentTask

All Implemented Interfaces:
  Cloneable

    public class DeleteByPercentTask

extends PerfTask

Deletes a percentage of documents from an index randomly over the number of documents. The parameter, X, is in percent. EG 50 means 1/2 of all documents will be deleted.

NOTE: the param is an absolute percentage of maxDoc(). This means if you delete 50%, and then delete 50% again, the 2nd delete will do nothing.

Parameters:

- delete.percent.rand.seed - defines the seed to initialize Random (default 1717)

Field Summary

Fields inherited from class org.apache.lucene.benchmark.byTask.tasks.PerfTask
`logStep, NEW_LINE, params, stopNow`

Constructor Summary
`DeleteByPercentTask(PerfRunData runData)`

Method Summary
`int` `doLogic()` Perform the task once (ignoring repetitions specification) Return number of work items done by this task.
`void` `setParams(String params)` Set the params of this task.
`void` `setup()` Task setup work that should not be measured for that specific task.
`boolean` `supportsParams()` Sub classes that support parameters must override this method to return true.

Methods inherited from class org.apache.lucene.benchmark.byTask.tasks.PerfTask
`clone, close, getBackgroundDeltaPriority, getDepth, getLogMessage, getName, getParams, getRunData, getRunInBackground, isDisableCounting, runAndMaybeStats, setDepth, setDisableCounting, setName, setRunInBackground, shouldNeverLogAtStart, shouldNotRecordStats, stopNow, tearDown, toString`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### DeleteByPercentTask

    public DeleteByPercentTask(PerfRunData runData)

Method Detail

### setup

    public void setup()
               throws Exception

  Description copied from class: `PerfTask`
  Task setup work that should not be measured for that specific task. By default it does nothing, but tasks can implement this, moving work from `PerfTask.doLogic()` to this method. Only the work done in `PerfTask.doLogic()` is measured for this task. Notice that higher level (sequence) tasks containing this task would then measure larger time than the sum of their contained tasks.

  Overrides:
    `setup` in class `PerfTask`
  Throws:
    `Exception`

### setParams

    public void setParams(String params)

  Description copied from class: `PerfTask`
  Set the params of this task.

  Overrides:
    `setParams` in class `PerfTask`

### supportsParams

    public boolean supportsParams()

  Description copied from class: `PerfTask`
  Sub classes that support parameters must override this method to return true.

  Overrides:
    `supportsParams` in class `PerfTask`
  Returns:
    true iff this task supports command line params.

### doLogic

    public int doLogic()
                throws Exception

  Description copied from class: `PerfTask`
  Perform the task once (ignoring repetitions specification) Return number of work items done by this task. For indexing that can be number of docs added. For warming that can be number of scanned items, etc.

  Specified by:
    `doLogic` in class `PerfTask`
  Returns:
    number of work items done by this task.
  Throws:
    `Exception`