cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeremiah Jordan (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-10690) Remove unclear indexes() method from 2ndary index API
Date Wed, 18 Nov 2015 16:06:11 GMT


Jeremiah Jordan commented on CASSANDRA-10690:

bq. 'll give my very personal opinion for what it's worth: the 2ndary API has been entirely
rewritten for 3.0 with a fair emphasis on custom indexes and, to the best of my knowledge,
no realistic implementation using it has yet been finished. So I think it's silly to call
that API anything else that a beta and we'll be lucky if this is the only "problem" found
by people actually trying to use it in real life.

Agreed.  I think we should get this interface right now, and not leave something ambiguous
in 3.0.

bq. But later (starting with 3.3? 3.5?) - once we stabilise, we should absolutely not break
the rule.

Also agreed.  If we want to do this we need to do it now.

> Remove unclear indexes() method from 2ndary index API
> -----------------------------------------------------
>                 Key: CASSANDRA-10690
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Local Write-Read Paths
>            Reporter: Tyler Hobbs
>             Fix For: 3.2
> The new secondary index API does not notify indexes of single-row or slice deletions
unless specific columns are deleted.  I believe the problem is that in {{SecondaryIndexManager.newUpdateTransaction()}},
we skip indexes unless {{index.indexes(update.columns())}}.  When no columns are specified
in the the deletion, {{update.columns()}} is empty, which causes all indexes to be skipped.
> I think the correct fix is to do something like this in the {{ModificationStatement}}
> {code}
> if (type == StatementType.DELETE && modifiedColumns.isEmpty())
>     modifiedColumns = cfm.partitionColumns();
> {code}
> However, I'm not sure if that may have unintended side-effects.  What do you think, [~slebresne]?

This message was sent by Atlassian JIRA

View raw message