Details
-
Sub-task
-
Status: Resolved
-
Low
-
Resolution: Fixed
Description
Currently index building assumes one and only way to build all of the indexes - through SecondaryIndexBuilder - which merges all of the sstables together, collates columns etc. Such works fine for built-in indexes but not for SASI since it's attaches to every SSTable individually. We need a "IndexBuildTask" interface (based on CompactionInfo.Holder) to be returned from Index on demand to give power to SI interface implementers to decide how build should work. This might be less effective for CassandraIndex, since this effectively means that collation will have to be done multiple times on the same data, but nevertheless is a good compromise for clean interface to outside world.