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

Josh McKenzie edited comment on CASSANDRA-18044 at 11/15/22 5:44 PM:
---------------------------------------------------------------------

{quote}What if an operator just wants to do PITR for one keyspace and not the 
rest?
{quote}
Gotcha. Thanks; I was being dense.

I don't see any reason why having a param variant that takes a keyspace name 
and enumerates tables in the ReplayFilter rather than just taking a list of 
tables would be a problem. Looks like the ReplayFilter is currently expecting 
{{cassandra.replayList=ks.table,ks.table2,ks.table3,ks2.table1}} format, so 
supporting a variant with just a keyspace name, or perhaps something like 
{{cassandra.replayList=ks.*}} could integrated and extend the existing format 
w/out too much trouble?


was (Author: jmckenzie):
bq. What if an operator just wants to do PITR for one keyspace and not the rest?
Gotcha. Thanks; was being dense.

I don't see any reason why having a param variant that takes a keyspace name 
and enumerates tables in the ReplayFilter rather than just taking a list of 
tables would be a problem. Looks like the ReplayFilter is currently expecting 
{{cassandra.replayList=ks.table,ks.table2,ks.table3,ks2.table1}} format, so 
supporting a variant with just a keyspace name, or perhaps something like 
{{cassandra.replayList=ks.*}} could integrated and extend the existing format 
w/out too much trouble?

> Make CommitLogReplayer replay all tables in a keyspace when only keyspace is 
> specified in cassandra.replayList property
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-18044
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18044
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Local/Commit Log
>            Reporter: Stefan Miklosovic
>            Priority: Normal
>
> CommitLogReplayer reacts on a property "cassandra.replayList" (1) which 
> replays only some tables if needed upon commit log replay.
> However, imagine you have a keyspace of 50 tables and other keyspace of 20 
> tables and you want to replay only all tables of the first keyspace.
> Currently, an operator has to enumerate all 50 tables which is not desirable 
> and it is error prone.
> I suggest to change the logic in such a way that if there is only keyspace 
> listed, we would retrieve all its tables dynamically in runtime and replayed 
> only these.
> The solution would be receptive to both keyspace.table as well as only 
> "keyspace" format.
> Valid examples of such property:
> ks1,ks2,ks3.tb1 // it will retrieve all tables of ks1 and ks2 and appends 
> ks3.tb1
> ks1.tb1,ks2.tb2
> ks1,ks2,ks3 // it will retrieve tables of all these keyspaces
> [https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java#L379-L387]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to