[jira] [Commented] (CASSANDRA-6402) cannot query using DynamicCompositeType

2013-11-25 Thread Sylvain Lebresne (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6402?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13831253#comment-13831253
 ] 

Sylvain Lebresne commented on CASSANDRA-6402:
-

While I agree with not supporting DCT specifically in cqlsh, it wouldn't be 
crazy to have a default strategy in cqlsh to handle types it doesn't know. 
Typically, printing it as hex bytes feels appropriate to me, crashing, less so.

 cannot query using DynamicCompositeType
 ---

 Key: CASSANDRA-6402
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6402
 Project: Cassandra
  Issue Type: Bug
  Components: API, Core
Reporter: victorsosa
Priority: Minor

 HI,
 I cannot query using DynamicCompositeType. 
 And this is how it is define the column family:
 DynamicCompositeType 
 (l=LongType,t=TimeUUIDType,s=UTF8Type,S=UTF8Type(reversed=true),L=LongType(reversed=true),T=TimeUUIDType(reversed=true))
 this code is from the project countandra:
 csdb.createColumnFamily(
   CassandraStorage.s_keySpace,
   countandraCF,
   UTF8Type,
   DynamicCompositeType 
 (l=LongType,t=TimeUUIDType,s=UTF8Type,S=UTF8Type(reversed=true),L=LongType(reversed=true),T=TimeUUIDType(reversed=true)),
   CounterColumnType);
 you can get the code for test from:
 https://github.com/milindparikh/Countandra
 The Hector api is calling the same column family with data and it is WORKING 
 FINE, the issue is only when I am trying to use CQL to query the table ddcc.
 NOTE: the project is using cassandra 1.0.1, I updated it to cassandra 2.0.2
 If I try something like:
 select * from ddcc; 
 Error get trying to query a table that have a DynamicCompositeType
 
 cqlsh use countandra;
 cqlsh:countandra select * from ddcc;
 Traceback (most recent call last):
   File ./cqlsh, line 901, in perform_statement_untraced
 self.cursor.execute(statement, decoder=decoder)
   File ./../lib/cql-internal-only-1.4.1.zip/cql-1.4.1/cql/cursor.py, line 
 81, in execute
 return self.process_execution_results(response, decoder=decoder)
   File ./../lib/cql-internal-only-1.4.1.zip/cql-1.4.1/cql/thrifteries.py, 
 line 116, in process_execution_results
 self.get_metadata_info(self.result[0])
   File ./../lib/cql-internal-only-1.4.1.zip/cql-1.4.1/cql/cursor.py, line 
 97, in get_metadata_info
 name, nbytes, vtype, ctype = self.get_column_metadata(colid)
   File ./../lib/cql-internal-only-1.4.1.zip/cql-1.4.1/cql/cursor.py, line 
 104, in get_column_metadata
 return self.decoder.decode_metadata_and_type(column_id)
   File ./../lib/cql-internal-only-1.4.1.zip/cql-1.4.1/cql/decoders.py, line 
 40, in decode_metadata_and_type
 valdtype = cqltypes.lookup_casstype(validator)
   File ./../lib/cql-internal-only-1.4.1.zip/cql-1.4.1/cql/cqltypes.py, line 
 145, in lookup_casstype
 raise ValueError(Don't know how to parse type string %r: %s % 
 (casstype, e))
 ValueError: Don't know how to parse type string 
 'org.apache.cassandra.db.marshal.DynamicCompositeType(T=org.apache.cassandra.db.marshal.ReversedType(org.apache.cassandra.db.marshal.TimeUUIDType),t=org.apache.cassandra.db.marshal.TimeUUIDType,s=org.apache.cassandra.db.marshal.UTF8Type,S=org.apache.cassandra.db.marshal.ReversedType(org.apache.cassandra.db.marshal.UTF8Type),L=org.apache.cassandra.db.marshal.ReversedType(org.apache.cassandra.db.marshal.LongType),l=org.apache.cassandra.db.marshal.LongType)':
  weird characters 
 '=org.apache.cassandra.db.marshal.ReversedType(org.apache.cassandra.db.marshal.TimeUUIDType),t=org.apache.cassandra.db.marshal.TimeUUIDType,s=org.apache.cassandra.db.marshal.UTF8Type,S=org.apache.cassandra.db.marshal.ReversedType(org.apache.cassandra.db.marshal.UTF8Type),L=org.apache.cassandra.db.marshal.ReversedType(org.apache.cassandra.db.marshal.LongType),l=org.apache.cassandra.db.marshal.LongType)'
  at end



--
This message was sent by Atlassian JIRA
(v6.1#6144)


Git Push Summary

2013-11-25 Thread slebresne
Updated Tags:  refs/tags/1.2.12-tentative [deleted] 026865f2a


Git Push Summary

2013-11-25 Thread slebresne
Updated Tags:  refs/tags/cassandra-1.2.12 [created] d4d273dcc


[jira] [Commented] (CASSANDRA-6402) cannot query using DynamicCompositeType

2013-11-25 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6402?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13831256#comment-13831256
 ] 

Aleksey Yeschenko commented on CASSANDRA-6402:
--

bq. While I agree with not supporting DCT specifically in cqlsh, it wouldn't be 
crazy to have a default strategy in cqlsh to handle types it doesn't know. 
Typically, printing it as hex bytes feels appropriate to me, crashing, less so.

We do. DCT is the exception here, b/c the type itself can't be parsed. 
'regular' custom type implementations are just shown as blobs.

 cannot query using DynamicCompositeType
 ---

 Key: CASSANDRA-6402
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6402
 Project: Cassandra
  Issue Type: Bug
  Components: API, Core
Reporter: victorsosa
Priority: Minor

 HI,
 I cannot query using DynamicCompositeType. 
 And this is how it is define the column family:
 DynamicCompositeType 
 (l=LongType,t=TimeUUIDType,s=UTF8Type,S=UTF8Type(reversed=true),L=LongType(reversed=true),T=TimeUUIDType(reversed=true))
 this code is from the project countandra:
 csdb.createColumnFamily(
   CassandraStorage.s_keySpace,
   countandraCF,
   UTF8Type,
   DynamicCompositeType 
 (l=LongType,t=TimeUUIDType,s=UTF8Type,S=UTF8Type(reversed=true),L=LongType(reversed=true),T=TimeUUIDType(reversed=true)),
   CounterColumnType);
 you can get the code for test from:
 https://github.com/milindparikh/Countandra
 The Hector api is calling the same column family with data and it is WORKING 
 FINE, the issue is only when I am trying to use CQL to query the table ddcc.
 NOTE: the project is using cassandra 1.0.1, I updated it to cassandra 2.0.2
 If I try something like:
 select * from ddcc; 
 Error get trying to query a table that have a DynamicCompositeType
 
 cqlsh use countandra;
 cqlsh:countandra select * from ddcc;
 Traceback (most recent call last):
   File ./cqlsh, line 901, in perform_statement_untraced
 self.cursor.execute(statement, decoder=decoder)
   File ./../lib/cql-internal-only-1.4.1.zip/cql-1.4.1/cql/cursor.py, line 
 81, in execute
 return self.process_execution_results(response, decoder=decoder)
   File ./../lib/cql-internal-only-1.4.1.zip/cql-1.4.1/cql/thrifteries.py, 
 line 116, in process_execution_results
 self.get_metadata_info(self.result[0])
   File ./../lib/cql-internal-only-1.4.1.zip/cql-1.4.1/cql/cursor.py, line 
 97, in get_metadata_info
 name, nbytes, vtype, ctype = self.get_column_metadata(colid)
   File ./../lib/cql-internal-only-1.4.1.zip/cql-1.4.1/cql/cursor.py, line 
 104, in get_column_metadata
 return self.decoder.decode_metadata_and_type(column_id)
   File ./../lib/cql-internal-only-1.4.1.zip/cql-1.4.1/cql/decoders.py, line 
 40, in decode_metadata_and_type
 valdtype = cqltypes.lookup_casstype(validator)
   File ./../lib/cql-internal-only-1.4.1.zip/cql-1.4.1/cql/cqltypes.py, line 
 145, in lookup_casstype
 raise ValueError(Don't know how to parse type string %r: %s % 
 (casstype, e))
 ValueError: Don't know how to parse type string 
 'org.apache.cassandra.db.marshal.DynamicCompositeType(T=org.apache.cassandra.db.marshal.ReversedType(org.apache.cassandra.db.marshal.TimeUUIDType),t=org.apache.cassandra.db.marshal.TimeUUIDType,s=org.apache.cassandra.db.marshal.UTF8Type,S=org.apache.cassandra.db.marshal.ReversedType(org.apache.cassandra.db.marshal.UTF8Type),L=org.apache.cassandra.db.marshal.ReversedType(org.apache.cassandra.db.marshal.LongType),l=org.apache.cassandra.db.marshal.LongType)':
  weird characters 
 '=org.apache.cassandra.db.marshal.ReversedType(org.apache.cassandra.db.marshal.TimeUUIDType),t=org.apache.cassandra.db.marshal.TimeUUIDType,s=org.apache.cassandra.db.marshal.UTF8Type,S=org.apache.cassandra.db.marshal.ReversedType(org.apache.cassandra.db.marshal.UTF8Type),L=org.apache.cassandra.db.marshal.ReversedType(org.apache.cassandra.db.marshal.LongType),l=org.apache.cassandra.db.marshal.LongType)'
  at end



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (CASSANDRA-6402) cannot query using DynamicCompositeType

2013-11-25 Thread Sylvain Lebresne (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6402?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13831262#comment-13831262
 ] 

Sylvain Lebresne commented on CASSANDRA-6402:
-

Then can't we just bail on the parsing and use the same treatment as 'regular' 
custom types? Being pedantic, it would actually be possible for a custom type 
to use the same kind of definition than DCT.

 cannot query using DynamicCompositeType
 ---

 Key: CASSANDRA-6402
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6402
 Project: Cassandra
  Issue Type: Bug
  Components: API, Core
Reporter: victorsosa
Priority: Minor

 HI,
 I cannot query using DynamicCompositeType. 
 And this is how it is define the column family:
 DynamicCompositeType 
 (l=LongType,t=TimeUUIDType,s=UTF8Type,S=UTF8Type(reversed=true),L=LongType(reversed=true),T=TimeUUIDType(reversed=true))
 this code is from the project countandra:
 csdb.createColumnFamily(
   CassandraStorage.s_keySpace,
   countandraCF,
   UTF8Type,
   DynamicCompositeType 
 (l=LongType,t=TimeUUIDType,s=UTF8Type,S=UTF8Type(reversed=true),L=LongType(reversed=true),T=TimeUUIDType(reversed=true)),
   CounterColumnType);
 you can get the code for test from:
 https://github.com/milindparikh/Countandra
 The Hector api is calling the same column family with data and it is WORKING 
 FINE, the issue is only when I am trying to use CQL to query the table ddcc.
 NOTE: the project is using cassandra 1.0.1, I updated it to cassandra 2.0.2
 If I try something like:
 select * from ddcc; 
 Error get trying to query a table that have a DynamicCompositeType
 
 cqlsh use countandra;
 cqlsh:countandra select * from ddcc;
 Traceback (most recent call last):
   File ./cqlsh, line 901, in perform_statement_untraced
 self.cursor.execute(statement, decoder=decoder)
   File ./../lib/cql-internal-only-1.4.1.zip/cql-1.4.1/cql/cursor.py, line 
 81, in execute
 return self.process_execution_results(response, decoder=decoder)
   File ./../lib/cql-internal-only-1.4.1.zip/cql-1.4.1/cql/thrifteries.py, 
 line 116, in process_execution_results
 self.get_metadata_info(self.result[0])
   File ./../lib/cql-internal-only-1.4.1.zip/cql-1.4.1/cql/cursor.py, line 
 97, in get_metadata_info
 name, nbytes, vtype, ctype = self.get_column_metadata(colid)
   File ./../lib/cql-internal-only-1.4.1.zip/cql-1.4.1/cql/cursor.py, line 
 104, in get_column_metadata
 return self.decoder.decode_metadata_and_type(column_id)
   File ./../lib/cql-internal-only-1.4.1.zip/cql-1.4.1/cql/decoders.py, line 
 40, in decode_metadata_and_type
 valdtype = cqltypes.lookup_casstype(validator)
   File ./../lib/cql-internal-only-1.4.1.zip/cql-1.4.1/cql/cqltypes.py, line 
 145, in lookup_casstype
 raise ValueError(Don't know how to parse type string %r: %s % 
 (casstype, e))
 ValueError: Don't know how to parse type string 
 'org.apache.cassandra.db.marshal.DynamicCompositeType(T=org.apache.cassandra.db.marshal.ReversedType(org.apache.cassandra.db.marshal.TimeUUIDType),t=org.apache.cassandra.db.marshal.TimeUUIDType,s=org.apache.cassandra.db.marshal.UTF8Type,S=org.apache.cassandra.db.marshal.ReversedType(org.apache.cassandra.db.marshal.UTF8Type),L=org.apache.cassandra.db.marshal.ReversedType(org.apache.cassandra.db.marshal.LongType),l=org.apache.cassandra.db.marshal.LongType)':
  weird characters 
 '=org.apache.cassandra.db.marshal.ReversedType(org.apache.cassandra.db.marshal.TimeUUIDType),t=org.apache.cassandra.db.marshal.TimeUUIDType,s=org.apache.cassandra.db.marshal.UTF8Type,S=org.apache.cassandra.db.marshal.ReversedType(org.apache.cassandra.db.marshal.UTF8Type),L=org.apache.cassandra.db.marshal.ReversedType(org.apache.cassandra.db.marshal.LongType),l=org.apache.cassandra.db.marshal.LongType)'
  at end



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (CASSANDRA-6402) cannot query using DynamicCompositeType

2013-11-25 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6402?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13831268#comment-13831268
 ] 

Aleksey Yeschenko commented on CASSANDRA-6402:
--

The issue lies in deep cassandra-dbapi2 internals, not in cqlsh. It will go 
away once we switch from cassandra-dbapi2 to python-driver for cqlsh 
(CASSANDRA-6307).

 cannot query using DynamicCompositeType
 ---

 Key: CASSANDRA-6402
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6402
 Project: Cassandra
  Issue Type: Bug
  Components: API, Core
Reporter: victorsosa
Priority: Minor

 HI,
 I cannot query using DynamicCompositeType. 
 And this is how it is define the column family:
 DynamicCompositeType 
 (l=LongType,t=TimeUUIDType,s=UTF8Type,S=UTF8Type(reversed=true),L=LongType(reversed=true),T=TimeUUIDType(reversed=true))
 this code is from the project countandra:
 csdb.createColumnFamily(
   CassandraStorage.s_keySpace,
   countandraCF,
   UTF8Type,
   DynamicCompositeType 
 (l=LongType,t=TimeUUIDType,s=UTF8Type,S=UTF8Type(reversed=true),L=LongType(reversed=true),T=TimeUUIDType(reversed=true)),
   CounterColumnType);
 you can get the code for test from:
 https://github.com/milindparikh/Countandra
 The Hector api is calling the same column family with data and it is WORKING 
 FINE, the issue is only when I am trying to use CQL to query the table ddcc.
 NOTE: the project is using cassandra 1.0.1, I updated it to cassandra 2.0.2
 If I try something like:
 select * from ddcc; 
 Error get trying to query a table that have a DynamicCompositeType
 
 cqlsh use countandra;
 cqlsh:countandra select * from ddcc;
 Traceback (most recent call last):
   File ./cqlsh, line 901, in perform_statement_untraced
 self.cursor.execute(statement, decoder=decoder)
   File ./../lib/cql-internal-only-1.4.1.zip/cql-1.4.1/cql/cursor.py, line 
 81, in execute
 return self.process_execution_results(response, decoder=decoder)
   File ./../lib/cql-internal-only-1.4.1.zip/cql-1.4.1/cql/thrifteries.py, 
 line 116, in process_execution_results
 self.get_metadata_info(self.result[0])
   File ./../lib/cql-internal-only-1.4.1.zip/cql-1.4.1/cql/cursor.py, line 
 97, in get_metadata_info
 name, nbytes, vtype, ctype = self.get_column_metadata(colid)
   File ./../lib/cql-internal-only-1.4.1.zip/cql-1.4.1/cql/cursor.py, line 
 104, in get_column_metadata
 return self.decoder.decode_metadata_and_type(column_id)
   File ./../lib/cql-internal-only-1.4.1.zip/cql-1.4.1/cql/decoders.py, line 
 40, in decode_metadata_and_type
 valdtype = cqltypes.lookup_casstype(validator)
   File ./../lib/cql-internal-only-1.4.1.zip/cql-1.4.1/cql/cqltypes.py, line 
 145, in lookup_casstype
 raise ValueError(Don't know how to parse type string %r: %s % 
 (casstype, e))
 ValueError: Don't know how to parse type string 
 'org.apache.cassandra.db.marshal.DynamicCompositeType(T=org.apache.cassandra.db.marshal.ReversedType(org.apache.cassandra.db.marshal.TimeUUIDType),t=org.apache.cassandra.db.marshal.TimeUUIDType,s=org.apache.cassandra.db.marshal.UTF8Type,S=org.apache.cassandra.db.marshal.ReversedType(org.apache.cassandra.db.marshal.UTF8Type),L=org.apache.cassandra.db.marshal.ReversedType(org.apache.cassandra.db.marshal.LongType),l=org.apache.cassandra.db.marshal.LongType)':
  weird characters 
 '=org.apache.cassandra.db.marshal.ReversedType(org.apache.cassandra.db.marshal.TimeUUIDType),t=org.apache.cassandra.db.marshal.TimeUUIDType,s=org.apache.cassandra.db.marshal.UTF8Type,S=org.apache.cassandra.db.marshal.ReversedType(org.apache.cassandra.db.marshal.UTF8Type),L=org.apache.cassandra.db.marshal.ReversedType(org.apache.cassandra.db.marshal.LongType),l=org.apache.cassandra.db.marshal.LongType)'
  at end



--
This message was sent by Atlassian JIRA
(v6.1#6144)


Git Push Summary

2013-11-25 Thread slebresne
Updated Tags:  refs/tags/2.0.3-tentative [deleted] 3c9760bdb


Git Push Summary

2013-11-25 Thread slebresne
Updated Tags:  refs/tags/cassandra-2.0.3 [created] 7c21e122f


[jira] [Commented] (CASSANDRA-6401) Clustering order by property does not support when the column name is written in uppercase

2013-11-25 Thread DIKSHA KUSHWAH (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6401?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13831347#comment-13831347
 ] 

DIKSHA KUSHWAH commented on CASSANDRA-6401:
---

why it is not needed with lower case?  we can create table without quote with 
lower case num.

 Clustering order by property does not support when the column name is 
 written in uppercase 
 ---

 Key: CASSANDRA-6401
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6401
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Windows 7  64 bit
Reporter: DIKSHA KUSHWAH

 Database Version : CASSANDRA 2.0.1
 1. Connect cassandra 2.0.1 and execute following query:-
CREATE TABLE test.cat  ( 
   cache text,
   num   int,
   PRIMARY KEY(cache,num)
 ) WITH
   CLUSTERING ORDER BY (num DESC);
 2. Now execute following query:-
 
 CREATE TABLE DOG  ( 
   CACHE text,
   NUM   int,
   PRIMARY KEY(CACHE,NUM)
 ) WITH
   CLUSTERING ORDER BY (NUM DESC);
 3. When we create table cat,it is successfully created but when we create 
 table DOG it gives error Missing CLUSTERING ORDER for column NUM because 
 Table DOG column name NUM is in upper case and Table CAT column name 
 num is in lower case.
 4. Cassandra supports when we create a Table with column names in upper case 
 without CLUSTERING ORDER BY  property then it should also support this 
 property with upper case column names.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (CASSANDRA-5417) Push composites support in the storage engine

2013-11-25 Thread Sylvain Lebresne (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5417?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13831351#comment-13831351
 ] 

Sylvain Lebresne commented on CASSANDRA-5417:
-

Thanks for the review.

bq. 0xFF looks suspicious to me - should perhaps be 0x?

Correct, good catch (pushed a fix to the same branch as before).

bq. It looks like we're interning TimeUUIDType column identifiers

I don't think that's the case but we may have to be a little more precise here. 
 Bug notwithstanding, we only intern names that are part of the column_metadata 
in thrift parlance. Now thrift does let you declare a column_metadata that is a 
timeUUID (it's useless and probably nobody does it, but it's possible) but even 
in that case, we'll only intern the timeUUID that were declared. We do not 
intern dynamic names in particular if that is what you meant (contrarily to the 
current code I might add).

bq. CellName is confusing, as it isn't a name-of-a-cell, but a Cell-with-a-name

Well, actually no. It *is* a name-of-a-cell. At that point, I need to add that 
what we refer as 'cell' nowadays is what is currently the Column class.  
Obviously, the naming would be a lot more sensible if the Column class was 
actually named Cell, and we plan on changing that (CASSANDRA-6063), but I 
didn't wanted to include it in this patch-set because it's big enough as it is 
(CASSANDRA-6063 is marked 3.0 but I'm definitively for doing at least the 
Column-Cell renaming along with this patch (though I'd leave the rest of 
CASSANDRA-6063 for later)). Anyway, this also means than in your nits patch, 
I'd rather not do the cellNameFromByteBuffer-cellFromByteBuffer renaming.

bq. Compound(.*)CellName was also a little confusing (to me, at least), suggest 
either Prefixed/Clustered and (Blank)/Unclustered

Can't say I'm overjoy with Compound myself. However, Prefixed and/or Clustered 
doesn't really apply here (a simple cell name is not more or less 
prefixed/clustered than a compound one) so I don't think it's better. The 
difference between Simple and Compound (using the naming of the patch) is 
largely an implementation detail, namely whether the underlying encoding starts 
by 'number of components' or not (I would have loved not leaking the 
isCompound() method in the CellName interface in particular, to really nail the 
point that it's an implementation detail (for backward compatibility) but there 
still is a handful of places where we kind of need it so I've let it be).

{quote}
Remove Sparse from *SparseCellName - misleading, really it is just !Dense, so 
leave out Dense from the name
{quote}

At the risk of sounding obtuse, I've tried that initially and I kind of like it 
the way it is. Let me note that the Sparse naming doesn't really leak outside 
the 'composite' packages, most of the code just use the 'isDense' method of 
CellName and that's it. But as far as the implementations of CellName goes, I 
think SimpleCellName would suggest it's somewhat a super-class of 
SimpleDenseCellName which it's not (see the point below too). We do have 4 
largely orthogonal layout and I like making that very explicit in the 
implementation names. Probably a matter of personal preference though. 

bq. I would possibly suggest removing CellName interface, and having 
SimpleSparseCellName be simply NamedCell

That would be wrong imo. There is no meaningful inheritance relations between 
the cell names implementations (each pair of implementations do share a number 
of characteristics, which is why there is a few Abstract classes to avoid code 
duplication, but at the concrete implementation level there is no inheritance 
relation). I also like having CellName being an interface because that allows 
to cleanly have a few specific implementations like the EMPTY one (and the 
FakeCellName from ColumnSlice, though that one is largely a hack so it's 
probably a bad example).

bq. Also, suggest renaming CompositeBound to one of BoundedComposite

Good idea.

bq. Changed toByteBuffer to always return a ByteBuffer that cannot affect the 
state of the callee, and modified callers that were using .duplicate() to no 
longer do so

I'd rather not. We have an implicit rule in the code base that a caller should 
never expect it can modify the state of a ByteBuffer and it should call 
duplicate() if it needs to (one goal being to avoid defensive duplicate() when 
it's not needed since most of the code is written in a way that don't modify 
the ByteBuffers anyway) so the patch is consistent with the code base in that 
respect. Besides, in this particular case, thrift queries will call 
toByteBuffer() all the time without needing the duplication so leaving it to 
the caller does save some.

bq. Following code comment in CompositeType appears to be incomplete

Definitively not the most clear comment but as far as I can tell it's not 
incomplete. Can you clarify what you 

[jira] [Commented] (CASSANDRA-6234) Add metrics for native protocols

2013-11-25 Thread Sylvain Lebresne (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6234?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13831354#comment-13831354
 ] 

Sylvain Lebresne commented on CASSANDRA-6234:
-

Yeah, let's start with that for this ticket. We can always add more later if 
more is needed.

 Add metrics for native protocols
 

 Key: CASSANDRA-6234
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6234
 Project: Cassandra
  Issue Type: New Feature
Reporter: Adam Hattrell
Assignee: Mikhail Stepura
 Attachments: Oracle_Java_Mission_Control_2013-11-22_15-50-09.png


 It would be very useful to expose metrics related to the native protocol.
 Initially I have a user that would like to be able to monitor the usage of 
 native transport threads.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (CASSANDRA-5417) Push composites support in the storage engine

2013-11-25 Thread Benedict (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5417?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13831386#comment-13831386
 ] 

Benedict commented on CASSANDRA-5417:
-

bq. Bug notwithstanding, we only intern names that are part of the 
column_metadata in thrift parlance

Good point, I misread this at the start of processing the patch, should have 
confirmed once I'd got a proper handle on it.

bq. Well, actually no. It is a name-of-a-cell. ...  the naming would be a lot 
more sensible if the Column class was actually named Cell, and we plan on 
changing that...

Well, it seems to me the nomenclature is a little confused because we're 
overloading the name with data. This is parcelled up in the Prefix business 
too. A Simple cell name isn't really prefixed/clustered (by the terminology of 
CQL), and is simply a name-of-a-cell, but when we're mungung data into the name 
to support our clustering behaviour it becomes (to me) a 
(part-of-a-)cell-with-a-name. These were simply suggestions for maybe 
clarifying though, after struggling to grasp it initially. Since I understand 
what's going on now, I won't lose much sleep over the naming, and I can now see 
where you're coming from. I certainly agree that it's used to identify a cell, 
so I'll leave it be.

Sparse in particular threw me, as I can't see a reason for the moniker, and in 
normal English usage it means more than 'not dense', but I won't lose any sleep 
over it either.

bq. There is no meaningful inheritance relations between the cell names 
implementations

This was definitely my most tentative suggestion, and I suggested it only for 
simplifying the class naming and because it didn't seem *too* ugly. Definitely 
happy to ignore it.

bq. Besides, in this particular case, thrift queries will call toByteBuffer() 
all the time without needing the duplication so leaving it to the caller does 
save some

Fair enough - seemed we had the opposite problem with new BBs created in 
Composite*, but since duplicate() will be almost free in almost all cases, it 
was a bit of a non-issue in the first place. Happy to stick with the current 
conventions.

bq. Definitively not the most clear comment but as far as I can tell it's not 
incomplete.

Well, e.g., it says we can select = 'a AND = 'a' both by using 'a'0. I 
assume the intention is to use the latter in a range, with an inclusive lower 
bound and exclusive upper bound. But it isn't clear.

 Push composites support in the storage engine
 -

 Key: CASSANDRA-5417
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5417
 Project: Cassandra
  Issue Type: Improvement
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
  Labels: performance
 Fix For: 2.1


 CompositeType happens to be very useful and is now widely used: CQL3 heavily 
 rely on it, and super columns are now using it too internally. Besides, 
 CompositeType has been advised as a replacement of super columns on the 
 thrift side for a while, so it's safe to assume that it's generally used 
 there too.
 CompositeType has initially been introduced as just another AbstractType.  
 Meaning that the storage engine has no nothing whatsoever of composites 
 being, well, composite. This has the following drawbacks:
 * Because internally a composite value is handled as just a ByteBuffer, we 
 end up doing a lot of extra work. Typically, each time we compare 2 composite 
 value, we end up deserializing the components (which, while it doesn't copy 
 data per-se because we just slice the global ByteBuffer, still waste some cpu 
 cycles and allocate a bunch of ByteBuffer objects). And since compare can be 
 called *a lot*, this is likely not negligible.
 * This make CQL3 code uglier than necessary. Basically, CQL3 makes extensive 
 use of composites, and since it gets backs ByteBuffer from the internal 
 columns, it always have to check if it's actually a compositeType or not, and 
 then split it and pick the different parts it needs. It's only an API 
 problem, but having things exposed as composites directly would definitively 
 make thinks cleaner. In particular, in most cases, CQL3 don't care whether it 
 has a composite with only one component or a non-really-composite value, but 
 we still always distinguishes both cases.  Lastly, if we do expose composites 
 more directly internally, it's not a lot more work to internalize better 
 the different parts of the cell name that CQL3 uses (what's the clustering 
 key, what's the actuall CQL3 column name, what's the collection element), 
 making things cleaner. Last but not least, there is currently a bunch of 
 places where methods take a ByteBuffer as argument and it's hard to know 
 whether it expects a cell name or a CQL3 column name. This is pretty error 
 prone.
 * It makes it 

[jira] [Commented] (CASSANDRA-5493) Confusing output of CommandDroppedTasks

2013-11-25 Thread JIRA

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13831497#comment-13831497
 ] 

Ondřej Černoš commented on CASSANDRA-5493:
--

Yes, the output reports 6 addresses from local datacenter (both private and 
public) and 3 addresses from the remote datacenter (public IPs). Tested on 
1.2.9.

 Confusing output of CommandDroppedTasks
 ---

 Key: CASSANDRA-5493
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5493
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.3
Reporter: Ondřej Černoš
Assignee: Mikhail Stepura
Priority: Minor

 We have 2 DCs, 3 nodes in each, using EC2 support. We are debugging nodetool 
 repair problems (roughly 1 out of 2 attempts just freezes). We looked into 
 the MessagingServiceBean to see what is going on using jmxterm. See the 
 following:
 {noformat}
 #mbean = org.apache.cassandra.net:type=MessagingService:
 CommandDroppedTasks = { 
  107.aaa.bbb.ccc = 0;
  166.ddd.eee.fff = 124320;
  10.ggg.hhh.iii = 0;
  107.jjj.kkk.lll = 0;
  166.mmm.nnn.ooo = 1336699;
  166.ppp.qqq.rrr = 1329171;
  10.sss.ttt.uuu = 0;
  107.vvv.www.xxx = 0;
 };
 {noformat}
 The problem with this output is it has 8 records. The node's neighbours (the 
 107 and 10 nodes) are mentioned twice in the output, once with their public 
 IPs and once with their private IPs. The nodes in remote DC (the 166 ones) 
 are reported only once. I am pretty sure this is a bug - the node should be 
 reported only with one of its addresses in all outputs from Cassandra and it 
 should be consistent.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (CASSANDRA-6404) Tools emit ERRORs and WARNINGs about missing javaagent

2013-11-25 Thread Sam Tunnicliffe (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6404?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sam Tunnicliffe updated CASSANDRA-6404:
---

Attachment: 0001-Set-javaagent-when-running-tools-in-bin.patch

 Tools emit ERRORs and WARNINGs about missing javaagent 
 ---

 Key: CASSANDRA-6404
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6404
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Sam Tunnicliffe
Assignee: Sam Tunnicliffe
Priority: Minor
 Fix For: 1.2.12, 2.0.3

 Attachments: 0001-Set-javaagent-when-running-tools-in-bin.patch


 The combination of CASSANDRA-6107  CASSANDRA-6293 has lead to a number of 
 the tools shipped in bin/ to display the following warnings when run:
 {code}
 ERROR 15:21:47,337 Unable to initialize MemoryMeter (jamm not specified as 
 javaagent).  This means Cassandra will be unable to measure object sizes 
 accurately and may consequently OOM.
  WARN 15:21:47,506 MemoryMeter uninitialized (jamm not specified as java 
 agent); KeyCache size in JVM Heap will not be calculated accurately. Usually 
 this means cassandra-env.sh disabled jamm because you are u
 {code}
 Although harmless, these are a bit disconcerting. The simplest fix seems to 
 be to set the javaagent switch as we do for the main C* launch.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Assigned] (CASSANDRA-6404) Tools emit ERRORs and WARNINGs about missing javaagent

2013-11-25 Thread Sam Tunnicliffe (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6404?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sam Tunnicliffe reassigned CASSANDRA-6404:
--

Assignee: Sam Tunnicliffe

 Tools emit ERRORs and WARNINGs about missing javaagent 
 ---

 Key: CASSANDRA-6404
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6404
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Sam Tunnicliffe
Assignee: Sam Tunnicliffe
Priority: Minor
 Fix For: 1.2.12, 2.0.3

 Attachments: 0001-Set-javaagent-when-running-tools-in-bin.patch


 The combination of CASSANDRA-6107  CASSANDRA-6293 has lead to a number of 
 the tools shipped in bin/ to display the following warnings when run:
 {code}
 ERROR 15:21:47,337 Unable to initialize MemoryMeter (jamm not specified as 
 javaagent).  This means Cassandra will be unable to measure object sizes 
 accurately and may consequently OOM.
  WARN 15:21:47,506 MemoryMeter uninitialized (jamm not specified as java 
 agent); KeyCache size in JVM Heap will not be calculated accurately. Usually 
 this means cassandra-env.sh disabled jamm because you are u
 {code}
 Although harmless, these are a bit disconcerting. The simplest fix seems to 
 be to set the javaagent switch as we do for the main C* launch.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Created] (CASSANDRA-6404) Tools emit ERRORs and WARNINGs about missing javaagent

2013-11-25 Thread Sam Tunnicliffe (JIRA)
Sam Tunnicliffe created CASSANDRA-6404:
--

 Summary: Tools emit ERRORs and WARNINGs about missing javaagent 
 Key: CASSANDRA-6404
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6404
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Sam Tunnicliffe
Priority: Minor
 Fix For: 2.0.3, 1.2.12
 Attachments: 0001-Set-javaagent-when-running-tools-in-bin.patch

The combination of CASSANDRA-6107  CASSANDRA-6293 has lead to a number of the 
tools shipped in bin/ to display the following warnings when run:

{code}
ERROR 15:21:47,337 Unable to initialize MemoryMeter (jamm not specified as 
javaagent).  This means Cassandra will be unable to measure object sizes 
accurately and may consequently OOM.
 WARN 15:21:47,506 MemoryMeter uninitialized (jamm not specified as java 
agent); KeyCache size in JVM Heap will not be calculated accurately. Usually 
this means cassandra-env.sh disabled jamm because you are u
{code}

Although harmless, these are a bit disconcerting. The simplest fix seems to be 
to set the javaagent switch as we do for the main C* launch.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (CASSANDRA-1632) Thread workflow and cpu affinity

2013-11-25 Thread Chris Burroughs (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-1632?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13831609#comment-13831609
 ] 

Chris Burroughs commented on CASSANDRA-1632:


Jason, thank you for the long writeup.

On affinity and IRQs:  A commonly recommended setup for an event driven load 
balancer (ie haproxy) is to pin network interrupts to one core and run the lb 
on another core with a shared L2 cache.  This works better on CPUs when some 
cores actually share L2 caches.  The closest analogue for Cassandra would be to 
pin interrupts, run an evented selector thread on another core, and everything 
else on the rest.

It would be interesting of there are best practices around interrupts that 
could get that 5% performance bump.  Pinning, disable/enabling irqbalance are 
all relativity easy to change at least in a bash-script kind of way. On the 
other hand, I've never heard a %sintr is too high! complaints on the mailing 
list.

 Thread workflow and cpu affinity
 

 Key: CASSANDRA-1632
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1632
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Chris Goffinet
Assignee: Jason Brown
  Labels: performance
 Fix For: 2.1

 Attachments: 1632-v2.txt, 1632-v3.diff, 1632-v4.diff, 
 1632_batchRead-v1.diff, patch_v5.diff, patch_v5a.diff, threadAff_reads.txt, 
 threadAff_writes.txt


 Here are some thoughts I wanted to write down, we need to run some serious 
 benchmarks to see the benefits:
 1) All thread pools for our stages use a shared queue per stage. For some 
 stages we could move to a model where each thread has its own queue. This 
 would reduce lock contention on the shared queue. This workload only suits 
 the stages that have no variance, else you run into thread starvation. Some 
 stages that this might work: ROW-MUTATION.
 2) Set cpu affinity for each thread in each stage. If we can pin threads to 
 specific cores, and control the workflow of a message from Thrift down to 
 each stage, we should see improvements on reducing L1 cache misses. We would 
 need to build a JNI extension (to set cpu affinity), as I could not find 
 anywhere in JDK where it was exposed. 
 3) Batching the delivery of requests across stage boundaries. Peter Schuller 
 hasn't looked deep enough yet into the JDK, but he thinks there may be 
 significant improvements to be had there. Especially in high-throughput 
 situations. If on each consumption you were to consume everything in the 
 queue, rather than implying a synchronization point in between each request.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (CASSANDRA-6404) Tools emit ERRORs and WARNINGs about missing javaagent

2013-11-25 Thread Brandon Williams (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6404?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brandon Williams updated CASSANDRA-6404:


Reviewer: Brandon Williams

 Tools emit ERRORs and WARNINGs about missing javaagent 
 ---

 Key: CASSANDRA-6404
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6404
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Sam Tunnicliffe
Assignee: Sam Tunnicliffe
Priority: Minor
 Attachments: 0001-Set-javaagent-when-running-tools-in-bin.patch


 The combination of CASSANDRA-6107  CASSANDRA-6293 has lead to a number of 
 the tools shipped in bin/ to display the following warnings when run:
 {code}
 ERROR 15:21:47,337 Unable to initialize MemoryMeter (jamm not specified as 
 javaagent).  This means Cassandra will be unable to measure object sizes 
 accurately and may consequently OOM.
  WARN 15:21:47,506 MemoryMeter uninitialized (jamm not specified as java 
 agent); KeyCache size in JVM Heap will not be calculated accurately. Usually 
 this means cassandra-env.sh disabled jamm because you are u
 {code}
 Although harmless, these are a bit disconcerting. The simplest fix seems to 
 be to set the javaagent switch as we do for the main C* launch.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (CASSANDRA-6231) Add snapshot disk space to cfstats

2013-11-25 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13831677#comment-13831677
 ] 

Jonathan Ellis commented on CASSANDRA-6231:
---

How hard would it be to break out space used by sstables that aren't live 
anymore?  Could be confusing to double-count (or 10x-count or more with lots 
of snapshots).

 Add snapshot disk space to cfstats
 --

 Key: CASSANDRA-6231
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6231
 Project: Cassandra
  Issue Type: Bug
Reporter: Jonathan Ellis
Assignee: Mikhail Stepura
Priority: Minor
  Labels: lhf
 Attachments: CASSANDRA-2.0-6231.patch


 As discussed in CASSANDRA-6179, this could help avoid some user confusion, 
 especially when snapshots are autocreated for drop/truncate.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (CASSANDRA-6234) Add metrics for native protocols

2013-11-25 Thread Mikhail Stepura (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6234?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mikhail Stepura updated CASSANDRA-6234:
---

Attachment: CASSANDRA-2.0-6234.patch

Patch to expose {{RequestThreadPoolExecutor}} through 
{{o.a.c.metrics.ThreadPoolMetrics}}.

{{currentBlocked}} will always be 0, because we don't try to re-execute the 
rejected task (in contradiction to DebuggableThreadPoolExecutor-based 
executors).

 Add metrics for native protocols
 

 Key: CASSANDRA-6234
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6234
 Project: Cassandra
  Issue Type: New Feature
Reporter: Adam Hattrell
Assignee: Mikhail Stepura
 Attachments: CASSANDRA-2.0-6234.patch, 
 Oracle_Java_Mission_Control_2013-11-22_15-50-09.png


 It would be very useful to expose metrics related to the native protocol.
 Initially I have a user that would like to be able to monitor the usage of 
 native transport threads.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (CASSANDRA-6374) AssertionError for rows with zero columns

2013-11-25 Thread Aleksey Yeschenko (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6374?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksey Yeschenko updated CASSANDRA-6374:
-

Fix Version/s: (was: 2.0.4)
   2.0.3

 AssertionError for rows with zero columns
 -

 Key: CASSANDRA-6374
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6374
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Anton Gorbunov
Assignee: Jonathan Ellis
 Fix For: 2.0.3

 Attachments: 6374.txt


 After upgrading from 1.2.5 to 1.2.9 and then to 2.0.2 we've got those 
 exceptions:
 {code}
 ERROR [FlushWriter:1] 2013-11-18 16:14:36,305 CassandraDaemon.java (line 187) 
 Exception in thread Thread[FlushWriter:1,5,main]
 java.lang.AssertionError
 at 
 org.apache.cassandra.io.sstable.SSTableWriter.rawAppend(SSTableWriter.java:198)
 at 
 org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:186)
 at 
 org.apache.cassandra.db.Memtable$FlushRunnable.writeSortedContents(Memtable.java:360)
 at 
 org.apache.cassandra.db.Memtable$FlushRunnable.runWith(Memtable.java:315)
 at 
 org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48)
 at 
 org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
 at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
 at java.lang.Thread.run(Thread.java:722)
 {code}
 Also found similar issue in this thread:
 http://www.mail-archive.com/user@cassandra.apache.org/msg32875.html
 There Aaron Morton said that its caused by leaving rows with zero columns - 
 that's exactly what we do in some CFs (using Thrift  Astyanax).



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (CASSANDRA-6327) select with in clause wrongly returns empty result

2013-11-25 Thread Constance Eustace (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6327?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13831886#comment-13831886
 ] 

Constance Eustace commented on CASSANDRA-6327:
--

Does this fix CASSANDRA-6137?

 select with in clause wrongly returns empty result
 

 Key: CASSANDRA-6327
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6327
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Cassandra 2.0.2, x86-64 Ubuntu 13.10
Reporter: Duncan Sands
Assignee: Sylvain Lebresne
 Fix For: 2.0.3

 Attachments: 0001-check-if-any-of-the-slices-intersects.patch, 
 6327.txt, current_prices.tar


 This query returns no result:
 cqlsh:tick_data select syd from current_prices where shard = 1 and syd in 
 (1, 556129);
 (0 rows)
 However this query does return a result, showing that the previous query was 
 wrong to return no result:
 cqlsh:tick_data select syd from current_prices where shard = 1 and syd in 
 (556129);
  syd
 
  556129
 (1 rows)
 This can be reproduced as follows:
 (a) Create a keyspace tick_data:
 create keyspace tick_data WITH replication = {'class': 'SimpleStrategy', 
 'replication_factor': 1};
 (b) Create a table current_prices:
 CREATE TABLE current_prices (
   shard int,
   syd int,
   ask decimal,
   bid decimal,
   currency ascii,
   when timeuuid,
   PRIMARY KEY (shard, syd)
 );
 (c) Stop Cassandra and untar the attached tar file in 
 /var/lib/cassandra/data/tick_data/.  It populates the current_prices table.
 (d) Restart Cassandra and perform the above selects.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Comment Edited] (CASSANDRA-6327) select with in clause wrongly returns empty result

2013-11-25 Thread Constance Eustace (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6327?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13831886#comment-13831886
 ] 

Constance Eustace edited comment on CASSANDRA-6327 at 11/25/13 8:39 PM:


Does this fix CASSANDRA-6137?

Nevermind, you put in a comment saying it probably was... 

I have an audit job looking for this, so if we see it come up, we'll let you 
know once we move prod to 2.0.3


was (Author: cowardlydragon):
Does this fix CASSANDRA-6137?

 select with in clause wrongly returns empty result
 

 Key: CASSANDRA-6327
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6327
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Cassandra 2.0.2, x86-64 Ubuntu 13.10
Reporter: Duncan Sands
Assignee: Sylvain Lebresne
 Fix For: 2.0.3

 Attachments: 0001-check-if-any-of-the-slices-intersects.patch, 
 6327.txt, current_prices.tar


 This query returns no result:
 cqlsh:tick_data select syd from current_prices where shard = 1 and syd in 
 (1, 556129);
 (0 rows)
 However this query does return a result, showing that the previous query was 
 wrong to return no result:
 cqlsh:tick_data select syd from current_prices where shard = 1 and syd in 
 (556129);
  syd
 
  556129
 (1 rows)
 This can be reproduced as follows:
 (a) Create a keyspace tick_data:
 create keyspace tick_data WITH replication = {'class': 'SimpleStrategy', 
 'replication_factor': 1};
 (b) Create a table current_prices:
 CREATE TABLE current_prices (
   shard int,
   syd int,
   ask decimal,
   bid decimal,
   currency ascii,
   when timeuuid,
   PRIMARY KEY (shard, syd)
 );
 (c) Stop Cassandra and untar the attached tar file in 
 /var/lib/cassandra/data/tick_data/.  It populates the current_prices table.
 (d) Restart Cassandra and perform the above selects.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Comment Edited] (CASSANDRA-6327) select with in clause wrongly returns empty result

2013-11-25 Thread Constance Eustace (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6327?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13831886#comment-13831886
 ] 

Constance Eustace edited comment on CASSANDRA-6327 at 11/25/13 8:41 PM:


Does this fix CASSANDRA-6137?

Nevermind, you put in a comment saying it probably was... 

I have an audit job looking for this, so if we see it come up, we'll let you 
know once we move prod to 2.0.3

Any idea why compaction run right after schema creation seemed to fix this?


was (Author: cowardlydragon):
Does this fix CASSANDRA-6137?

Nevermind, you put in a comment saying it probably was... 

I have an audit job looking for this, so if we see it come up, we'll let you 
know once we move prod to 2.0.3

 select with in clause wrongly returns empty result
 

 Key: CASSANDRA-6327
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6327
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Cassandra 2.0.2, x86-64 Ubuntu 13.10
Reporter: Duncan Sands
Assignee: Sylvain Lebresne
 Fix For: 2.0.3

 Attachments: 0001-check-if-any-of-the-slices-intersects.patch, 
 6327.txt, current_prices.tar


 This query returns no result:
 cqlsh:tick_data select syd from current_prices where shard = 1 and syd in 
 (1, 556129);
 (0 rows)
 However this query does return a result, showing that the previous query was 
 wrong to return no result:
 cqlsh:tick_data select syd from current_prices where shard = 1 and syd in 
 (556129);
  syd
 
  556129
 (1 rows)
 This can be reproduced as follows:
 (a) Create a keyspace tick_data:
 create keyspace tick_data WITH replication = {'class': 'SimpleStrategy', 
 'replication_factor': 1};
 (b) Create a table current_prices:
 CREATE TABLE current_prices (
   shard int,
   syd int,
   ask decimal,
   bid decimal,
   currency ascii,
   when timeuuid,
   PRIMARY KEY (shard, syd)
 );
 (c) Stop Cassandra and untar the attached tar file in 
 /var/lib/cassandra/data/tick_data/.  It populates the current_prices table.
 (d) Restart Cassandra and perform the above selects.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (CASSANDRA-6327) select with in clause wrongly returns empty result

2013-11-25 Thread Marcus Eriksson (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6327?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13831890#comment-13831890
 ] 

Marcus Eriksson commented on CASSANDRA-6327:


there is logic in 2.0 to be able to skip sstables on the read path, a (major) 
compaction means there is only one sstable, and it wont be skipped since 
atleast one of slices will intersect it

 select with in clause wrongly returns empty result
 

 Key: CASSANDRA-6327
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6327
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Cassandra 2.0.2, x86-64 Ubuntu 13.10
Reporter: Duncan Sands
Assignee: Sylvain Lebresne
 Fix For: 2.0.3

 Attachments: 0001-check-if-any-of-the-slices-intersects.patch, 
 6327.txt, current_prices.tar


 This query returns no result:
 cqlsh:tick_data select syd from current_prices where shard = 1 and syd in 
 (1, 556129);
 (0 rows)
 However this query does return a result, showing that the previous query was 
 wrong to return no result:
 cqlsh:tick_data select syd from current_prices where shard = 1 and syd in 
 (556129);
  syd
 
  556129
 (1 rows)
 This can be reproduced as follows:
 (a) Create a keyspace tick_data:
 create keyspace tick_data WITH replication = {'class': 'SimpleStrategy', 
 'replication_factor': 1};
 (b) Create a table current_prices:
 CREATE TABLE current_prices (
   shard int,
   syd int,
   ask decimal,
   bid decimal,
   currency ascii,
   when timeuuid,
   PRIMARY KEY (shard, syd)
 );
 (c) Stop Cassandra and untar the attached tar file in 
 /var/lib/cassandra/data/tick_data/.  It populates the current_prices table.
 (d) Restart Cassandra and perform the above selects.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (CASSANDRA-6231) Add snapshot disk space to cfstats

2013-11-25 Thread Mikhail Stepura (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6231?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mikhail Stepura updated CASSANDRA-6231:
---

Attachment: CASSANDRA-2.0-6231-v2.patch

Patch v2. Separately report a space used by obsolete sstables. Assuming 
obsolete are those not reported by {{SSTableLister}}

 Add snapshot disk space to cfstats
 --

 Key: CASSANDRA-6231
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6231
 Project: Cassandra
  Issue Type: Bug
Reporter: Jonathan Ellis
Assignee: Mikhail Stepura
Priority: Minor
  Labels: lhf
 Attachments: CASSANDRA-2.0-6231-v2.patch, CASSANDRA-2.0-6231.patch


 As discussed in CASSANDRA-6179, this could help avoid some user confusion, 
 especially when snapshots are autocreated for drop/truncate.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (CASSANDRA-6342) cassandra document errata

2013-11-25 Thread Lyuben Todorov (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6342?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Lyuben Todorov updated CASSANDRA-6342:
--

Attachment: 6342.patch

 cassandra document errata
 -

 Key: CASSANDRA-6342
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6342
 Project: Cassandra
  Issue Type: Bug
Reporter: Kim Yong Hwan
Assignee: Lyuben Todorov
Priority: Trivial
 Fix For: 1.2.13, 2.0.3

 Attachments: 6342.patch


 Hi
 I think a sample cql statement of cassandra document 
 (http://cassandra.apache.org/doc/cql3/CQL.html) is wrong. Please change it.
 --
 Note that TTLs are allowed for both INSERT and UPDATE, but in both case the 
 TTL set only apply to the newly inserted/updated values. In other words,
 // Updating (or inserting)
 UPDATE users USING TTL 10 SET favs['color'] = 'green' WHERE id = 'jsmith'
 will only apply the TTL to the { 'color' : 'green' } record, the rest of the 
 map remaining unaffected.
 Deleting a map record is done with:
 DELETE favs['author'] FROM plays WHERE id = 'jsmith'
 upper DELETE cql statement is changed to below. On context of document,  
 'plays' table might be changed  'users' table. 
 DELETE favs['author'] FROM users WHERE id = 'jsmith'



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (CASSANDRA-6231) Add snapshot disk space to cfstats

2013-11-25 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13831980#comment-13831980
 ] 

Jonathan Ellis commented on CASSANDRA-6231:
---

- Both numbers need to be de-duplicated across snapshots right?
- Looks like we could cut down on the file walking if we restricted it to the 
subdirectory of the CFS in question

 Add snapshot disk space to cfstats
 --

 Key: CASSANDRA-6231
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6231
 Project: Cassandra
  Issue Type: Bug
Reporter: Jonathan Ellis
Assignee: Mikhail Stepura
Priority: Minor
  Labels: lhf
 Attachments: CASSANDRA-2.0-6231-v2.patch, CASSANDRA-2.0-6231.patch


 As discussed in CASSANDRA-6179, this could help avoid some user confusion, 
 especially when snapshots are autocreated for drop/truncate.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (CASSANDRA-6231) Add snapshot disk space to cfstats

2013-11-25 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13832021#comment-13832021
 ] 

Jonathan Ellis commented on CASSANDRA-6231:
---

Ah, right.  Then isn't the prefix check redundant?

 Add snapshot disk space to cfstats
 --

 Key: CASSANDRA-6231
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6231
 Project: Cassandra
  Issue Type: Bug
Reporter: Jonathan Ellis
Assignee: Mikhail Stepura
Priority: Minor
  Labels: lhf
 Attachments: CASSANDRA-2.0-6231-v2.patch, CASSANDRA-2.0-6231.patch


 As discussed in CASSANDRA-6179, this could help avoid some user confusion, 
 especially when snapshots are autocreated for drop/truncate.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (CASSANDRA-6231) Add snapshot disk space to cfstats

2013-11-25 Thread Mikhail Stepura (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13832025#comment-13832025
 ] 

Mikhail Stepura commented on CASSANDRA-6231:


bq. Ah, right. Then isn't the prefix check redundant?

That is to separate the CF in question and its index CFs, they are reported 
separately in cfstats.  

 Add snapshot disk space to cfstats
 --

 Key: CASSANDRA-6231
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6231
 Project: Cassandra
  Issue Type: Bug
Reporter: Jonathan Ellis
Assignee: Mikhail Stepura
Priority: Minor
  Labels: lhf
 Attachments: CASSANDRA-2.0-6231-v2.patch, CASSANDRA-2.0-6231.patch


 As discussed in CASSANDRA-6179, this could help avoid some user confusion, 
 especially when snapshots are autocreated for drop/truncate.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (CASSANDRA-6231) Add snapshot disk space to cfstats

2013-11-25 Thread Mikhail Stepura (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13832038#comment-13832038
 ] 

Mikhail Stepura commented on CASSANDRA-6231:


And it seems that we only have to report that obsolete number. Because it 
makes no sense to count those from snapshots which are just links to existing 
files.

 Add snapshot disk space to cfstats
 --

 Key: CASSANDRA-6231
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6231
 Project: Cassandra
  Issue Type: Bug
Reporter: Jonathan Ellis
Assignee: Mikhail Stepura
Priority: Minor
  Labels: lhf
 Attachments: CASSANDRA-2.0-6231-v2.patch, CASSANDRA-2.0-6231.patch


 As discussed in CASSANDRA-6179, this could help avoid some user confusion, 
 especially when snapshots are autocreated for drop/truncate.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (CASSANDRA-6198) Distinguish streaming traffic at network level

2013-11-25 Thread sankalp kohli (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6198?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13832045#comment-13832045
 ] 

sankalp kohli commented on CASSANDRA-6198:
--

I am having trouble setting the value on the socket. Since we create the socket 
from SocketChannel, I am not able to set the TOS. 
http://docs.oracle.com/javase/7/docs/api/java/nio/channels/SocketChannel.html
Here is a sample code I tried running on OSX and Linux in Java 1.7. The IP 
x.y.z pointed to a test cassandra instance running 2.0.2

Socket socket = SocketChannel.open(new InetSocketAddress(x.y.z, 
7000)).socket();
socket.setTrafficClass(8);
System.out.println(socket.getTrafficClass());// WIll print 0
SocketChannel channel = SocketChannel.open(new 
InetSocketAddress(x.y.z, 7000));
channel.setOption(StandardSocketOptions.IP_TOS, 8);
System.out.println(channel.getOption(StandardSocketOptions.IP_TOS));// 
WIll print 0
System.out.println(channel.socket().getTrafficClass());// WIll print 0
channel.socket().setTrafficClass(8);
System.out.println(channel.socket().getTrafficClass()); // WIll print 0
//This will work and prints 8
Socket socket1 = new Socket(x.y.z, 7000);
socket1.setTrafficClass(8);
System.out.println(socket1.getTrafficClass()); // WIll print 8

 Distinguish streaming traffic at network level
 --

 Key: CASSANDRA-6198
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6198
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: sankalp kohli
Assignee: sankalp kohli
Priority: Minor

 It would be nice to have some information in the TCP packet which network 
 teams can inspect to distinguish between streaming traffic and other organic 
 cassandra traffic. This is very useful for monitoring WAN traffic. 
 Here are some solutions:
 1) Use a different port for streaming. 
 2) Add some IP header. 



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (CASSANDRA-6231) Add snapshot disk space to cfstats

2013-11-25 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13832047#comment-13832047
 ] 

Jonathan Ellis commented on CASSANDRA-6231:
---

Makes sense to me.

 Add snapshot disk space to cfstats
 --

 Key: CASSANDRA-6231
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6231
 Project: Cassandra
  Issue Type: Bug
Reporter: Jonathan Ellis
Assignee: Mikhail Stepura
Priority: Minor
  Labels: lhf
 Attachments: CASSANDRA-2.0-6231-v2.patch, CASSANDRA-2.0-6231.patch


 As discussed in CASSANDRA-6179, this could help avoid some user confusion, 
 especially when snapshots are autocreated for drop/truncate.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (CASSANDRA-6198) Distinguish streaming traffic at network level

2013-11-25 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6198?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13832051#comment-13832051
 ] 

Jonathan Ellis commented on CASSANDRA-6198:
---

Hmm.  At the very least I would expect 
{{channel.setOption(StandardSocketOptions.IP_TOS, 8);}} to work.  Suggest 
filing a bug at https://bugs.openjdk.java.net/secure/Dashboard.jspa and see 
what they come back with.

 Distinguish streaming traffic at network level
 --

 Key: CASSANDRA-6198
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6198
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: sankalp kohli
Assignee: sankalp kohli
Priority: Minor

 It would be nice to have some information in the TCP packet which network 
 teams can inspect to distinguish between streaming traffic and other organic 
 cassandra traffic. This is very useful for monitoring WAN traffic. 
 Here are some solutions:
 1) Use a different port for streaming. 
 2) Add some IP header. 



--
This message was sent by Atlassian JIRA
(v6.1#6144)


git commit: Ninja-fix CQL3 doc

2013-11-25 Thread aleksey
Updated Branches:
  refs/heads/cassandra-1.2 aec8f1670 - fce173532


Ninja-fix CQL3 doc


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fce17353
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fce17353
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fce17353

Branch: refs/heads/cassandra-1.2
Commit: fce173532438d4ff4269c5db29a0f15906311eb0
Parents: aec8f16
Author: Aleksey Yeschenko alek...@apache.org
Authored: Tue Nov 26 02:29:30 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Tue Nov 26 02:29:30 2013 +0300

--
 doc/cql3/CQL.textile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/fce17353/doc/cql3/CQL.textile
--
diff --git a/doc/cql3/CQL.textile b/doc/cql3/CQL.textile
index c4e39d1..507ad13 100644
--- a/doc/cql3/CQL.textile
+++ b/doc/cql3/CQL.textile
@@ -844,7 +844,7 @@ will only apply the TTL to the @{ 'color' : 'green' }@ 
record, the rest of the m
 Deleting a map record is done with:
 
 bc(sample). 
-DELETE favs['author'] FROM plays WHERE id = 'jsmith'
+DELETE favs['author'] FROM users WHERE id = 'jsmith'
 
 h4(#set). Sets
 



[3/3] git commit: Merge branch 'cassandra-2.0' into trunk

2013-11-25 Thread aleksey
Merge branch 'cassandra-2.0' into trunk


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4a1b4322
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4a1b4322
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4a1b4322

Branch: refs/heads/trunk
Commit: 4a1b4322d8bfc4f7a8d2668a4326bac86c49a01d
Parents: f69e043 6c68b30
Author: Aleksey Yeschenko alek...@apache.org
Authored: Tue Nov 26 02:30:18 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Tue Nov 26 02:30:18 2013 +0300

--
 doc/cql3/CQL.textile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--




[1/2] git commit: Ninja-fix CQL3 doc

2013-11-25 Thread aleksey
Updated Branches:
  refs/heads/cassandra-2.0 5eaa2164e - 6c68b30fe


Ninja-fix CQL3 doc


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fce17353
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fce17353
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fce17353

Branch: refs/heads/cassandra-2.0
Commit: fce173532438d4ff4269c5db29a0f15906311eb0
Parents: aec8f16
Author: Aleksey Yeschenko alek...@apache.org
Authored: Tue Nov 26 02:29:30 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Tue Nov 26 02:29:30 2013 +0300

--
 doc/cql3/CQL.textile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/fce17353/doc/cql3/CQL.textile
--
diff --git a/doc/cql3/CQL.textile b/doc/cql3/CQL.textile
index c4e39d1..507ad13 100644
--- a/doc/cql3/CQL.textile
+++ b/doc/cql3/CQL.textile
@@ -844,7 +844,7 @@ will only apply the TTL to the @{ 'color' : 'green' }@ 
record, the rest of the m
 Deleting a map record is done with:
 
 bc(sample). 
-DELETE favs['author'] FROM plays WHERE id = 'jsmith'
+DELETE favs['author'] FROM users WHERE id = 'jsmith'
 
 h4(#set). Sets
 



[1/3] git commit: Ninja-fix CQL3 doc

2013-11-25 Thread aleksey
Updated Branches:
  refs/heads/trunk f69e043ce - 4a1b4322d


Ninja-fix CQL3 doc


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fce17353
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fce17353
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fce17353

Branch: refs/heads/trunk
Commit: fce173532438d4ff4269c5db29a0f15906311eb0
Parents: aec8f16
Author: Aleksey Yeschenko alek...@apache.org
Authored: Tue Nov 26 02:29:30 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Tue Nov 26 02:29:30 2013 +0300

--
 doc/cql3/CQL.textile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/fce17353/doc/cql3/CQL.textile
--
diff --git a/doc/cql3/CQL.textile b/doc/cql3/CQL.textile
index c4e39d1..507ad13 100644
--- a/doc/cql3/CQL.textile
+++ b/doc/cql3/CQL.textile
@@ -844,7 +844,7 @@ will only apply the TTL to the @{ 'color' : 'green' }@ 
record, the rest of the m
 Deleting a map record is done with:
 
 bc(sample). 
-DELETE favs['author'] FROM plays WHERE id = 'jsmith'
+DELETE favs['author'] FROM users WHERE id = 'jsmith'
 
 h4(#set). Sets
 



[2/3] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0

2013-11-25 Thread aleksey
Merge branch 'cassandra-1.2' into cassandra-2.0


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6c68b30f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6c68b30f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6c68b30f

Branch: refs/heads/trunk
Commit: 6c68b30fef95f8f4a621969f5d0434bc2326c2e2
Parents: 5eaa216 fce1735
Author: Aleksey Yeschenko alek...@apache.org
Authored: Tue Nov 26 02:30:00 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Tue Nov 26 02:30:00 2013 +0300

--
 doc/cql3/CQL.textile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6c68b30f/doc/cql3/CQL.textile
--



[2/2] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0

2013-11-25 Thread aleksey
Merge branch 'cassandra-1.2' into cassandra-2.0


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6c68b30f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6c68b30f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6c68b30f

Branch: refs/heads/cassandra-2.0
Commit: 6c68b30fef95f8f4a621969f5d0434bc2326c2e2
Parents: 5eaa216 fce1735
Author: Aleksey Yeschenko alek...@apache.org
Authored: Tue Nov 26 02:30:00 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Tue Nov 26 02:30:00 2013 +0300

--
 doc/cql3/CQL.textile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6c68b30f/doc/cql3/CQL.textile
--



[jira] [Commented] (CASSANDRA-2915) Lucene based Secondary Indexes

2013-11-25 Thread Camille Vergara (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-2915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13832066#comment-13832066
 ] 

Camille Vergara commented on CASSANDRA-2915:


If you're interested in seeing this feature implemented, you should consider 
supporting the fundraiser for bounties on Bountysource: 
https://www.bountysource.com/fundraisers/508.

 Lucene based Secondary Indexes
 --

 Key: CASSANDRA-2915
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2915
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: T Jake Luciani
  Labels: secondary_index

 Secondary indexes (of type KEYS) suffer from a number of limitations in their 
 current form:
- Multiple IndexClauses only work when there is a subset of rows under the 
 highest clause
- One new column family is created per index this means 10 new CFs for 10 
 secondary indexes
 This ticket will use the Lucene library to implement secondary indexes as one 
 index per CF, and utilize the Lucene query engine to handle multiple index 
 clauses. Also, by using the Lucene we get a highly optimized file format.
 There are a few parallels we can draw between Cassandra and Lucene.
 Lucene indexes segments in memory then flushes them to disk so we can sync 
 our memtable flushes to lucene flushes. Lucene also has optimize() which 
 correlates to our compaction process, so these can be sync'd as well.
 We will also need to correlate column validators to Lucene tokenizers, so the 
 data can be stored properly, the big win in once this is done we can perform 
 complex queries within a column like wildcard searches.
 The downside of this approach is we will need to read before write since 
 documents in Lucene are written as complete documents. For random workloads 
 with lot's of indexed columns this means we need to read the document from 
 the index, update it and write it back.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (CASSANDRA-6231) Add snapshot disk space to cfstats

2013-11-25 Thread Mikhail Stepura (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6231?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mikhail Stepura updated CASSANDRA-6231:
---

Attachment: CASSANDRA-2.0-6231-v3.patch

Patch v3. Count only the size of snapshot files (once for each file) which are 
not links for live SSTables.

 Add snapshot disk space to cfstats
 --

 Key: CASSANDRA-6231
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6231
 Project: Cassandra
  Issue Type: Bug
Reporter: Jonathan Ellis
Assignee: Mikhail Stepura
Priority: Minor
  Labels: lhf
 Attachments: CASSANDRA-2.0-6231-v2.patch, 
 CASSANDRA-2.0-6231-v3.patch, CASSANDRA-2.0-6231.patch


 As discussed in CASSANDRA-6179, this could help avoid some user confusion, 
 especially when snapshots are autocreated for drop/truncate.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (CASSANDRA-6326) Snapshot should create manifest file

2013-11-25 Thread sankalp kohli (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6326?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13832116#comment-13832116
 ] 

sankalp kohli commented on CASSANDRA-6326:
--

In JBOD with multiple data directories, where should we put this manifest file? 
Also I think we need to create the manifest file in the end as existence of 
manifest file will prove that snapshot is good. 


 Snapshot should create manifest file 
 -

 Key: CASSANDRA-6326
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6326
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: sankalp kohli
Priority: Minor

 We should create a manifest file as part of the snapshot which should contain 
 all the stables included in the snapshot. 
 This will be very important for systems consuming this snapshot as they can 
 validate the fact that they got the complete snapshot. 
 If Cassandra crashes mid way creating a snapshot, I think it will create an 
 incomplete snapshot. 



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (CASSANDRA-6198) Distinguish streaming traffic at network level

2013-11-25 Thread sankalp kohli (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6198?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13832117#comment-13832117
 ] 

sankalp kohli commented on CASSANDRA-6198:
--

As per javadoc in 
http://docs.oracle.com/javase/7/docs/api/java/nio/channels/SocketChannel.html
IP_TOS is not listed. So I am not sure whether it is a bug. 

 Distinguish streaming traffic at network level
 --

 Key: CASSANDRA-6198
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6198
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: sankalp kohli
Assignee: sankalp kohli
Priority: Minor

 It would be nice to have some information in the TCP packet which network 
 teams can inspect to distinguish between streaming traffic and other organic 
 cassandra traffic. This is very useful for monitoring WAN traffic. 
 Here are some solutions:
 1) Use a different port for streaming. 
 2) Add some IP header. 



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (CASSANDRA-2915) Lucene based Secondary Indexes

2013-11-25 Thread Alex Liu (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-2915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13832125#comment-13832125
 ] 

Alex Liu commented on CASSANDRA-2915:
-

We may need use Twitter's RealTime search.

 Lucene based Secondary Indexes
 --

 Key: CASSANDRA-2915
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2915
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: T Jake Luciani
  Labels: secondary_index

 Secondary indexes (of type KEYS) suffer from a number of limitations in their 
 current form:
- Multiple IndexClauses only work when there is a subset of rows under the 
 highest clause
- One new column family is created per index this means 10 new CFs for 10 
 secondary indexes
 This ticket will use the Lucene library to implement secondary indexes as one 
 index per CF, and utilize the Lucene query engine to handle multiple index 
 clauses. Also, by using the Lucene we get a highly optimized file format.
 There are a few parallels we can draw between Cassandra and Lucene.
 Lucene indexes segments in memory then flushes them to disk so we can sync 
 our memtable flushes to lucene flushes. Lucene also has optimize() which 
 correlates to our compaction process, so these can be sync'd as well.
 We will also need to correlate column validators to Lucene tokenizers, so the 
 data can be stored properly, the big win in once this is done we can perform 
 complex queries within a column like wildcard searches.
 The downside of this approach is we will need to read before write since 
 documents in Lucene are written as complete documents. For random workloads 
 with lot's of indexed columns this means we need to read the document from 
 the index, update it and write it back.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


git commit: simple naming fixes

2013-11-25 Thread dbrosius
Updated Branches:
  refs/heads/trunk 4a1b4322d - 9f3a7f8a6


simple naming fixes


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9f3a7f8a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9f3a7f8a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9f3a7f8a

Branch: refs/heads/trunk
Commit: 9f3a7f8a6989be44bed01aaf526567df8aca
Parents: 4a1b432
Author: Dave Brosius dbros...@mebigfatguy.com
Authored: Mon Nov 25 20:06:42 2013 -0500
Committer: Dave Brosius dbros...@mebigfatguy.com
Committed: Mon Nov 25 20:06:42 2013 -0500

--
 .../unit/org/apache/cassandra/service/QueryPagerTest.java | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9f3a7f8a/test/unit/org/apache/cassandra/service/QueryPagerTest.java
--
diff --git a/test/unit/org/apache/cassandra/service/QueryPagerTest.java 
b/test/unit/org/apache/cassandra/service/QueryPagerTest.java
index f395cf4..6239ba0 100644
--- a/test/unit/org/apache/cassandra/service/QueryPagerTest.java
+++ b/test/unit/org/apache/cassandra/service/QueryPagerTest.java
@@ -155,7 +155,7 @@ public class QueryPagerTest extends SchemaLoader
 }
 
 @Test
-public void NamesQueryTest() throws Exception
+public void namesQueryTest() throws Exception
 {
 QueryPager pager = QueryPagers.localPager(namesQuery(k0, c1, c5, 
c7, c8));
 
@@ -168,7 +168,7 @@ public class QueryPagerTest extends SchemaLoader
 }
 
 @Test
-public void SliceQueryTest() throws Exception
+public void sliceQueryTest() throws Exception
 {
 QueryPager pager = QueryPagers.localPager(sliceQuery(k0, c1, c8, 
10));
 
@@ -218,7 +218,7 @@ public class QueryPagerTest extends SchemaLoader
 }
 
 @Test
-public void MultiQueryTest() throws Exception
+public void multiQueryTest() throws Exception
 {
 QueryPager pager = QueryPagers.localPager(new 
Pageable.ReadCommands(new ArrayListReadCommand() {{
 add(sliceQuery(k1, c2, c6, 10));
@@ -247,7 +247,7 @@ public class QueryPagerTest extends SchemaLoader
 }
 
 @Test
-public void RangeNamesQueryTest() throws Exception
+public void rangeNamesQueryTest() throws Exception
 {
 QueryPager pager = QueryPagers.localPager(rangeNamesQuery(range(k0, 
k5), 100, c1, c4, c8));
 
@@ -269,7 +269,7 @@ public class QueryPagerTest extends SchemaLoader
 }
 
 @Test
-public void RangeSliceQueryTest() throws Exception
+public void rangeSliceQueryTest() throws Exception
 {
 QueryPager pager = QueryPagers.localPager(rangeSliceQuery(range(k1, 
k5), 100, c1, c7));
 



[jira] [Commented] (CASSANDRA-5493) Confusing output of CommandDroppedTasks

2013-11-25 Thread Mikhail Stepura (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13832294#comment-13832294
 ] 

Mikhail Stepura commented on CASSANDRA-5493:


[~ondrej.cernos] what are values for _listen_address_ and _broadcast_address_ 
for your nodes?

 Confusing output of CommandDroppedTasks
 ---

 Key: CASSANDRA-5493
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5493
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.3
Reporter: Ondřej Černoš
Assignee: Mikhail Stepura
Priority: Minor

 We have 2 DCs, 3 nodes in each, using EC2 support. We are debugging nodetool 
 repair problems (roughly 1 out of 2 attempts just freezes). We looked into 
 the MessagingServiceBean to see what is going on using jmxterm. See the 
 following:
 {noformat}
 #mbean = org.apache.cassandra.net:type=MessagingService:
 CommandDroppedTasks = { 
  107.aaa.bbb.ccc = 0;
  166.ddd.eee.fff = 124320;
  10.ggg.hhh.iii = 0;
  107.jjj.kkk.lll = 0;
  166.mmm.nnn.ooo = 1336699;
  166.ppp.qqq.rrr = 1329171;
  10.sss.ttt.uuu = 0;
  107.vvv.www.xxx = 0;
 };
 {noformat}
 The problem with this output is it has 8 records. The node's neighbours (the 
 107 and 10 nodes) are mentioned twice in the output, once with their public 
 IPs and once with their private IPs. The nodes in remote DC (the 166 ones) 
 are reported only once. I am pretty sure this is a bug - the node should be 
 reported only with one of its addresses in all outputs from Cassandra and it 
 should be consistent.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Comment Edited] (CASSANDRA-5493) Confusing output of CommandDroppedTasks

2013-11-25 Thread Mikhail Stepura (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13832294#comment-13832294
 ] 

Mikhail Stepura edited comment on CASSANDRA-5493 at 11/26/13 4:28 AM:
--

[~ondrej.cernos] what are values for _listen_address_ and _broadcast_address_ 
for your nodes? And which EC2 snitch do you use?


was (Author: mishail):
[~ondrej.cernos] what are values for _listen_address_ and _broadcast_address_ 
for your nodes?

 Confusing output of CommandDroppedTasks
 ---

 Key: CASSANDRA-5493
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5493
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.3
Reporter: Ondřej Černoš
Assignee: Mikhail Stepura
Priority: Minor

 We have 2 DCs, 3 nodes in each, using EC2 support. We are debugging nodetool 
 repair problems (roughly 1 out of 2 attempts just freezes). We looked into 
 the MessagingServiceBean to see what is going on using jmxterm. See the 
 following:
 {noformat}
 #mbean = org.apache.cassandra.net:type=MessagingService:
 CommandDroppedTasks = { 
  107.aaa.bbb.ccc = 0;
  166.ddd.eee.fff = 124320;
  10.ggg.hhh.iii = 0;
  107.jjj.kkk.lll = 0;
  166.mmm.nnn.ooo = 1336699;
  166.ppp.qqq.rrr = 1329171;
  10.sss.ttt.uuu = 0;
  107.vvv.www.xxx = 0;
 };
 {noformat}
 The problem with this output is it has 8 records. The node's neighbours (the 
 107 and 10 nodes) are mentioned twice in the output, once with their public 
 IPs and once with their private IPs. The nodes in remote DC (the 166 ones) 
 are reported only once. I am pretty sure this is a bug - the node should be 
 reported only with one of its addresses in all outputs from Cassandra and it 
 should be consistent.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Reopened] (CASSANDRA-6401) Clustering order by property does not support when the column name is written in uppercase

2013-11-25 Thread DIKSHA KUSHWAH (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6401?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

DIKSHA KUSHWAH reopened CASSANDRA-6401:
---

Since Version: 2.0.1
   Tester: DIKSHA KUSHWAH

 Clustering order by property does not support when the column name is 
 written in uppercase 
 ---

 Key: CASSANDRA-6401
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6401
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Windows 7  64 bit
Reporter: DIKSHA KUSHWAH

 Database Version : CASSANDRA 2.0.1
 1. Connect cassandra 2.0.1 and execute following query:-
CREATE TABLE test.cat  ( 
   cache text,
   num   int,
   PRIMARY KEY(cache,num)
 ) WITH
   CLUSTERING ORDER BY (num DESC);
 2. Now execute following query:-
 
 CREATE TABLE DOG  ( 
   CACHE text,
   NUM   int,
   PRIMARY KEY(CACHE,NUM)
 ) WITH
   CLUSTERING ORDER BY (NUM DESC);
 3. When we create table cat,it is successfully created but when we create 
 table DOG it gives error Missing CLUSTERING ORDER for column NUM because 
 Table DOG column name NUM is in upper case and Table CAT column name 
 num is in lower case.
 4. Cassandra supports when we create a Table with column names in upper case 
 without CLUSTERING ORDER BY  property then it should also support this 
 property with upper case column names.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (CASSANDRA-6231) Add snapshot disk space to cfstats

2013-11-25 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13832333#comment-13832333
 ] 

Jonathan Ellis commented on CASSANDRA-6231:
---

LGTM!

Last thing, the size methods in CFSMBean are deprecated because we're moving to 
CFMetrics.  Not much reason to add this to both places; let's just do it in 
metrics.  (So it's probably easier to just do this for trunk since otherwise 
you'd have to do support both in nodecmd.)

 Add snapshot disk space to cfstats
 --

 Key: CASSANDRA-6231
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6231
 Project: Cassandra
  Issue Type: Bug
Reporter: Jonathan Ellis
Assignee: Mikhail Stepura
Priority: Minor
  Labels: lhf
 Attachments: CASSANDRA-2.0-6231-v2.patch, 
 CASSANDRA-2.0-6231-v3.patch, CASSANDRA-2.0-6231.patch


 As discussed in CASSANDRA-6179, this could help avoid some user confusion, 
 especially when snapshots are autocreated for drop/truncate.



--
This message was sent by Atlassian JIRA
(v6.1#6144)