Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
…eUpdate Summary: D36588 introduced an optimization to convert updates to included columns of indexes from requiring a DELETE + INSERT RPC to just a single UPDATE RPC. Furthermore, this optimization allows these index updates to be performed over a single flush to DocDB rather than requiring the previous two. The reduction in flushes has an impact on the DocDB metric: `intentsdb_rocksdb_write_self` for the index table. An update to an included column of an index now requires only 2 write batches to be written out to `intentsdb`: 1. The intent to update the column's value. Internal to DocDB/RocksDB, this includes the intents to delete the old value and insert the new value. 2. The intent to delete the intents mentioned in (1) once the operation has been committed to `regulardb`. Previously, this operation would have needed 3 writes batches: 1. The intent to delete the old value of the column. 2. The intent to insert the new value of the column. 3. The intent to delete the intents mentioned in (1) and (2) once the operation has been committed to `regulardb`. (1) and (2) were previously distinct because they happened over two separate flushes to DocDB which implies that they were part of two different write batches. Note - The cases where the metric was previously > 3, was due to the fact that more flushes (> 2) were needed to execute the query. These queries now just need 1 flush. This revision updates the `org.yb.pgsql.TestPgIndexSelectiveUpdate` with the new expectation for the metric `intentsdb_rocksdb_write_self`. Jira: DB-7192, DB-7625 Original commit: 6fa33e6 / D38234 Test Plan: ``` ./yb_build.sh --java-test 'org.yb.pgsql.TestPgIndexSelectiveUpdate' ``` Reviewers: tnayak Reviewed By: tnayak Subscribers: yql, smishra Tags: #jenkins-ready Differential Revision: https://phorge.dev.yugabyte.com/D38507
- Loading branch information