On Thu, Aug 23, 2012 at 6:54 PM, Richard Crowley <r...@rcrowley.org> wrote:
> 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.

This morning the one node that's able to query the index is also able
to produce the expected results.  I'm a dummy and didn't use science
so I don't know if the `nodetool compact` I ran across the cluster had
anything to do with it.  Regardless, it did not change the situation
in any other way.

>
> `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