Details
-
Improvement
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
-
None
Description
In order to avoid rebuilding indexes when no columns are actually indexed (originally implemented in CASSANDRA-9196), CASSANDRA-9281 hinted at overriding SecondaryIndex#getColumnDefs to "filter out" indexes that shouldn't be rebuilt; unfortunately, I believe this would be quite wrong for safety reasons, as it could have side effects on other methods relying on getColumnDefs returning a stable set, and API consistency ones, as it would be confusing to have getColumnDefs behave differently based on runtime conditions, possibly ignoring addColumnDef calls.
I believe SecondaryIndex#indexes is still the best candidate to act as a filter predicate, and I propose to overload it to accept a column definition for all those cases (i.e. index rebuilding) missing a full cell name.
Attachments
Attachments
Issue Links
- is related to
-
CASSANDRA-9281 Index selection during rebuild fails with certain table layouts.
- Resolved
-
CASSANDRA-9196 Do not rebuild indexes if no columns are actually indexed
- Resolved