[ https://issues.apache.org/jira/browse/PHOENIX-7408?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kadir Ozdemir updated PHOENIX-7408: ----------------------------------- Summary: Improve throughput and reliability for delete operations on tables with indexes (was: Improve throughput and reliability delete operations on tables with indexes) > Improve throughput and reliability for delete operations on tables with > indexes > ------------------------------------------------------------------------------- > > Key: PHOENIX-7408 > URL: https://issues.apache.org/jira/browse/PHOENIX-7408 > Project: Phoenix > Issue Type: Improvement > Reporter: Kadir Ozdemir > Priority: Major > > Server side delete queries are executed by first > UngroupAggregateRegionObserver (UARO) to identify the row keys of the data > table rows to be deleted and then the delete mutations are processed by > IndexRegionObserve (IRO). > When a delete query is executed on the data table, the data table rows are > read twice, one for the delete query by UARO and the other for generating > index mutations by IRO. > Both the delete query on the data table and the delete operations can be > executed by the same coproc and thus the double read of the rows can be > eliminated. This will improve the throughput of the delete operations. > Delete queries and operations are executed in parallel over table regions. If > any of these executions fails, the delete query will fail too but the other > executions in progress will continue to make progress. To make sure that > these executions will not have side effects on the new mutations, we can use > snapshot isolation for the delete query, more specifically, set the end time > for the delete scans. This means that delete queries will not include the new > mutations arrive after the delete query starts executing. This will improve > the reliability of the delete operations. This will also further improve the > throughput and efficiency of the delete operations as they do not need to go > through Phoenix level row locking and concurrency handling within IRO. -- This message was sent by Atlassian Jira (v8.20.10#820010)