@InterfaceAudience.Private @InterfaceStability.Evolving public class BufferedMutatorImpl extends Object implements BufferedMutator
 Used to communicate with a single HBase table similar to Table but meant for batched,
 potentially asynchronous puts. Obtain an instance from a Connection and call
 close() afterwards. Provide an alternate to this implementation by setting
 BufferedMutatorParams.implementationClassName(String) or by setting alternate classname
 via the key {} in Configuration.
 
While this can be used across threads, great care should be used when doing so. Errors are global to the buffered mutator and the Exceptions can be thrown on any thread that causes the flush for requests.
ConnectionFactory, 
ConnectionBufferedMutator.ExceptionListenerCLASSNAME_KEY, MIN_WRITE_BUFFER_PERIODIC_FLUSH_TIMERTICK_MS| Modifier and Type | Method and Description | 
|---|---|
| void | close()Performs a  BufferedMutator.flush()and releases any resources held. | 
| void | flush()Executes all the buffered, asynchronous  Mutationoperations and waits until they are
 done. | 
| org.apache.hadoop.conf.Configuration | getConfiguration()Returns the  Configurationobject used by this instance. | 
| protected long | getExecutedWriteBufferPeriodicFlushes() | 
| TableName | getName()Gets the fully qualified table name instance of the table that this BufferedMutator writes to. | 
| long | getWriteBufferPeriodicFlushTimeoutMs()Returns the current periodic flush timeout value in milliseconds. | 
| long | getWriteBufferPeriodicFlushTimerTickMs()Returns the current periodic flush timertick interval in milliseconds. | 
| long | getWriteBufferSize()Returns the maximum size in bytes of the write buffer for this HTable. | 
| void | mutate(List<? extends Mutation> ms)Send some  Mutations to the table. | 
| void | mutate(Mutation m)Sends a  Mutationto the table. | 
| void | setOperationTimeout(int operationTimeout)Set operation timeout for this mutator instance | 
| void | setRpcTimeout(int rpcTimeout)Set rpc timeout for this mutator instance | 
| void | setWriteBufferPeriodicFlush(long timeoutMs,
                           long timerTickMs)Sets the maximum time before the buffer is automatically flushed. | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitdisableWriteBufferPeriodicFlush, setWriteBufferPeriodicFlushpublic TableName getName()
BufferedMutatorgetName in interface BufferedMutatorpublic org.apache.hadoop.conf.Configuration getConfiguration()
BufferedMutatorConfiguration object used by this instance.
 The reference returned is not a copy, so any change made to it will affect this instance.
getConfiguration in interface BufferedMutatorpublic void mutate(Mutation m) throws InterruptedIOException, RetriesExhaustedWithDetailsException
BufferedMutatorMutation to the table. The mutations will be buffered and sent over the wire as
 part of a batch. Currently only supports Put and Delete mutations.mutate in interface BufferedMutatorm - The data to send.InterruptedIOExceptionRetriesExhaustedWithDetailsExceptionpublic void mutate(List<? extends Mutation> ms) throws InterruptedIOException, RetriesExhaustedWithDetailsException
BufferedMutatorMutations to the table. The mutations will be buffered and sent over the wire
 as part of a batch. There is no guarantee of sending entire content of mutations in a
 single batch; it will be broken up according to the write buffer capacity.mutate in interface BufferedMutatorms - The data to send.InterruptedIOExceptionRetriesExhaustedWithDetailsExceptionprotected long getExecutedWriteBufferPeriodicFlushes()
public void close()
           throws IOException
BufferedMutatorBufferedMutator.flush() and releases any resources held.close in interface Closeableclose in interface AutoCloseableclose in interface BufferedMutatorIOException - if a remote or network exception occurs.public void flush()
           throws InterruptedIOException,
                  RetriesExhaustedWithDetailsException
BufferedMutatorMutation operations and waits until they are
 done.flush in interface BufferedMutatorInterruptedIOExceptionRetriesExhaustedWithDetailsExceptionpublic long getWriteBufferSize()
 The default value comes from the configuration parameter hbase.client.write.buffer.
getWriteBufferSize in interface BufferedMutatorpublic void setWriteBufferPeriodicFlush(long timeoutMs,
                                        long timerTickMs)
BufferedMutatorsetWriteBufferPeriodicFlush in interface BufferedMutatortimeoutMs - The maximum number of milliseconds how long records may be buffered before
                    they are flushed. Set to 0 to disable.timerTickMs - The number of milliseconds between each check if the timeout has been
                    exceeded. Must be 100ms (as defined in
                    BufferedMutator.MIN_WRITE_BUFFER_PERIODIC_FLUSH_TIMERTICK_MS) or larger to avoid
                    performance problems.public long getWriteBufferPeriodicFlushTimeoutMs()
BufferedMutatorgetWriteBufferPeriodicFlushTimeoutMs in interface BufferedMutatorpublic long getWriteBufferPeriodicFlushTimerTickMs()
BufferedMutatorgetWriteBufferPeriodicFlushTimerTickMs in interface BufferedMutatorpublic void setRpcTimeout(int rpcTimeout)
BufferedMutatorsetRpcTimeout in interface BufferedMutatorpublic void setOperationTimeout(int operationTimeout)
BufferedMutatorsetOperationTimeout in interface BufferedMutatorCopyright © 2007–2020 The Apache Software Foundation. All rights reserved.