public abstract class MultiThreadedWriterBase extends MultiThreadedAction
MultiThreadedAction.DefaultDataGenerator
Modifier and Type | Field and Description |
---|---|
protected java.util.Set<java.lang.Long> |
failedKeySet
The sorted set of keys NOT inserted/updated by the writers
|
protected java.util.concurrent.atomic.AtomicLong |
nextKeyToWrite
This is the current key to be inserted/updated by any thread.
|
protected boolean |
trackWroteKeys
Enable this if used in conjunction with a concurrent reader.
|
protected java.util.concurrent.atomic.AtomicLong |
wroteKeyQueueSize
The total size of the temporary inserted/updated key set that have not yet lined
up in a our contiguous sequence starting from startKey.
|
protected java.util.concurrent.BlockingQueue<java.lang.Long> |
wroteKeys
A temporary place to keep track of inserted/updated keys.
|
protected java.util.concurrent.atomic.AtomicLong |
wroteUpToKey
The highest key in the contiguous range of keys .
|
conf, connection, dataGenerator, endKey, numCols, numKeys, numThreads, numThreadsWorking, REPORTING_INTERVAL_MS, startKey, tableName, totalOpTimeMs, verbose
Constructor and Description |
---|
MultiThreadedWriterBase(LoadTestDataGenerator dataGen,
Configuration conf,
TableName tableName,
java.lang.String actionLetter) |
Modifier and Type | Method and Description |
---|---|
protected java.util.concurrent.BlockingQueue<java.lang.Long> |
createWriteKeysQueue(Configuration conf) |
boolean |
failedToWriteKey(long k) |
int |
getNumWriteFailures() |
protected java.lang.String |
getRegionDebugInfoSafe(Table table,
byte[] rowKey) |
protected java.lang.String |
progressInfo()
Returns a task-specific progress string
|
void |
setTrackWroteKeys(boolean enable)
Used for a joint write/read workload.
|
void |
start(long startKey,
long endKey,
int numThreads) |
long |
wroteUpToKey()
The max key until which all keys have been inserted/updated (successfully or not).
|
appendToStatus, appendToStatus, close, getEndKey, isDone, startThreads, verifyResultAgainstDataGenerator, verifyResultAgainstDataGenerator, waitForFinish
protected java.util.concurrent.BlockingQueue<java.lang.Long> wroteKeys
wroteUpToKey
, the maximum key in the contiguous range of keys
being inserted/updated. This queue is supposed to stay small.protected java.util.concurrent.atomic.AtomicLong nextKeyToWrite
protected java.util.concurrent.atomic.AtomicLong wroteUpToKey
protected java.util.Set<java.lang.Long> failedKeySet
protected java.util.concurrent.atomic.AtomicLong wroteKeyQueueSize
protected boolean trackWroteKeys
public MultiThreadedWriterBase(LoadTestDataGenerator dataGen, Configuration conf, TableName tableName, java.lang.String actionLetter) throws java.io.IOException
java.io.IOException
protected java.util.concurrent.BlockingQueue<java.lang.Long> createWriteKeysQueue(Configuration conf)
public void start(long startKey, long endKey, int numThreads) throws java.io.IOException
start
in class MultiThreadedAction
java.io.IOException
protected java.lang.String getRegionDebugInfoSafe(Table table, byte[] rowKey)
public int getNumWriteFailures()
public long wroteUpToKey()
public boolean failedToWriteKey(long k)
protected java.lang.String progressInfo()
MultiThreadedAction
progressInfo
in class MultiThreadedAction
public void setTrackWroteKeys(boolean enable)
enable
- whether to enable tracking the last inserted/updated key