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