Consider caching columns while scanning
- Dominant language
- Java
- Stars
- 200
- Forks
- 73
- PR merge metrics
- No merged PRs in 30d
Description
In #804 I made some conservative changes to reuse columns objects. These changes only did this when the user passed in a set of wanted columns. In this case it was wasy because we knew what columns to expect. For the case where a user scans over a row range and does not provide a set of columns, nothing was done in #804. In this case a cache of columns could improve performance in some cases. The cache would need to be smart and not hinder performance in the case where the cache hit rate is low. In the case maybe the cache could just stop looking in the cache and always create new Column objects.
Could also look at caching on the family and qualifier level instead of in addition to the column level.
Contributor guide
Research direction
The issue names no files or tests. Start by locating the row-range scan path that creates Column objects when no wanted columns are supplied, then compare it with the changes in #804; done would require an agreed caching design that improves useful cases without hurting scans with low cache hit rates.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- databases, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100