Package org.apache.accumulo.core.client
Class BatchWriterConfig
- java.lang.Object
-
- org.apache.accumulo.core.client.BatchWriterConfig
-
- All Implemented Interfaces:
org.apache.hadoop.io.Writable
public class BatchWriterConfig extends Object implements org.apache.hadoop.io.Writable
This object holds configuration settings used to instantiate aBatchWriter
- Since:
- 1.5.0
-
-
Constructor Summary
Constructors Constructor Description BatchWriterConfig()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object o)
Durability
getDurability()
long
getMaxLatency(TimeUnit timeUnit)
long
getMaxMemory()
int
getMaxWriteThreads()
long
getTimeout(TimeUnit timeUnit)
int
hashCode()
BatchWriterConfig
merge(BatchWriterConfig other)
Merge this BatchWriterConfig with another.void
readFields(DataInput in)
BatchWriterConfig
setDurability(Durability durability)
Change the durability for the BatchWriter session.BatchWriterConfig
setMaxLatency(long maxLatency, TimeUnit timeUnit)
Sets the maximum amount of time to hold the data in memory before flushing it to servers.
For no maximum, set to zero, orLong.MAX_VALUE
withTimeUnit.MILLISECONDS
.BatchWriterConfig
setMaxMemory(long maxMemory)
Sets the maximum memory to batch before writing.BatchWriterConfig
setMaxWriteThreads(int maxWriteThreads)
Sets the maximum number of threads to use for writing data to the tablet servers.BatchWriterConfig
setTimeout(long timeout, TimeUnit timeUnit)
Sets the maximum amount of time an unresponsive server will be re-tried.String
toString()
void
write(DataOutput out)
-
-
-
Method Detail
-
setMaxMemory
public BatchWriterConfig setMaxMemory(long maxMemory)
Sets the maximum memory to batch before writing. The smaller this value, the more frequently theBatchWriter
will write.
If set to a value smaller than a single mutation, then it willBatchWriter.flush()
after each added mutation. Must be non-negative.Default: 50M
- Parameters:
maxMemory
- max size in bytes- Returns:
this
to allow chaining of set methods- Throws:
IllegalArgumentException
- ifmaxMemory
is less than 0
-
setMaxLatency
public BatchWriterConfig setMaxLatency(long maxLatency, TimeUnit timeUnit)
Sets the maximum amount of time to hold the data in memory before flushing it to servers.
For no maximum, set to zero, orLong.MAX_VALUE
withTimeUnit.MILLISECONDS
.TimeUnit.MICROSECONDS
orTimeUnit.NANOSECONDS
will be truncated to the nearestTimeUnit.MILLISECONDS
.
If this truncation would result in making the value zero when it was specified as non-zero, then a minimum value of oneTimeUnit.MILLISECONDS
will be used.Default: 120 seconds
- Parameters:
maxLatency
- the maximum latency, in the unit specified by the value oftimeUnit
timeUnit
- determines howmaxLatency
will be interpreted- Returns:
this
to allow chaining of set methods- Throws:
IllegalArgumentException
- ifmaxLatency
is less than 0
-
setTimeout
public BatchWriterConfig setTimeout(long timeout, TimeUnit timeUnit)
Sets the maximum amount of time an unresponsive server will be re-tried. When this timeout is exceeded, theBatchWriter
should throw an exception.
For no timeout, set to zero, orLong.MAX_VALUE
withTimeUnit.MILLISECONDS
.TimeUnit.MICROSECONDS
orTimeUnit.NANOSECONDS
will be truncated to the nearestTimeUnit.MILLISECONDS
.
If this truncation would result in making the value zero when it was specified as non-zero, then a minimum value of oneTimeUnit.MILLISECONDS
will be used.Default:
Long.MAX_VALUE
(no timeout)- Parameters:
timeout
- the timeout, in the unit specified by the value oftimeUnit
timeUnit
- determines howtimeout
will be interpreted- Returns:
this
to allow chaining of set methods- Throws:
IllegalArgumentException
- iftimeout
is less than 0
-
setMaxWriteThreads
public BatchWriterConfig setMaxWriteThreads(int maxWriteThreads)
Sets the maximum number of threads to use for writing data to the tablet servers.Default: 3
- Parameters:
maxWriteThreads
- the maximum threads to use- Returns:
this
to allow chaining of set methods- Throws:
IllegalArgumentException
- ifmaxWriteThreads
is non-positive
-
getMaxMemory
public long getMaxMemory()
-
getMaxLatency
public long getMaxLatency(TimeUnit timeUnit)
-
getTimeout
public long getTimeout(TimeUnit timeUnit)
-
getMaxWriteThreads
public int getMaxWriteThreads()
-
getDurability
public Durability getDurability()
- Returns:
- the durability to be used by the BatchWriter
- Since:
- 1.7.0
-
setDurability
public BatchWriterConfig setDurability(Durability durability)
Change the durability for the BatchWriter session. The default durability is "default" which is the table's durability setting. If the durability is set to something other than the default, it will override the durability setting of the table.- Parameters:
durability
- the Durability to be used by the BatchWriter- Since:
- 1.7.0
-
write
public void write(DataOutput out) throws IOException
- Specified by:
write
in interfaceorg.apache.hadoop.io.Writable
- Throws:
IOException
-
readFields
public void readFields(DataInput in) throws IOException
- Specified by:
readFields
in interfaceorg.apache.hadoop.io.Writable
- Throws:
IOException
-
merge
public BatchWriterConfig merge(BatchWriterConfig other)
Merge this BatchWriterConfig with another. If config is set in both, preference will be given to this config.- Parameters:
other
- Another BatchWriterConfig- Returns:
- Merged BatchWriterConfig
- Since:
- 2.0.0
-
-