forked from datastax/python-driver
-
Notifications
You must be signed in to change notification settings - Fork 49
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Recently, Scylla gained support for tables with custom partitioners. In this context, a partitioner is an algorithm which computes a token (a i64
value) from a partition key. When a table uses a custom partitioner, its data is distributed differently - based on the custom partitioner, not the global partitioner.
Shard/token aware drivers which are unaware of this - just like this one - will calculate wrong tokens and will choose wrong replicas and shards when doing operations on those tables. Shard/token awareness won't work correctly for those tables.
Currently, only CDC log tables have a custom partitioner.
We should implement support for custom partitioners and the CDC partitioner.
References:
- Info about how token is encoded in the
cdc$stream_id
column: https://github.com/scylladb/scylla/blob/master/docs/design-notes/cdc.md#stream-ids - PR that implements support for this in gocql: Add support for the CDC partitioner gocql#69
- PRs that implement support for this in java-driver: Add CDC partitioner (version 3.10.2) java-driver#35 Add CDC partitioner (Version 4.9.0) java-driver#37
d-helios
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request