[jira] [Commented] (CASSANDRA-7304) Ability to distinguish between NULL and UNSET values in Prepared Statements

2014-06-20 Thread Oded Peer (JIRA)

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

Oded Peer commented on CASSANDRA-7304:
--

+1
I like {{IGNORE NULLS}} at the end as well

 Ability to distinguish between NULL and UNSET values in Prepared Statements
 ---

 Key: CASSANDRA-7304
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7304
 Project: Cassandra
  Issue Type: Improvement
Reporter: Drew Kutcharian

 Currently Cassandra inserts tombstones when a value of a column is bound to 
 NULL in a prepared statement. At higher insert rates managing all these 
 tombstones becomes an unnecessary overhead. This limits the usefulness of the 
 prepared statements since developers have to either create multiple prepared 
 statements (each with a different combination of column names, which at times 
 is just unfeasible because of the sheer number of possible combinations) or 
 fall back to using regular (non-prepared) statements.
 This JIRA is here to explore the possibility of either:
 A. Have a flag on prepared statements that once set, tells Cassandra to 
 ignore null columns
 or
 B. Have an UNSET value which makes Cassandra skip the null columns and not 
 tombstone them
 Basically, in the context of a prepared statement, a null value means delete, 
 but we don’t have anything that means ignore (besides creating a new 
 prepared statement without the ignored column).
 Please refer to the original conversation on DataStax Java Driver mailing 
 list for more background:
 https://groups.google.com/a/lists.datastax.com/d/topic/java-driver-user/cHE3OOSIXBU/discussion



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7275) Errors in FlushRunnable may leave threads hung

2014-06-20 Thread Mikhail Stepura (JIRA)

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

Mikhail Stepura commented on CASSANDRA-7275:


{code}
[javac] Compiling 865 source files to 
/Users/mikhail/Documents/workspace/cassandra/build/classes/main
[javac] 
/Users/mikhail/Documents/workspace/cassandra/src/java/org/apache/cassandra/db/ColumnFamilyStore.java:29:
 error: cannot find symbol
[javac] import javax.annotation.Nullable;
[javac]^
[javac]   symbol:   class Nullable
[javac]   location: package javax.annotation
[javac] 
/Users/mikhail/Documents/workspace/cassandra/src/java/org/apache/cassandra/db/ColumnFamilyStore.java:807:
 error: cannot find symbol
[javac] public void onSuccess(@Nullable Object result)
[javac]^
[javac]   symbol: class Nullable
{code}
Otherwise +1

 Errors in FlushRunnable may leave threads hung
 --

 Key: CASSANDRA-7275
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7275
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Tyler Hobbs
Assignee: Yuki Morishita
Priority: Minor
 Fix For: 1.2.17, 2.0.9

 Attachments: 0001-Move-latch.countDown-into-finally-block.patch, 
 7252-2.0-v2.txt


 In Memtable.FlushRunnable, the CountDownLatch will never be counted down if 
 there are errors, which results in hanging any threads that are waiting for 
 the flush to complete.  For example, an error like this causes the problem:
 {noformat}
 ERROR [FlushWriter:474] 2014-05-20 12:10:31,137 CassandraDaemon.java (line 
 198) Exception in thread Thread[FlushWriter:474,5,main]
 java.lang.IllegalArgumentException
 at java.nio.Buffer.position(Unknown Source)
 at 
 org.apache.cassandra.db.marshal.AbstractCompositeType.getBytes(AbstractCompositeType.java:64)
 at 
 org.apache.cassandra.db.marshal.AbstractCompositeType.getWithShortLength(AbstractCompositeType.java:72)
 at 
 org.apache.cassandra.db.marshal.AbstractCompositeType.split(AbstractCompositeType.java:138)
 at 
 org.apache.cassandra.io.sstable.ColumnNameHelper.minComponents(ColumnNameHelper.java:103)
 at 
 org.apache.cassandra.db.ColumnFamily.getColumnStats(ColumnFamily.java:439)
 at 
 org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:194)
 at 
 org.apache.cassandra.db.Memtable$FlushRunnable.writeSortedContents(Memtable.java:397)
 at 
 org.apache.cassandra.db.Memtable$FlushRunnable.runWith(Memtable.java:350)
 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(Unknown Source)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
 at java.lang.Thread.run(Unknown Source)
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7421) CompoundSparseCellName/WithCollection report smaller heap sizes then actual

2014-06-20 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-7421:


Reviewer: Benedict

 CompoundSparseCellName/WithCollection report smaller heap sizes then actual 
 

 Key: CASSANDRA-7421
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7421
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Dave Brosius
Assignee: Dave Brosius
Priority: Trivial
 Fix For: 2.1 rc2

 Attachments: 7421.txt


 Class relies on sizing of super class, which doesn't take into consideration 
 it's own foot print, along with it's excess fields.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7337) Protocol batches wrongly ignores conditions

2014-06-20 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-7337:


Fix Version/s: 2.0.9

 Protocol batches wrongly ignores conditions
 ---

 Key: CASSANDRA-7337
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7337
 Project: Cassandra
  Issue Type: Bug
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
 Fix For: 2.0.9, 2.1 rc2

 Attachments: 7337.txt


 When using protocol batches, we ignore the fact that statements may have 
 conditions and subsequently call the wrong code path. The batches ends up 
 being executed has if there was no conditions (but the ResultSet is empty 
 which should make it clear something is wrong). 



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7275) Errors in FlushRunnable may leave threads hung

2014-06-20 Thread Benedict (JIRA)

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

Benedict commented on CASSANDRA-7275:
-

This will break the commit log, by causing records to be discarded out of 
order. The future does not get placed on the executor until the onSuccess is 
called now, so run order is simply in order of flush completion and no longer 
in order of submission, but the only point of separating the work onto the 
postFlush is to ensure it is run in submission order (but not before the flush 
is finished - see the comment that is now attached to onSuccess). 

The simplest correct solution is probably to annotate the post flush runnable 
with a state variable indicating success/failure, which is set before the latch 
is triggered.

If you're modifying these parts of the code where correctness is paramount and 
not always obvious, it would be great if you could explicitly run it past a 
third set of eyes, as I only happened to spot this in the commits@ feeds, and 
as it's a concurrency bug could easily have not been spotted. Although we could 
no doubt craft a specific test to look for this scenario, and perhaps we should.

 Errors in FlushRunnable may leave threads hung
 --

 Key: CASSANDRA-7275
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7275
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Tyler Hobbs
Assignee: Yuki Morishita
Priority: Minor
 Fix For: 1.2.17, 2.0.9

 Attachments: 0001-Move-latch.countDown-into-finally-block.patch, 
 7252-2.0-v2.txt


 In Memtable.FlushRunnable, the CountDownLatch will never be counted down if 
 there are errors, which results in hanging any threads that are waiting for 
 the flush to complete.  For example, an error like this causes the problem:
 {noformat}
 ERROR [FlushWriter:474] 2014-05-20 12:10:31,137 CassandraDaemon.java (line 
 198) Exception in thread Thread[FlushWriter:474,5,main]
 java.lang.IllegalArgumentException
 at java.nio.Buffer.position(Unknown Source)
 at 
 org.apache.cassandra.db.marshal.AbstractCompositeType.getBytes(AbstractCompositeType.java:64)
 at 
 org.apache.cassandra.db.marshal.AbstractCompositeType.getWithShortLength(AbstractCompositeType.java:72)
 at 
 org.apache.cassandra.db.marshal.AbstractCompositeType.split(AbstractCompositeType.java:138)
 at 
 org.apache.cassandra.io.sstable.ColumnNameHelper.minComponents(ColumnNameHelper.java:103)
 at 
 org.apache.cassandra.db.ColumnFamily.getColumnStats(ColumnFamily.java:439)
 at 
 org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:194)
 at 
 org.apache.cassandra.db.Memtable$FlushRunnable.writeSortedContents(Memtable.java:397)
 at 
 org.apache.cassandra.db.Memtable$FlushRunnable.runWith(Memtable.java:350)
 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(Unknown Source)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
 at java.lang.Thread.run(Unknown Source)
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7421) CompoundSparseCellName/WithCollection report smaller heap sizes then actual

2014-06-20 Thread Benedict (JIRA)

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

Benedict updated CASSANDRA-7421:


Attachment: 7421v2.patch

Does need tidying up, but we should avoid using ObjectSizes.measure() for two 
reasons:

# The ColumnIdentifier for compound sparse tables are always shared / declared 
(to my knowledge - only sparse tables permit dynamic column names)
# It's very expensive, so even if they weren't we should prefer 
columnName.unsharedHeapSize()

I've taken this opportunity to finally tidy up the mismatched naming of 
unshared vs excess heap size methods (some were renamed as part of bikeshedding 
their first commit, but some were missed)

 CompoundSparseCellName/WithCollection report smaller heap sizes then actual 
 

 Key: CASSANDRA-7421
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7421
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Dave Brosius
Assignee: Dave Brosius
Priority: Trivial
 Fix For: 2.1 rc2

 Attachments: 7421.txt, 7421v2.patch


 Class relies on sizing of super class, which doesn't take into consideration 
 it's own foot print, along with it's excess fields.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7398) Using the -Dcassandra.config VM param needs a file:/// prefix for the supplied URL

2014-06-20 Thread JIRA

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

Marco Tulio Avila Cerón updated CASSANDRA-7398:
---

Attachment: trunk-7398_v6.txt

Validates the path as described by Ala'

 Using the -Dcassandra.config VM param needs a file:/// prefix for the 
 supplied URL
 

 Key: CASSANDRA-7398
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7398
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment:  Cassandra 2.1.0-rc1-SNAPSHOT, Win 7
Reporter: Marco Tulio Avila Cerón
Assignee: Marco Tulio Avila Cerón
Priority: Minor
  Labels: lhf, patch
 Fix For: 2.1 rc2

 Attachments: CASSANDRA-7398_prefix_v2.patch, 
 CASSANDRA-7398_prefix_v3.patch, CASSANDRA-7398_prefix_v4.patch, 
 trunk-7398_v5.txt, trunk-7398_v6.txt

   Original Estimate: 2h
  Remaining Estimate: 2h

 The parameter in the VM options -Dcassandra.config= needs file:///
 Allow the user to have optional file:/// when loading the config file from 
 the filesystem



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7398) Using the -Dcassandra.config VM param needs a file:/// prefix for the supplied URL

2014-06-20 Thread JIRA

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

Marco Tulio Avila Cerón updated CASSANDRA-7398:
---

Attachment: trunk-7398_v7.txt

Handles case where the user will type something like file:/// (only that) or 
file:///something

 Using the -Dcassandra.config VM param needs a file:/// prefix for the 
 supplied URL
 

 Key: CASSANDRA-7398
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7398
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment:  Cassandra 2.1.0-rc1-SNAPSHOT, Win 7
Reporter: Marco Tulio Avila Cerón
Assignee: Marco Tulio Avila Cerón
Priority: Minor
  Labels: lhf, patch
 Fix For: 2.1 rc2

 Attachments: CASSANDRA-7398_prefix_v2.patch, 
 CASSANDRA-7398_prefix_v3.patch, CASSANDRA-7398_prefix_v4.patch, 
 trunk-7398_v5.txt, trunk-7398_v6.txt, trunk-7398_v7.txt

   Original Estimate: 2h
  Remaining Estimate: 2h

 The parameter in the VM options -Dcassandra.config= needs file:///
 Allow the user to have optional file:/// when loading the config file from 
 the filesystem



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7311) Enable incremental backup on a per-keyspace level

2014-06-20 Thread pankaj mishra (JIRA)

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

pankaj mishra commented on CASSANDRA-7311:
--

I think giving option for incremental backup on table level will definitely 
give user more flexibility. But
there are some application, for example when using cassandra with titan graph, 
tables in keyspace are 
depended on each other. They refer other table through ids. In that case it 
does not make sense to have 
incremental backup on table level.

How much users of cassandra has such setup of cassandra is something that, i 
think, will decide whether
this option should be on table level or keyspace level.

If you guys suggest then i can go ahead with creating this option for table 
level as well.



 Enable incremental backup on a per-keyspace level
 -

 Key: CASSANDRA-7311
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7311
 Project: Cassandra
  Issue Type: Improvement
Reporter: Johnny Miller
Priority: Minor
  Labels: lhf
 Attachments: CASSANDRA-7311-formated.patch, cassandra.patch, 
 cassandra_incremental.patch, cassandra_incremental_latest.patch


 Currently incremental backups are globally defined, however this is not 
 always appropriate or required for all keyspaces in a cluster. 
 As this is quite expensive, it would be preferred to either specify the 
 keyspaces that need this (or exclude the ones that don't).



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Comment Edited] (CASSANDRA-7311) Enable incremental backup on a per-keyspace level

2014-06-20 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis edited comment on CASSANDRA-7311 at 6/20/14 1:02 PM:


Let's go with just table level then.  We prefer to avoid options hierarchies.


was (Author: jbellis):
Let's go with just table level then.  We prefer to avoid options heirarchies.

 Enable incremental backup on a per-keyspace level
 -

 Key: CASSANDRA-7311
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7311
 Project: Cassandra
  Issue Type: Improvement
Reporter: Johnny Miller
Priority: Minor
  Labels: lhf
 Attachments: CASSANDRA-7311-formated.patch, cassandra.patch, 
 cassandra_incremental.patch, cassandra_incremental_latest.patch


 Currently incremental backups are globally defined, however this is not 
 always appropriate or required for all keyspaces in a cluster. 
 As this is quite expensive, it would be preferred to either specify the 
 keyspaces that need this (or exclude the ones that don't).



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7311) Enable incremental backup on a per-keyspace level

2014-06-20 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-7311:
---

Let's go with just table level then.  We prefer to avoid options heirarchies.

 Enable incremental backup on a per-keyspace level
 -

 Key: CASSANDRA-7311
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7311
 Project: Cassandra
  Issue Type: Improvement
Reporter: Johnny Miller
Priority: Minor
  Labels: lhf
 Attachments: CASSANDRA-7311-formated.patch, cassandra.patch, 
 cassandra_incremental.patch, cassandra_incremental_latest.patch


 Currently incremental backups are globally defined, however this is not 
 always appropriate or required for all keyspaces in a cluster. 
 As this is quite expensive, it would be preferred to either specify the 
 keyspaces that need this (or exclude the ones that don't).



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7079) allow filtering within wide row

2014-06-20 Thread Ashot Golovenko (JIRA)

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

Ashot Golovenko commented on CASSANDRA-7079:


Any comments?

 allow filtering within wide row
 ---

 Key: CASSANDRA-7079
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7079
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Ashot Golovenko

 Let's say I have a table with wide rows.
 CREATE TABLE relation (
 u1 bigint,
 u2 bigint,
 f boolean,
 PRIMARY KEY (u1, u2));
 Usually I need to retrieve the whole row: 
 select * from relation where u1 = ?;
 But sometimes I just need the relations within u1 with f = true.
 By now I can't perform the following without creating an index which will 
 degrade write performance:
 select * from relation where u1 = ? and f=true allow filtering;
 So now I filter rows on server side which means more network traffic and I 
 don't know how much more server resources. Filtering rows in this case on a 
 server side looks like nothing hard.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-6766) allow now() - uuid compatibility

2014-06-20 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-6766:
-

+1

 allow now() - uuid compatibility
 -

 Key: CASSANDRA-6766
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6766
 Project: Cassandra
  Issue Type: Bug
  Components: API
Reporter: Jonathan Ellis
Assignee: Tyler Hobbs
Priority: Minor
  Labels: cql
 Fix For: 2.0.9

 Attachments: 6766-v2.txt, 6766.txt


 Bad Request: Type error: cannot assign result of function now (type timeuuid) 
 to id (type uuid)



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7311) Enable incremental backup on a per-keyspace level

2014-06-20 Thread pankaj mishra (JIRA)

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

pankaj mishra commented on CASSANDRA-7311:
--

So finally going for following implementation.

 - If table is created without incremental_backup option then by default this 
value will be saved as false in table metadata. This value will be alterable by 
user.

- For all those tables in which this value is not there (as null) we will pick 
incremental_backup options from cassandra.yaml and save it into table metadata 
while initializing the cassandra server.  -- hence one who is using this option 
in cassandra.yaml file will be taken care of.




 Enable incremental backup on a per-keyspace level
 -

 Key: CASSANDRA-7311
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7311
 Project: Cassandra
  Issue Type: Improvement
Reporter: Johnny Miller
Priority: Minor
  Labels: lhf
 Attachments: CASSANDRA-7311-formated.patch, cassandra.patch, 
 cassandra_incremental.patch, cassandra_incremental_latest.patch


 Currently incremental backups are globally defined, however this is not 
 always appropriate or required for all keyspaces in a cluster. 
 As this is quite expensive, it would be preferred to either specify the 
 keyspaces that need this (or exclude the ones that don't).



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7344) Read at SERIAL can lead to unnecessary contention

2014-06-20 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-7344:
-

I see what you mean and I do think this should work. I think we'd need a new 
Paxos message (which means this would have to target 3.0) that requests the 
current paxos state without asking for a promise. 

 Read at SERIAL can lead to unnecessary contention 
 --

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

 If two clients are doing a read at serial on the same row, it does a full 
 prepare step to figure out whether there is any updates or cas in flight or 
 uncompleted. 
 This can cause contention between then leading to waste of time in retrying. 
 One of the request will not get a promise and will need to sleep. 
 Instead they can check whether there is anything to finish and if not 
 continue. 
 If there is something to be done, then they can do the full prepare. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7413) Native Protocol V3 CREATE Response

2014-06-20 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-7413:
-

bq. With this patch, the type name in the type-related events is now 
ksname.typename. It should just be typename.

Why is that? Types are keyspace scoped and you need the keyspace name to 
identify a type properly. Or am I misunderstanding what you are suggesting?

(I'll fix the 2 minor points upon commit if there is nothing else)

 Native Protocol V3 CREATE Response
 --

 Key: CASSANDRA-7413
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7413
 Project: Cassandra
  Issue Type: Task
Reporter: Robert Stupp
Assignee: Sylvain Lebresne
  Labels: protocol
 Fix For: 2.1 rc2

 Attachments: 7413.txt


 Native protocol v3 changes the EVENT (opcode 12) SCHEMA_CHANGE to include the 
 target type that changed : changetargetkeyspacename.
 The RESULT (opcode 8) SCHEMA_CHANGE has the old layout 
 (changekeyspacetable.
 Is this difference intentional or does the protocol spec needs change for 
 RESULT/SCHEMA_CHANGE?



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7413) Native Protocol V3 CREATE Response

2014-06-20 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs commented on CASSANDRA-7413:


bq. Why is that? Types are keyspace scoped and you need the keyspace name to 
identify a type properly. Or am I misunderstanding what you are suggesting?

The keyspace is already specified earlier in the message (in the same 
{{options}}, in fact).  So, it's redundant and it means you have to split the 
string. It also doesn't match the spec.

 Native Protocol V3 CREATE Response
 --

 Key: CASSANDRA-7413
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7413
 Project: Cassandra
  Issue Type: Task
Reporter: Robert Stupp
Assignee: Sylvain Lebresne
  Labels: protocol
 Fix For: 2.1 rc2

 Attachments: 7413.txt


 Native protocol v3 changes the EVENT (opcode 12) SCHEMA_CHANGE to include the 
 target type that changed : changetargetkeyspacename.
 The RESULT (opcode 8) SCHEMA_CHANGE has the old layout 
 (changekeyspacetable.
 Is this difference intentional or does the protocol spec needs change for 
 RESULT/SCHEMA_CHANGE?



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7311) Enable incremental backup on a per-keyspace level

2014-06-20 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-7311:
---

Sounds good.  (And then we can remove the .yaml option for the next major 
release.)

 Enable incremental backup on a per-keyspace level
 -

 Key: CASSANDRA-7311
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7311
 Project: Cassandra
  Issue Type: Improvement
Reporter: Johnny Miller
Priority: Minor
  Labels: lhf
 Attachments: CASSANDRA-7311-formated.patch, cassandra.patch, 
 cassandra_incremental.patch, cassandra_incremental_latest.patch


 Currently incremental backups are globally defined, however this is not 
 always appropriate or required for all keyspaces in a cluster. 
 As this is quite expensive, it would be preferred to either specify the 
 keyspaces that need this (or exclude the ones that don't).



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Created] (CASSANDRA-7422) Logging for Authentication and Authorization

2014-06-20 Thread Adam Holmberg (JIRA)
Adam Holmberg created CASSANDRA-7422:


 Summary: Logging for Authentication and Authorization
 Key: CASSANDRA-7422
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7422
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Adam Holmberg
Priority: Trivial
 Fix For: 1.2.17


We would like to enable Cassandra to log authentication and authorization 
change events. 

This facilitates audits on access to certain data. As a side effect it would 
also make it easier to notice ill-behaved clients connecting repeatedly.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7422) Logging for Authentication and Authorization

2014-06-20 Thread Adam Holmberg (JIRA)

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

Adam Holmberg updated CASSANDRA-7422:
-

Attachment: auth_logging_remote_host.patch.20140201020

auth_logging_remote_host.patch.20140201020
Possible generalized solution that tags ClientState with remote host, and logs 
authentication and authorization changes.

Logging enabled by changing log level for the affected classes:
{noformat}
log4j.logger.org.apache.cassandra.auth.AbstractAuthorizer=TRACE
log4j.logger.org.apache.cassandra.service.ClientState=TRACE
{noformat}

Emits messages like this:
{noformat}
TRACE 14:06:14,606 “cassandra authenticated from /127.0.0.1:53264
TRACE 14:06:49,243 cassandra (/127.0.0.1:53264) REVOKES [CREATE, ALTER, DROP, 
SELECT, MODIFY, AUTHORIZE] on data from “user
TRACE 14:07:01,540 cassandra (/127.0.0.1:53264) GRANTS [SELECT] on 
data/system_traces/events to user
TRACE 14:07:08,263 cassandra (/127.0.0.1:53264) REVOKES ALL from user (user 
drop)
{noformat}

I welcome any feedback.

 Logging for Authentication and Authorization
 

 Key: CASSANDRA-7422
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7422
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Adam Holmberg
Priority: Trivial
 Fix For: 1.2.17

 Attachments: auth_logging_remote_host.patch.20140201020


 We would like to enable Cassandra to log authentication and authorization 
 change events. 
 This facilitates audits on access to certain data. As a side effect it would 
 also make it easier to notice ill-behaved clients connecting repeatedly.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7413) Native Protocol V3 CREATE Response

2014-06-20 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-7413:


Attachment: 7413-v2.txt

Oh, you're referring to the call to {{name.toString()}} including the keyspace 
name for type events. Good catch, attaching v2 that fixes that as well as the 2 
other minor comments.

 Native Protocol V3 CREATE Response
 --

 Key: CASSANDRA-7413
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7413
 Project: Cassandra
  Issue Type: Task
Reporter: Robert Stupp
Assignee: Sylvain Lebresne
  Labels: protocol
 Fix For: 2.1 rc2

 Attachments: 7413-v2.txt, 7413.txt


 Native protocol v3 changes the EVENT (opcode 12) SCHEMA_CHANGE to include the 
 target type that changed : changetargetkeyspacename.
 The RESULT (opcode 8) SCHEMA_CHANGE has the old layout 
 (changekeyspacetable.
 Is this difference intentional or does the protocol spec needs change for 
 RESULT/SCHEMA_CHANGE?



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-6755) Optimise CellName/Composite comparisons for NativeCell

2014-06-20 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-6755:
-

When this goes in, if the committer could remember to update the NOTICE.txt 
file (and add the license for in lib/license) for the new dependency, that 
would be much appreciated.

 Optimise CellName/Composite comparisons for NativeCell
 --

 Key: CASSANDRA-6755
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6755
 Project: Cassandra
  Issue Type: Improvement
Reporter: Benedict
Assignee: T Jake Luciani
Priority: Minor
  Labels: performance
 Fix For: 2.1 rc2

 Attachments: 6755.txt, 6755v2.txt


 As discussed in CASSANDRA-6694, to reduce temporary garbage generation we 
 should minimise the incidence of CellName component extraction. The biggest 
 win will be to perform comparisons on Cell where possible, instead of 
 CellName, so that Native*Cell can use its extra information to avoid creating 
 any ByteBuffer objects



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-6755) Optimise CellName/Composite comparisons for NativeCell

2014-06-20 Thread T Jake Luciani (JIRA)

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

T Jake Luciani commented on CASSANDRA-6755:
---

This is a compile time only dependency. It's not in the /lib dir so I don't 
think we need todo this

 Optimise CellName/Composite comparisons for NativeCell
 --

 Key: CASSANDRA-6755
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6755
 Project: Cassandra
  Issue Type: Improvement
Reporter: Benedict
Assignee: T Jake Luciani
Priority: Minor
  Labels: performance
 Fix For: 2.1 rc2

 Attachments: 6755.txt, 6755v2.txt


 As discussed in CASSANDRA-6694, to reduce temporary garbage generation we 
 should minimise the incidence of CellName component extraction. The biggest 
 win will be to perform comparisons on Cell where possible, instead of 
 CellName, so that Native*Cell can use its extra information to avoid creating 
 any ByteBuffer objects



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7413) Native Protocol V3 CREATE Response

2014-06-20 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs commented on CASSANDRA-7413:


+1

 Native Protocol V3 CREATE Response
 --

 Key: CASSANDRA-7413
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7413
 Project: Cassandra
  Issue Type: Task
Reporter: Robert Stupp
Assignee: Sylvain Lebresne
  Labels: protocol
 Fix For: 2.1 rc2

 Attachments: 7413-v2.txt, 7413.txt


 Native protocol v3 changes the EVENT (opcode 12) SCHEMA_CHANGE to include the 
 target type that changed : changetargetkeyspacename.
 The RESULT (opcode 8) SCHEMA_CHANGE has the old layout 
 (changekeyspacetable.
 Is this difference intentional or does the protocol spec needs change for 
 RESULT/SCHEMA_CHANGE?



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-6755) Optimise CellName/Composite comparisons for NativeCell

2014-06-20 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-6755:
-

bq. This is a compile time only dependency. It's not in the /lib dir so I don't 
think we need todo this

You're probably right though tbh I'm not 100% sure that's true. How confident 
are you about that?

 Optimise CellName/Composite comparisons for NativeCell
 --

 Key: CASSANDRA-6755
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6755
 Project: Cassandra
  Issue Type: Improvement
Reporter: Benedict
Assignee: T Jake Luciani
Priority: Minor
  Labels: performance
 Fix For: 2.1 rc2

 Attachments: 6755.txt, 6755v2.txt


 As discussed in CASSANDRA-6694, to reduce temporary garbage generation we 
 should minimise the incidence of CellName component extraction. The biggest 
 win will be to perform comparisons on Cell where possible, instead of 
 CellName, so that Native*Cell can use its extra information to avoid creating 
 any ByteBuffer objects



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-6962) examine shortening path length post-5202

2014-06-20 Thread Joshua McKenzie (JIRA)

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

Joshua McKenzie commented on CASSANDRA-6962:


[~yukim] - could I get a rebase to trunk instead of 2.1-beta2?  There's a 
variety of file access issues in beta2 (on Windows) that are making testing 
this a bit of a headache.  I'll continue testing on linux but want to verify on 
both platforms, though I don't expect any platform-specific differences.

 examine shortening path length post-5202
 

 Key: CASSANDRA-6962
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6962
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Brandon Williams
Assignee: Yuki Morishita
 Fix For: 3.0

 Attachments: 6962-2.1.txt


 From CASSANDRA-5202 discussion:
 {quote}
 Did we give up on this?
 Could we clean up the redundancy a little by moving the ID into the directory 
 name? e.g., ks/cf-uuid/version-generation-component.db
 I'm worried about path length, which is limited on Windows.
 Edit: to give a specific example, for KS foo Table bar we now have
 /var/lib/cassandra/flush/foo/bar-2fbb89709a6911e3b7dc4d7d4e3ca4b4/foo-bar-ka-1-Data.db
 I'm proposing
 /var/lib/cassandra/flush/foo/bar-2fbb89709a6911e3b7dc4d7d4e3ca4b4/ka-1-Data.db
 {quote}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Reopened] (CASSANDRA-7226) get code coverage working again (cobertura or other)

2014-06-20 Thread Russ Hatch (JIRA)

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

Russ Hatch reopened CASSANDRA-7226:
---


 get code coverage working again (cobertura or other)
 

 Key: CASSANDRA-7226
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7226
 Project: Cassandra
  Issue Type: Test
Reporter: Russ Hatch
Assignee: Russ Hatch
 Fix For: 3.0

 Attachments: coverage.png, trunk-7226.txt


 We need to sort out code coverage again, for unit and cassandra-dtest tests. 
 Preferably the same tool for both.
 Seems like cobertura project activity has dwindled. Jacoco might be a viable 
 alternative to cobertura. Jacoco can can instrument running bytecode so I 
 think it could also work for dtests (does require an agent, not sure if 
 that's a problem yet). If using an agent is problematic looks like it can 
 also work with offline bytecode though I don't see how that could benefit 
 dtests. Project seems pretty active, with a release just last week.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7226) get code coverage working again (cobertura or other)

2014-06-20 Thread Russ Hatch (JIRA)

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

Russ Hatch updated CASSANDRA-7226:
--

Attachment: trunk-7226-2.txt

Adding one more small patch. The reporting was not allowing code browsing 
before, so it would not actually be possible to browse source and see coverage 
data. Pretty minor change to the jacoco-report task to enable this.

 get code coverage working again (cobertura or other)
 

 Key: CASSANDRA-7226
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7226
 Project: Cassandra
  Issue Type: Test
Reporter: Russ Hatch
Assignee: Russ Hatch
 Fix For: 3.0

 Attachments: coverage.png, trunk-7226-2.txt, trunk-7226.txt


 We need to sort out code coverage again, for unit and cassandra-dtest tests. 
 Preferably the same tool for both.
 Seems like cobertura project activity has dwindled. Jacoco might be a viable 
 alternative to cobertura. Jacoco can can instrument running bytecode so I 
 think it could also work for dtests (does require an agent, not sure if 
 that's a problem yet). If using an agent is problematic looks like it can 
 also work with offline bytecode though I don't see how that could benefit 
 dtests. Project seems pretty active, with a release just last week.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


git commit: Change schema change response in native protocol v3

2014-06-20 Thread slebresne
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 9a6298e29 - 2fe6de6a1


Change schema change response in native protocol v3

patch by slebresne; reviewed by thobbs for CASSANDRA-7413


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

Branch: refs/heads/cassandra-2.1
Commit: 2fe6de6a11850f2b92c5364d8b78625f297c7f55
Parents: 9a6298e
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Fri Jun 20 18:32:45 2014 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Fri Jun 20 18:32:45 2014 +0200

--
 CHANGES.txt |  3 +-
 doc/native_protocol_v3.spec | 29 ++--
 src/java/org/apache/cassandra/cql3/UTName.java  |  5 +++
 .../cql3/statements/AlterKeyspaceStatement.java |  6 ++--
 .../cql3/statements/AlterTableStatement.java|  6 ++--
 .../cql3/statements/AlterTypeStatement.java |  6 ++--
 .../cql3/statements/CreateIndexStatement.java   |  6 ++--
 .../statements/CreateKeyspaceStatement.java |  6 ++--
 .../cql3/statements/CreateTableStatement.java   |  6 ++--
 .../cql3/statements/CreateTriggerStatement.java |  6 ++--
 .../cql3/statements/CreateTypeStatement.java|  6 ++--
 .../cql3/statements/DropIndexStatement.java |  6 ++--
 .../cql3/statements/DropKeyspaceStatement.java  |  6 ++--
 .../cql3/statements/DropTableStatement.java |  6 ++--
 .../cql3/statements/DropTriggerStatement.java   |  6 ++--
 .../cql3/statements/DropTypeStatement.java  |  6 ++--
 .../statements/SchemaAlteringStatement.java |  9 +++--
 .../org/apache/cassandra/transport/Event.java   |  6 ++--
 .../transport/messages/ResultMessage.java   | 35 
 19 files changed, 70 insertions(+), 95 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/2fe6de6a/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 4298c37..7288de6 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,4 @@
-2.1.0
+2.1.0-rc2
  * Modify reconcile logic to always pick a tombstone over a counter cell
(CASSANDRA-7346)
  * Avoid incremental compaction on Windows (CASSANDRA-7365)
@@ -16,6 +16,7 @@
  * RefCount native frames from netty (CASSANDRA-7245)
  * Use tarball dir instead of /var for default paths (CASSANDRA-7136)
  * Remove rows_per_partition_to_cache keyword (CASSANDRA-7193)
+ * Fix schema change response in native protocol v3 (CASSANDRA-7413)
 Merged from 2.0:
  * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364)
  * Add per-CF range read request latency metrics (CASSANDRA-7338)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2fe6de6a/doc/native_protocol_v3.spec
--
diff --git a/doc/native_protocol_v3.spec b/doc/native_protocol_v3.spec
index 5e9f439..c26feeb 100644
--- a/doc/native_protocol_v3.spec
+++ b/doc/native_protocol_v3.spec
@@ -639,17 +639,10 @@ Table of Contents
 4.2.5.5. Schema_change
 
   The result to a schema altering query (creation/update/drop of a
-  keyspace/table/index). The body (after the kind [int]) is composed of 3
-  [string]:
-changekeyspacetable
-  where:
-- change describe the type of change that has occured. It can be one of
-  CREATED, UPDATED or DROPPED.
-- keyspace is the name of the affected keyspace or the keyspace of the
-  affected table.
-- table is the name of the affected table. table will be empty (i.e.
-  the empty string ) if the change was affecting a keyspace and not a
-  table.
+  keyspace/table/index). The body (after the kind [int]) is the same
+  as the body for a SCHEMA_CHANGE event, so 3 strings:
+change_typetargetoptions
+  Please refer to the section 4.2.6 below for the meaning of those fields.
 
   Note that queries to create and drop an index are considered as change
   updating the table the index is on.
@@ -674,11 +667,11 @@ Table of Contents
   concerned node.
 - SCHEMA_CHANGE: events related to schema change. After the event type,
   the rest of the message will be change_typetargetoptions where:
-- change_type is the type of changed involved. It will be one of
-  CREATED, UPDATED or DROPPED.
-- target can be one of KEYSPACE, TABLE or TYPE and describes
-  what has been modified (TYPE stands for modifications related to
-  user types).
+- change_type is a [string] representing the type of changed 
involved.
+  It will be one of CREATED, UPDATED or DROPPED.
+- target is a [string] that can be one of KEYSPACE, TABLE or 
TYPE
+

[2/2] git commit: Merge branch 'cassandra-2.1' into trunk

2014-06-20 Thread slebresne
Merge branch 'cassandra-2.1' into trunk

Conflicts:
CHANGES.txt


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

Branch: refs/heads/trunk
Commit: 51db18cf03d9c56ee311154038abaab753ddb770
Parents: eb56b49 2fe6de6
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Fri Jun 20 18:34:46 2014 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Fri Jun 20 18:34:46 2014 +0200

--
 CHANGES.txt |  3 +-
 doc/native_protocol_v3.spec | 29 ++--
 src/java/org/apache/cassandra/cql3/UTName.java  |  5 +++
 .../cql3/statements/AlterKeyspaceStatement.java |  6 ++--
 .../cql3/statements/AlterTableStatement.java|  6 ++--
 .../cql3/statements/AlterTypeStatement.java |  6 ++--
 .../cql3/statements/CreateIndexStatement.java   |  6 ++--
 .../statements/CreateKeyspaceStatement.java |  6 ++--
 .../cql3/statements/CreateTableStatement.java   |  6 ++--
 .../cql3/statements/CreateTriggerStatement.java |  6 ++--
 .../cql3/statements/CreateTypeStatement.java|  6 ++--
 .../cql3/statements/DropIndexStatement.java |  6 ++--
 .../cql3/statements/DropKeyspaceStatement.java  |  6 ++--
 .../cql3/statements/DropTableStatement.java |  6 ++--
 .../cql3/statements/DropTriggerStatement.java   |  6 ++--
 .../cql3/statements/DropTypeStatement.java  |  6 ++--
 .../statements/SchemaAlteringStatement.java |  9 +++--
 .../org/apache/cassandra/transport/Event.java   |  6 ++--
 .../transport/messages/ResultMessage.java   | 35 
 19 files changed, 70 insertions(+), 95 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/51db18cf/CHANGES.txt
--
diff --cc CHANGES.txt
index ad325a5,7288de6..2912060
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,17 -1,4 +1,17 @@@
 +3.0
 + * Move sstable RandomAccessReader to nio2, which allows using the
 +   FILE_SHARE_DELETE flag on Windows (CASSANDRA-4050)
 + * Remove CQL2 (CASSANDRA-5918)
 + * Add Thrift get_multi_slice call (CASSANDRA-6757)
 + * Optimize fetching multiple cells by name (CASSANDRA-6933)
 + * Allow compilation in java 8 (CASSANDRA-7208)
 + * Make incremental repair default (CASSANDRA-7250)
 + * Enable code coverage thru JaCoCo (CASSANDRA-7226)
 + * Switch external naming of 'column families' to 'tables' (CASSANDRA-4369) 
 + 
 +
 +
- 2.1.0
+ 2.1.0-rc2
   * Modify reconcile logic to always pick a tombstone over a counter cell
 (CASSANDRA-7346)
   * Avoid incremental compaction on Windows (CASSANDRA-7365)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/51db18cf/src/java/org/apache/cassandra/cql3/statements/AlterTableStatement.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/51db18cf/src/java/org/apache/cassandra/cql3/statements/CreateTableStatement.java
--



[1/2] git commit: Change schema change response in native protocol v3

2014-06-20 Thread slebresne
Repository: cassandra
Updated Branches:
  refs/heads/trunk eb56b490b - 51db18cf0


Change schema change response in native protocol v3

patch by slebresne; reviewed by thobbs for CASSANDRA-7413


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

Branch: refs/heads/trunk
Commit: 2fe6de6a11850f2b92c5364d8b78625f297c7f55
Parents: 9a6298e
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Fri Jun 20 18:32:45 2014 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Fri Jun 20 18:32:45 2014 +0200

--
 CHANGES.txt |  3 +-
 doc/native_protocol_v3.spec | 29 ++--
 src/java/org/apache/cassandra/cql3/UTName.java  |  5 +++
 .../cql3/statements/AlterKeyspaceStatement.java |  6 ++--
 .../cql3/statements/AlterTableStatement.java|  6 ++--
 .../cql3/statements/AlterTypeStatement.java |  6 ++--
 .../cql3/statements/CreateIndexStatement.java   |  6 ++--
 .../statements/CreateKeyspaceStatement.java |  6 ++--
 .../cql3/statements/CreateTableStatement.java   |  6 ++--
 .../cql3/statements/CreateTriggerStatement.java |  6 ++--
 .../cql3/statements/CreateTypeStatement.java|  6 ++--
 .../cql3/statements/DropIndexStatement.java |  6 ++--
 .../cql3/statements/DropKeyspaceStatement.java  |  6 ++--
 .../cql3/statements/DropTableStatement.java |  6 ++--
 .../cql3/statements/DropTriggerStatement.java   |  6 ++--
 .../cql3/statements/DropTypeStatement.java  |  6 ++--
 .../statements/SchemaAlteringStatement.java |  9 +++--
 .../org/apache/cassandra/transport/Event.java   |  6 ++--
 .../transport/messages/ResultMessage.java   | 35 
 19 files changed, 70 insertions(+), 95 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/2fe6de6a/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 4298c37..7288de6 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,4 @@
-2.1.0
+2.1.0-rc2
  * Modify reconcile logic to always pick a tombstone over a counter cell
(CASSANDRA-7346)
  * Avoid incremental compaction on Windows (CASSANDRA-7365)
@@ -16,6 +16,7 @@
  * RefCount native frames from netty (CASSANDRA-7245)
  * Use tarball dir instead of /var for default paths (CASSANDRA-7136)
  * Remove rows_per_partition_to_cache keyword (CASSANDRA-7193)
+ * Fix schema change response in native protocol v3 (CASSANDRA-7413)
 Merged from 2.0:
  * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364)
  * Add per-CF range read request latency metrics (CASSANDRA-7338)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2fe6de6a/doc/native_protocol_v3.spec
--
diff --git a/doc/native_protocol_v3.spec b/doc/native_protocol_v3.spec
index 5e9f439..c26feeb 100644
--- a/doc/native_protocol_v3.spec
+++ b/doc/native_protocol_v3.spec
@@ -639,17 +639,10 @@ Table of Contents
 4.2.5.5. Schema_change
 
   The result to a schema altering query (creation/update/drop of a
-  keyspace/table/index). The body (after the kind [int]) is composed of 3
-  [string]:
-changekeyspacetable
-  where:
-- change describe the type of change that has occured. It can be one of
-  CREATED, UPDATED or DROPPED.
-- keyspace is the name of the affected keyspace or the keyspace of the
-  affected table.
-- table is the name of the affected table. table will be empty (i.e.
-  the empty string ) if the change was affecting a keyspace and not a
-  table.
+  keyspace/table/index). The body (after the kind [int]) is the same
+  as the body for a SCHEMA_CHANGE event, so 3 strings:
+change_typetargetoptions
+  Please refer to the section 4.2.6 below for the meaning of those fields.
 
   Note that queries to create and drop an index are considered as change
   updating the table the index is on.
@@ -674,11 +667,11 @@ Table of Contents
   concerned node.
 - SCHEMA_CHANGE: events related to schema change. After the event type,
   the rest of the message will be change_typetargetoptions where:
-- change_type is the type of changed involved. It will be one of
-  CREATED, UPDATED or DROPPED.
-- target can be one of KEYSPACE, TABLE or TYPE and describes
-  what has been modified (TYPE stands for modifications related to
-  user types).
+- change_type is a [string] representing the type of changed 
involved.
+  It will be one of CREATED, UPDATED or DROPPED.
+- target is a [string] that can be one of KEYSPACE, TABLE or 
TYPE
+  and 

git commit: Allow browsing in jacoco-report

2014-06-20 Thread brandonwilliams
Repository: cassandra
Updated Branches:
  refs/heads/trunk 51db18cf0 - e77b70eec


Allow browsing in jacoco-report

Patch by Russ Hatch, reviewed by brandonwilliams for CASSANDRA-7226


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

Branch: refs/heads/trunk
Commit: e77b70eecce36250ecbe4a4fd977813d0096b859
Parents: 51db18c
Author: Brandon Williams brandonwilli...@apache.org
Authored: Fri Jun 20 11:37:22 2014 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Fri Jun 20 11:37:22 2014 -0500

--
 build.xml | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e77b70ee/build.xml
--
diff --git a/build.xml b/build.xml
index 8595fa9..02e1f98 100644
--- a/build.xml
+++ b/build.xml
@@ -1299,7 +1299,10 @@
   /fileset
 /classfiles
 sourcefiles encoding=UTF-8
-  fileset dir=${build.src} /
+  dirset dir=${build.src}
+include name=java/
+include name=gen-java/
+  /dirset
 /sourcefiles
   /structure
   !-- to produce reports in different formats. --



[jira] [Resolved] (CASSANDRA-7226) get code coverage working again (cobertura or other)

2014-06-20 Thread Brandon Williams (JIRA)

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

Brandon Williams resolved CASSANDRA-7226.
-

Resolution: Fixed

Committed.

 get code coverage working again (cobertura or other)
 

 Key: CASSANDRA-7226
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7226
 Project: Cassandra
  Issue Type: Test
Reporter: Russ Hatch
Assignee: Russ Hatch
 Fix For: 3.0

 Attachments: coverage.png, trunk-7226-2.txt, trunk-7226.txt


 We need to sort out code coverage again, for unit and cassandra-dtest tests. 
 Preferably the same tool for both.
 Seems like cobertura project activity has dwindled. Jacoco might be a viable 
 alternative to cobertura. Jacoco can can instrument running bytecode so I 
 think it could also work for dtests (does require an agent, not sure if 
 that's a problem yet). If using an agent is problematic looks like it can 
 also work with offline bytecode though I don't see how that could benefit 
 dtests. Project seems pretty active, with a release just last week.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7399) cqlsh: describe table shows wrong data type for CompositeType

2014-06-20 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs commented on CASSANDRA-7399:


The 2.1 patch looks good.

With the 1.2 patch, DynamicCompositeType can't be parsed (it doesn't like the 
= bits).  I'm not sure if we care enough about DynamicComposite type to fix 
this for 1.2 and 2.0, but if so, we need to patch the bundled cqltypes.py to 
change:

{code}
casstype_scanner = re.Scanner(( 
  
(r'[()]', lambda s, t: t),  
  
(r'[a-zA-Z0-9_.:]+', lambda s, t: t),   
  
(r'[\s,]', None), 
))
{code}

to

{code}
casstype_scanner = re.Scanner(( 
  
(r'[()]', lambda s, t: t),  
  
(r'[a-zA-Z0-9_.:=]+', lambda s, t: t), 

(r'[\s,]', None), 
))
{code}

 cqlsh: describe table shows wrong data type for CompositeType
 -

 Key: CASSANDRA-7399
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7399
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Reporter: Robert Stupp
Assignee: Mikhail Stepura
 Fix For: 1.2.17, 2.0.9, 2.1 rc2

 Attachments: CASSANDRA-1.2-7399.patch, CASSANDRA-2.1-7399.patch


 {{DESCRIBE}} for {{CompositeType}} produces wrong output.
 Currently:
 {noformat}
 CREATE TABLE compo.comp (
 id int PRIMARY KEY,
 comp 'org.apache.cassandra.db.marshal.CompositeType'int, text
 )...
 {noformat}
 Correct:
 {noformat}
 CREATE TABLE compo.comp (
 id int PRIMARY KEY,
 comp 'org.apache.cassandra.db.marshal.CompositeType(Int32Type,UTF8Type)'
 )...
 {noformat}
 Means:
 1. use normal brackets instead of {{}}
 1. use C* type names instead of CQL3 names
 1. move types inside quoted



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Created] (CASSANDRA-7423) make user defined types useful for non-trivial use cases

2014-06-20 Thread Tupshin Harper (JIRA)
Tupshin Harper created CASSANDRA-7423:
-

 Summary: make user defined types useful for non-trivial use cases
 Key: CASSANDRA-7423
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7423
 Project: Cassandra
  Issue Type: Improvement
  Components: API, Core
Reporter: Tupshin Harper


Since user defined types were implemented in CASSANDRA-5590 as blobs (you have 
to rewrite the entire type in order to make any modifications), they can't be 
safely used without LWT for any operation that wants to modify a subset of the 
UDT's fields by any client process that is not authoritative for the entire 
blob. 

When trying to use UDTs to model complex records (particularly with nesting), 
this is not an exceptional circumstance, this is the totally expected normal 
situation. 

The use of UDTs for anything non-trivial is harmful to either performance or 
consistency or both.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


git commit: Accept subtypes for function results, type casts

2014-06-20 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.0 f6c5e020a - 9da742d5f


Accept subtypes for function results, type casts

Patch by Tyler Hobbs; reviewed by Sylvain Lebresne for CASSANDRA-6766


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

Branch: refs/heads/cassandra-2.0
Commit: 9da742d5f83e1b2563be1c0d45a0e3d65a38ec44
Parents: f6c5e02
Author: Tyler Hobbs ty...@datastax.com
Authored: Fri Jun 20 11:48:04 2014 -0500
Committer: Tyler Hobbs ty...@datastax.com
Committed: Fri Jun 20 11:48:04 2014 -0500

--
 CHANGES.txt |   1 +
 .../org/apache/cassandra/cql3/TypeCast.java |   2 +-
 .../cassandra/cql3/functions/FunctionCall.java  |   2 +-
 .../cassandra/cql3/functions/Functions.java |   4 +-
 .../cassandra/cql3/statements/Selection.java|   6 +-
 .../cassandra/db/marshal/AbstractType.java  |  23 ++-
 .../apache/cassandra/db/marshal/BytesType.java  |   2 +-
 .../cassandra/db/marshal/CompositeType.java |   8 +-
 .../apache/cassandra/db/marshal/DateType.java   |   6 +
 .../cassandra/db/marshal/IntegerType.java   |   6 +
 .../apache/cassandra/db/marshal/LongType.java   |   6 +
 .../cassandra/db/marshal/ReversedType.java  |   6 +
 .../cassandra/db/marshal/TimestampType.java |   6 +
 .../apache/cassandra/db/marshal/TupleType.java  |   6 +-
 .../apache/cassandra/db/marshal/UUIDType.java   |   6 +
 .../org/apache/cassandra/cql3/TypeTest.java | 144 +++
 16 files changed, 214 insertions(+), 20 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9da742d5/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 69cc46b..dac254e 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -19,6 +19,7 @@
  * Reference sstables before populating key cache (CASSANDRA-7234)
  * Account for range tombstones in min/max column names (CASSANDRA-7235)
  * Improve sub range repair validation (CASSANDRA-7317)
+ * Accept subtypes for function results, type casts (CASSANDRA-6766)
 Merged from 1.2:
  * Handle possible integer overflow in FastByteArrayOutputStream 
(CASSANDRA-7373)
  * cqlsh: 'ascii' values weren't formatted as text (CASSANDRA-7407)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9da742d5/src/java/org/apache/cassandra/cql3/TypeCast.java
--
diff --git a/src/java/org/apache/cassandra/cql3/TypeCast.java 
b/src/java/org/apache/cassandra/cql3/TypeCast.java
index 66b5300..64261fa 100644
--- a/src/java/org/apache/cassandra/cql3/TypeCast.java
+++ b/src/java/org/apache/cassandra/cql3/TypeCast.java
@@ -48,7 +48,7 @@ public class TypeCast implements Term.Raw
 
 public boolean isAssignableTo(ColumnSpecification receiver)
 {
-return receiver.type.asCQL3Type().equals(type);
+return receiver.type.isValueCompatibleWith(type.getType());
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9da742d5/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java
--
diff --git a/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java 
b/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java
index 8db03e6..3abf65e 100644
--- a/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java
+++ b/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java
@@ -142,7 +142,7 @@ public class FunctionCall extends Term.NonTerminal
 // is used as argument of another, existing, function. In that 
case, we return true here because we'll catch
 // the fact that the method is undefined latter anyway and with a 
more helpful error message that if we were
 // to return false here.
-return returnType == null || 
receiver.type.asCQL3Type().equals(returnType.asCQL3Type());
+return returnType == null || 
receiver.type.isValueCompatibleWith(returnType);
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9da742d5/src/java/org/apache/cassandra/cql3/functions/Functions.java
--
diff --git a/src/java/org/apache/cassandra/cql3/functions/Functions.java 
b/src/java/org/apache/cassandra/cql3/functions/Functions.java
index 5f4201d..4f108cb 100644
--- a/src/java/org/apache/cassandra/cql3/functions/Functions.java
+++ b/src/java/org/apache/cassandra/cql3/functions/Functions.java
@@ -111,7 +111,7 @@ public abstract class Functions
 
 private static void 

[1/2] git commit: Accept subtypes for function results, type casts

2014-06-20 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 2fe6de6a1 - 9dcdb8b0b


Accept subtypes for function results, type casts

Patch by Tyler Hobbs; reviewed by Sylvain Lebresne for CASSANDRA-6766


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

Branch: refs/heads/cassandra-2.1
Commit: 9da742d5f83e1b2563be1c0d45a0e3d65a38ec44
Parents: f6c5e02
Author: Tyler Hobbs ty...@datastax.com
Authored: Fri Jun 20 11:48:04 2014 -0500
Committer: Tyler Hobbs ty...@datastax.com
Committed: Fri Jun 20 11:48:04 2014 -0500

--
 CHANGES.txt |   1 +
 .../org/apache/cassandra/cql3/TypeCast.java |   2 +-
 .../cassandra/cql3/functions/FunctionCall.java  |   2 +-
 .../cassandra/cql3/functions/Functions.java |   4 +-
 .../cassandra/cql3/statements/Selection.java|   6 +-
 .../cassandra/db/marshal/AbstractType.java  |  23 ++-
 .../apache/cassandra/db/marshal/BytesType.java  |   2 +-
 .../cassandra/db/marshal/CompositeType.java |   8 +-
 .../apache/cassandra/db/marshal/DateType.java   |   6 +
 .../cassandra/db/marshal/IntegerType.java   |   6 +
 .../apache/cassandra/db/marshal/LongType.java   |   6 +
 .../cassandra/db/marshal/ReversedType.java  |   6 +
 .../cassandra/db/marshal/TimestampType.java |   6 +
 .../apache/cassandra/db/marshal/TupleType.java  |   6 +-
 .../apache/cassandra/db/marshal/UUIDType.java   |   6 +
 .../org/apache/cassandra/cql3/TypeTest.java | 144 +++
 16 files changed, 214 insertions(+), 20 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9da742d5/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 69cc46b..dac254e 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -19,6 +19,7 @@
  * Reference sstables before populating key cache (CASSANDRA-7234)
  * Account for range tombstones in min/max column names (CASSANDRA-7235)
  * Improve sub range repair validation (CASSANDRA-7317)
+ * Accept subtypes for function results, type casts (CASSANDRA-6766)
 Merged from 1.2:
  * Handle possible integer overflow in FastByteArrayOutputStream 
(CASSANDRA-7373)
  * cqlsh: 'ascii' values weren't formatted as text (CASSANDRA-7407)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9da742d5/src/java/org/apache/cassandra/cql3/TypeCast.java
--
diff --git a/src/java/org/apache/cassandra/cql3/TypeCast.java 
b/src/java/org/apache/cassandra/cql3/TypeCast.java
index 66b5300..64261fa 100644
--- a/src/java/org/apache/cassandra/cql3/TypeCast.java
+++ b/src/java/org/apache/cassandra/cql3/TypeCast.java
@@ -48,7 +48,7 @@ public class TypeCast implements Term.Raw
 
 public boolean isAssignableTo(ColumnSpecification receiver)
 {
-return receiver.type.asCQL3Type().equals(type);
+return receiver.type.isValueCompatibleWith(type.getType());
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9da742d5/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java
--
diff --git a/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java 
b/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java
index 8db03e6..3abf65e 100644
--- a/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java
+++ b/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java
@@ -142,7 +142,7 @@ public class FunctionCall extends Term.NonTerminal
 // is used as argument of another, existing, function. In that 
case, we return true here because we'll catch
 // the fact that the method is undefined latter anyway and with a 
more helpful error message that if we were
 // to return false here.
-return returnType == null || 
receiver.type.asCQL3Type().equals(returnType.asCQL3Type());
+return returnType == null || 
receiver.type.isValueCompatibleWith(returnType);
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9da742d5/src/java/org/apache/cassandra/cql3/functions/Functions.java
--
diff --git a/src/java/org/apache/cassandra/cql3/functions/Functions.java 
b/src/java/org/apache/cassandra/cql3/functions/Functions.java
index 5f4201d..4f108cb 100644
--- a/src/java/org/apache/cassandra/cql3/functions/Functions.java
+++ b/src/java/org/apache/cassandra/cql3/functions/Functions.java
@@ -111,7 +111,7 @@ public abstract class Functions
 
 private static void 

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

2014-06-20 Thread tylerhobbs
Merge branch 'cassandra-2.0' into cassandra-2.1

Conflicts:
src/java/org/apache/cassandra/cql3/TypeCast.java
src/java/org/apache/cassandra/cql3/statements/Selection.java


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

Branch: refs/heads/cassandra-2.1
Commit: 9dcdb8b0b5bb5c92986b16380d650373c7f819d6
Parents: 2fe6de6 9da742d
Author: Tyler Hobbs ty...@datastax.com
Authored: Fri Jun 20 12:00:20 2014 -0500
Committer: Tyler Hobbs ty...@datastax.com
Committed: Fri Jun 20 12:00:20 2014 -0500

--
 CHANGES.txt |  1 +
 .../org/apache/cassandra/cql3/TypeCast.java |  2 +-
 .../cassandra/cql3/functions/FunctionCall.java  |  2 +-
 .../cassandra/cql3/functions/Functions.java |  4 +-
 .../cassandra/cql3/statements/Selection.java|  2 +-
 .../cassandra/db/marshal/AbstractType.java  | 23 +++--
 .../apache/cassandra/db/marshal/BytesType.java  |  2 +-
 .../cassandra/db/marshal/CompositeType.java |  8 +--
 .../apache/cassandra/db/marshal/DateType.java   |  6 +++
 .../cassandra/db/marshal/IntegerType.java   |  6 +++
 .../apache/cassandra/db/marshal/LongType.java   |  6 +++
 .../cassandra/db/marshal/ReversedType.java  |  6 +++
 .../cassandra/db/marshal/TimestampType.java |  6 +++
 .../apache/cassandra/db/marshal/TupleType.java  |  6 +--
 .../apache/cassandra/db/marshal/UUIDType.java   |  6 +++
 .../org/apache/cassandra/cql3/TypeTest.java | 51 
 16 files changed, 119 insertions(+), 18 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dcdb8b0/CHANGES.txt
--
diff --cc CHANGES.txt
index 7288de6,dac254e..d7cb9ee
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,30 -1,25 +1,31 @@@
 -2.0.9
 - * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364)
 - * Handle empty CFs in Memtable#maybeUpdateLiveRatio() (CASSANDRA-7401)
 +2.1.0-rc2
 + * Modify reconcile logic to always pick a tombstone over a counter cell
 +   (CASSANDRA-7346)
 + * Avoid incremental compaction on Windows (CASSANDRA-7365)
 + * Fix exception when querying a composite-keyed table with a collection index
 +   (CASSANDRA-7372)
 + * Use node's host id in place of counter ids (CASSANDRA-7366)
   * Fix native protocol CAS batches (CASSANDRA-7337)
 + * Reduce likelihood of contention on local paxos locking (CASSANDRA-7359)
 + * Upgrade to Pig 0.12.1 (CASSANDRA-6556)
 + * Make sure we clear out repair sessions from netstats (CASSANDRA-7329)
 + * Don't fail streams on failure detector downs (CASSANDRA-3569)
 + * Add optional keyspace to DROP INDEX statement (CASSANDRA-7314)
 + * Reduce run time for CQL tests (CASSANDRA-7327)
 + * Fix heap size calculation on Windows (CASSANDRA-7352, 7353)
 + * RefCount native frames from netty (CASSANDRA-7245)
 + * Use tarball dir instead of /var for default paths (CASSANDRA-7136)
 + * Remove rows_per_partition_to_cache keyword (CASSANDRA-7193)
 + * Fix schema change response in native protocol v3 (CASSANDRA-7413)
 +Merged from 2.0:
 + * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364)
   * Add per-CF range read request latency metrics (CASSANDRA-7338)
   * Fix NPE in StreamTransferTask.createMessageForRetry() (CASSANDRA-7323)
 - * Add conditional CREATE/DROP USER support (CASSANDRA-7264)
 - * Swap local and global default read repair chances (CASSANDRA-7320)
 - * Add missing iso8601 patterns for date strings (CASSANDRA-6973)
 - * Support selecting multiple rows in a partition using IN (CASSANDRA-6875)
 - * cqlsh: always emphasize the partition key in DESC output (CASSANDRA-7274)
 - * Copy compaction options to make sure they are reloaded (CASSANDRA-7290)
 - * Add option to do more aggressive tombstone compactions (CASSANDRA-6563)
 - * Don't try to compact already-compacting files in HHOM (CASSANDRA-7288)
 - * Add authentication support to shuffle (CASSANDRA-6484)
 - * Cqlsh counts non-empty lines for Blank lines warning (CASSANDRA-7325)
   * Make StreamSession#closeSession() idempotent (CASSANDRA-7262)
   * Fix infinite loop on exception while streaming (CASSANDRA-7330)
 - * Reference sstables before populating key cache (CASSANDRA-7234)
   * Account for range tombstones in min/max column names (CASSANDRA-7235)
   * Improve sub range repair validation (CASSANDRA-7317)
+  * Accept subtypes for function results, type casts (CASSANDRA-6766)
  Merged from 1.2:
   * Handle possible integer overflow in FastByteArrayOutputStream 
(CASSANDRA-7373)
   * cqlsh: 'ascii' values weren't formatted as text (CASSANDRA-7407)


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

2014-06-20 Thread tylerhobbs
Merge branch 'cassandra-2.1' into trunk


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

Branch: refs/heads/trunk
Commit: 51016876ab7015a3c6f3747943c0387b14cc1322
Parents: e77b70e 9dcdb8b
Author: Tyler Hobbs ty...@datastax.com
Authored: Fri Jun 20 12:00:48 2014 -0500
Committer: Tyler Hobbs ty...@datastax.com
Committed: Fri Jun 20 12:00:48 2014 -0500

--
 CHANGES.txt |  1 +
 .../org/apache/cassandra/cql3/TypeCast.java |  2 +-
 .../cassandra/cql3/functions/FunctionCall.java  |  2 +-
 .../cassandra/cql3/functions/Functions.java |  4 +-
 .../cassandra/cql3/statements/Selection.java|  2 +-
 .../cassandra/db/marshal/AbstractType.java  | 23 +++--
 .../apache/cassandra/db/marshal/BytesType.java  |  2 +-
 .../cassandra/db/marshal/CompositeType.java |  8 +--
 .../apache/cassandra/db/marshal/DateType.java   |  6 +++
 .../cassandra/db/marshal/IntegerType.java   |  6 +++
 .../apache/cassandra/db/marshal/LongType.java   |  6 +++
 .../cassandra/db/marshal/ReversedType.java  |  6 +++
 .../cassandra/db/marshal/TimestampType.java |  6 +++
 .../apache/cassandra/db/marshal/TupleType.java  |  6 +--
 .../apache/cassandra/db/marshal/UUIDType.java   |  6 +++
 .../org/apache/cassandra/cql3/TypeTest.java | 51 
 16 files changed, 119 insertions(+), 18 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/51016876/CHANGES.txt
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/51016876/src/java/org/apache/cassandra/db/marshal/AbstractType.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/51016876/src/java/org/apache/cassandra/db/marshal/DateType.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/51016876/src/java/org/apache/cassandra/db/marshal/TupleType.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/51016876/src/java/org/apache/cassandra/db/marshal/UUIDType.java
--
diff --cc src/java/org/apache/cassandra/db/marshal/UUIDType.java
index e988a58,c4ce1d1..83fa2ba
--- a/src/java/org/apache/cassandra/db/marshal/UUIDType.java
+++ b/src/java/org/apache/cassandra/db/marshal/UUIDType.java
@@@ -173,9 -179,22 +173,15 @@@ public class UUIDType extends AbstractT
  }
  }
  
 -try
 -{
 -return 
ByteBuffer.wrap(UUIDGen.getTimeUUIDBytes(TimestampSerializer.dateStringToTimestamp(source)));
 -}
 -catch (MarshalException e)
 -{
 -throw new MarshalException(String.format(unable to make version 
1 UUID from '%s', source), e);
 -}
 +throw new MarshalException(String.format(unable to coerce '%s' to 
version 1 UUID, source));
  }
  
+ @Override
+ public boolean isValueCompatibleWithInternal(AbstractType? otherType)
+ {
+ return this == otherType || otherType == TimeUUIDType.instance;
+ }
+ 
  public CQL3Type asCQL3Type()
  {
  return CQL3Type.Native.UUID;



[1/3] git commit: Accept subtypes for function results, type casts

2014-06-20 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/trunk e77b70eec - 51016876a


Accept subtypes for function results, type casts

Patch by Tyler Hobbs; reviewed by Sylvain Lebresne for CASSANDRA-6766


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

Branch: refs/heads/trunk
Commit: 9da742d5f83e1b2563be1c0d45a0e3d65a38ec44
Parents: f6c5e02
Author: Tyler Hobbs ty...@datastax.com
Authored: Fri Jun 20 11:48:04 2014 -0500
Committer: Tyler Hobbs ty...@datastax.com
Committed: Fri Jun 20 11:48:04 2014 -0500

--
 CHANGES.txt |   1 +
 .../org/apache/cassandra/cql3/TypeCast.java |   2 +-
 .../cassandra/cql3/functions/FunctionCall.java  |   2 +-
 .../cassandra/cql3/functions/Functions.java |   4 +-
 .../cassandra/cql3/statements/Selection.java|   6 +-
 .../cassandra/db/marshal/AbstractType.java  |  23 ++-
 .../apache/cassandra/db/marshal/BytesType.java  |   2 +-
 .../cassandra/db/marshal/CompositeType.java |   8 +-
 .../apache/cassandra/db/marshal/DateType.java   |   6 +
 .../cassandra/db/marshal/IntegerType.java   |   6 +
 .../apache/cassandra/db/marshal/LongType.java   |   6 +
 .../cassandra/db/marshal/ReversedType.java  |   6 +
 .../cassandra/db/marshal/TimestampType.java |   6 +
 .../apache/cassandra/db/marshal/TupleType.java  |   6 +-
 .../apache/cassandra/db/marshal/UUIDType.java   |   6 +
 .../org/apache/cassandra/cql3/TypeTest.java | 144 +++
 16 files changed, 214 insertions(+), 20 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9da742d5/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 69cc46b..dac254e 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -19,6 +19,7 @@
  * Reference sstables before populating key cache (CASSANDRA-7234)
  * Account for range tombstones in min/max column names (CASSANDRA-7235)
  * Improve sub range repair validation (CASSANDRA-7317)
+ * Accept subtypes for function results, type casts (CASSANDRA-6766)
 Merged from 1.2:
  * Handle possible integer overflow in FastByteArrayOutputStream 
(CASSANDRA-7373)
  * cqlsh: 'ascii' values weren't formatted as text (CASSANDRA-7407)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9da742d5/src/java/org/apache/cassandra/cql3/TypeCast.java
--
diff --git a/src/java/org/apache/cassandra/cql3/TypeCast.java 
b/src/java/org/apache/cassandra/cql3/TypeCast.java
index 66b5300..64261fa 100644
--- a/src/java/org/apache/cassandra/cql3/TypeCast.java
+++ b/src/java/org/apache/cassandra/cql3/TypeCast.java
@@ -48,7 +48,7 @@ public class TypeCast implements Term.Raw
 
 public boolean isAssignableTo(ColumnSpecification receiver)
 {
-return receiver.type.asCQL3Type().equals(type);
+return receiver.type.isValueCompatibleWith(type.getType());
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9da742d5/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java
--
diff --git a/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java 
b/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java
index 8db03e6..3abf65e 100644
--- a/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java
+++ b/src/java/org/apache/cassandra/cql3/functions/FunctionCall.java
@@ -142,7 +142,7 @@ public class FunctionCall extends Term.NonTerminal
 // is used as argument of another, existing, function. In that 
case, we return true here because we'll catch
 // the fact that the method is undefined latter anyway and with a 
more helpful error message that if we were
 // to return false here.
-return returnType == null || 
receiver.type.asCQL3Type().equals(returnType.asCQL3Type());
+return returnType == null || 
receiver.type.isValueCompatibleWith(returnType);
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9da742d5/src/java/org/apache/cassandra/cql3/functions/Functions.java
--
diff --git a/src/java/org/apache/cassandra/cql3/functions/Functions.java 
b/src/java/org/apache/cassandra/cql3/functions/Functions.java
index 5f4201d..4f108cb 100644
--- a/src/java/org/apache/cassandra/cql3/functions/Functions.java
+++ b/src/java/org/apache/cassandra/cql3/functions/Functions.java
@@ -111,7 +111,7 @@ public abstract class Functions
 
 private static void validateTypes(Function fun, 

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

2014-06-20 Thread tylerhobbs
Merge branch 'cassandra-2.0' into cassandra-2.1

Conflicts:
src/java/org/apache/cassandra/cql3/TypeCast.java
src/java/org/apache/cassandra/cql3/statements/Selection.java


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

Branch: refs/heads/trunk
Commit: 9dcdb8b0b5bb5c92986b16380d650373c7f819d6
Parents: 2fe6de6 9da742d
Author: Tyler Hobbs ty...@datastax.com
Authored: Fri Jun 20 12:00:20 2014 -0500
Committer: Tyler Hobbs ty...@datastax.com
Committed: Fri Jun 20 12:00:20 2014 -0500

--
 CHANGES.txt |  1 +
 .../org/apache/cassandra/cql3/TypeCast.java |  2 +-
 .../cassandra/cql3/functions/FunctionCall.java  |  2 +-
 .../cassandra/cql3/functions/Functions.java |  4 +-
 .../cassandra/cql3/statements/Selection.java|  2 +-
 .../cassandra/db/marshal/AbstractType.java  | 23 +++--
 .../apache/cassandra/db/marshal/BytesType.java  |  2 +-
 .../cassandra/db/marshal/CompositeType.java |  8 +--
 .../apache/cassandra/db/marshal/DateType.java   |  6 +++
 .../cassandra/db/marshal/IntegerType.java   |  6 +++
 .../apache/cassandra/db/marshal/LongType.java   |  6 +++
 .../cassandra/db/marshal/ReversedType.java  |  6 +++
 .../cassandra/db/marshal/TimestampType.java |  6 +++
 .../apache/cassandra/db/marshal/TupleType.java  |  6 +--
 .../apache/cassandra/db/marshal/UUIDType.java   |  6 +++
 .../org/apache/cassandra/cql3/TypeTest.java | 51 
 16 files changed, 119 insertions(+), 18 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dcdb8b0/CHANGES.txt
--
diff --cc CHANGES.txt
index 7288de6,dac254e..d7cb9ee
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,30 -1,25 +1,31 @@@
 -2.0.9
 - * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364)
 - * Handle empty CFs in Memtable#maybeUpdateLiveRatio() (CASSANDRA-7401)
 +2.1.0-rc2
 + * Modify reconcile logic to always pick a tombstone over a counter cell
 +   (CASSANDRA-7346)
 + * Avoid incremental compaction on Windows (CASSANDRA-7365)
 + * Fix exception when querying a composite-keyed table with a collection index
 +   (CASSANDRA-7372)
 + * Use node's host id in place of counter ids (CASSANDRA-7366)
   * Fix native protocol CAS batches (CASSANDRA-7337)
 + * Reduce likelihood of contention on local paxos locking (CASSANDRA-7359)
 + * Upgrade to Pig 0.12.1 (CASSANDRA-6556)
 + * Make sure we clear out repair sessions from netstats (CASSANDRA-7329)
 + * Don't fail streams on failure detector downs (CASSANDRA-3569)
 + * Add optional keyspace to DROP INDEX statement (CASSANDRA-7314)
 + * Reduce run time for CQL tests (CASSANDRA-7327)
 + * Fix heap size calculation on Windows (CASSANDRA-7352, 7353)
 + * RefCount native frames from netty (CASSANDRA-7245)
 + * Use tarball dir instead of /var for default paths (CASSANDRA-7136)
 + * Remove rows_per_partition_to_cache keyword (CASSANDRA-7193)
 + * Fix schema change response in native protocol v3 (CASSANDRA-7413)
 +Merged from 2.0:
 + * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364)
   * Add per-CF range read request latency metrics (CASSANDRA-7338)
   * Fix NPE in StreamTransferTask.createMessageForRetry() (CASSANDRA-7323)
 - * Add conditional CREATE/DROP USER support (CASSANDRA-7264)
 - * Swap local and global default read repair chances (CASSANDRA-7320)
 - * Add missing iso8601 patterns for date strings (CASSANDRA-6973)
 - * Support selecting multiple rows in a partition using IN (CASSANDRA-6875)
 - * cqlsh: always emphasize the partition key in DESC output (CASSANDRA-7274)
 - * Copy compaction options to make sure they are reloaded (CASSANDRA-7290)
 - * Add option to do more aggressive tombstone compactions (CASSANDRA-6563)
 - * Don't try to compact already-compacting files in HHOM (CASSANDRA-7288)
 - * Add authentication support to shuffle (CASSANDRA-6484)
 - * Cqlsh counts non-empty lines for Blank lines warning (CASSANDRA-7325)
   * Make StreamSession#closeSession() idempotent (CASSANDRA-7262)
   * Fix infinite loop on exception while streaming (CASSANDRA-7330)
 - * Reference sstables before populating key cache (CASSANDRA-7234)
   * Account for range tombstones in min/max column names (CASSANDRA-7235)
   * Improve sub range repair validation (CASSANDRA-7317)
+  * Accept subtypes for function results, type casts (CASSANDRA-6766)
  Merged from 1.2:
   * Handle possible integer overflow in FastByteArrayOutputStream 
(CASSANDRA-7373)
   * cqlsh: 'ascii' values weren't formatted as text (CASSANDRA-7407)


[jira] [Created] (CASSANDRA-7424) cassandra authentication failure 1.2.11

2014-06-20 Thread Paul Makkar (JIRA)
Paul Makkar created CASSANDRA-7424:
--

 Summary: cassandra authentication failure 1.2.11
 Key: CASSANDRA-7424
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7424
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: linux 2.6.18-371.6.1.el5 x86_64, cassandra 1.2.11. 6 Node 
cluster, 3 in DC1 and 3 in DC2.
Reporter: Paul Makkar


I am having issues enabling authentication. On my 6 node cluster, I took one 
node and followed the instruction in the cassandra 1.2 guide, i.e. set 
authenticator: PasswordAuthenticator in the cassandra.yaml and restart 
cassandra. However, when I restart cassandra and try logging in, it hangs for a 
few seconds followed by the following  error message:

cassandra-cli -username cassandra -password cassandra
Exception during authentication to the cassandra node, Verify the keyspace 
exists, and that you are using the correct credentials.

The system_auth keyspace does exist:
$ find system_auth/
system_auth/
system_auth/users
system_auth/credentials
system_auth/permissions

I then tried setting the authoriser in the cassandra.yaml:
authorizer: org.apache.cassandra.auth.CassandraAuthorizer
But I get the same error. 

Then I disabled authentication and increased the replication factor of 
system_auth keyspace:

update keyspace system_auth with placement_strategy = 'NetworkTopologyStrategy' 
and strategy_options = {DC1 : 3, DC2 : 3} and durable_writes = true;

I reenabled authentication, but get the same error.

I then shutdown cassandra and deleted the system, system_auth, system_traces 
data directories and restarted. I get the same error.

Trying to log on with the cqlsh client gives this error:

cql.cassandra.ttypes.AuthenticationException: 
AuthenticationException(why='org.apache.cassandra.exceptions.ReadTimeoutException:
 Operation timed out - received only 1 responses.')

Can any advise what is going wrong here? 

Thanks in advance.





--
This message was sent by Atlassian JIRA
(v6.2#6252)


buildbot success in ASF Buildbot on cassandra-2.0

2014-06-20 Thread buildbot
The Buildbot has detected a restored build on builder cassandra-2.0 while 
building cassandra.
Full details are available at:
 http://ci.apache.org/builders/cassandra-2.0/builds/91

Buildbot URL: http://ci.apache.org/

Buildslave for this Build: portunus_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch cassandra-2.0] 
9da742d5f83e1b2563be1c0d45a0e3d65a38ec44
Blamelist: Tyler Hobbs ty...@datastax.com

Build succeeded!

sincerely,
 -The Buildbot





[jira] [Commented] (CASSANDRA-6755) Optimise CellName/Composite comparisons for NativeCell

2014-06-20 Thread T Jake Luciani (JIRA)

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

T Jake Luciani commented on CASSANDRA-6755:
---

I'll add it to notice.txt on commit

 Optimise CellName/Composite comparisons for NativeCell
 --

 Key: CASSANDRA-6755
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6755
 Project: Cassandra
  Issue Type: Improvement
Reporter: Benedict
Assignee: T Jake Luciani
Priority: Minor
  Labels: performance
 Fix For: 2.1 rc2

 Attachments: 6755.txt, 6755v2.txt


 As discussed in CASSANDRA-6694, to reduce temporary garbage generation we 
 should minimise the incidence of CellName component extraction. The biggest 
 win will be to perform comparisons on Cell where possible, instead of 
 CellName, so that Native*Cell can use its extra information to avoid creating 
 any ByteBuffer objects



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Created] (CASSANDRA-7425) AssertionError when local writes at CL.ANY do not complete due to timeout

2014-06-20 Thread Sergio Bossa (JIRA)
Sergio Bossa created CASSANDRA-7425:
---

 Summary: AssertionError when local writes at CL.ANY do not 
complete due to timeout
 Key: CASSANDRA-7425
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7425
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Sergio Bossa


When the local node is overloaded, if local writes at CL.ANY do not complete 
due to a timeout, an hint is sent to the local node, breaking the following 
assertion in StorageProxy#submitHint:
{code}
assert !target.equals(FBUtilities.getBroadcastAddress()) : target;
{code}

Cassandra tracing is also affected by this bug:
{noformat}
ERROR [TracingStage:20] 2014-06-18 08:00:44,215 CassandraDaemon.java (line 199) 
Exception in thread Thread[TracingStage:20,5,main]
java.lang.AssertionError: hostname
at 
org.apache.cassandra.service.StorageProxy.submitHint(StorageProxy.java:859)
at 
org.apache.cassandra.service.StorageProxy.mutate(StorageProxy.java:490)
at 
org.apache.cassandra.tracing.Tracing.mutateWithCatch(Tracing.java:291)
at 
org.apache.cassandra.tracing.TraceState$1.runMayThrow(TraceState.java:104)
at 
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
{noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7351) Make BEGIN COUNTER BATCH syntax optional

2014-06-20 Thread T Jake Luciani (JIRA)

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

T Jake Luciani updated CASSANDRA-7351:
--

Attachment: 7351v3.txt

v3 refactors the checks into a single validate() call and I added a unit test 
to check the native cql path.  It doesn't allow counter and non counter 
statements in the same batch.

 Make BEGIN COUNTER BATCH syntax optional
 

 Key: CASSANDRA-7351
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7351
 Project: Cassandra
  Issue Type: Improvement
Reporter: T Jake Luciani
Assignee: T Jake Luciani
Priority: Trivial
  Labels: cql3
 Fix For: 2.1 rc2

 Attachments: 7351-rebase.txt, 7351.txt, 7351v2.txt, 7351v3.txt


 AFAIK there is no need to supply COUNTER in Batch statements.
 The server should just throw an syntax error if you try to mix counter and 
 non counter statements in the same batch.
 What value does this keyword add?



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Resolved] (CASSANDRA-7420) BATCH with multiple CAS operations should return add information which DML failed

2014-06-20 Thread Robert Stupp (JIRA)

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

Robert Stupp resolved CASSANDRA-7420.
-

Resolution: Invalid

cannot work due to batch w/ cas semantics

please close this one

 BATCH with multiple CAS operations should return add information which DML 
 failed
 -

 Key: CASSANDRA-7420
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7420
 Project: Cassandra
  Issue Type: Improvement
Reporter: Robert Stupp

 A {{BATCH}} like this
 {noformat}
 BEGIN BATCH
   INSERT INTO foo (id, num) VALUES (42, 11);
   INSERT INTO bar (id, num) VALUES (42, 11);
 APPLY BATCH;
 {noformat}
 Should not only return {{[applied]=false, id=42, num=11}} but also for 
 example the index of the failed statement in the batch. This allows better 
 error handling on the client.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-6755) Optimise CellName/Composite comparisons for NativeCell

2014-06-20 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-6755:
-

FWIW, I don't see any other build-only deps in NOTICE.TXT, such as hadoop or 
pig, or even ant and maven for that matter.

 Optimise CellName/Composite comparisons for NativeCell
 --

 Key: CASSANDRA-6755
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6755
 Project: Cassandra
  Issue Type: Improvement
Reporter: Benedict
Assignee: T Jake Luciani
Priority: Minor
  Labels: performance
 Fix For: 2.1 rc2

 Attachments: 6755.txt, 6755v2.txt


 As discussed in CASSANDRA-6694, to reduce temporary garbage generation we 
 should minimise the incidence of CellName component extraction. The biggest 
 win will be to perform comparisons on Cell where possible, instead of 
 CellName, so that Native*Cell can use its extra information to avoid creating 
 any ByteBuffer objects



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-5853) Write dtests that use json2sstable

2014-06-20 Thread Ryan McGuire (JIRA)

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

Ryan McGuire updated CASSANDRA-5853:


Assignee: Kishan Karunaratne  (was: Ryan McGuire)

 Write dtests that use json2sstable
 --

 Key: CASSANDRA-5853
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5853
 Project: Cassandra
  Issue Type: Test
Reporter: Ryan McGuire
Assignee: Kishan Karunaratne

 Currently in dtest we test sstableloader for import/export. With the bug 
 found in CASSANDRA-5852 there appears to be a need to test the json tools as 
 well.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[1/6] Reduce unit test times due to schema loading

2014-06-20 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/trunk 51016876a - d2a3827a6


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d2a3827a/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java
--
diff --git 
a/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java 
b/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java
index 47136a0..52b2236 100644
--- a/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java
+++ b/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java
@@ -35,17 +35,23 @@ import org.slf4j.LoggerFactory;
 import org.apache.cassandra.OrderedJUnit4ClassRunner;
 import org.apache.cassandra.SchemaLoader;
 import org.apache.cassandra.Util;
+import org.apache.cassandra.config.CFMetaData;
 import org.apache.cassandra.config.DatabaseDescriptor;
+import org.apache.cassandra.config.KSMetaData;
 import org.apache.cassandra.db.*;
 import org.apache.cassandra.db.columniterator.IdentityQueryFilter;
 import org.apache.cassandra.db.context.CounterContext;
 import org.apache.cassandra.db.filter.IDiskAtomFilter;
 import org.apache.cassandra.db.filter.QueryFilter;
+import org.apache.cassandra.db.marshal.BytesType;
+import org.apache.cassandra.db.marshal.CounterColumnType;
+import org.apache.cassandra.db.marshal.IntegerType;
 import org.apache.cassandra.dht.IPartitioner;
 import org.apache.cassandra.dht.Range;
 import org.apache.cassandra.dht.Token;
 import org.apache.cassandra.io.sstable.SSTableReader;
 import org.apache.cassandra.io.sstable.SSTableUtils;
+import org.apache.cassandra.locator.SimpleStrategy;
 import org.apache.cassandra.service.StorageService;
 import org.apache.cassandra.utils.ByteBufferUtil;
 import org.apache.cassandra.utils.CounterId;
@@ -57,16 +63,42 @@ import static org.apache.cassandra.Util.cellname;
 import static org.apache.cassandra.Util.column;
 
 @RunWith(OrderedJUnit4ClassRunner.class)
-public class StreamingTransferTest extends SchemaLoader
+public class StreamingTransferTest
 {
 private static final Logger logger = 
LoggerFactory.getLogger(StreamingTransferTest.class);
 
 public static final InetAddress LOCAL = FBUtilities.getBroadcastAddress();
+public static final String KEYSPACE1 = StreamingTransferTest1;
+public static final String CF_STANDARD = Standard1;
+public static final String CF_COUNTER = Counter1;
+public static final String CF_STANDARDINT = StandardInteger1;
+public static final String CF_INDEX = Indexed1;
+public static final String KEYSPACE_CACHEKEY = 
KeyStreamingTransferTestSpace;
+public static final String CF_STANDARD2 = Standard2;
+public static final String CF_STANDARD3 = Standard3;
+public static final String KEYSPACE2 = StreamingTransferTest2;
 
 @BeforeClass
-public static void setup() throws Exception
+public static void defineSchema() throws Exception
 {
+SchemaLoader.prepareServer();
 StorageService.instance.initServer();
+SchemaLoader.createKeyspace(KEYSPACE1,
+SimpleStrategy.class,
+KSMetaData.optsWithRF(1),
+SchemaLoader.standardCFMD(KEYSPACE1, 
CF_STANDARD),
+CFMetaData.denseCFMetaData(KEYSPACE1, 
CF_COUNTER, BytesType.instance).defaultValidator(CounterColumnType.instance),
+CFMetaData.denseCFMetaData(KEYSPACE1, 
CF_STANDARDINT, IntegerType.instance),
+SchemaLoader.indexCFMD(KEYSPACE1, 
CF_INDEX, true));
+SchemaLoader.createKeyspace(KEYSPACE2,
+SimpleStrategy.class,
+KSMetaData.optsWithRF(1));
+SchemaLoader.createKeyspace(KEYSPACE_CACHEKEY,
+SimpleStrategy.class,
+KSMetaData.optsWithRF(1),
+
SchemaLoader.standardCFMD(KEYSPACE_CACHEKEY, CF_STANDARD),
+
SchemaLoader.standardCFMD(KEYSPACE_CACHEKEY, CF_STANDARD2),
+
SchemaLoader.standardCFMD(KEYSPACE_CACHEKEY, CF_STANDARD3));
 }
 
 /**
@@ -105,7 +137,7 @@ public class StreamingTransferTest extends SchemaLoader
 ranges.add(new Range(p.getToken(ByteBufferUtil.bytes(key2)), 
p.getMinimumToken()));
 
 StreamResultFuture futureResult = new 
StreamPlan(StreamingTransferTest)
-  .requestRanges(LOCAL, 
Keyspace2, ranges)
+  .requestRanges(LOCAL, 
KEYSPACE2, ranges)
   .execute();
 
 UUID planId = futureResult.planId;
@@ -219,7 +251,7 @@ public class StreamingTransferTest extends SchemaLoader
 
 private void doTransferTable(boolean 

[jira] [Resolved] (CASSANDRA-7424) cassandra authentication failure 1.2.11

2014-06-20 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-7424.
---

Resolution: Invalid

The users list is the right forum for this.

 cassandra authentication failure 1.2.11
 ---

 Key: CASSANDRA-7424
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7424
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: linux 2.6.18-371.6.1.el5 x86_64, cassandra 1.2.11. 6 
 Node cluster, 3 in DC1 and 3 in DC2.
Reporter: Paul Makkar

 I am having issues enabling authentication. On my 6 node cluster, I took one 
 node and followed the instruction in the cassandra 1.2 guide, i.e. set 
 authenticator: PasswordAuthenticator in the cassandra.yaml and restart 
 cassandra. However, when I restart cassandra and try logging in, it hangs for 
 a few seconds followed by the following  error message:
 cassandra-cli -username cassandra -password cassandra
 Exception during authentication to the cassandra node, Verify the keyspace 
 exists, and that you are using the correct credentials.
 The system_auth keyspace does exist:
 $ find system_auth/
 system_auth/
 system_auth/users
 system_auth/credentials
 system_auth/permissions
 I then tried setting the authoriser in the cassandra.yaml:
 authorizer: org.apache.cassandra.auth.CassandraAuthorizer
 But I get the same error. 
 Then I disabled authentication and increased the replication factor of 
 system_auth keyspace:
 update keyspace system_auth with placement_strategy = 
 'NetworkTopologyStrategy' and strategy_options = {DC1 : 3, DC2 : 3} and 
 durable_writes = true;
 I reenabled authentication, but get the same error.
 I then shutdown cassandra and deleted the system, system_auth, system_traces 
 data directories and restarted. I get the same error.
 Trying to log on with the cqlsh client gives this error:
 cql.cassandra.ttypes.AuthenticationException: 
 AuthenticationException(why='org.apache.cassandra.exceptions.ReadTimeoutException:
  Operation timed out - received only 1 responses.')
 Can any advise what is going wrong here? 
 Thanks in advance.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-6755) Optimise CellName/Composite comparisons for NativeCell

2014-06-20 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-6755:
---

We only need NOTICE for libraries we ship.

 Optimise CellName/Composite comparisons for NativeCell
 --

 Key: CASSANDRA-6755
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6755
 Project: Cassandra
  Issue Type: Improvement
Reporter: Benedict
Assignee: T Jake Luciani
Priority: Minor
  Labels: performance
 Fix For: 2.1 rc2

 Attachments: 6755.txt, 6755v2.txt


 As discussed in CASSANDRA-6694, to reduce temporary garbage generation we 
 should minimise the incidence of CellName component extraction. The biggest 
 win will be to perform comparisons on Cell where possible, instead of 
 CellName, so that Native*Cell can use its extra information to avoid creating 
 any ByteBuffer objects



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7370) Create a new system table node_config to load cassandra.yaml config data.

2014-06-20 Thread Robert Stupp (JIRA)

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

Robert Stupp commented on CASSANDRA-7370:
-

I want to give this a try.

The table schema would be generated by using Java reflection to get the column 
names and types.
PK would be 'node' as partition key and a startup timestamp column (order desc) 
- so the table gets some configuration change history.
One row would be inserted for each node startup.
Would this be a post-2.1 or trunk (3.0) task?

 Create a new system table node_config to load cassandra.yaml config data.
 ---

 Key: CASSANDRA-7370
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7370
 Project: Cassandra
  Issue Type: Wish
  Components: Config
Reporter: Hayato Shimizu
Priority: Minor
  Labels: ponies

 Currently the node configuration information specified in cassandra.yaml can 
 only be viewed via JMX or by looking at the file on individual machines.
 As an administrator, it would be extremely useful to be able to execute 
 queries like the following example;
 select concurrent_reads from system.node_config;
 which will list all the concurrent_reads value from all of the nodes in a 
 cluster.
 This will require a new table in the system keyspace and the data to be 
 loaded (if required) during the bootstrap, and updated when MBeans attribute 
 value updates are performed. The data from other nodes in the cluster is also 
 required in the table.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7299) Cluster.Builder throws UnknownHostException when adding not existing host

2014-06-20 Thread Robert Stupp (JIRA)

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

Robert Stupp commented on CASSANDRA-7299:
-

[~alexander_radzin] You're posting in the wrong JIRA. What you describe belongs 
to the Java driver (client) and not Cassandra (server). The JIRA you're looking 
for is at https://datastax-oss.atlassian.net/browse/JAVA

 Cluster.Builder throws UnknownHostException when adding not existing host
 -

 Key: CASSANDRA-7299
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7299
 Project: Cassandra
  Issue Type: Bug
  Components: API
Reporter: Alexander Radzin
Priority: Trivial

 Connection to Cassandra cluster from client side is typically done using 
 {{Cluster.Builder}} class that allows to configure the connection and then 
 build cluster by invocation of method {{build()}}. Not all contact points 
 must be available at creation time. If some of them start after the 
 connection has been established they client continue its work using the newly 
 connected endpoints.
 However if specific hostname is not available at the moment when builder is 
 being created  {{UnknownHostException}} is thrown. 
 IMHO Typically applications tend to create builder on start-up when reading 
 configuration parameters and then connect to Cassandra. For example in Spring 
 based applications this happens during context creation.
 This issue prevents the application to start. 
 This does not happen when using IP address even if it is not available at the 
 moment. 
 The problem is that {{Builder.addContactPoint()}} invokes 
 {{InetAddress.getByName()}} when creating the builder. 
 {noformat}
 public Builder addContactPoint(String address) {
 try {
 this.addresses.add(InetAddress.getByName(address));
 return this;
 } catch (UnknownHostException e) {
 throw new IllegalArgumentException(e.getMessage());
 }
 }
 {noformat}
 IMHO it should do this only when building the cluster.
 My current work around is to extend {{Cluster.Builder}} (fortunately it is 
 public and not final) and store addresses in their textual for transforming 
 the to instances of {{InetAddress}} only when {{build()}} is called. This is 
 however not full solution because the {{Cluster}} itself also requires list 
 of {{InetAddress}}.
 The point here is  that we can create builder and cluster with unavailable 
 contact points if string representation of IP address is supplied but cannot 
 use symbolic computer name. This is because {{InetAddress.getByName()}} 
 throws {{UnknownHostException}} only if host identified by name is not 
 available:
 {quote}
 If a literal IP address is supplied, only the validity of the address format 
 is checked.
 {quote}
 (from Javadoc of {{InetAddress.getByName()}}.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7283) Cassandra tar.gz builds should be pushed to a Maven repo

2014-06-20 Thread Robert Stupp (JIRA)

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

Robert Stupp commented on CASSANDRA-7283:
-

Take a look at [search.maven.org|http://search.maven.org] and post a query for 
{{g:org.apache.cassandra AND a:apache-cassandra}} - bin.tar.gz and 
src.tar.gz are there since version 0.7.0

 Cassandra tar.gz builds should be pushed to a Maven repo
 

 Key: CASSANDRA-7283
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7283
 Project: Cassandra
  Issue Type: Wish
  Components: Packaging
Reporter: Clinton Kelly
Priority: Minor

 Such a feature would allow folks to package a Cassandra build in an archive 
 created with the Maven assembly plugin.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-6917) enum data type

2014-06-20 Thread Robert Stupp (JIRA)

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

Robert Stupp commented on CASSANDRA-6917:
-

Such a type should also be usable in collections (set, map)

And it would be great not to copy Java enum semantics. Means: not just use an 
incrementing ordinal but let the user decide how the mapping should be ; allow 
spares. For example a column type like this: {{enum foo1='foo', 3='bar', 
42='baz'}}.

To make it really complex: what about an enum that maps a ByteBuffer to a 
ByteBuffer internally? This makes type definition really complicated: {{enum 
fooint, text(1='foo', 3='bar', 42='baz')}}

It needs to be bi-directional to be usable for 4175.

 enum data type
 --

 Key: CASSANDRA-6917
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6917
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Benedict
Priority: Minor
  Labels: performance

 It seems like it would be useful to support an enum data type, that 
 automatically converts string data from the user into a fixed-width data type 
 with guaranteed uniqueness across the cluster. This data would be replicated 
 to all nodes for lookup, but ideally would use only the keyspace RF to 
 determine nodes for coordinating quorum writes/consistency.
 This would not only permit improved local disk and inter-node network IO for 
 symbology information (e.g. stock tickers, ISINs, etc), but also potentially 
 for column identifiers also, which are currently stored as their full string 
 representation.
 It should be possible then with later updates to propagate the enum map 
 (lazily) to clients through the native protocol, reducing network IO further.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7370) Create a new system table node_config to load cassandra.yaml config data.

2014-06-20 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-7370:
-

3.0.  I'm not too crazy about this, however.  I can almost guarantee we're 
going to add some mbean and forget to update this table at some point, and it 
seems to me an administrator is going to need JMX anyway to perform any 
operation that nodetool does.  Unless they also want INSERT into gossip set ip 
= null where ip = 192.168.0.1 to remove a node. Perhaps a more reasonable 
approach would be to have a nodetool getconfig item operation instead of 
abusing the storage system with phantom tables.

 Create a new system table node_config to load cassandra.yaml config data.
 ---

 Key: CASSANDRA-7370
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7370
 Project: Cassandra
  Issue Type: Wish
  Components: Config
Reporter: Hayato Shimizu
Priority: Minor
  Labels: ponies

 Currently the node configuration information specified in cassandra.yaml can 
 only be viewed via JMX or by looking at the file on individual machines.
 As an administrator, it would be extremely useful to be able to execute 
 queries like the following example;
 select concurrent_reads from system.node_config;
 which will list all the concurrent_reads value from all of the nodes in a 
 cluster.
 This will require a new table in the system keyspace and the data to be 
 loaded (if required) during the bootstrap, and updated when MBeans attribute 
 value updates are performed. The data from other nodes in the cluster is also 
 required in the table.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-6795) Forceful restart of C* during compaction on windows leads to exceptions on startup in scrubDataDirectories

2014-06-20 Thread Joshua McKenzie (JIRA)

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

Joshua McKenzie commented on CASSANDRA-6795:


Ironically, I'm having a hard time reproducing this problem now.  With I/O 
changes in 3.x these types of problems should be gone, so my primary concern is 
to make sure the 2.0.X releases are safe.  [~ala.alkhaldi] - have you had this 
exception pop up during any of your Windows work thus far?

 Forceful restart of C* during compaction on windows leads to exceptions on 
 startup in scrubDataDirectories
 --

 Key: CASSANDRA-6795
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6795
 Project: Cassandra
  Issue Type: Bug
 Environment: Windows 7, quad core, 8GB RAM, single Cassandra node, 
 Cassandra 2.0.5 with leakdetect patch from CASSANDRA-6283
Reporter: Joshua McKenzie
Assignee: Joshua McKenzie
Priority: Minor
  Labels: Windows

 From comments on CASSANDRA-6736 (Bill Mitchell):
 Trying to be polite, I started using Drain to shutdown Cassandra before 
 rebooting the machine. In one case, this provoked numerous ThreadPoolExecutor 
 has shutdown messages underneath the compactor:
 INFO [RMI TCP Connection(2095)-127.0.0.1] 2014-02-24 08:34:23,743 
 StorageService.java (line 947) DRAINING: starting drain process
 INFO [RMI TCP Connection(2095)-127.0.0.1] 2014-02-24 08:34:23,783 
 ThriftServer.java (line 141) Stop listening to thrift clients
 INFO [RMI TCP Connection(2095)-127.0.0.1] 2014-02-24 08:34:24,980 Server.java 
 (line 181) Stop listening for CQL clients
 INFO [RMI TCP Connection(2095)-127.0.0.1] 2014-02-24 08:34:24,980 
 Gossiper.java (line 1251) Announcing shutdown
 INFO [RMI TCP Connection(2095)-127.0.0.1] 2014-02-24 08:34:27,001 
 MessagingService.java (line 665) Waiting for messaging service to quiesce
 INFO [RMI TCP Connection(2095)-127.0.0.1] 2014-02-24 08:34:27,040 
 ColumnFamilyStore.java (line 784) Enqueuing flush of 
 Memtable-sr@1217138300(1825983/4411193 serialized/live bytes, 29946 ops)
 INFO [RMI TCP Connection(2095)-127.0.0.1] 2014-02-24 08:34:27,040 
 ColumnFamilyStore.java (line 784) Enqueuing flush of 
 Memtable-etol@703118381(2963818/46129889 serialized/live bytes, 68926 ops)
 INFO [FlushWriter:272] 2014-02-24 08:34:27,040 Memtable.java (line 333) 
 Writing Memtable-sr@1217138300(1825983/4411193 serialized/live bytes, 29946 
 ops)
 INFO [RMI TCP Connection(2095)-127.0.0.1] 2014-02-24 08:34:27,054 
 ColumnFamilyStore.java (line 784) Enqueuing flush of 
 Memtable-events@899982591(188/1880 serialized/live bytes, 7 ops)
 INFO [RMI TCP Connection(2095)-127.0.0.1] 2014-02-24 08:34:27,075 
 ColumnFamilyStore.java (line 784) Enqueuing flush of 
 Memtable-events_timeline@1379706298(16/160 serialized/live bytes, 1 ops)
 INFO [FlushWriter:273] 2014-02-24 08:34:27,075 Memtable.java (line 333) 
 Writing Memtable-etol@703118381(2963818/46129889 serialized/live bytes, 68926 
 ops)
 INFO [ACCEPT-localhost/127.0.0.1] 2014-02-24 08:34:27,144 
 MessagingService.java (line 875) MessagingService has terminated the accept() 
 thread
 INFO [FlushWriter:272] 2014-02-24 08:34:27,411 Memtable.java (line 373) 
 Completed flushing C:\Program Files\DataStax 
 Community\data\data\testdb_1393207231382\sr\testdb_1393207231382-sr-jb-473-Data.db
  (428854 bytes) for commitlog position 
 ReplayPosition(segmentId=1393178353775, position=18771262)
 INFO [FlushWriter:272] 2014-02-24 08:34:27,411 Memtable.java (line 333) 
 Writing Memtable-events@899982591(188/1880 serialized/live bytes, 7 ops)
 INFO [FlushWriter:273] 2014-02-24 08:34:27,932 Memtable.java (line 373) 
 Completed flushing C:\Program Files\DataStax 
 Community\data\data\testdb_1393207231382\etol\testdb_1393207231382-etol-jb-1563-Data.db
  (1012805 bytes) for commitlog position 
 ReplayPosition(segmentId=1393178353775, position=18771262)
 INFO [FlushWriter:273] 2014-02-24 08:34:27,933 Memtable.java (line 333) 
 Writing Memtable-events_timeline@1379706298(16/160 serialized/live bytes, 1 
 ops)
 INFO [FlushWriter:272] 2014-02-24 08:34:28,366 Memtable.java (line 373) 
 Completed flushing C:\Program Files\DataStax 
 Community\data\data\OpsCenter\events\OpsCenter-events-jb-32-Data.db (184 
 bytes) for commitlog position ReplayPosition(segmentId=1393178353775, 
 position=18771262)
 INFO [FlushWriter:273] 2014-02-24 08:34:28,456 Memtable.java (line 373) 
 Completed flushing C:\Program Files\DataStax 
 Community\data\data\OpsCenter\events_timeline\OpsCenter-events_timeline-jb-39-Data.db
  (47 bytes) for commitlog position ReplayPosition(segmentId=1393178353775, 
 position=18771262)
 INFO [RMI TCP Connection(2095)-127.0.0.1] 2014-02-24 08:34:28,457 
 ColumnFamilyStore.java (line 784) 

[jira] [Resolved] (CASSANDRA-7299) Cluster.Builder throws UnknownHostException when adding not existing host

2014-06-20 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs resolved CASSANDRA-7299.


Resolution: Invalid

 Cluster.Builder throws UnknownHostException when adding not existing host
 -

 Key: CASSANDRA-7299
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7299
 Project: Cassandra
  Issue Type: Bug
  Components: API
Reporter: Alexander Radzin
Priority: Trivial

 Connection to Cassandra cluster from client side is typically done using 
 {{Cluster.Builder}} class that allows to configure the connection and then 
 build cluster by invocation of method {{build()}}. Not all contact points 
 must be available at creation time. If some of them start after the 
 connection has been established they client continue its work using the newly 
 connected endpoints.
 However if specific hostname is not available at the moment when builder is 
 being created  {{UnknownHostException}} is thrown. 
 IMHO Typically applications tend to create builder on start-up when reading 
 configuration parameters and then connect to Cassandra. For example in Spring 
 based applications this happens during context creation.
 This issue prevents the application to start. 
 This does not happen when using IP address even if it is not available at the 
 moment. 
 The problem is that {{Builder.addContactPoint()}} invokes 
 {{InetAddress.getByName()}} when creating the builder. 
 {noformat}
 public Builder addContactPoint(String address) {
 try {
 this.addresses.add(InetAddress.getByName(address));
 return this;
 } catch (UnknownHostException e) {
 throw new IllegalArgumentException(e.getMessage());
 }
 }
 {noformat}
 IMHO it should do this only when building the cluster.
 My current work around is to extend {{Cluster.Builder}} (fortunately it is 
 public and not final) and store addresses in their textual for transforming 
 the to instances of {{InetAddress}} only when {{build()}} is called. This is 
 however not full solution because the {{Cluster}} itself also requires list 
 of {{InetAddress}}.
 The point here is  that we can create builder and cluster with unavailable 
 contact points if string representation of IP address is supplied but cannot 
 use symbolic computer name. This is because {{InetAddress.getByName()}} 
 throws {{UnknownHostException}} only if host identified by name is not 
 available:
 {quote}
 If a literal IP address is supplied, only the validity of the address format 
 is checked.
 {quote}
 (from Javadoc of {{InetAddress.getByName()}}.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7370) Create a new system table node_config to load cassandra.yaml config data.

2014-06-20 Thread Tupshin Harper (JIRA)

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

Tupshin Harper commented on CASSANDRA-7370:
---

i'm +1 on abusing the system with virtual/phantom tables. they are a well 
established rdbms pattern that is conceptually simple (albeit not particularly 
elegant) and well understood.

reflection could be leveraged to eliminate the need to keep an up to date list


 Create a new system table node_config to load cassandra.yaml config data.
 ---

 Key: CASSANDRA-7370
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7370
 Project: Cassandra
  Issue Type: Wish
  Components: Config
Reporter: Hayato Shimizu
Priority: Minor
  Labels: ponies

 Currently the node configuration information specified in cassandra.yaml can 
 only be viewed via JMX or by looking at the file on individual machines.
 As an administrator, it would be extremely useful to be able to execute 
 queries like the following example;
 select concurrent_reads from system.node_config;
 which will list all the concurrent_reads value from all of the nodes in a 
 cluster.
 This will require a new table in the system keyspace and the data to be 
 loaded (if required) during the bootstrap, and updated when MBeans attribute 
 value updates are performed. The data from other nodes in the cluster is also 
 required in the table.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-6917) enum data type

2014-06-20 Thread Benedict (JIRA)

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

Benedict commented on CASSANDRA-6917:
-

My main goal with enums is only uniquely representing a string value 
efficiently. Supporting custom orderings on the data might be a possibility for 
enums defined _up front_, however in this case I want to support denormalising 
arbitrary string data, the universe of which could be moderately large 
(certainly 100k+) and is not necessarily known in advance. An enum that must be 
defined up front with a predetermined ordering is frankly just as easy to 
implement client-side, so whilst it might be a nice feature to support 
eventually, I consider it out of scope for this ticket, and I think 
guaranteeing any specific order may be undesirable for write performance.

 enum data type
 --

 Key: CASSANDRA-6917
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6917
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Benedict
Priority: Minor
  Labels: performance

 It seems like it would be useful to support an enum data type, that 
 automatically converts string data from the user into a fixed-width data type 
 with guaranteed uniqueness across the cluster. This data would be replicated 
 to all nodes for lookup, but ideally would use only the keyspace RF to 
 determine nodes for coordinating quorum writes/consistency.
 This would not only permit improved local disk and inter-node network IO for 
 symbology information (e.g. stock tickers, ISINs, etc), but also potentially 
 for column identifiers also, which are currently stored as their full string 
 representation.
 It should be possible then with later updates to propagate the enum map 
 (lazily) to clients through the native protocol, reducing network IO further.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7423) make user defined types useful for non-trivial use cases

2014-06-20 Thread Tupshin Harper (JIRA)

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

Tupshin Harper updated CASSANDRA-7423:
--

Description: 
Since user defined types were implemented in CASSANDRA-5590 as blobs (you have 
to rewrite the entire type in order to make any modifications), they can't be 
safely used without LWT for any operation that wants to modify a subset of the 
UDT's fields by any client process that is not authoritative for the entire 
blob. 

When trying to use UDTs to model complex records (particularly with nesting), 
this is not an exceptional circumstance, this is the totally expected normal 
situation. 

The use of UDTs for anything non-trivial is harmful to either performance or 
consistency or both.

edit: to clarify, i believe that most potential uses of UDTs should be 
considered anti-patterns until/unless we have field-level r/w access to 
individual elements of the UDT, with individual timestamps and standard LWW 
semantics

  was:
Since user defined types were implemented in CASSANDRA-5590 as blobs (you have 
to rewrite the entire type in order to make any modifications), they can't be 
safely used without LWT for any operation that wants to modify a subset of the 
UDT's fields by any client process that is not authoritative for the entire 
blob. 

When trying to use UDTs to model complex records (particularly with nesting), 
this is not an exceptional circumstance, this is the totally expected normal 
situation. 

The use of UDTs for anything non-trivial is harmful to either performance or 
consistency or both.


 make user defined types useful for non-trivial use cases
 

 Key: CASSANDRA-7423
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7423
 Project: Cassandra
  Issue Type: Improvement
  Components: API, Core
Reporter: Tupshin Harper

 Since user defined types were implemented in CASSANDRA-5590 as blobs (you 
 have to rewrite the entire type in order to make any modifications), they 
 can't be safely used without LWT for any operation that wants to modify a 
 subset of the UDT's fields by any client process that is not authoritative 
 for the entire blob. 
 When trying to use UDTs to model complex records (particularly with nesting), 
 this is not an exceptional circumstance, this is the totally expected normal 
 situation. 
 The use of UDTs for anything non-trivial is harmful to either performance or 
 consistency or both.
 edit: to clarify, i believe that most potential uses of UDTs should be 
 considered anti-patterns until/unless we have field-level r/w access to 
 individual elements of the UDT, with individual timestamps and standard LWW 
 semantics



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7370) Create a new system table node_config to load cassandra.yaml config data.

2014-06-20 Thread Robert Stupp (JIRA)

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

Robert Stupp commented on CASSANDRA-7370:
-

OK - the table should reflect configuration changes if for example someone 
changes the compaction throughput. From a quick view I see that 
{{DatabaseDescriptor}} performs updates in {{Config}} - is 
{{DatabaseDescriptor}} the only immediate source where Config is modified or 
would it be better to search for all accessors of the fields in Config?

If the stuff intended by this issue should be complete, it would make sense to 
also add the fields of {{DatabaseDescriptor}} (or put them into a separate 
table).

But I do not know if the {{system}} keyspace is a good place for these view 
config tables due to its 'LocalStratecy'. If an admin wants to view the 
configuration, he issues the query against 'any' node and does not want to 
explicitly connect to that node. So maybe 'system_traces' if not even a 
completely new KS should be used. But this has no direct influence to the 
implementation.

Using persistent tables has the benefit that anyone can track configuration 
changes of any node - whereas JMX only shows the current status of a particular 
node.
Such a KS could also be used to log really important status changes like node 
bootstrapped, node startup, node shutdown.
It should however not be a storage for metrics or log data in general (high 
write rates).

But in any way it must be clear, that such tables are read only - not 
something that magically changes system config via DML. This should be, if 
requested and required, done by special CQL statements. I'll open a separate 
ticket not to lose the idea of nodetool set config foo=bar or ALTER SYSTEM 
SET CONFIG foo=bar.

 Create a new system table node_config to load cassandra.yaml config data.
 ---

 Key: CASSANDRA-7370
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7370
 Project: Cassandra
  Issue Type: Wish
  Components: Config
Reporter: Hayato Shimizu
Priority: Minor
  Labels: ponies

 Currently the node configuration information specified in cassandra.yaml can 
 only be viewed via JMX or by looking at the file on individual machines.
 As an administrator, it would be extremely useful to be able to execute 
 queries like the following example;
 select concurrent_reads from system.node_config;
 which will list all the concurrent_reads value from all of the nodes in a 
 cluster.
 This will require a new table in the system keyspace and the data to be 
 loaded (if required) during the bootstrap, and updated when MBeans attribute 
 value updates are performed. The data from other nodes in the cluster is also 
 required in the table.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Created] (CASSANDRA-7426) ALTER SYSTEM / nodetool enhancements

2014-06-20 Thread Robert Stupp (JIRA)
Robert Stupp created CASSANDRA-7426:
---

 Summary: ALTER SYSTEM / nodetool enhancements
 Key: CASSANDRA-7426
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7426
 Project: Cassandra
  Issue Type: Improvement
Reporter: Robert Stupp


CASSANDRA-7370 mentions the idea to enhance nodetool to do something like 
{{nodetool set config foo='bar'}}. This could also be done via a special CQL 
{{ALTER SYSTEM SET foo='bar';}}.

In general this ticket is just meant not keep in mind that there should be some 
option to change configuration using a generic approach. Either implementation 
(nodetool via JMX or CQL statement) should internally end at the same code.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[3/6] git commit: revert #7275

2014-06-20 Thread jbellis
revert #7275


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

Branch: refs/heads/cassandra-2.1
Commit: 93f54fc44461c995ff30d42f284c78d1a9a02723
Parents: cccdcb5
Author: Jonathan Ellis jbel...@apache.org
Authored: Fri Jun 20 15:31:52 2014 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Fri Jun 20 15:31:52 2014 -0500

--
 CHANGES.txt|  1 -
 src/java/org/apache/cassandra/db/Memtable.java | 14 --
 2 files changed, 4 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/93f54fc4/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 186b4a1..d84f267 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -2,7 +2,6 @@
  * Handle possible integer overflow in FastByteArrayOutputStream 
(CASSANDRA-7373)
  * cqlsh: 'ascii' values weren't formatted as text (CASSANDRA-7407)
  * cqlsh: ignore .cassandra permission errors (CASSANDRA-7266)
- * Errors in FlushRunnable may leave threads hung (CASSANDRA-7275)
  * reduce failure detector initial value to 2s (CASSANDRA-7307)
  * Fix problem truncating on a node that was previously in a dead state 
(CASSANDRA-7318)
  * Don't insert tombstones that hide indexed values into 2i (CASSANDRA-7268)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/93f54fc4/src/java/org/apache/cassandra/db/Memtable.java
--
diff --git a/src/java/org/apache/cassandra/db/Memtable.java 
b/src/java/org/apache/cassandra/db/Memtable.java
index 90f0466..b6fceda 100644
--- a/src/java/org/apache/cassandra/db/Memtable.java
+++ b/src/java/org/apache/cassandra/db/Memtable.java
@@ -380,17 +380,11 @@ public class Memtable
 
 protected void runWith(File sstableDirectory) throws Exception
 {
-try
-{
-assert sstableDirectory != null : Flush task is not bound to 
any disk;
+assert sstableDirectory != null : Flush task is not bound to any 
disk;
 
-SSTableReader sstable = writeSortedContents(context, 
sstableDirectory);
-cfs.replaceFlushed(Memtable.this, sstable);
-}
-finally
-{
-latch.countDown();
-}
+SSTableReader sstable = writeSortedContents(context, 
sstableDirectory);
+cfs.replaceFlushed(Memtable.this, sstable);
+latch.countDown();
 }
 
 protected Directories getDirectories()



[6/6] git commit: merge from 2.0

2014-06-20 Thread jbellis
merge from 2.0


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

Branch: refs/heads/cassandra-2.1
Commit: a7ad9d2a5ea50f3b20b7a91e366a107f0c9199a6
Parents: 9dcdb8b 90058a9
Author: Jonathan Ellis jbel...@apache.org
Authored: Fri Jun 20 15:33:44 2014 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Fri Jun 20 15:33:44 2014 -0500

--
 CHANGES.txt | 1 -
 1 file changed, 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a7ad9d2a/CHANGES.txt
--



[2/6] git commit: revert #7275

2014-06-20 Thread jbellis
revert #7275


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

Branch: refs/heads/cassandra-2.0
Commit: 93f54fc44461c995ff30d42f284c78d1a9a02723
Parents: cccdcb5
Author: Jonathan Ellis jbel...@apache.org
Authored: Fri Jun 20 15:31:52 2014 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Fri Jun 20 15:31:52 2014 -0500

--
 CHANGES.txt|  1 -
 src/java/org/apache/cassandra/db/Memtable.java | 14 --
 2 files changed, 4 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/93f54fc4/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 186b4a1..d84f267 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -2,7 +2,6 @@
  * Handle possible integer overflow in FastByteArrayOutputStream 
(CASSANDRA-7373)
  * cqlsh: 'ascii' values weren't formatted as text (CASSANDRA-7407)
  * cqlsh: ignore .cassandra permission errors (CASSANDRA-7266)
- * Errors in FlushRunnable may leave threads hung (CASSANDRA-7275)
  * reduce failure detector initial value to 2s (CASSANDRA-7307)
  * Fix problem truncating on a node that was previously in a dead state 
(CASSANDRA-7318)
  * Don't insert tombstones that hide indexed values into 2i (CASSANDRA-7268)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/93f54fc4/src/java/org/apache/cassandra/db/Memtable.java
--
diff --git a/src/java/org/apache/cassandra/db/Memtable.java 
b/src/java/org/apache/cassandra/db/Memtable.java
index 90f0466..b6fceda 100644
--- a/src/java/org/apache/cassandra/db/Memtable.java
+++ b/src/java/org/apache/cassandra/db/Memtable.java
@@ -380,17 +380,11 @@ public class Memtable
 
 protected void runWith(File sstableDirectory) throws Exception
 {
-try
-{
-assert sstableDirectory != null : Flush task is not bound to 
any disk;
+assert sstableDirectory != null : Flush task is not bound to any 
disk;
 
-SSTableReader sstable = writeSortedContents(context, 
sstableDirectory);
-cfs.replaceFlushed(Memtable.this, sstable);
-}
-finally
-{
-latch.countDown();
-}
+SSTableReader sstable = writeSortedContents(context, 
sstableDirectory);
+cfs.replaceFlushed(Memtable.this, sstable);
+latch.countDown();
 }
 
 protected Directories getDirectories()



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

2014-06-20 Thread jbellis
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/90058a97
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/90058a97
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/90058a97

Branch: refs/heads/cassandra-2.1
Commit: 90058a97ac07d0408f1b8f1b4dae66a22832981c
Parents: 9da742d 93f54fc
Author: Jonathan Ellis jbel...@apache.org
Authored: Fri Jun 20 15:32:26 2014 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Fri Jun 20 15:32:26 2014 -0500

--
 CHANGES.txt|  1 -
 src/java/org/apache/cassandra/db/Memtable.java | 14 --
 2 files changed, 4 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/90058a97/CHANGES.txt
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/90058a97/src/java/org/apache/cassandra/db/Memtable.java
--



[1/6] git commit: revert #7275

2014-06-20 Thread jbellis
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-1.2 cccdcb5da - 93f54fc44
  refs/heads/cassandra-2.0 9da742d5f - 90058a97a
  refs/heads/cassandra-2.1 9dcdb8b0b - a7ad9d2a5


revert #7275


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

Branch: refs/heads/cassandra-1.2
Commit: 93f54fc44461c995ff30d42f284c78d1a9a02723
Parents: cccdcb5
Author: Jonathan Ellis jbel...@apache.org
Authored: Fri Jun 20 15:31:52 2014 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Fri Jun 20 15:31:52 2014 -0500

--
 CHANGES.txt|  1 -
 src/java/org/apache/cassandra/db/Memtable.java | 14 --
 2 files changed, 4 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/93f54fc4/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 186b4a1..d84f267 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -2,7 +2,6 @@
  * Handle possible integer overflow in FastByteArrayOutputStream 
(CASSANDRA-7373)
  * cqlsh: 'ascii' values weren't formatted as text (CASSANDRA-7407)
  * cqlsh: ignore .cassandra permission errors (CASSANDRA-7266)
- * Errors in FlushRunnable may leave threads hung (CASSANDRA-7275)
  * reduce failure detector initial value to 2s (CASSANDRA-7307)
  * Fix problem truncating on a node that was previously in a dead state 
(CASSANDRA-7318)
  * Don't insert tombstones that hide indexed values into 2i (CASSANDRA-7268)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/93f54fc4/src/java/org/apache/cassandra/db/Memtable.java
--
diff --git a/src/java/org/apache/cassandra/db/Memtable.java 
b/src/java/org/apache/cassandra/db/Memtable.java
index 90f0466..b6fceda 100644
--- a/src/java/org/apache/cassandra/db/Memtable.java
+++ b/src/java/org/apache/cassandra/db/Memtable.java
@@ -380,17 +380,11 @@ public class Memtable
 
 protected void runWith(File sstableDirectory) throws Exception
 {
-try
-{
-assert sstableDirectory != null : Flush task is not bound to 
any disk;
+assert sstableDirectory != null : Flush task is not bound to any 
disk;
 
-SSTableReader sstable = writeSortedContents(context, 
sstableDirectory);
-cfs.replaceFlushed(Memtable.this, sstable);
-}
-finally
-{
-latch.countDown();
-}
+SSTableReader sstable = writeSortedContents(context, 
sstableDirectory);
+cfs.replaceFlushed(Memtable.this, sstable);
+latch.countDown();
 }
 
 protected Directories getDirectories()



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

2014-06-20 Thread jbellis
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/90058a97
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/90058a97
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/90058a97

Branch: refs/heads/cassandra-2.0
Commit: 90058a97ac07d0408f1b8f1b4dae66a22832981c
Parents: 9da742d 93f54fc
Author: Jonathan Ellis jbel...@apache.org
Authored: Fri Jun 20 15:32:26 2014 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Fri Jun 20 15:32:26 2014 -0500

--
 CHANGES.txt|  1 -
 src/java/org/apache/cassandra/db/Memtable.java | 14 --
 2 files changed, 4 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/90058a97/CHANGES.txt
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/90058a97/src/java/org/apache/cassandra/db/Memtable.java
--



[jira] [Commented] (CASSANDRA-7275) Errors in FlushRunnable may leave threads hung

2014-06-20 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-7275:
---

I've reverted the original commit pending a new fix, so we don't block 1.2.17 
or 2.0.9 in the meantime.

 Errors in FlushRunnable may leave threads hung
 --

 Key: CASSANDRA-7275
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7275
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Tyler Hobbs
Assignee: Yuki Morishita
Priority: Minor
 Fix For: 1.2.17, 2.0.9

 Attachments: 0001-Move-latch.countDown-into-finally-block.patch, 
 7252-2.0-v2.txt


 In Memtable.FlushRunnable, the CountDownLatch will never be counted down if 
 there are errors, which results in hanging any threads that are waiting for 
 the flush to complete.  For example, an error like this causes the problem:
 {noformat}
 ERROR [FlushWriter:474] 2014-05-20 12:10:31,137 CassandraDaemon.java (line 
 198) Exception in thread Thread[FlushWriter:474,5,main]
 java.lang.IllegalArgumentException
 at java.nio.Buffer.position(Unknown Source)
 at 
 org.apache.cassandra.db.marshal.AbstractCompositeType.getBytes(AbstractCompositeType.java:64)
 at 
 org.apache.cassandra.db.marshal.AbstractCompositeType.getWithShortLength(AbstractCompositeType.java:72)
 at 
 org.apache.cassandra.db.marshal.AbstractCompositeType.split(AbstractCompositeType.java:138)
 at 
 org.apache.cassandra.io.sstable.ColumnNameHelper.minComponents(ColumnNameHelper.java:103)
 at 
 org.apache.cassandra.db.ColumnFamily.getColumnStats(ColumnFamily.java:439)
 at 
 org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:194)
 at 
 org.apache.cassandra.db.Memtable$FlushRunnable.writeSortedContents(Memtable.java:397)
 at 
 org.apache.cassandra.db.Memtable$FlushRunnable.runWith(Memtable.java:350)
 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(Unknown Source)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
 at java.lang.Thread.run(Unknown Source)
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Created] (CASSANDRA-7427) Build C* without Javadoc

2014-06-20 Thread Robert Stupp (JIRA)
Robert Stupp created CASSANDRA-7427:
---

 Summary: Build C* without Javadoc
 Key: CASSANDRA-7427
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7427
 Project: Cassandra
  Issue Type: Improvement
Reporter: Robert Stupp
Assignee: Robert Stupp
 Attachments: build-without-javadoc.diff

Here's a small patch for {{build.xml}} to reduce build time for local builds.
It just adds an {{unless=no-javadoc}} to the {{javadoc}} task.
When doing an (incremental, not initial) C*-build with {{ant -Dno-javadoc=1 
artifacts}}, build time is less than 10 seconds.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7423) make user defined types useful for non-trivial use cases

2014-06-20 Thread Brian Hess (JIRA)

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

 Brian Hess commented on CASSANDRA-7423:


I think what we want from UDTs is that the individual elements of the UDT are 
atomic pieces of data, just like columns of a CQL table.  They should be able 
to be retrieved on their own (which they are as implemented), as well as 
inserted/updated on their own (without having to get/modify/set the whole UDT). 
 The latter one is not supported as implemented and is a real issue.

One thing that comes out of them not being atomic pieces of data is that there 
is no safe way to update the UDT, but that is just one example.

 make user defined types useful for non-trivial use cases
 

 Key: CASSANDRA-7423
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7423
 Project: Cassandra
  Issue Type: Improvement
  Components: API, Core
Reporter: Tupshin Harper

 Since user defined types were implemented in CASSANDRA-5590 as blobs (you 
 have to rewrite the entire type in order to make any modifications), they 
 can't be safely used without LWT for any operation that wants to modify a 
 subset of the UDT's fields by any client process that is not authoritative 
 for the entire blob. 
 When trying to use UDTs to model complex records (particularly with nesting), 
 this is not an exceptional circumstance, this is the totally expected normal 
 situation. 
 The use of UDTs for anything non-trivial is harmful to either performance or 
 consistency or both.
 edit: to clarify, i believe that most potential uses of UDTs should be 
 considered anti-patterns until/unless we have field-level r/w access to 
 individual elements of the UDT, with individual timestamps and standard LWW 
 semantics



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-6915) Show storage rows in cqlsh

2014-06-20 Thread Robert Stupp (JIRA)

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

Robert Stupp commented on CASSANDRA-6915:
-

In RDBMS the keyword {{EXPLAIN}} describes the access path for a DML statement.
This is similar to C* trace functionality.
Maybe it's an option to add some {{EXPLAIN}} support to cqlsh using a macro - 
but without actually just simulating writes (so it implies native protocol 
changes and C* code changes).
{{EXPLAIN statement:}}
{noformat}
TRACING ON;
statement;
TRACING OFF;
{noformat}


 Show storage rows in cqlsh
 --

 Key: CASSANDRA-6915
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6915
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Robbie Strickland
  Labels: cqlsh

 In Cassandra it's super important to understand how your CQL schema 
 translates to the underlying storage rows.  Right now the only way to see 
 this is to create the schema in cqlsh, write some data, then query it using 
 the CLI.  Obviously we don't want to be encouraging people to use the CLI 
 when it's supposed to be deprecated.  So I'd like to see a function in cqlsh 
 to do this.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-6910) Better table structure display in cqlsh

2014-06-20 Thread Robert Stupp (JIRA)

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

Robert Stupp commented on CASSANDRA-6910:
-

Why not also use distinct colors for PK, CK and other columns with {{DESCRIBE 
TABLE}} ?

 Better table structure display in cqlsh
 ---

 Key: CASSANDRA-6910
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6910
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Tupshin Harper
Priority: Minor
  Labels: lhf

 It should be possible to make it more immediately obvious what the structure 
 of your CQL table is from cqlsh. Two minor enhancements could go a long way:
 1) If there are no results display the column headers anyway. Right now, if 
 you are trying to do a query and get no results, it's common to need to 
 display the table schema to figure out what you did wrong. Having the columns 
 displayed whenever you do a query wouldn't get in the way, and would provide 
 a more visual way than by describing the table.
 2) Along with the first one, if we could highlight the partition/clustering 
 columns in different colors, it would be much more intuitively 
 understandable what the underlying partition structure is.
 tl;dr: the forms below should each have distinct visual representation when 
 displaying the column headers, and the column headers should always be shown.
 CREATE TABLE usertest (
   userid text,
   email text,
   name text,
   PRIMARY KEY (userid)
 ) 
 CREATE TABLE usertest2 (
   userid text,
   email text,
   name text,
   PRIMARY KEY (userid, email)
 )
 CREATE TABLE usertest3 (
   userid text,
   email text,
   name text,
   PRIMARY KEY ((userid, email))
 )



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-6487) Log WARN on large batch sizes

2014-06-20 Thread Jon Travis (JIRA)

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

Jon Travis commented on CASSANDRA-6487:
---

I'm batching on a single partition only.  
I have a table defined as:
  CREATE TABLE store.blobs (
account_name text, 
m_guid text, 
m_blob text, 
PRIMARY KEY (account_name, 
m_guid))

I am using a prepared statement with an unlogged batch to insert many blobs 
into the same account at all once:
INSERT INTO blobs (account_name, m_guid, m_blob) VALUES (?, ?, ?)

My understanding is that this is a pretty decent way of doing it:  
http://www.datastax.com/dev/blog/client-side-improvements-in-cassandra-2-0
(re Batching Prepared Statements).

I could do these all individually, but there would clearly be some overhead.  

So, the options are to not use the prepared statement / batch, jack up the 
threshold, or change the Cassandra code to avoid logging on unlogged batches..  

 Log WARN on large batch sizes
 -

 Key: CASSANDRA-6487
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6487
 Project: Cassandra
  Issue Type: Improvement
Reporter: Patrick McFadin
Assignee: Lyuben Todorov
Priority: Minor
 Fix For: 2.0.8

 Attachments: 6487-cassandra-2.0.patch, 6487-cassandra-2.0_v2.patch


 Large batches on a coordinator can cause a lot of node stress. I propose 
 adding a WARN log entry if batch sizes go beyond a configurable size. This 
 will give more visibility to operators on something that can happen on the 
 developer side. 
 New yaml setting with 5k default.
 {{# Log WARN on any batch size exceeding this value. 5k by default.}}
 {{# Caution should be taken on increasing the size of this threshold as it 
 can lead to node instability.}}
 {{batch_size_warn_threshold: 5k}}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7351) Make BEGIN COUNTER BATCH syntax optional

2014-06-20 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-7351:
--

LGTM, +1

 Make BEGIN COUNTER BATCH syntax optional
 

 Key: CASSANDRA-7351
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7351
 Project: Cassandra
  Issue Type: Improvement
Reporter: T Jake Luciani
Assignee: T Jake Luciani
Priority: Trivial
  Labels: cql3
 Fix For: 2.1 rc2

 Attachments: 7351-rebase.txt, 7351.txt, 7351v2.txt, 7351v3.txt


 AFAIK there is no need to supply COUNTER in Batch statements.
 The server should just throw an syntax error if you try to mix counter and 
 non counter statements in the same batch.
 What value does this keyword add?



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Created] (CASSANDRA-7428) clean out DD.inMemoryCompactionLimit

2014-06-20 Thread Jonathan Ellis (JIRA)
Jonathan Ellis created CASSANDRA-7428:
-

 Summary: clean out DD.inMemoryCompactionLimit
 Key: CASSANDRA-7428
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7428
 Project: Cassandra
  Issue Type: Bug
Reporter: Jonathan Ellis
Priority: Minor
 Fix For: 2.1.0


still used in a couple places



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Created] (CASSANDRA-7429) merge commit_failure_policy to 2.1

2014-06-20 Thread Jonathan Ellis (JIRA)
Jonathan Ellis created CASSANDRA-7429:
-

 Summary: merge commit_failure_policy to 2.1
 Key: CASSANDRA-7429
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7429
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Jonathan Ellis
Assignee: Benedict
 Fix For: 2.1 rc2






--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7427) Build C* without Javadoc

2014-06-20 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-7427:
--

Reviewer: Dave Brosius

Clever.  /cc [~dbrosius]

 Build C* without Javadoc
 

 Key: CASSANDRA-7427
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7427
 Project: Cassandra
  Issue Type: Improvement
Reporter: Robert Stupp
Assignee: Robert Stupp
 Attachments: build-without-javadoc.diff


 Here's a small patch for {{build.xml}} to reduce build time for local builds.
 It just adds an {{unless=no-javadoc}} to the {{javadoc}} task.
 When doing an (incremental, not initial) C*-build with {{ant -Dno-javadoc=1 
 artifacts}}, build time is less than 10 seconds.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


git commit: Allow counter mutations in UNLOGGED batches

2014-06-20 Thread aleksey
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 a7ad9d2a5 - ee401cf81


Allow counter mutations in UNLOGGED batches

patch by tjake; reviewed by Aleksey Yeschenko for CASSANDRA-7351


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

Branch: refs/heads/cassandra-2.1
Commit: ee401cf8131a779069805cbe9ef4ab05d4a63b9a
Parents: a7ad9d2
Author: Jake Luciani j...@apache.org
Authored: Fri Jun 20 15:16:12 2014 -0700
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Fri Jun 20 15:16:12 2014 -0700

--
 CHANGES.txt |   1 +
 .../apache/cassandra/cql3/QueryProcessor.java   |   1 +
 .../cql3/statements/BatchStatement.java |  75 ++
 .../transport/messages/BatchMessage.java|  11 +-
 .../org/apache/cassandra/cql3/BatchTests.java   | 145 +++
 .../org/apache/cassandra/cql3/DeleteTest.java   |  27 ++--
 6 files changed, 216 insertions(+), 44 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ee401cf8/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index b0d8e49..4f68cf7 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.0-rc2
+ * Allow counter mutations in UNLOGGED batches (CASSANDRA-7351)
  * Modify reconcile logic to always pick a tombstone over a counter cell
(CASSANDRA-7346)
  * Avoid incremental compaction on Windows (CASSANDRA-7365)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ee401cf8/src/java/org/apache/cassandra/cql3/QueryProcessor.java
--
diff --git a/src/java/org/apache/cassandra/cql3/QueryProcessor.java 
b/src/java/org/apache/cassandra/cql3/QueryProcessor.java
index 287a700..86362f7 100644
--- a/src/java/org/apache/cassandra/cql3/QueryProcessor.java
+++ b/src/java/org/apache/cassandra/cql3/QueryProcessor.java
@@ -418,6 +418,7 @@ public class QueryProcessor implements QueryHandler
 {
 ClientState clientState = queryState.getClientState();
 batch.checkAccess(clientState);
+batch.validate();
 batch.validate(clientState);
 return batch.execute(queryState, options);
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ee401cf8/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
--
diff --git a/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java 
b/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
index 3cec81b..b7d69cc 100644
--- a/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
@@ -95,7 +95,8 @@ public class BatchStatement implements CQLStatement, 
MeasurableForPreparedCache
 statement.checkAccess(state);
 }
 
-public void validate(ClientState state) throws InvalidRequestException
+// Validates a prepared batch statement without validating its nested 
statements.
+public void validate() throws InvalidRequestException
 {
 if (attrs.isTimeToLiveSet())
 throw new InvalidRequestException(Global TTL on the BATCH 
statement is not supported.);
@@ -109,15 +110,54 @@ public class BatchStatement implements CQLStatement, 
MeasurableForPreparedCache
 throw new InvalidRequestException(Cannot provide custom 
timestamp for counter BATCH);
 }
 
+boolean hasCounters = false;
+boolean hasNonCounters = false;
+
 for (ModificationStatement statement : statements)
 {
+if (timestampSet  statement.isCounter())
+throw new InvalidRequestException(Cannot provide custom 
timestamp for a BATCH containing counters);
+
 if (timestampSet  statement.isTimestampSet())
 throw new InvalidRequestException(Timestamp must be set 
either on BATCH or individual statements);
 
-statement.validate(state);
+if (type == Type.COUNTER  !statement.isCounter())
+throw new InvalidRequestException(Cannot include non-counter 
statement in a counter batch);
+
+if (type == Type.LOGGED  statement.isCounter())
+throw new InvalidRequestException(Cannot include a counter 
statement in a logged batch);
+
+if (statement.isCounter())
+hasCounters = true;
+else
+hasNonCounters = true;
+}
+
+if (hasCounters  hasNonCounters)
+throw new InvalidRequestException(Counter and 

[4/5] git commit: Allow counter mutations in UNLOGGED batches

2014-06-20 Thread aleksey
Allow counter mutations in UNLOGGED batches

patch by tjake; reviewed by Aleksey Yeschenko for CASSANDRA-7351


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

Branch: refs/heads/trunk
Commit: ee401cf8131a779069805cbe9ef4ab05d4a63b9a
Parents: a7ad9d2
Author: Jake Luciani j...@apache.org
Authored: Fri Jun 20 15:16:12 2014 -0700
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Fri Jun 20 15:16:12 2014 -0700

--
 CHANGES.txt |   1 +
 .../apache/cassandra/cql3/QueryProcessor.java   |   1 +
 .../cql3/statements/BatchStatement.java |  75 ++
 .../transport/messages/BatchMessage.java|  11 +-
 .../org/apache/cassandra/cql3/BatchTests.java   | 145 +++
 .../org/apache/cassandra/cql3/DeleteTest.java   |  27 ++--
 6 files changed, 216 insertions(+), 44 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ee401cf8/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index b0d8e49..4f68cf7 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.0-rc2
+ * Allow counter mutations in UNLOGGED batches (CASSANDRA-7351)
  * Modify reconcile logic to always pick a tombstone over a counter cell
(CASSANDRA-7346)
  * Avoid incremental compaction on Windows (CASSANDRA-7365)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ee401cf8/src/java/org/apache/cassandra/cql3/QueryProcessor.java
--
diff --git a/src/java/org/apache/cassandra/cql3/QueryProcessor.java 
b/src/java/org/apache/cassandra/cql3/QueryProcessor.java
index 287a700..86362f7 100644
--- a/src/java/org/apache/cassandra/cql3/QueryProcessor.java
+++ b/src/java/org/apache/cassandra/cql3/QueryProcessor.java
@@ -418,6 +418,7 @@ public class QueryProcessor implements QueryHandler
 {
 ClientState clientState = queryState.getClientState();
 batch.checkAccess(clientState);
+batch.validate();
 batch.validate(clientState);
 return batch.execute(queryState, options);
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ee401cf8/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
--
diff --git a/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java 
b/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
index 3cec81b..b7d69cc 100644
--- a/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
@@ -95,7 +95,8 @@ public class BatchStatement implements CQLStatement, 
MeasurableForPreparedCache
 statement.checkAccess(state);
 }
 
-public void validate(ClientState state) throws InvalidRequestException
+// Validates a prepared batch statement without validating its nested 
statements.
+public void validate() throws InvalidRequestException
 {
 if (attrs.isTimeToLiveSet())
 throw new InvalidRequestException(Global TTL on the BATCH 
statement is not supported.);
@@ -109,15 +110,54 @@ public class BatchStatement implements CQLStatement, 
MeasurableForPreparedCache
 throw new InvalidRequestException(Cannot provide custom 
timestamp for counter BATCH);
 }
 
+boolean hasCounters = false;
+boolean hasNonCounters = false;
+
 for (ModificationStatement statement : statements)
 {
+if (timestampSet  statement.isCounter())
+throw new InvalidRequestException(Cannot provide custom 
timestamp for a BATCH containing counters);
+
 if (timestampSet  statement.isTimestampSet())
 throw new InvalidRequestException(Timestamp must be set 
either on BATCH or individual statements);
 
-statement.validate(state);
+if (type == Type.COUNTER  !statement.isCounter())
+throw new InvalidRequestException(Cannot include non-counter 
statement in a counter batch);
+
+if (type == Type.LOGGED  statement.isCounter())
+throw new InvalidRequestException(Cannot include a counter 
statement in a logged batch);
+
+if (statement.isCounter())
+hasCounters = true;
+else
+hasNonCounters = true;
+}
+
+if (hasCounters  hasNonCounters)
+throw new InvalidRequestException(Counter and non-counter 
mutations cannot exist in the same batch);
+
+if (hasConditions)
+{
+   

[5/5] git commit: Merge branch 'cassandra-2.1' into trunk

2014-06-20 Thread aleksey
Merge branch 'cassandra-2.1' into trunk

Conflicts:
test/unit/org/apache/cassandra/cql3/DeleteTest.java


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

Branch: refs/heads/trunk
Commit: e88c83006a9ff479be07f8e1bd377526a4bf8369
Parents: d2a3827 ee401cf
Author: Aleksey Yeschenko alek...@apache.org
Authored: Fri Jun 20 15:23:46 2014 -0700
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Fri Jun 20 15:23:46 2014 -0700

--
 CHANGES.txt |   2 +-
 .../apache/cassandra/cql3/QueryProcessor.java   |   1 +
 .../cql3/statements/BatchStatement.java |  75 ++
 .../transport/messages/BatchMessage.java|  11 +-
 .../org/apache/cassandra/cql3/BatchTests.java   | 145 +++
 .../org/apache/cassandra/cql3/DeleteTest.java   |  25 +++-
 6 files changed, 215 insertions(+), 44 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e88c8300/CHANGES.txt
--
diff --cc CHANGES.txt
index f30ef3c,4f68cf7..aea3cf6
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,17 -1,5 +1,18 @@@
 +3.0
 + * Move sstable RandomAccessReader to nio2, which allows using the
 +   FILE_SHARE_DELETE flag on Windows (CASSANDRA-4050)
 + * Remove CQL2 (CASSANDRA-5918)
 + * Add Thrift get_multi_slice call (CASSANDRA-6757)
 + * Optimize fetching multiple cells by name (CASSANDRA-6933)
 + * Allow compilation in java 8 (CASSANDRA-7208)
 + * Make incremental repair default (CASSANDRA-7250)
 + * Enable code coverage thru JaCoCo (CASSANDRA-7226)
 + * Switch external naming of 'column families' to 'tables' (CASSANDRA-4369) 
 + 
 +
 +
  2.1.0-rc2
+  * Allow counter mutations in UNLOGGED batches (CASSANDRA-7351)
   * Modify reconcile logic to always pick a tombstone over a counter cell
 (CASSANDRA-7346)
   * Avoid incremental compaction on Windows (CASSANDRA-7365)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e88c8300/src/java/org/apache/cassandra/cql3/QueryProcessor.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e88c8300/src/java/org/apache/cassandra/transport/messages/BatchMessage.java
--



[3/5] git commit: merge from 2.0

2014-06-20 Thread aleksey
merge from 2.0


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

Branch: refs/heads/trunk
Commit: a7ad9d2a5ea50f3b20b7a91e366a107f0c9199a6
Parents: 9dcdb8b 90058a9
Author: Jonathan Ellis jbel...@apache.org
Authored: Fri Jun 20 15:33:44 2014 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Fri Jun 20 15:33:44 2014 -0500

--
 CHANGES.txt | 1 -
 1 file changed, 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a7ad9d2a/CHANGES.txt
--



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

2014-06-20 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/90058a97
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/90058a97
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/90058a97

Branch: refs/heads/trunk
Commit: 90058a97ac07d0408f1b8f1b4dae66a22832981c
Parents: 9da742d 93f54fc
Author: Jonathan Ellis jbel...@apache.org
Authored: Fri Jun 20 15:32:26 2014 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Fri Jun 20 15:32:26 2014 -0500

--
 CHANGES.txt|  1 -
 src/java/org/apache/cassandra/db/Memtable.java | 14 --
 2 files changed, 4 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/90058a97/CHANGES.txt
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/90058a97/src/java/org/apache/cassandra/db/Memtable.java
--



[1/5] git commit: revert #7275

2014-06-20 Thread aleksey
Repository: cassandra
Updated Branches:
  refs/heads/trunk d2a3827a6 - e88c83006


revert #7275


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

Branch: refs/heads/trunk
Commit: 93f54fc44461c995ff30d42f284c78d1a9a02723
Parents: cccdcb5
Author: Jonathan Ellis jbel...@apache.org
Authored: Fri Jun 20 15:31:52 2014 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Fri Jun 20 15:31:52 2014 -0500

--
 CHANGES.txt|  1 -
 src/java/org/apache/cassandra/db/Memtable.java | 14 --
 2 files changed, 4 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/93f54fc4/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 186b4a1..d84f267 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -2,7 +2,6 @@
  * Handle possible integer overflow in FastByteArrayOutputStream 
(CASSANDRA-7373)
  * cqlsh: 'ascii' values weren't formatted as text (CASSANDRA-7407)
  * cqlsh: ignore .cassandra permission errors (CASSANDRA-7266)
- * Errors in FlushRunnable may leave threads hung (CASSANDRA-7275)
  * reduce failure detector initial value to 2s (CASSANDRA-7307)
  * Fix problem truncating on a node that was previously in a dead state 
(CASSANDRA-7318)
  * Don't insert tombstones that hide indexed values into 2i (CASSANDRA-7268)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/93f54fc4/src/java/org/apache/cassandra/db/Memtable.java
--
diff --git a/src/java/org/apache/cassandra/db/Memtable.java 
b/src/java/org/apache/cassandra/db/Memtable.java
index 90f0466..b6fceda 100644
--- a/src/java/org/apache/cassandra/db/Memtable.java
+++ b/src/java/org/apache/cassandra/db/Memtable.java
@@ -380,17 +380,11 @@ public class Memtable
 
 protected void runWith(File sstableDirectory) throws Exception
 {
-try
-{
-assert sstableDirectory != null : Flush task is not bound to 
any disk;
+assert sstableDirectory != null : Flush task is not bound to any 
disk;
 
-SSTableReader sstable = writeSortedContents(context, 
sstableDirectory);
-cfs.replaceFlushed(Memtable.this, sstable);
-}
-finally
-{
-latch.countDown();
-}
+SSTableReader sstable = writeSortedContents(context, 
sstableDirectory);
+cfs.replaceFlushed(Memtable.this, sstable);
+latch.countDown();
 }
 
 protected Directories getDirectories()



[jira] [Resolved] (CASSANDRA-7351) Make BEGIN COUNTER BATCH syntax optional

2014-06-20 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko resolved CASSANDRA-7351.
--

Resolution: Fixed

Committed, thanks.

Took the liberty to add two comments, and move the top-level batch validate() 
call from validate(state) to QueryProcessor.processBatch() (so that we don't 
validate twice unnecessarily for non-protocol batches). Feel free to ninja it 
back if you mind.

Otherwise committed verbatim.

 Make BEGIN COUNTER BATCH syntax optional
 

 Key: CASSANDRA-7351
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7351
 Project: Cassandra
  Issue Type: Improvement
Reporter: T Jake Luciani
Assignee: T Jake Luciani
Priority: Trivial
  Labels: cql3
 Fix For: 2.1 rc2

 Attachments: 7351-rebase.txt, 7351.txt, 7351v2.txt, 7351v3.txt


 AFAIK there is no need to supply COUNTER in Batch statements.
 The server should just throw an syntax error if you try to mix counter and 
 non counter statements in the same batch.
 What value does this keyword add?



--
This message was sent by Atlassian JIRA
(v6.2#6252)


buildbot failure in ASF Buildbot on cassandra-trunk

2014-06-20 Thread buildbot
The Buildbot has detected a new failure on builder cassandra-trunk while 
building cassandra.
Full details are available at:
 http://ci.apache.org/builders/cassandra-trunk/builds/359

Buildbot URL: http://ci.apache.org/

Buildslave for this Build: portunus_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch trunk] e88c83006a9ff479be07f8e1bd377526a4bf8369
Blamelist: Aleksey Yeschenko alek...@apache.org,Jake Luciani 
j...@apache.org,Jonathan Ellis jbel...@apache.org

BUILD FAILED: failed shell

sincerely,
 -The Buildbot





buildbot failure in ASF Buildbot on cassandra-2.1

2014-06-20 Thread buildbot
The Buildbot has detected a new failure on builder cassandra-2.1 while building 
cassandra.
Full details are available at:
 http://ci.apache.org/builders/cassandra-2.1/builds/168

Buildbot URL: http://ci.apache.org/

Buildslave for this Build: portunus_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch cassandra-2.1] 
ee401cf8131a779069805cbe9ef4ab05d4a63b9a
Blamelist: Jake Luciani j...@apache.org

BUILD FAILED: failed shell

sincerely,
 -The Buildbot





[1/2] git commit: (ninja) Deduplicate BatchStatement hasConditions inference logic

2014-06-20 Thread aleksey
Repository: cassandra
Updated Branches:
  refs/heads/trunk e88c83006 - c1ce969c6


(ninja) Deduplicate BatchStatement hasConditions inference logic


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

Branch: refs/heads/trunk
Commit: bf9b49ca8443b020cee6f0e1550763fed5a36363
Parents: ee401cf
Author: Aleksey Yeschenko alek...@apache.org
Authored: Fri Jun 20 15:46:16 2014 -0700
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Fri Jun 20 15:46:16 2014 -0700

--
 .../cql3/statements/BatchStatement.java | 20 
 .../transport/messages/BatchMessage.java| 15 +--
 2 files changed, 13 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/bf9b49ca/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
--
diff --git a/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java 
b/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
index b7d69cc..0521485 100644
--- a/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
@@ -64,8 +64,12 @@ public class BatchStatement implements CQLStatement, 
MeasurableForPreparedCache
  * @param statements a list of UpdateStatements
  * @param attrs additional attributes for statement (CL, timestamp, 
timeToLive)
  */
-public BatchStatement(int boundTerms, Type type, 
ListModificationStatement statements, Attributes attrs, boolean hasConditions)
+public BatchStatement(int boundTerms, Type type, 
ListModificationStatement statements, Attributes attrs)
 {
+boolean hasConditions = false;
+for (ModificationStatement statement : statements)
+hasConditions |= statement.hasConditions();
+
 this.boundTerms = boundTerms;
 this.type = type;
 this.statements = statements;
@@ -304,7 +308,7 @@ public class BatchStatement implements CQLStatement, 
MeasurableForPreparedCache
 String cfName = null;
 ColumnFamily updates = null;
 CQL3CasConditions conditions = null;
-SetColumnDefinition columnsWithConditions = new 
LinkedHashSetColumnDefinition();
+SetColumnDefinition columnsWithConditions = new LinkedHashSet();
 
 for (int i = 0; i  statements.size(); i++)
 {
@@ -397,21 +401,13 @@ public class BatchStatement implements CQLStatement, 
MeasurableForPreparedCache
 VariableSpecifications boundNames = getBoundVariables();
 
 ListModificationStatement statements = new 
ArrayList(parsedStatements.size());
-boolean hasConditions = false;
-
 for (ModificationStatement.Parsed parsed : parsedStatements)
-{
-ModificationStatement stmt = parsed.prepare(boundNames);
-if (stmt.hasConditions())
-hasConditions = true;
-
-statements.add(stmt);
-}
+statements.add(parsed.prepare(boundNames));
 
 Attributes prepAttrs = attrs.prepare([batch], [batch]);
 prepAttrs.collectMarkerSpecification(boundNames);
 
-BatchStatement batchStatement = new 
BatchStatement(boundNames.size(), type, statements, prepAttrs, hasConditions);
+BatchStatement batchStatement = new 
BatchStatement(boundNames.size(), type, statements, prepAttrs);
 batchStatement.validate();
 
 return new ParsedStatement.Prepared(batchStatement, boundNames);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/bf9b49ca/src/java/org/apache/cassandra/transport/messages/BatchMessage.java
--
diff --git a/src/java/org/apache/cassandra/transport/messages/BatchMessage.java 
b/src/java/org/apache/cassandra/transport/messages/BatchMessage.java
index c199a62..19fa6aa 100644
--- a/src/java/org/apache/cassandra/transport/messages/BatchMessage.java
+++ b/src/java/org/apache/cassandra/transport/messages/BatchMessage.java
@@ -29,9 +29,9 @@ import org.apache.cassandra.cql3.*;
 import org.apache.cassandra.cql3.statements.BatchStatement;
 import org.apache.cassandra.cql3.statements.ModificationStatement;
 import org.apache.cassandra.cql3.statements.ParsedStatement;
-import org.apache.cassandra.db.ConsistencyLevel;
 import org.apache.cassandra.exceptions.InvalidRequestException;
 import org.apache.cassandra.exceptions.PreparedQueryNotFoundException;
+import org.apache.cassandra.service.ClientState;
 import 

git commit: (ninja) Deduplicate BatchStatement hasConditions inference logic

2014-06-20 Thread aleksey
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 ee401cf81 - bf9b49ca8


(ninja) Deduplicate BatchStatement hasConditions inference logic


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

Branch: refs/heads/cassandra-2.1
Commit: bf9b49ca8443b020cee6f0e1550763fed5a36363
Parents: ee401cf
Author: Aleksey Yeschenko alek...@apache.org
Authored: Fri Jun 20 15:46:16 2014 -0700
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Fri Jun 20 15:46:16 2014 -0700

--
 .../cql3/statements/BatchStatement.java | 20 
 .../transport/messages/BatchMessage.java| 15 +--
 2 files changed, 13 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/bf9b49ca/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
--
diff --git a/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java 
b/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
index b7d69cc..0521485 100644
--- a/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
@@ -64,8 +64,12 @@ public class BatchStatement implements CQLStatement, 
MeasurableForPreparedCache
  * @param statements a list of UpdateStatements
  * @param attrs additional attributes for statement (CL, timestamp, 
timeToLive)
  */
-public BatchStatement(int boundTerms, Type type, 
ListModificationStatement statements, Attributes attrs, boolean hasConditions)
+public BatchStatement(int boundTerms, Type type, 
ListModificationStatement statements, Attributes attrs)
 {
+boolean hasConditions = false;
+for (ModificationStatement statement : statements)
+hasConditions |= statement.hasConditions();
+
 this.boundTerms = boundTerms;
 this.type = type;
 this.statements = statements;
@@ -304,7 +308,7 @@ public class BatchStatement implements CQLStatement, 
MeasurableForPreparedCache
 String cfName = null;
 ColumnFamily updates = null;
 CQL3CasConditions conditions = null;
-SetColumnDefinition columnsWithConditions = new 
LinkedHashSetColumnDefinition();
+SetColumnDefinition columnsWithConditions = new LinkedHashSet();
 
 for (int i = 0; i  statements.size(); i++)
 {
@@ -397,21 +401,13 @@ public class BatchStatement implements CQLStatement, 
MeasurableForPreparedCache
 VariableSpecifications boundNames = getBoundVariables();
 
 ListModificationStatement statements = new 
ArrayList(parsedStatements.size());
-boolean hasConditions = false;
-
 for (ModificationStatement.Parsed parsed : parsedStatements)
-{
-ModificationStatement stmt = parsed.prepare(boundNames);
-if (stmt.hasConditions())
-hasConditions = true;
-
-statements.add(stmt);
-}
+statements.add(parsed.prepare(boundNames));
 
 Attributes prepAttrs = attrs.prepare([batch], [batch]);
 prepAttrs.collectMarkerSpecification(boundNames);
 
-BatchStatement batchStatement = new 
BatchStatement(boundNames.size(), type, statements, prepAttrs, hasConditions);
+BatchStatement batchStatement = new 
BatchStatement(boundNames.size(), type, statements, prepAttrs);
 batchStatement.validate();
 
 return new ParsedStatement.Prepared(batchStatement, boundNames);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/bf9b49ca/src/java/org/apache/cassandra/transport/messages/BatchMessage.java
--
diff --git a/src/java/org/apache/cassandra/transport/messages/BatchMessage.java 
b/src/java/org/apache/cassandra/transport/messages/BatchMessage.java
index c199a62..19fa6aa 100644
--- a/src/java/org/apache/cassandra/transport/messages/BatchMessage.java
+++ b/src/java/org/apache/cassandra/transport/messages/BatchMessage.java
@@ -29,9 +29,9 @@ import org.apache.cassandra.cql3.*;
 import org.apache.cassandra.cql3.statements.BatchStatement;
 import org.apache.cassandra.cql3.statements.ModificationStatement;
 import org.apache.cassandra.cql3.statements.ParsedStatement;
-import org.apache.cassandra.db.ConsistencyLevel;
 import org.apache.cassandra.exceptions.InvalidRequestException;
 import org.apache.cassandra.exceptions.PreparedQueryNotFoundException;
+import org.apache.cassandra.service.ClientState;
 import 

[2/2] git commit: Merge branch 'cassandra-2.1' into trunk

2014-06-20 Thread aleksey
Merge branch 'cassandra-2.1' into trunk


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

Branch: refs/heads/trunk
Commit: c1ce969c6a8e529d98eb8abec6b42e2f0acf3851
Parents: e88c830 bf9b49c
Author: Aleksey Yeschenko alek...@apache.org
Authored: Fri Jun 20 15:49:07 2014 -0700
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Fri Jun 20 15:49:07 2014 -0700

--
 .../cql3/statements/BatchStatement.java | 20 
 .../transport/messages/BatchMessage.java| 14 +-
 2 files changed, 13 insertions(+), 21 deletions(-)
--




[jira] [Created] (CASSANDRA-7430) generate-eclipse-files target on JDK 8 causes ReferenceError: importClass is not defined

2014-06-20 Thread Kirk True (JIRA)
Kirk True created CASSANDRA-7430:


 Summary: generate-eclipse-files target on JDK 8 causes 
ReferenceError: importClass is not defined
 Key: CASSANDRA-7430
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7430
 Project: Cassandra
  Issue Type: Bug
 Environment: java version 1.8.0_05
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)

Reporter: Kirk True


If I run {{ant generate-eclipse-files}} under JDK 8, I get this error:

{noformat}
BUILD FAILED
/Users/kirk/dev/cassandra/build.xml:1449: javax.script.ScriptException: 
ReferenceError: importClass is not defined in eval at line number 2
at 
jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:564)
at 
jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:548)
at 
jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:528)
at 
jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:524)
at 
jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:194)
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.apache.tools.ant.util.ReflectUtil.invoke(ReflectUtil.java:108)
at 
org.apache.tools.ant.util.ReflectWrapper.invoke(ReflectWrapper.java:81)
at 
org.apache.tools.ant.util.optional.JavaxScriptRunner.evaluateScript(JavaxScriptRunner.java:103)
at 
org.apache.tools.ant.util.optional.JavaxScriptRunner.executeScript(JavaxScriptRunner.java:67)
at org.apache.tools.ant.taskdefs.optional.Script.execute(Script.java:52)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at 
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:435)
at org.apache.tools.ant.Target.performTasks(Target.java:456)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
at 
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
at org.apache.tools.ant.Main.runBuild(Main.java:851)
at org.apache.tools.ant.Main.startAnt(Main.java:235)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Caused by: eval:2 ReferenceError: importClass is not defined
at jdk.nashorn.internal.runtime.ECMAErrors.error(ECMAErrors.java:56)
at 
jdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:318)
at 
jdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:290)
at 
jdk.nashorn.api.scripting.NashornScriptEngine.__noSuchProperty__(NashornScriptEngine.java:274)
at 
jdk.nashorn.internal.scripts.Script$engine._L35(nashorn:engine/resources/engine.js:37)
at jdk.nashorn.internal.scripts.Script$\^eval\_.runScript(eval:2)
at 
jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:498)
at 
jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:206)
at 
jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:378)
at 
jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:546)
... 29 more
{noformat}

Apparently this is due to changes with the new Nashorn ECMAScript engine in the 
new JDK.

According to 
http://stackoverflow.com/questions/22503100/java-8-javascript-engine-backwards-compatibility,
 one way to solve this is thusly:

{noformat}
diff --git a/build.xml b/build.xml
index 02e1f98..245ca8e 100644
--- a/build.xml
+++ b/build.xml
@@ -1447,7 +1447,7 @@
/path
property name=eclipse-project-libs 
refid=eclipse-project-libs-path/
script language=javascript ![CDATA[
-   importClass(java.io.File);
+   var File = java.io.File;
jars = 

[jira] [Updated] (CASSANDRA-7430) generate-eclipse-files target on JDK 8 causes ReferenceError: importClass is not defined

2014-06-20 Thread Kirk True (JIRA)

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

Kirk True updated CASSANDRA-7430:
-

Priority: Trivial  (was: Major)

 generate-eclipse-files target on JDK 8 causes ReferenceError: importClass 
 is not defined
 --

 Key: CASSANDRA-7430
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7430
 Project: Cassandra
  Issue Type: Bug
 Environment: java version 1.8.0_05
 Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
 Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)
Reporter: Kirk True
Priority: Trivial

 If I run {{ant generate-eclipse-files}} under JDK 8, I get this error:
 {noformat}
 BUILD FAILED
 /Users/kirk/dev/cassandra/build.xml:1449: javax.script.ScriptException: 
 ReferenceError: importClass is not defined in eval at line number 2
   at 
 jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:564)
   at 
 jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:548)
   at 
 jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:528)
   at 
 jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:524)
   at 
 jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:194)
   at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:483)
   at org.apache.tools.ant.util.ReflectUtil.invoke(ReflectUtil.java:108)
   at 
 org.apache.tools.ant.util.ReflectWrapper.invoke(ReflectWrapper.java:81)
   at 
 org.apache.tools.ant.util.optional.JavaxScriptRunner.evaluateScript(JavaxScriptRunner.java:103)
   at 
 org.apache.tools.ant.util.optional.JavaxScriptRunner.executeScript(JavaxScriptRunner.java:67)
   at org.apache.tools.ant.taskdefs.optional.Script.execute(Script.java:52)
   at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
   at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:483)
   at 
 org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
   at org.apache.tools.ant.Task.perform(Task.java:348)
   at org.apache.tools.ant.Target.execute(Target.java:435)
   at org.apache.tools.ant.Target.performTasks(Target.java:456)
   at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
   at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
   at 
 org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
   at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
   at org.apache.tools.ant.Main.runBuild(Main.java:851)
   at org.apache.tools.ant.Main.startAnt(Main.java:235)
   at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
   at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
 Caused by: eval:2 ReferenceError: importClass is not defined
   at jdk.nashorn.internal.runtime.ECMAErrors.error(ECMAErrors.java:56)
   at 
 jdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:318)
   at 
 jdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:290)
   at 
 jdk.nashorn.api.scripting.NashornScriptEngine.__noSuchProperty__(NashornScriptEngine.java:274)
   at 
 jdk.nashorn.internal.scripts.Script$engine._L35(nashorn:engine/resources/engine.js:37)
   at jdk.nashorn.internal.scripts.Script$\^eval\_.runScript(eval:2)
   at 
 jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:498)
   at 
 jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:206)
   at 
 jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:378)
   at 
 jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:546)
   ... 29 more
 {noformat}
 Apparently this is due to changes with the new Nashorn ECMAScript engine in 
 the new JDK.
 According to 
 http://stackoverflow.com/questions/22503100/java-8-javascript-engine-backwards-compatibility,
  one way to solve this is thusly:
 {noformat}
 diff --git a/build.xml b/build.xml
 index 02e1f98..245ca8e 100644
 --- a/build.xml
 +++ b/build.xml
 @@ -1447,7 +1447,7 @@
 /path
 property name=eclipse-project-libs 
 

[jira] [Updated] (CASSANDRA-6839) Support non equal conditions (for LWT)

2014-06-20 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs updated CASSANDRA-6839:
---

Attachment: 6839-v2.txt

The v2 patch adds support for IN operations. The same 
[branch|https://github.com/thobbs/cassandra/tree/CASSANDRA-6839] has been 
updated with a couple of commits, as well.  I also pushed another commit to my 
[dtest branch|https://github.com/thobbs/cassandra-dtest/tree/CASSANDRA-6839].

This turned out to be a bit more complex than I expected, but the test coverage 
is pretty good here now.  I added some unit tests to cover equality checks on 
the various Bounds subclasses.

 Support non equal conditions (for LWT)
 --

 Key: CASSANDRA-6839
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6839
 Project: Cassandra
  Issue Type: Improvement
Reporter: Sylvain Lebresne
Assignee: Tyler Hobbs
Priority: Minor
 Fix For: 2.0.9

 Attachments: 6839-v2.txt, 6839.txt


 We currently only support equal conditions in conditional updates, but it 
 would be relatively trivial to support non-equal ones as well. At the very 
 least we should support '', '=', '' and '=', though it would probably 
 also make sense to add a non-equal relation too ('!=').



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7427) Build C* without Javadoc

2014-06-20 Thread Dave Brosius (JIRA)

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

Dave Brosius commented on CASSANDRA-7427:
-

what task are you using that you actually build javadoc?

{{{ant}}} and {{{ant jar}}} do not.

 Build C* without Javadoc
 

 Key: CASSANDRA-7427
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7427
 Project: Cassandra
  Issue Type: Improvement
Reporter: Robert Stupp
Assignee: Robert Stupp
 Attachments: build-without-javadoc.diff


 Here's a small patch for {{build.xml}} to reduce build time for local builds.
 It just adds an {{unless=no-javadoc}} to the {{javadoc}} task.
 When doing an (incremental, not initial) C*-build with {{ant -Dno-javadoc=1 
 artifacts}}, build time is less than 10 seconds.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Comment Edited] (CASSANDRA-7427) Build C* without Javadoc

2014-06-20 Thread Dave Brosius (JIRA)

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

Dave Brosius edited comment on CASSANDRA-7427 at 6/21/14 12:33 AM:
---

what task are you using that you actually build javadoc?

{{{
ant
}}} and 
{{{
ant jar
}}} 
do not.


was (Author: dbrosius):
what task are you using that you actually build javadoc?

{{{ant}}} and {{{ant jar}}} do not.

 Build C* without Javadoc
 

 Key: CASSANDRA-7427
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7427
 Project: Cassandra
  Issue Type: Improvement
Reporter: Robert Stupp
Assignee: Robert Stupp
 Attachments: build-without-javadoc.diff


 Here's a small patch for {{build.xml}} to reduce build time for local builds.
 It just adds an {{unless=no-javadoc}} to the {{javadoc}} task.
 When doing an (incremental, not initial) C*-build with {{ant -Dno-javadoc=1 
 artifacts}}, build time is less than 10 seconds.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Comment Edited] (CASSANDRA-7427) Build C* without Javadoc

2014-06-20 Thread Dave Brosius (JIRA)

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

Dave Brosius edited comment on CASSANDRA-7427 at 6/21/14 12:35 AM:
---

what task are you using that you actually build javadoc?

{{
ant
}} 
and 
{{
ant jar
}} 
do not.


was (Author: dbrosius):
what task are you using that you actually build javadoc?

{{{
ant
}}} and 
{{{
ant jar
}}} 
do not.

 Build C* without Javadoc
 

 Key: CASSANDRA-7427
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7427
 Project: Cassandra
  Issue Type: Improvement
Reporter: Robert Stupp
Assignee: Robert Stupp
 Attachments: build-without-javadoc.diff


 Here's a small patch for {{build.xml}} to reduce build time for local builds.
 It just adds an {{unless=no-javadoc}} to the {{javadoc}} task.
 When doing an (incremental, not initial) C*-build with {{ant -Dno-javadoc=1 
 artifacts}}, build time is less than 10 seconds.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Comment Edited] (CASSANDRA-7427) Build C* without Javadoc

2014-06-20 Thread Dave Brosius (JIRA)

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

Dave Brosius edited comment on CASSANDRA-7427 at 6/21/14 12:36 AM:
---

what task are you using that you actually build javadoc?

{{ant}} 
and 
{{ant jar}} 
do not.


the patch is fine of course, just seems superfluous. but ok.


was (Author: dbrosius):
what task are you using that you actually build javadoc?

{{
ant
}} 
and 
{{
ant jar
}} 
do not.

 Build C* without Javadoc
 

 Key: CASSANDRA-7427
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7427
 Project: Cassandra
  Issue Type: Improvement
Reporter: Robert Stupp
Assignee: Robert Stupp
 Attachments: build-without-javadoc.diff


 Here's a small patch for {{build.xml}} to reduce build time for local builds.
 It just adds an {{unless=no-javadoc}} to the {{javadoc}} task.
 When doing an (incremental, not initial) C*-build with {{ant -Dno-javadoc=1 
 artifacts}}, build time is less than 10 seconds.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Resolved] (CASSANDRA-7425) AssertionError when local writes at CL.ANY do not complete due to timeout

2014-06-20 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko resolved CASSANDRA-7425.
--

Resolution: Duplicate

This is a duplicate of CASSANDRA-7364.

 AssertionError when local writes at CL.ANY do not complete due to timeout
 -

 Key: CASSANDRA-7425
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7425
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Sergio Bossa

 When the local node is overloaded, if local writes at CL.ANY do not complete 
 due to a timeout, an hint is sent to the local node, breaking the following 
 assertion in StorageProxy#submitHint:
 {code}
 assert !target.equals(FBUtilities.getBroadcastAddress()) : target;
 {code}
 Cassandra tracing is also affected by this bug:
 {noformat}
 ERROR [TracingStage:20] 2014-06-18 08:00:44,215 CassandraDaemon.java (line 
 199) Exception in thread Thread[TracingStage:20,5,main]
 java.lang.AssertionError: hostname
 at 
 org.apache.cassandra.service.StorageProxy.submitHint(StorageProxy.java:859)
 at 
 org.apache.cassandra.service.StorageProxy.mutate(StorageProxy.java:490)
 at 
 org.apache.cassandra.tracing.Tracing.mutateWithCatch(Tracing.java:291)
 at 
 org.apache.cassandra.tracing.TraceState$1.runMayThrow(TraceState.java:104)
 at 
 org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
 at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


  1   2   >