[ https://issues.apache.org/jira/browse/CASSANDRA-1142?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Brandon Williams updated CASSANDRA-1142: ---------------------------------------- Attachment: 1142.txt Updated patch that deletes the endpoint's hint row when it leaves the ring. > 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 > > Attachments: 1142.txt > > > 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.