You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Viraj Jasani (Jira)" <ji...@apache.org> on 2025/10/06 22:59:00 UTC

[jira] [Created] (PHOENIX-7709) Index committer post writer lazy mode - Async RPC call for verified index mutations

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)