litespeedtech / litespeedtech/qmin
Only create NEW checkpoint when necessary
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 8
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Description
The model wherein a NEW checkpoint is always available is problematic: this means that the table size can never be zero. This is not good: we want the decoder to be able to specify table size zero.
Instead, a NEW checkpoint should be created implicitly whenever required, which is in two cases:
1. `INSERT_ENTRY` command is issued
1. `REUSE_ENTRY` command is issued
The cost of the newly created NEW checkpoint is added to the table size at that time. This means that the encoder may not be able to create a NEW checkpoint due to table size constraints. (Which is exactly what we want if the decoder advertizes zero table size.)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Trace the encoder handling for the INSERT_ENTRY and REUSE_ENTRY commands and how NEW checkpoints contribute to the table size. Verify the decoder can advertise a zero table size, create NEW checkpoints implicitly only for those commands, and prevent checkpoint creation when the table-size constraint disallows it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100