apache / apache/pekko-persistence-cassandra
Feedback: ScyllaDB support and compatibility considerations.
- Dominant language
- Scala
- Stars
- 15
- Forks
- 17
- Avg merge
- 6h 43m
- Merged PRs (30d)
- 11
Description
When attempting to use the `tables-autocreate` feature specified in an `application.conf` file, I encountered a failure due to a compatibility issue between Cassandra and ScyllaDB. The problem arises because the `unchecked_tombstone_compaction` option, used within the compaction strategy configuration, is not recognized by [ScyllaDB](https://opensource.docs.scylladb.com/stable/cql/compaction.html#common-options).
The plugin expects this option during the table creation process. The relevant code can be found [here](https://github.com/apache/incubator-pekko-persistence-cassandra/blob/90d80ad20dd72b9eff09ab1998e3354f78227313/core/src/main/scala/org/apache/pekko/persistence/cassandra/compaction/BaseCompactionStrategy.scala#L56).
I worked around this by manually creating the necessary tables without using the `unchecked_tombstone_compaction` option. This workaround suggests that broader compatibility might be achievable with some adjustments.
Given the growing popularity and adoption of ScyllaDB, it would be nice if future versions of the plugin could consider providing some support for ScyllaDB.
Contributor guide
Research direction
Start with core/src/main/scala/org/apache/pekko/persistence/cassandra/compaction/BaseCompactionStrategy.scala and trace how tables-autocreate builds the compaction strategy from application.conf. Compare the generated option set with ScyllaDB's documented compaction options and determine the intended compatibility boundary. Done means the plugin's table-creation path has a defined approach for ScyllaDB without breaking Cassandra support.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cassandra, scala
- Domain
- databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100