I’m not sure why it`s not allowed by the Datastax driver, but maybe you could try to use OR instead of IN? SELECT blah FROM foo WHERE <indexed column> = :val1 OR <indexed column> = :val2 ALLOW FILTERING
It should be the same as IN query, but I don’t if it makes a difference for performance. From: Peter Heitman <pe...@heitman.us> Reply-To: "user@cassandra.apache.org" <user@cassandra.apache.org> Date: Monday 4 February 2019 at 07:17 To: "user@cassandra.apache.org" <user@cassandra.apache.org> Subject: SASI queries- cqlsh vs java driver When I create a SASI index on a secondary column, from cqlsh I can execute a query SELECT blah FROM foo WHERE <indexed column> IN ('mytext') ALLOW FILTERING; but not from the java driver: SELECT blah FROM foo WHERE <indexed column> IN :val ALLOW FILTERING Here I get an exception com.datastax.driver.core.exceptions.InvalidQueryException: IN predicates on non-primary-key columns (<indexed column>) is not yet supported at com.datastax.driver.core.exceptions.InvalidQueryException.copy(InvalidQueryException.java:49) ~[cassandra-driver-core-3.6.0.jar:na] Why are they different? Is there anything I can do with the java driver to get past this exception? Peter