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

Caleb Rackliffe commented on CASSANDRA-18216:
---------------------------------------------

[~naseryyash] Started to take a look at test coverage, as I think focusing on 
that first will flush out other problems (if they exist) early. One of the big 
things I notice right away is that I'm not sure if we have coverage for the 
changes to {{RowMapping#merge()}}. In other words, I don't think there are 
tests that actually query an index both before and after flushing with a 
sharded index. There are multiple ways to do this:

1.) Add support for sharding to the tests based onĀ {{AbstractQueryTester}}.
2.) Add support for sharding to {{SAITester}}, which itself is already 
randomized along other configuration dimensions (like memtable type, etc.)
3.) Add support for sharding to the AST fuzz tests. Take a look at 
{{SingleNodeTableWalkTest}}.
4.) Add support for sharding to the tests based on {{IndexingTypeSupport}}.

We can do any combination of the above, but the most critical is probably #3. 
For the other approaches, we would just need to think about the trade-offs of 
coverage vs. additional test runtime. Either way, we can also chat about it a 
bit offline too.

> Allow sharding of the SAI in-memory index 
> ------------------------------------------
>
>                 Key: CASSANDRA-18216
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18216
>             Project: Apache Cassandra
>          Issue Type: Improvement
>          Components: Feature/SAI
>            Reporter: Mike Adamson
>            Assignee: Yash Sunil Nasery
>            Priority: Normal
>              Labels: SAI
>             Fix For: 6.x
>
>
> The Memtable implementation allows it to be split into a number of shards. 
> This reduces contention during writes. 
> The MemtableIndex in SAI should follow this practice. It currently does not 
> support sharding so all writes hit the same synchronized write block. The 
> in-memory index search can also use the sharding to reduce the number of 
> indexes that it searches based on the key range passed to the search.
> This exists already in the DS fork: 
> https://github.com/datastax/cassandra/pull/298



--
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