redesign hinted handoff schema
------------------------------
Key: CASSANDRA-1142
URL: https://issues.apache.org/jira/browse/CASSANDRA-1142
Project: Cassandra
Issue Type: Improvement
Components: Core
Reporter: Jonathan Ellis
Assignee: Brandon Williams
Fix For: 0.7
Currently, the HH schema looks like this:
* For each table (keyspace), there is a row in the system hints CF.
* SuperColumns in that row are keys for which we have hinted data.
* Subcolumns names within that supercolumn are host IPs. Subcolumn values are
always empty.
* Instead, we store the row data "normally" in the application table it
belongs in.
This has the drawback that we need to scan the entire hints data set to deliver
hints to a given endpoint. I propose instead we do this:
* Row keys are endpoints for which we have hints.
* SuperColumns in that row are keys for which we have hinted data.
* Subcolumns names within that supercolumn are Keyspace + CF names, joined
with a '-' (which is an illegal character in CF names, so it's safe to use here)
This makes looking up hints for a single endpoint efficient, as well as making
it so we only have to read data from CFs for which we actually have data for
the key.
Actual row data continues to be stored in application tables.
Makes sense to do this after CASSANDRA-1141.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.