Code Monkey home page Code Monkey logo

stargate-core's Introduction

stargate-core's People

Contributors

aaruna avatar adkhare avatar gitter-badger avatar raginiw avatar rajanbharti avatar shiti avatar trulite avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

stargate-core's Issues

Date support in queries.

Right now dates are stored as longs. While querying it is not possible to specify a date range without conversion.
We need to allow date specific queries

Howto rebuild index

Hi.
I dropped index and created again (with different parameters) on large data set. After this operation i cannot search on stargate index (rpc timeout).
Is this possible to rebuild index?

Regards,
Radek.

DC-Specific indexing

It would help support mixed clusters if Stargate could index only in a specific DC, so for example the reporting DC could pay the secondary-index overhead for using Stargate without impacting the OLTP nodes.

Ideally, it would be nice to not need to have Stargate installed on the production OLTP nodes at all, but not sure if that's feasible.

Limit Result Feature

I've created 1.7million records in cassandra. Here's my table definition:

CREATE TABLE persons2 (
prefix text,
id int,
age int,
name text,
stargate text,
PRIMARY KEY ((prefix), id)
) WITH
bloom_filter_fp_chance=0.010000 AND
caching='KEYS_ONLY' AND
comment='' AND
dclocal_read_repair_chance=0.100000 AND
gc_grace_seconds=864000 AND
index_interval=128 AND
read_repair_chance=0.000000 AND
replicate_on_write='true' AND
populate_io_cache_on_flush='false' AND
default_time_to_live=0 AND
speculative_retry='99.0PERCENTILE' AND
memtable_flush_period_in_ms=0 AND
compaction={'class': 'SizeTieredCompactionStrategy'} AND
compression={'sstable_compression': 'LZ4Compressor'};

CREATE CUSTOM INDEX person2_idx ON persons2 (stargate) USING 'com.tuplejump.stargate.RowIndex';

The I'd like to only get the first 10 results from my filter:
select * from persons2 where stargate = '{filter:{type:"wildcard", field:"name", value:"a*"}}' limit 10;

but instead I got an rpc_timeout.

Just to simply check what's happening internally. I tried tracing the request. CQL's "TRACING ON/OFF". Then in the system_traces keyspace, the events has more than 10K rows.

Modifying the above query will make it work, like so
select * from persons2 where stargate = '{filter:{type:"wildcard", field:"name", value:"ab"}}' and prefix='a' limit 10;

prefix | id | age | name | stargate
--------+--------+-----+--------------------------+---------------
a | 869204 | 6 | absent_side | {"score":1.0}
a | 869264 | 10 | available_facility | {"score":1.0}
a | 869365 | 22 | abundant_waterfall | {"score":1.0}
a | 869419 | 12 | automatic_rehabilitation | {"score":1.0}
a | 869055 | 44 | acceptable_city | {"score":1.0}
a | 869049 | 22 | absolute_growth | {"score":1.0}
a | 869359 | 41 | abnormal_crowd | {"score":1.0}
a | 732426 | 0 | abstract_end | {"score":1.0}
a | 732271 | 2 | abundant_teacher | {"score":1.0}
a | 732265 | 48 | abnormal_chaos | {"score":1.0}

The response for aggregated results is not a proper JSON

Attempts to parse the response into a json object and got a ParseException.

Got the following response for a query

 stargate
--------------------------------------------------------------
 {groups:[{group:{},aggregations:[{samples:5},{views:9.0}]}]}

(1 rows)

Error thrown when parsing using Jackson,

org.codehaus.jackson.JsonParseException: Unexpected character ('g' (code 103)): was expecting double-quote to start field name
 at [Source: java.io.StringReader@4efe359a; line: 1, column: 3]
    at org.codehaus.jackson.JsonParser._constructError(JsonParser.java:1432)
    at org.codehaus.jackson.impl.JsonParserMinimalBase._reportError(JsonParserMinimalBase.java:385)
    at org.codehaus.jackson.impl.JsonParserMinimalBase._reportUnexpectedChar(JsonParserMinimalBase.java:306)
    at org.codehaus.jackson.impl.ReaderBasedParser._handleUnusualFieldName(ReaderBasedParser.java:1078)
    at org.codehaus.jackson.impl.ReaderBasedParser._parseFieldName(ReaderBasedParser.java:971)
    at org.codehaus.jackson.impl.ReaderBasedParser.nextToken(ReaderBasedParser.java:412)
    at org.codehaus.jackson.map.deser.std.BaseNodeDeserializer.deserializeObject(JsonNodeDeserializer.java:190)
    at org.codehaus.jackson.map.deser.std.JsonNodeDeserializer.deserialize(JsonNodeDeserializer.java:58)
    at org.codehaus.jackson.map.deser.std.JsonNodeDeserializer.deserialize(JsonNodeDeserializer.java:15)
    at org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:2723)
    at org.codehaus.jackson.map.ObjectMapper.readTree(ObjectMapper.java:1533)

It works when the response is modified manually as,
{"groups":[{"group":{},"aggregations":[{"samples":5},{"views":9.0}]}]}

CQL collection with non-null value breaks filter

Version: Stargate 0.9.5 (and development branch as of 10/21/2014)
Cassandra (DSE): 2.0.10

Issue: Adding a CQL collection type (set specifically) results in false negative query result. The query will return the correct result if the value for the collection is either null or if I remove the column. The filter below should return one row. Instead, it returns zero, which is incorrect.

create keyspace reproduction with replication = {'class':'SimpleStrategy', 'replication_factor':1};
use reproduction;
create table bitemporal_index (
id int,
base text,
parameters text,
context text,
vt bigint,
tt set,
stargate text,
PRIMARY KEY((id), vt)
) WITH CLUSTERING ORDER BY (vt DESC);

create custom index bitemporal_idx1 on bitemporal_index(stargate) using 'com.tuplejump.stargate.RowIndex' with options = {
'sg_options':' {
"fields":{
"base":{},
"parameters":{},
"context":{},
"vt":{}
}
}'
};

insert into bitemporal_index (id, base, parameters, context, vt, tt) values (1, 'TEST','','',0, {0});

// This query should return one row. Instead it returns zero rows.
select * from bitemporal_index where stargate = ' {
filter: {
type: "boolean", must:[
{type:"match", field:"base", value:"TEST"},
{type:"range", field:"vt", lower:0, upper:201410210, includeLower:true, includeUpper:true}]
}
}';

Support custom Analyzers.

Right now we have a bunch of OOB analyzers that we support by name.

We need allow configuring custom analyzers in some form of global settings and refer to them by name in field mappings.

Json Parsing not working for complex Json object

StreamingJsonDocument.java used to parse json object. It works fine in case of simple Json. the code didn't work for json with arrays.
Eg 1: Json with complex json arrays
{
"field1":"value1",
"fieldArray1":[
{
"fieldArray2":[
{
"field2":{
"field3":{
"field4":[
"value4"
]
}
},
"field5":"value5"
}
]
},
{
"fieldArray2":[
{
"field2":{
"field3":{
"field4":[
"value4"
]
}
},
"field5":"value5"
}
]
}
],
"field6":"value6",
"fieldArray3":[
{
"field7":"value7",
"field7":"value8"
}
]
}

Eg 2:
{
"age":40,
"eyeColor":"green",
"name":"Casey Stone",
"gender":"female",
"company":"EXODOC",
"address":"760 Gold Street, Choctaw, Iowa, 3595",
"registered":"2014-03-30T18:24:14 -06:-30",
"latitude":30.904815,
"longitude":169.113457,
"tags":[
"idiot",
"fool",
"bad"
],
"friends":[
"friend":[
{
"name":"Casey Stone"
}
],
"friend":[
{
"name":"Clark Wise"
}
],
"friend":[
{
"name":"Letitia Holder"
}
]

]

}

High CPU Utilization

We've noticed upon creating an index that uses stargate, it leads to high constant CPU utilization. Even when the database is receiving no traffic, sitting idly, the cassandra process is sitting on at least 25% CPU utilization (and in some environments over a prolonged period of time we see ~100%) constantly. If the stargate index is dropped, the processes CPU utilization drops back to 0.
We tested with several scenarios, different types of indexes, both master and dev branches, and it occurs with each scenario that was tested. To reproduce, start with a clean database, look at CPU usage, then run the following query (which is provided in the stargate dist as a sample):

CREATE TABLE PERSON (
id int primary key,
isActive boolean,
age int,
eyeColor varchar,
name varchar,
gender varchar,
company varchar,
email varchar,
phone varchar,
address text,
stargate text
);

CREATE CUSTOM INDEX person_idx ON PERSON(stargate) USING
'com.tuplejump.stargate.RowIndex' WITH options =
{
'sg_options':'{
"fields":{
"age":{},
"eyeColor":{},
"name":{},
"gender":{},
"eyeColor":{},
"company":{},
"email":{},
"phone":{},
"address":{}
}
}'
};

In poking through the code, I think it may be related to the run method under the IndexEventSubscriber class, which seems to be looping continuously:
https://github.com/tuplejump/stargate-core/blob/master/src/main/java/com/tuplejump/stargate/IndexEventSubscriber.java#L59

Can you provide some insight into this please?

Updates fail

CREATE KEYSPACE my_keyspace WITH replication =
{
'class': 'SimpleStrategy',
'replication_factor' : 1
};

USE MY_KEYSPACE;

CREATE TABLE PERSON (
id int primary key,
isActive boolean,
age int,
eyeColor varchar,
name text,
gender varchar,
company varchar,
email varchar,
phone varchar,
address text,
stargate text
);

CREATE CUSTOM INDEX person_idx ON PERSON(stargate) USING
'com.tuplejump.stargate.RowIndex' WITH options =
{
'sg_options':'{
"fields":{
"age":{},
"eyeColor":{},
"name":{},
"gender":{},
"company":{},
"phone":{},
"address":{},
"isActive":{}
}
}'
};

INSERT INTO PERSON(id,isActive,age,eyeColor,name,gender,company,email,phone,address) VALUES(1,false,29,'green','Davidson Hurst','male','TALKOLA','[email protected]','+1 (950) 405-2257','691 Hampton Place, Felt, North Carolina, 8466');
INSERT INTO PERSON(id,isActive,age,eyeColor,name,gender,company,email,phone,address) VALUES(2,false,27,'black','Maxwell Kemp','male','AMTAP','[email protected]','+1 (800) 495-3822','466 Kenilworth Place, Fivepointville, Maryland, 6240');
INSERT INTO PERSON(id,isActive,age,eyeColor,name,gender,company,email,phone,address) VALUES(3,false,25,'black','Cecelia Cain','female','MAINELAND','[email protected]','+1 (874) 590-2058','644 Broome Street, Rutherford, Delaware, 6271');
INSERT INTO PERSON(id,isActive,age,eyeColor,name,gender,company,email,phone,address) VALUES(4,true,28,'green','Morse Sanders','male','APEX','[email protected]','+1 (857) 427-3391','786 Division Avenue, Rose, Rhode Island, 4217');
INSERT INTO PERSON(id,isActive,age,eyeColor,name,gender,company,email,phone,address) VALUES(5,true,25,'black','Fernandez Morse','male','OPTICALL','[email protected]','+1 (911) 442-2649','116 Suydam Place, Libertytown, Michigan, 2257');
INSERT INTO PERSON(id,isActive,age,eyeColor,name,gender,company,email,phone,address) VALUES(6,false,27,'brown','Ryan Ross','male','ZAPHIRE','[email protected]','+1 (843) 423-2420','804 Erskine Loop, Robinette, Marshall Islands, 9161');
INSERT INTO PERSON(id,isActive,age,eyeColor,name,gender,company,email,phone,address) VALUES(7,true,34,'brown','Avis Mosley','female','TETRATREX','[email protected]','+1 (883) 461-3832','391 Heyward Street, Hayes, Alabama, 5934');
INSERT INTO PERSON(id,isActive,age,eyeColor,name,gender,company,email,phone,address) VALUES(8,false,29,'black','Juana Ewing','female','REPETWIRE','[email protected]','+1 (809) 410-2791','510 Lake Avenue, Austinburg, Virgin Islands, 2964');
INSERT INTO PERSON(id,isActive,age,eyeColor,name,gender,company,email,phone,address) VALUES(9,false,33,'brown','Edwards Patton','male','MANGELICA','[email protected]','+1 (977) 508-2935','131 Stone Avenue, Cucumber, Minnesota, 4601');
INSERT INTO PERSON(id,isActive,age,eyeColor,name,gender,company,email,phone,address) VALUES(10,false,38,'blue','Weaver Carson','male','ISOLOGIX','[email protected]','+1 (916) 566-2681','560 Hanson Place, Gardners, Puerto Rico, 7821');

Above are the data collection scripts. After the same, following query gives 3 results:
SELECT * FROM PERSON WHERE stargate ='{ filter: { type: "range", field: "age", lower: 30 } }';

As soon as we run the following update:
update PERSON set company = 'ISOLOGIX1' where id = 10;

and then run the above select again, the id=10 row goes away.

This issue is making us restrict from moving ahead.

Regards,
Amit Khare

MashalException when text fields are null.

Getting following error:
ERROR [MutationStage:19420] 2014-12-09 19:48:46,015 CassandraDaemon.java (line 199) Exception in thread Thread[MutationStage:19420,5,main]
java.lang.RuntimeException: org.apache.cassandra.serializers.MarshalException: String didn't validate.
at org.apache.cassandra.service.StorageProxy$LocalMutationRunnable.run(StorageProxy.java:2018)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.cassandra.serializers.MarshalException: String didn't validate.
at org.apache.cassandra.serializers.UTF8Serializer.validate(UTF8Serializer.java:35)
at org.apache.cassandra.db.marshal.AbstractType.getString(AbstractType.java:154)
at com.tuplejump.stargate.Fields.field(Fields.java:117)
at com.tuplejump.stargate.cassandra.RowIndexSupport.addField(RowIndexSupport.java:98)
at com.tuplejump.stargate.cassandra.RowIndexSupport.addFields(RowIndexSupport.java:114)
at com.tuplejump.stargate.cassandra.WideRowIndexSupport.addColumn(WideRowIndexSupport.java:96)
at com.tuplejump.stargate.cassandra.WideRowIndexSupport.indexRow(WideRowIndexSupport.java:44)
at com.tuplejump.stargate.RowIndex.index(RowIndex.java:65)
at org.apache.cassandra.db.index.SecondaryIndexManager$StandardUpdater.updateRowLevelIndexes(SecondaryIndexManager.java:655)
at org.apache.cassandra.db.AtomicSortedColumns.addAllWithSizeDelta(AtomicSortedColumns.java:199)
at org.apache.cassandra.db.Memtable.resolve(Memtable.java:218)
at org.apache.cassandra.db.Memtable.put(Memtable.java:165)
at org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:900)
at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:374)
at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:339)
at org.apache.cassandra.db.RowMutation.apply(RowMutation.java:211)
at org.apache.cassandra.service.StorageProxy$7.runMayThrow(StorageProxy.java:993)
at org.apache.cassandra.service.StorageProxy$LocalMutationRunnable.run(StorageProxy.java:2014)

Table Script:
CREATE TABLE user_test (
deleted boolean,
purchased_license boolean,
user_principal_name text,
enabled boolean,
display_name text,
department text,
given_name text,
sur_name text,
job_title text,
object_id uuid,
customer_id uuid,
is_external boolean,
stargate text,
PRIMARY KEY (customer_id, object_id)
);

Index Script:
create custom index user_test_idx on user_test(stargate) using
'com.tuplejump.stargate.RowIndex' with options =
{
'sg_options':'{ "fields":{
"user_principal_name":{},
"display_name":{},
"department":{},
"given_name":{},
"sur_name":{},
"job_title":{}
}}'
};

Rebuilding the index also throws the same error.

while creating Row Index its shows error like this.

while creating index its shows error like this.
ServerError: ErrorMessage code=0000 [Server error] message="java.lang.RuntimeEx
ception: java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError
: org/apache/lucene/analysis/Analyzer"

False negative query result after updating another indexed cell on same row

Stargate: 0.95 (and develop branch as of 10/21/2014)
Cassandra (DSE): 2.0.10

Description: Range query gives false negative after updating another cell (indexed or non-indexed) on the same row. The update should not have effected the filter results, yet the query is no longer able to find the row after the update. After dropping and recreating the stargate index, the filter works as expected, returning the row that fits the filter criteria.

Reproduction

create keyspace reproduction with replication = {'class':'SimpleStrategy', 'replication_factor':1};
use reproduction;
create table times (
id bigint,
vt_from bigint,
vt_to bigint,
stargate text,
PRIMARY KEY (id)
);

create custom index times_idx on times(stargate) using 'com.tuplejump.stargate.RowIndex' with options =
{
'sg_options':'{
"fields":{
"vt_from": {},
"vt_to": {}
}
}'
};

insert into times (id, vt_from, vt_to) values (0, 0, 999999999);

select * from times where stargate = ' {
filter: {type:"range", field:"vt_from", lower:0, upper:0, includeLower:true, includeUpper:true}
}';

id | stargate | vt_from | vt_to
----+---------------+---------+-----------
0 | {"score":1.0} | 0 | 999999999

(1 rows)

update times set vt_to = 201410210 where id = 0;

// This query gives the false negative. Should return same row as above.
select * from times where stargate = ' {
filter: {type:"range", field:"vt_from", lower:0, upper:0, includeLower:true, includeUpper:true}
}';

(0 rows)

Column definition not found even though it exists.

Reproduction of the issue:

CREATE TABLE reproduction(
id timeuuid, 
partition_id timeuuid, 
stargate text,
PRIMARY KEY(partition_id, id) 
);

CREATE CUSTOM INDEX reproduction_idx ON reproduction(stargate) USING
'com.tuplejump.stargate.RowIndex' WITH options =
{
        'sg_options':'{
                "fields":{
                        "partition_id":{},
                        "id":{}
                        }
        }'
};

Upon creating the custom index, cqlsh will spit out:

TSocket read 0 bytes

and subsequent commands would produce:

error: [Errno 32] Broken pipe

Upon using a driver (specifically Datastax Ruby Driver), I get this error from java:

java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Column Definition for partition_id not found

I am assuming it is related to the composite keying, but just an assumption :). Unless this is related to the field types being timeuuid, but when the partition_id is taken out completely out of sg_options, everything passes (id still being timeuuid). Thanks for the help ๐Ÿ‘

TSocket read 0 bytes while creating the Index (2.0.10 version)

Hi ,

I am using DataStax Community Edition and the Cassandra version i am using is 2.0.10

C:\Program Files\DataStax Community\apache-cassandra\bin>nodetool -h localhost version
Starting NodeTool
ReleaseVersion: 2.0.10

And i have copied the latest stargate-core jar's into my cassandra/lib folder and restarted Cassandra

And when i tried to create the table and index using the scripts provided in your documentation i am getting the Error: "TSocket read 0 bytes"

cqlsh:demo> CREATE KEYSPACE my_keyspace WITH replication =
... {
... 'class': 'SimpleStrategy',
... 'replication_factor' : 1
... };
cqlsh:matters_stargate> use MY_KEYSPACE;
cqlsh:my_keyspace> CREATE TABLE PERSON (
... id int primary key,
... isActive boolean,
... age int,
... eyeColor varchar,
... name text,
... gender varchar,
... company varchar,
... email varchar,
... phone varchar,
... address text,
... stargate text
... );
cqlsh:my_keyspace> CREATE CUSTOM INDEX person_idx ON PERSON(stargate) USING
... 'com.tuplejump.stargate.RowIndex' WITH options =
... {
... 'sg_options':'{
... "fields":{
... "age":{},
... "eyeColor":{},
... "name":{},
... "gender":{},
... "company":{},
... "phone":{},
... "address":{}
... }
... }'
... };
TSocket read 0 bytes

When i checked the logs (c:\program files\datastac community\logs\cassandra.log) i see the follwoing Error:

ERROR [Thrift:7] 2015-01-05 12:14:51,211 CustomTThreadPoolServer.java (line 219) Error occurred during processing of message.
java.lang.RuntimeException: java.lang.ClassNotFoundException: com.tuplejump.stargate.RowIndex
at org.apache.cassandra.db.index.SecondaryIndex.createInstance(SecondaryIndex.java:339)
at org.apache.cassandra.config.CFMetaData.validate(CFMetaData.java:1464)
at org.apache.cassandra.service.MigrationManager.announceColumnFamilyUpdate(MigrationManager.java:240)
at org.apache.cassandra.cql3.statements.CreateIndexStatement.announceMigration(CreateIndexStatement.java:124)
at org.apache.cassandra.cql3.statements.SchemaAlteringStatement.execute(SchemaAlteringStatement.java:79)
at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:158)
at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:175)
at org.apache.cassandra.thrift.CassandraServer.execute_cql3_query(CassandraServer.java:1958)
at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4486)
at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4470)
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
at org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:201)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.tuplejump.stargate.RowIndex
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.apache.cassandra.db.index.SecondaryIndex.createInstance(SecondaryIndex.java:335)
... 15 more

And the stargate-core-0.9.5.jar file is in c:\program files\datastac community\apache-cassandra\lib\ folder !!

Not sure what i am missing here.

Thanks
Sateesh

Issue in using list column

Hi,

I am using Cassandra 2.0.9 with Stargate-core.

I found a problem in tuplejump (stargate-core). When I am using it with a list type field in my table. The indexing stops working.
For e.g.
create table person (
id int primary key,
isActive boolean,
age int,
eyeColor varchar,
name text,
gender varchar,
company varchar,
email varchar,
phone varchar,
address text,
points list,
stargate text
);

With indexing as:
CREATE CUSTOM INDEX person_idx ON PERSON(stargate) USING some
'com.tuplejump.stargate.RowIndex' WITH options =
{
'sg_options':'{
"fields":{
"eyeColor":{},
"age":{},
"phone":{}
}
}'
};

If I insert data in the table along with points list. The following query won't give any results (0 rows):
SELECT * FROM RESULTS1 WHERE stargate ='{
filter: {
type: "range",
field: "x",
lower: 0
}
}';

I tried removing points list from the table and it works i.e. same query will return results as given in link (http://stargate-core.readthedocs.org/en/latest/quickstart.html).

Kindly help me with this issue.

Paging issues

This is assuming the Partition Key is not passed as a part of the search query and assuming that sorting is by Clustering Key.

  1. Paging does not respect Token Range passed as part of Cassandra Pages.
  2. Paging may break in case of deleted rows. Check this.

Data ingestion fails at times, when there there is a lot of writes

The client sees errors similar to

com.datastax.driver.core.exceptions.WriteTimeoutException: Cassandra timeout during write query at consistency ONE (1 replica were required but only 0 acknowledged the write)

The cassandra node has this error

ERROR [Thread-3] 2016-01-29 01:13:14,678 CassandraDaemon.java:227 - Exception in thread Thread[Thread-3,5,main]
java.lang.NullPointerException: null
    at com.tuplejump.stargate.RowIndex$1.run(RowIndex.java:159) ~[stargate-core-1.1.0.jar:na]

NPE when creating index with vanilla Cassandra 2.0.9

I'm using Cassandra 2.0.9 from Apache with Stargate 0.95.
I tested on :
Windows 2k8 with JDK 1.7.0_25.
Linux Red Hat Enterprise Linux Server release 6.4 with JDK 1.7.0_60

I dropped the Stargate jars in Cassandra lib folder and followed your quickstart:
http://stargate-core.readthedocs.org/en/latest/quickstart.html

On both platforms I get a NPE when creating the index. I'm using Datastax DevCenter as CQL client. I seems it's not possible to attach logs to Issues, here is the stacktrace:
ERROR [MigrationStage:1] 2014-07-28 14:17:10,618 CassandraDaemon.java (line 199) Exception in thread Thread[MigrationStage:1,5,main]
java.lang.NullPointerException
at java.io.StringReader.(StringReader.java:50)
at org.codehaus.jackson.JsonFactory.createJsonParser(JsonFactory.java:636)
at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1854)
at com.tuplejump.stargate.lucene.Options.getOptions(Options.java:118)
at com.tuplejump.stargate.RowIndex.init(RowIndex.java:142)
at org.apache.cassandra.db.index.SecondaryIndexManager.addIndexedColumn(SecondaryIndexManager.java:278)
at org.apache.cassandra.db.index.SecondaryIndexManager.reload(SecondaryIndexManager.java:109)
at org.apache.cassandra.db.ColumnFamilyStore.reload(ColumnFamilyStore.java:127)
at org.apache.cassandra.db.DefsTables.updateColumnFamily(DefsTables.java:382)
at org.apache.cassandra.db.DefsTables.mergeColumnFamilies(DefsTables.java:318)
at org.apache.cassandra.db.DefsTables.mergeSchema(DefsTables.java:183)
at org.apache.cassandra.service.MigrationManager$2.runMayThrow(MigrationManager.java:303)
at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.