Investigate changing scope of server side iterator resolution
- Dominant language
- Java
- Stars
- 1.2k
- Forks
- 487
- Avg merge
- 4d 5h
- Merged PRs (30d)
- 13
Description
**Is your feature request related to a problem? Please describe.**
For a scan, on the server side a session object is created. This server side session is used to fetch one or more batches of data for a scan. Currently for each batch of data fetched the scan iterator configuration is computed from table properties and per scan iterator settings.
**Describe the solution you'd like**
Compute the scan iterator configuration once and store it on the session. Then use this precomputed config to construct iterators for each batch of data fetched.
**Describe alternatives you've considered**
This is a potential performance improvement and it may not be worthwhile. Need to do some performance testing on the cost of computing the scan iterator configuration to see if anything needs to be done.
**Additional context**
Noticed this potential improvement while looking at #6040
When a scan has no per scan iterator settings then this case is already optimized. For that case it will use a precomputed/preparsed per table iterator setting.
If this seems worthwhile its possible the same change could be made for conditional mutations in addition to scan.
Contributor guide
Research direction
Review the server-side scan session and iterator-configuration path, then compare the context in #6040. Measure the cost of recomputing the configuration across batches; done means either documenting that the optimization is not worthwhile or confirming a session-scoped configuration change, including whether conditional mutations should be considered.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- databases
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100