[ 
https://issues.apache.org/jira/browse/CASSANDRA-10496?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16153196#comment-16153196
 ] 

Corentin Chary commented on CASSANDRA-10496:
--------------------------------------------

* Splitting partitions is non-trivial, so I left that for later
* What do you mean by "changing locations isn't supported" ? 
https://github.com/apache/cassandra/pull/147/files#diff-be1bfb81c770dcfb7042335b699c4cc3R112
 seems to work
* Currently it will create up to "minThreshold" sstables 
https://github.com/apache/cassandra/pull/147/files#diff-e83635b2fb3079d9b91b039c605c15daR303
* Yes, getBuckets() currently use maxTimestamp, which isn't available 
(currently) in the compaction task. Thus my question: what about using 
minTimestamp (makes sense for reads), or minLocalDeletionTime (makes sense for 
deletes/ttl) ? (not thinking about upgrades ATM).
* Are you talking about sstables generated before this patch ?

> Make DTCS/TWCS split partitions based on time during compaction
> ---------------------------------------------------------------
>
>                 Key: CASSANDRA-10496
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10496
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Marcus Eriksson
>              Labels: dtcs
>             Fix For: 4.x
>
>
> To avoid getting old data in new time windows with DTCS (or related, like 
> [TWCS|CASSANDRA-9666]), we need to split out old data into its own sstable 
> during compaction.
> My initial idea is to just create two sstables, when we create the compaction 
> task we state the start and end times for the window, and any data older than 
> the window will be put in its own sstable.
> By creating a single sstable with old data, we will incrementally get the 
> windows correct - say we have an sstable with these timestamps:
> {{[100, 99, 98, 97, 75, 50, 10]}}
> and we are compacting in window {{[100, 80]}} - we would create two sstables:
> {{[100, 99, 98, 97]}}, {{[75, 50, 10]}}, and the first window is now 
> 'correct'. The next compaction would compact in window {{[80, 60]}} and 
> create sstables {{[75]}}, {{[50, 10]}} etc.
> We will probably also want to base the windows on the newest data in the 
> sstables so that we actually have older data than the window.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to