I have a three-node cluster running Cassandra 1.0.10.  In this cluster
is a keyspace with RF=3.  I *updated* a column family via Astyanax to
add a column definition with an index on that column.  Then I ran a
backfill to populate the column in every row.  Then I tried to query
the index from Java and it failed but so did cassandra-cli:

    get my_column_family where my_column = 'my_value';

Two out of the three nodes are unable to query the new index and throw
this error:

    InvalidRequestException(why:No indexed columns present in index
clause with operator EQ)

The third is able to query the new index happily but doesn't find any
results, even when I expect it to.

`describe cluster;` in cassandra-cli confirms that all three nodes
have the same schema and `show schema;` confirms that schema includes
the new column definition and its index.

The my_column_family.my_index-hd-* files only exist on that one node
that can query the index.

I ran `nodetool repair` on each node and waited for `nodetool
compactionstats` to report zero pending tasks.  Ditto for `nodetool
compact`.  The nodes that failed still fail.  The node that succeeded
still succeed.

Can anyone shed some light?  How do I convince it to let me query the
index from any node?  How do I get it to find results?

Thanks,

Richard

Reply via email to