Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cassandra non counter family

Tags:

cassandra

cql3

I attempted to create a table with counter as one of the column type in cassandra but getting the following error:

ConfigurationException: ErrorMessage code=2300 [Query invalid because of configuration issue] message="Cannot add a counter column (transaction_count) in a non counter column family"

My table schema is as follows:

CREATE TABLE MARKET_DATA_TRANSACTION_COUNT (
TRADE_DATE TIMESTAMP,      
SECURITY_EXCHANGE TEXT,
PRODUCT_CODE TEXT,
SYMBOL TEXT,
SPREAD_TYPE TEXT,     
USER_DEFINED TEXT,
PRODUCT_GUID TEXT,
CHANNEL_ID INT,  
SECURITY_TYPE TEXT,
INSTRUMENT_GUID TEXT,
SECURITY_ID INT,   
TRANSACTION_COUNT COUNTER,
PRIMARY KEY (TRADE_DATE));
like image 596
Pradnya Alchetti Avatar asked Sep 14 '15 10:09

Pradnya Alchetti


2 Answers

That's a limitation of the current counter implementation. You can't mix counters and regular columns in the same table. So you need a separate table for counters.

They are thinking of removing this limitation in Cassandra 3.x. See this Jira ticket.

like image 183
Jim Meyer Avatar answered Sep 23 '22 22:09

Jim Meyer


This is not exactly the answer to the question, might help some people with the similar error.

If you can make other columns as PRIMARY KEY then its possible.

Eg: CREATE TABLE rate_data (ts varchar, type varchar, rate counter, PRIMARY KEY (ts, type));
like image 35
naren Avatar answered Sep 20 '22 22:09

naren