[ 
https://issues.apache.org/jira/browse/CASSANDRA-19368?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

David Capwell updated CASSANDRA-19368:
--------------------------------------
    Resolution: Won't Fix
        Status: Resolved  (was: Open)

There was a conversation in slack and the take away is that the Accord work is 
far too custom that it makes more sense to build its own index... We can 
refactor SAI so that building new indexes are lower effort, but trying to bend 
SAI to work with the Accord requirements is not worth the effort.

What were the Accord requirements?

* Accord index only works on a single system table and works for a single query
* system tables are LocalPartitioner, SAI only works with Murmur
* We write a "blob" which Accord happens to know is a internal data structure 
called a "route", we index the sub-elements of this route and search off those 
sub-elements... SAI only knows "blob" so we are trying to trick SAI to work for 
us (we have a blob that is ordered using blob ordering, but routes are ordered 
differently... so we need to construct invalid blobs to match the SAI order so 
filtering doesn't break us...)

What Accord gains from SAI is the "storage attached index" and not the query 
simplification, so refactoring the management lets Accord leverage SAI but 
define its own custom semantics.

> Add way for SAI to disable row to token index so internal tables may leverage 
> SAI
> ---------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-19368
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-19368
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Feature/2i Index
>            Reporter: David Capwell
>            Priority: Normal
>             Fix For: 5.x
>
>
> Internal tables tend to use LocalPartitioner and may not actually have murmur 
> tokens but rather LocalPartitioner, which is variable length bytes tokens!  
> For internal use cases we don’t always care about paging so don’t really need 
> this index to function.
> The use case motivating this work is for Accord, we wish to add a custom SAI 
> index on the system_accord.commands#routes column.  Since this logic is 
> purely internal we don’t care about paging, but can not leverage SAI at this 
> moment as it hard codes murmur tokens, and fails during memtable flush



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

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to