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

java.lang.Object
  extended by org.apache.lucene.benchmark.byTask.tasks.PerfTask
      extended by 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:


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