You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Josh McKenzie (Jira)" <ji...@apache.org> on 2022/11/15 17:45:00 UTC

[jira] [Comment Edited] (CASSANDRA-18044) Make CommitLogReplayer replay all tables in a keyspace when only keyspace is specified in cassandra.replayList property

    [ 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: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org