IGNITE-14341

Significant performance drop observed when expired entries are concurrently evicted by threads engaging in cache operations, especially when comparing the throughput of cache operations with and without an expiry policy.

Prob: to clean up expired entries are getting the cursor and deleting rows one by one. Thus, for each row, perform a search from the root, lock the page for writing, and delete single row.

Fix: Instead of deleting a single row at a time, the fix implemented a mechanism to delete all rows from a specified range on the page, thereby reducing the number of page write locks required. By optimizing the removal operation, the fix improved the performance of concurrent "put" operations to a cache with an expiry policy configured.

3 3 2 1 Apr. 30, 2024, 12:57 PM

Authors

Launch on Chameleon

Launching this artifact will open it within Chameleon’s shared Jupyter experiment environment, which is accessible to all Chameleon users with an active allocation.

Download Archive

Download an archive containing the files of this artifact.

Version Stats

3 3 2