temporalio / temporalio/temporal
Cassandra schema should use default SizeTieredCompactionStrategy
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 23.2k
- Forks
- 1.9k
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 228
Description
The Cassandra schema uses LevelTieredCompaction (LCS) but likely should use default SizeTieredCompactionStrategy (STCS) instead. All of the tables seem to be configured with LCS but this is not a good general purpose configuration.
Level compaction (LCS) can involve significant write magnification, where data is re-written multiple times. In performance testing, reports show up to 13-fold write amplification with LCS. This blog article by ScyllaDB - a Cassandra compatible database -discusses the many downsides to using LCS:
The default STCS is preferred and works well for most workloads.
Contributor guide
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
No files or tests are named. Start by locating the Cassandra schema definitions and the table compaction settings, then compare the current LCS configuration with Cassandra's default STCS behavior. Done means the applicable tables use the intended default strategy and the schema remains valid.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cassandra
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100