Viraj Jasani created PHOENIX-7709:
-------------------------------------

             Summary: Index committer post writer lazy mode - Async RPC call 
for verified index mutations
                 Key: PHOENIX-7709
                 URL: https://issues.apache.org/jira/browse/PHOENIX-7709
             Project: Phoenix
          Issue Type: Improvement
            Reporter: Viraj Jasani


In case of the mutable covered index, the sequence of mutations that takes 
place synchronously are
 # Unverified index row mutations
 # Data table row updates
 # Verified index row mutations

Phoenix provides config "org.apache.hadoop.hbase.index.lazy.post_batch.write" 
to enable async or lazy mode for the last phase i.e. verified index row 
mutations.

If the config is enabled, it uses LazyParallelWriterIndexCommitter 
implementation which prepares the batch of mutations per table and prepares the 
TaskBatch objects. However, it does not submit the mutations to the thread-pool 
as of today. As a result, if the lazy mode is enabled, every read on the index 
table will end up performing read-repair.

The purpose of this Jira is to submit the post writer tasks to the respective 
thread-pool without getting blocked on it, to be able to make the third phase 
asynchronous. When the number of indexes are higher, this mode can help reduce 
the write latencies of the data table updates and improve the overall 
throughput.

User can enable this mode for the given table by using DDL statements.

e.g.
{code:java}
ALTER TABLE T1 SET 
"org.apache.hadoop.hbase.index.lazy.post_batch.write"=true{code}
{code:java}
CREATE TABLE T1 (PK1 VARCHAR NOT NULL, C1 VARCHAR) 
"org.apache.hadoop.hbase.index.lazy.post_batch.write"=true{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to