SASI index in cassandra showing erros - cassandra

I am new to cassandra. Whech i check that sasi is very useful to query espesially in where cluase. But i got an error showing
ConfigurationException: Unable to find custom indexer class 'org.apache.cassandra.index.sasi.SASIIndex'
My cassandra verion is 3.0.9
Does any body can help?

You shouldn't be running Cassandra version lower than 3.4 for Sasi index to work.
Check the answer here: https://stackoverflow.com/a/43467081/3582996

Related

Query Cassandra Mviews from Prestodb

I am unable to query cassandra mview from prestodb.
It gives below error.
presto> select * from mykeyspace1.mymview1 where phone in ('1234567890');
Query 20170213_131643_00074_5smf2 failed: line 1:15: Table cassandra.mykeyspace1.mymview1 does not exist
I have DSE 5.0.4 installed.
As of version 0.166, Presto does not support Cassandra materialized views. Please file an issue in the Presto repo: https://github.com/prestodb/presto/issues. If you want to take a shot at fixing it, we can give you pointers in the issue.

Cassandra no viable alternative at input Like

I am very new to Cassandra and am trying to use the new LIKE feature but keep getting the error
Line 1: no viable alternative at input 'LIKE'
I am using DataStax DevCenter and am following the examples on https://docs.datastax.com/en/cql/3.3/cql/cql_using/useSASIIndex.html .I am using Cassandra version 3.7.0 and CQL 3.4.2 and the Datastex version is 1.60 community . I have a table named zips with a text field called city that has 10,000 records and am simply using this CQL code
SELECT * FROM "MyTable".zips WHERE city LIKE 'M%';
Before that I added an index using
CREATE CUSTOM INDEX fn_prefix ON "MyTable".zips (city) USING 'org.apache.cassandra.index.sasi.SASIIndex';
I know that the index worked because it allowed me to do this query
SELECT * FROM "Exoler".zips WHERE city='Miami';
without using allow filter and it returns values. Any suggestions would be great as stated I am very new to this.
If you use Cassandra 3.9 and Datastax DevCenter version 1.5.0 or 1.6.0 it won't support LIKE (atleast on Windows). The result is only "no viable alternative at input 'LIKE'"
But it works fine if you use command prompt:
WINDOWS-Key
cmd
"%CASSANDRA_HOME%\bin\cqlsh"
It is just a bug in Datastax DevCenter I guess.

Strange directory structure after upgrade cassandra dse to 4.8.5

I've just upgraded my dse cluster to the newest version of dse (4.8.5).
After upgrade and first backup taken by opscenter i noticed that dir of my keyspace has strange subdirectories. Before it was only subdirectories with name corresponding to name of column family, but now there are extra subdirectories which names begins with the column family name and end with some id. For exapmle:
adresse
adresse-489b600c299634da953e3102af80b02b
but i have only column family: adresse.
Could you explain this strange behaviour?
Thanks
Przemek
What is your previous version of Cassandra? Are you aware of columnFamily id?
I found answer. In Cassandra 2.0 dir for snapshots was: data_directory_location/keyspace_name/table_name/snapshots/snapshot_name but in cassandra 2.1 is: data_directory_location/keyspace_name/table_name-UUID/snapshots/snapshot_name

Is Cassandra Update IF statement where the condition is an inequality expression supported?

Is UPDATE IF [condition] where [condition] is an inequality, supported by Cassandra CQL?
I had a look over the language reference and it seems that CQL should not be able to support the inequality through its grammar. I used the language reference from here: https://cassandra.apache.org/doc/cql3/CQL.html#updateStmt
What is confusing is that using the C# driver or CQLSH the query is executed successfully, but when doing the same thing from Datasax DevCenter I get an error.
I'm using a query similar to the one below:
UPDATE product
SET edit_date = [new_value]
WHERE customer_id = '4' AND code = 'AMZ-ISMDB'
IF edit_date < [new_value]
The results are as follows:
Datasax DevCenter throws an error when trying to execute the script snippet. The error I get is complaining about the inequality in the UPDATE IF part of the script.
There is one syntax error in the current script (see details below).
Please fix it and try again.
Line 29: no viable alternative at input '<'
If I use CLINQ with the Datasax C# driver the query is generated as above and when executed the update is persisted if the new edit_date is after the existing edit_date which is the expected behaviour.
Using CQLSH the query runs successfully and the update is persisted
The issue is most likely that DevCenter has not been updated to support the latest syntax.
Inequality conditions were added in:
CASSANDRA-6839
Looks like they missed updating the docs when that was added. I open CASSANDRA-10752 to get that fixed.
This issue has been fixed in DevCenter version 1.6.0.

int object has no attribute replace when trying to run a CQL command in cassandra

I have a counter column family in cassandra. When i try to view the data from CQL i get an error even though there is data in the column family.
SELECT * from userstats;
Generates the following error:
'int' object has no attribute 'replace'
I can confirm that the data is in the column family and is working properly since I can view the data with the Datastax Opscenter data explorer.
It sounds like you're using an older version of cqlsh. Upgrading it (just copying the bin/cqlsh file from the Cassandra 1.1 branch head, along with everything under the pylib directory, into place) ought to solve this.
If it doesn't, running cqlsh with --debug would help a lot in diagnosing the problem.

Resources