[jira] [Commented] (CASSANDRA-6476) Assertion error in MessagingService.addCallback
[ https://issues.apache.org/jira/browse/CASSANDRA-6476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13973941#comment-13973941 ] sankalp kohli commented on CASSANDRA-6476: -- We saw these asserts on one node for sometime and then it went away. This is 1.2.15. We had some network problem around the same time. Don't know whether that is related. java.lang.AssertionError at org.apache.cassandra.net.MessagingService.addCallback(MessagingService.java:541) at org.apache.cassandra.service.StorageProxy.sendMessagesToOneDCInternal(StorageProxy.java:638) at org.apache.cassandra.service.StorageProxy.sendMessagesToOneDC(StorageProxy.java:603) at org.apache.cassandra.service.StorageProxy.sendToHintedEndpoints(StorageProxy.java:530) at org.apache.cassandra.service.StorageProxy$2.apply(StorageProxy.java:121) at org.apache.cassandra.service.StorageProxy.performWrite(StorageProxy.java:384) at org.apache.cassandra.service.StorageProxy.mutate(StorageProxy.java:191) at org.apache.cassandra.thrift.CassandraServer.doInsert(CassandraServer.java:866) at org.apache.cassandra.thrift.CassandraServer.doInsert(CassandraServer.java:849) at org.apache.cassandra.thrift.CassandraServer.internal_remove(CassandraServer.java:813) at org.apache.cassandra.thrift.CassandraServer.remove(CassandraServer.java:834) at org.apache.cassandra.thrift.Cassandra$Processor$remove.getResult(Cassandra.java:3642) at org.apache.cassandra.thrift.Cassandra$Processor$remove.getResult(Cassandra.java:3630) at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32) at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34) at org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:199) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) Assertion error in MessagingService.addCallback --- Key: CASSANDRA-6476 URL: https://issues.apache.org/jira/browse/CASSANDRA-6476 Project: Cassandra Issue Type: Bug Environment: Cassandra 2.0.2 DCE Reporter: Theo Hultberg Assignee: Sylvain Lebresne Two of the three Cassandra nodes in one of our clusters just started behaving very strange about an hour ago. Within a minute of each other they started logging AssertionErrors (see stack traces here: https://gist.github.com/iconara/7917438) over and over again. The client lost connection with the nodes at roughly the same time. The nodes were still up, and even if no clients were connected to them they continued logging the same errors over and over. The errors are in the native transport (specifically MessagingService.addCallback) which makes me suspect that it has something to do with a test that we started running this afternoon. I've just implemented support for frame compression in my CQL driver cql-rb. About two hours before this happened I deployed a version of the application which enabled Snappy compression on all frames larger than 64 bytes. It's not impossible that there is a bug somewhere in the driver or compression library that caused this -- but at the same time, it feels like it shouldn't be possible to make C* a zombie with a bad frame. Restarting seems to have got them back running again, but I suspect they will go down again sooner or later. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-6476) Assertion error in MessagingService.addCallback
[ https://issues.apache.org/jira/browse/CASSANDRA-6476?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] sankalp kohli updated CASSANDRA-6476: - Environment: Cassandra 2.0.2 DCE, Cassandra 1.2.15 (was: Cassandra 2.0.2 DCE) Assertion error in MessagingService.addCallback --- Key: CASSANDRA-6476 URL: https://issues.apache.org/jira/browse/CASSANDRA-6476 Project: Cassandra Issue Type: Bug Environment: Cassandra 2.0.2 DCE, Cassandra 1.2.15 Reporter: Theo Hultberg Assignee: Sylvain Lebresne Two of the three Cassandra nodes in one of our clusters just started behaving very strange about an hour ago. Within a minute of each other they started logging AssertionErrors (see stack traces here: https://gist.github.com/iconara/7917438) over and over again. The client lost connection with the nodes at roughly the same time. The nodes were still up, and even if no clients were connected to them they continued logging the same errors over and over. The errors are in the native transport (specifically MessagingService.addCallback) which makes me suspect that it has something to do with a test that we started running this afternoon. I've just implemented support for frame compression in my CQL driver cql-rb. About two hours before this happened I deployed a version of the application which enabled Snappy compression on all frames larger than 64 bytes. It's not impossible that there is a bug somewhere in the driver or compression library that caused this -- but at the same time, it feels like it shouldn't be possible to make C* a zombie with a bad frame. Restarting seems to have got them back running again, but I suspect they will go down again sooner or later. -- This message was sent by Atlassian JIRA (v6.2#6252)
Git Push Summary
Repository: cassandra Updated Tags: refs/tags/cassandra-2.0.7 [created] c11d5eaf9
Git Push Summary
Repository: cassandra Updated Tags: refs/tags/2.0.7-tentative [deleted] 7dbbe9233
[jira] [Updated] (CASSANDRA-6841) ConcurrentModificationException in commit-log-writer after local schema reset
[ https://issues.apache.org/jira/browse/CASSANDRA-6841?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-6841: Fix Version/s: (was: 2.0.7) 2.0.8 ConcurrentModificationException in commit-log-writer after local schema reset - Key: CASSANDRA-6841 URL: https://issues.apache.org/jira/browse/CASSANDRA-6841 Project: Cassandra Issue Type: Bug Environment: Linux 3.2.0 (Debian Wheezy) Cassandra 2.0.6, Oracle JVM 1.7.0_51 Almost default cassandra.yaml (IPs and cluster name changed) This is the 2nd node in a 2-node ring. It has ~2500 keyspaces and very low traffic. (Only new keyspaces see reads and writes.) Reporter: Pas Assignee: Benedict Priority: Minor Fix For: 1.2.17, 2.0.8, 2.1 beta2 Attachments: 6841.12.txt {code} INFO [RMI TCP Connection(38)-192.168.36.171] 2014-03-12 11:37:54,013 MigrationManager.java (line 329) Starting local schema reset... INFO [RMI TCP Connection(38)-192.168.36.171] 2014-03-12 11:37:54,016 ColumnFamilyStore.java (line 785) Enqueuing flush of Memtable-local@394448776(114/1140 serialized/live bytes, 3 ops) INFO [FlushWriter:6] 2014-03-12 11:37:54,016 Memtable.java (line 331) Writing Memtable-local@394448776(114/1140 serialized/live bytes, 3 ops) INFO [FlushWriter:6] 2014-03-12 11:37:54,182 Memtable.java (line 371) Completed flushing /var/lib/cassandra/data/system/local/system-local-jb-398-Data.db (145 bytes) for commitlog position ReplayPosition(segmentId=1394620057452, position=33159822) INFO [RMI TCP Connection(38)-192.168.36.171] 2014-03-12 11:37:54,185 ColumnFamilyStore.java (line 785) Enqueuing flush of Memtable-local@1087210140(62/620 serialized/live bytes, 1 ops) INFO [FlushWriter:6] 2014-03-12 11:37:54,185 Memtable.java (line 331) Writing Memtable-local@1087210140(62/620 serialized/live bytes, 1 ops) INFO [FlushWriter:6] 2014-03-12 11:37:54,357 Memtable.java (line 371) Completed flushing /var/lib/cassandra/data/system/local/system-local-jb-399-Data.db (96 bytes) for commitlog position ReplayPosition(segmentId=1394620057452, position=33159959) INFO [RMI TCP Connection(38)-192.168.36.171] 2014-03-12 11:37:54,361 ColumnFamilyStore.java (line 785) Enqueuing flush of Memtable-local@768887091(62/620 serialized/live bytes, 1 ops) INFO [FlushWriter:6] 2014-03-12 11:37:54,361 Memtable.java (line 331) Writing Memtable-local@768887091(62/620 serialized/live bytes, 1 ops) INFO [FlushWriter:6] 2014-03-12 11:37:54,516 Memtable.java (line 371) Completed flushing /var/lib/cassandra/data/system/local/system-local-jb-400-Data.db (96 bytes) for commitlog position ReplayPosition(segmentId=1394620057452, position=33160096) INFO [CompactionExecutor:38] 2014-03-12 11:37:54,517 CompactionTask.java (line 115) Compacting [SSTableReader(path='/var/lib/cassandra/data/system/local/system-local-jb-398-Data.db'), SSTableReader(path='/var/lib/cassandra/data/system/local/system-local-jb-400-Data.db'), SSTableReader(path='/var/lib/cassandra/data/system/local/system-local-jb-399-Data.db'), SSTableReader(path='/var/lib/cassandra/data/system/local/system-local-jb-397-Data.db')] INFO [RMI TCP Connection(38)-192.168.36.171] 2014-03-12 11:37:54,519 ColumnFamilyStore.java (line 785) Enqueuing flush of Memtable-local@271993477(62/620 serialized/live bytes, 1 ops) INFO [FlushWriter:6] 2014-03-12 11:37:54,519 Memtable.java (line 331) Writing Memtable-local@271993477(62/620 serialized/live bytes, 1 ops) INFO [FlushWriter:6] 2014-03-12 11:37:54,794 Memtable.java (line 371) Completed flushing /var/lib/cassandra/data/system/local/system-local-jb-401-Data.db (96 bytes) for commitlog position ReplayPosition(segmentId=1394620057452, position=33160233) INFO [RMI TCP Connection(38)-192.168.36.171] 2014-03-12 11:37:54,799 MigrationManager.java (line 357) Local schema reset is complete. INFO [CompactionExecutor:38] 2014-03-12 11:37:54,848 CompactionTask.java (line 275) Compacted 4 sstables to [/var/lib/cassandra/data/system/local/system-local-jb-402,]. 6,099 bytes to 5,821 (~95% of original) in 330ms = 0.016822MB/s. 4 total partitions merged to 1. Partition merge counts were {4:1, } INFO [OptionalTasks:1] 2014-03-12 11:37:55,110 ColumnFamilyStore.java (line 785) Enqueuing flush of Memtable-schema_columnfamilies@106276050(181506/509164 serialized/live bytes, 3276 ops) INFO [FlushWriter:6] 2014-03-12 11:37:55,110 Memtable.java (line 331) Writing Memtable-schema_columnfamilies@106276050(181506/509164 serialized/live bytes, 3276 ops) INFO [OptionalTasks:1] 2014-03-12 11:37:55,110 ColumnFamilyStore.java (line 785) Enqueuing flush of
[jira] [Updated] (CASSANDRA-6841) ConcurrentModificationException in commit-log-writer after local schema reset
[ https://issues.apache.org/jira/browse/CASSANDRA-6841?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-6841: Fix Version/s: (was: 2.0.8) 2.0.7 ConcurrentModificationException in commit-log-writer after local schema reset - Key: CASSANDRA-6841 URL: https://issues.apache.org/jira/browse/CASSANDRA-6841 Project: Cassandra Issue Type: Bug Environment: Linux 3.2.0 (Debian Wheezy) Cassandra 2.0.6, Oracle JVM 1.7.0_51 Almost default cassandra.yaml (IPs and cluster name changed) This is the 2nd node in a 2-node ring. It has ~2500 keyspaces and very low traffic. (Only new keyspaces see reads and writes.) Reporter: Pas Assignee: Benedict Priority: Minor Fix For: 1.2.17, 2.0.7, 2.1 beta2 Attachments: 6841.12.txt {code} INFO [RMI TCP Connection(38)-192.168.36.171] 2014-03-12 11:37:54,013 MigrationManager.java (line 329) Starting local schema reset... INFO [RMI TCP Connection(38)-192.168.36.171] 2014-03-12 11:37:54,016 ColumnFamilyStore.java (line 785) Enqueuing flush of Memtable-local@394448776(114/1140 serialized/live bytes, 3 ops) INFO [FlushWriter:6] 2014-03-12 11:37:54,016 Memtable.java (line 331) Writing Memtable-local@394448776(114/1140 serialized/live bytes, 3 ops) INFO [FlushWriter:6] 2014-03-12 11:37:54,182 Memtable.java (line 371) Completed flushing /var/lib/cassandra/data/system/local/system-local-jb-398-Data.db (145 bytes) for commitlog position ReplayPosition(segmentId=1394620057452, position=33159822) INFO [RMI TCP Connection(38)-192.168.36.171] 2014-03-12 11:37:54,185 ColumnFamilyStore.java (line 785) Enqueuing flush of Memtable-local@1087210140(62/620 serialized/live bytes, 1 ops) INFO [FlushWriter:6] 2014-03-12 11:37:54,185 Memtable.java (line 331) Writing Memtable-local@1087210140(62/620 serialized/live bytes, 1 ops) INFO [FlushWriter:6] 2014-03-12 11:37:54,357 Memtable.java (line 371) Completed flushing /var/lib/cassandra/data/system/local/system-local-jb-399-Data.db (96 bytes) for commitlog position ReplayPosition(segmentId=1394620057452, position=33159959) INFO [RMI TCP Connection(38)-192.168.36.171] 2014-03-12 11:37:54,361 ColumnFamilyStore.java (line 785) Enqueuing flush of Memtable-local@768887091(62/620 serialized/live bytes, 1 ops) INFO [FlushWriter:6] 2014-03-12 11:37:54,361 Memtable.java (line 331) Writing Memtable-local@768887091(62/620 serialized/live bytes, 1 ops) INFO [FlushWriter:6] 2014-03-12 11:37:54,516 Memtable.java (line 371) Completed flushing /var/lib/cassandra/data/system/local/system-local-jb-400-Data.db (96 bytes) for commitlog position ReplayPosition(segmentId=1394620057452, position=33160096) INFO [CompactionExecutor:38] 2014-03-12 11:37:54,517 CompactionTask.java (line 115) Compacting [SSTableReader(path='/var/lib/cassandra/data/system/local/system-local-jb-398-Data.db'), SSTableReader(path='/var/lib/cassandra/data/system/local/system-local-jb-400-Data.db'), SSTableReader(path='/var/lib/cassandra/data/system/local/system-local-jb-399-Data.db'), SSTableReader(path='/var/lib/cassandra/data/system/local/system-local-jb-397-Data.db')] INFO [RMI TCP Connection(38)-192.168.36.171] 2014-03-12 11:37:54,519 ColumnFamilyStore.java (line 785) Enqueuing flush of Memtable-local@271993477(62/620 serialized/live bytes, 1 ops) INFO [FlushWriter:6] 2014-03-12 11:37:54,519 Memtable.java (line 331) Writing Memtable-local@271993477(62/620 serialized/live bytes, 1 ops) INFO [FlushWriter:6] 2014-03-12 11:37:54,794 Memtable.java (line 371) Completed flushing /var/lib/cassandra/data/system/local/system-local-jb-401-Data.db (96 bytes) for commitlog position ReplayPosition(segmentId=1394620057452, position=33160233) INFO [RMI TCP Connection(38)-192.168.36.171] 2014-03-12 11:37:54,799 MigrationManager.java (line 357) Local schema reset is complete. INFO [CompactionExecutor:38] 2014-03-12 11:37:54,848 CompactionTask.java (line 275) Compacted 4 sstables to [/var/lib/cassandra/data/system/local/system-local-jb-402,]. 6,099 bytes to 5,821 (~95% of original) in 330ms = 0.016822MB/s. 4 total partitions merged to 1. Partition merge counts were {4:1, } INFO [OptionalTasks:1] 2014-03-12 11:37:55,110 ColumnFamilyStore.java (line 785) Enqueuing flush of Memtable-schema_columnfamilies@106276050(181506/509164 serialized/live bytes, 3276 ops) INFO [FlushWriter:6] 2014-03-12 11:37:55,110 Memtable.java (line 331) Writing Memtable-schema_columnfamilies@106276050(181506/509164 serialized/live bytes, 3276 ops) INFO [OptionalTasks:1] 2014-03-12 11:37:55,110 ColumnFamilyStore.java (line 785) Enqueuing flush of
[jira] [Commented] (CASSANDRA-7047) TriggerExecutor should group mutations by row key
[ https://issues.apache.org/jira/browse/CASSANDRA-7047?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13973972#comment-13973972 ] Jack Krupansky commented on CASSANDRA-7047: --- Is the description correct? It says: bq. ... while harmful per se (at least, I think so) But shouldn't that be not harmful per se? TriggerExecutor should group mutations by row key - Key: CASSANDRA-7047 URL: https://issues.apache.org/jira/browse/CASSANDRA-7047 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Sergio Bossa Assignee: Sergio Bossa Attachments: 7047-v2.txt, CASSANDRA-7047.patch TriggerExecutor doesn't currently group mutations returned by triggers even if belonging to the same row key: while harmful per se (at least, I think so), this is definitely a performance problem, because each mutation is a *cluster* mutation, generating more network traffic, more disk IO and more index calls (if present). -- This message was sent by Atlassian JIRA (v6.2#6252)
svn commit: r1588445 - in /cassandra/site: publish/download/index.html publish/index.html src/settings.py
Author: slebresne Date: Fri Apr 18 11:35:33 2014 New Revision: 1588445 URL: http://svn.apache.org/r1588445 Log: Website update for 2.0.7 Modified: cassandra/site/publish/download/index.html cassandra/site/publish/index.html cassandra/site/src/settings.py Modified: cassandra/site/publish/download/index.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/download/index.html?rev=1588445r1=1588444r2=1588445view=diff == --- cassandra/site/publish/download/index.html (original) +++ cassandra/site/publish/download/index.html Fri Apr 18 11:35:33 2014 @@ -49,8 +49,8 @@ Cassandra releases include the core server, the a href=http://wiki.apache.org/cassandra/NodeTool;nodetool/a administration command-line interface, and a development shell (a href=http://cassandra.apache.org/doc/cql/CQL.html;ttcqlsh/tt/a and the old ttcassandra-cli/tt). p - The latest stable release of Apache Cassandra is 2.0.6 - (released on 2014-03-10). iIf you're just + The latest stable release of Apache Cassandra is 2.0.7 + (released on 2014-04-18). iIf you're just starting out, download this one./i /p @@ -59,13 +59,13 @@ ul li a class=filename - href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/2.0.6/apache-cassandra-2.0.6-bin.tar.gz; + href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/2.0.7/apache-cassandra-2.0.7-bin.tar.gz; onclick=javascript: pageTracker._trackPageview('/clicks/binary_download'); - apache-cassandra-2.0.6-bin.tar.gz + apache-cassandra-2.0.7-bin.tar.gz /a -[a href=http://www.apache.org/dist/cassandra/2.0.6/apache-cassandra-2.0.6-bin.tar.gz.asc;PGP/a] -[a href=http://www.apache.org/dist/cassandra/2.0.6/apache-cassandra-2.0.6-bin.tar.gz.md5;MD5/a] -[a href=http://www.apache.org/dist/cassandra/2.0.6/apache-cassandra-2.0.6-bin.tar.gz.sha1;SHA1/a] +[a href=http://www.apache.org/dist/cassandra/2.0.7/apache-cassandra-2.0.7-bin.tar.gz.asc;PGP/a] +[a href=http://www.apache.org/dist/cassandra/2.0.7/apache-cassandra-2.0.7-bin.tar.gz.md5;MD5/a] +[a href=http://www.apache.org/dist/cassandra/2.0.7/apache-cassandra-2.0.7-bin.tar.gz.sha1;SHA1/a] /li li a href=http://wiki.apache.org/cassandra/DebianPackaging;Debian installation instructions/a @@ -160,13 +160,13 @@ ul li a class=filename - href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/2.0.6/apache-cassandra-2.0.6-src.tar.gz; + href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/2.0.7/apache-cassandra-2.0.7-src.tar.gz; onclick=javascript: pageTracker._trackPageview('/clicks/source_download'); - apache-cassandra-2.0.6-src.tar.gz + apache-cassandra-2.0.7-src.tar.gz /a -[a href=http://www.apache.org/dist/cassandra/2.0.6/apache-cassandra-2.0.6-src.tar.gz.asc;PGP/a] -[a href=http://www.apache.org/dist/cassandra/2.0.6/apache-cassandra-2.0.6-src.tar.gz.md5;MD5/a] -[a href=http://www.apache.org/dist/cassandra/2.0.6/apache-cassandra-2.0.6-src.tar.gz.sha1;SHA1/a] +[a href=http://www.apache.org/dist/cassandra/2.0.7/apache-cassandra-2.0.7-src.tar.gz.asc;PGP/a] +[a href=http://www.apache.org/dist/cassandra/2.0.7/apache-cassandra-2.0.7-src.tar.gz.md5;MD5/a] +[a href=http://www.apache.org/dist/cassandra/2.0.7/apache-cassandra-2.0.7-src.tar.gz.sha1;SHA1/a] /li li Modified: cassandra/site/publish/index.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/index.html?rev=1588445r1=1588444r2=1588445view=diff == --- cassandra/site/publish/index.html (original) +++ cassandra/site/publish/index.html Fri Apr 18 11:35:33 2014 @@ -76,8 +76,8 @@ h2Download/h2 div class=inner rc p -The latest release is b2.0.6/b -span class=relnotes(a href=http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=blob_plain;f=CHANGES.txt;hb=refs/tags/cassandra-2.0.6;Changes/a)/span +The latest release is b2.0.7/b +span class=relnotes(a href=http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=blob_plain;f=CHANGES.txt;hb=refs/tags/cassandra-2.0.7;Changes/a)/span /p pa class=filename href=/download/Download options/a/p Modified: cassandra/site/src/settings.py URL: http://svn.apache.org/viewvc/cassandra/site/src/settings.py?rev=1588445r1=1588444r2=1588445view=diff == --- cassandra/site/src/settings.py (original) +++ cassandra/site/src/settings.py Fri Apr 18 11:35:33 2014 @@ -98,8 +98,8 @@ class CassandraDef(object): veryoldstable_version = '1.1.12' veryoldstable_release_date = '2013-05-27' veryoldstable_exists = True -stable_version = '2.0.6' -stable_release_date = '2014-03-10' +stable_version = '2.0.7' +stable_release_date = '2014-04-18' devel_version
[jira] [Commented] (CASSANDRA-7052) Query on compact storage with limit returns extra rows
[ https://issues.apache.org/jira/browse/CASSANDRA-7052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13973993#comment-13973993 ] Branden Visser commented on CASSANDRA-7052: --- This doesn't appear to be an issue on a 1.2.11-SNAPSHOT version of Cassandra I have installed currently: {code} cqlsh:test SELECT * FROM VerifyPagedColumnQueryStartAndEnd WHERE keyId = 'key' AND columnName '' AND columnName = 'e' LIMIT 2; keyId | columnName | value ---++--- key | a | 1 key | b | 1 {code} Query on compact storage with limit returns extra rows -- Key: CASSANDRA-7052 URL: https://issues.apache.org/jira/browse/CASSANDRA-7052 Project: Cassandra Issue Type: Bug Reporter: Stuart Freeman I tested this on Cassandra 2.0.6 and 2.0.3 and got the same result on both: {code} cqlsh create KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1}; cqlsh USE test; cqlsh:test CREATE COLUMNFAMILY VerifyPagedColumnQueryStartAndEnd (keyId text, columnName text, value text, PRIMARY KEY (keyId, columnName)) WITH COMPACT STORAGE; cqlsh:test INSERT INTO VerifyPagedColumnQueryStartAndEnd (keyId, columnName, value) VALUES ( 'key', 'a', '1' ) ; cqlsh:test INSERT INTO VerifyPagedColumnQueryStartAndEnd (keyId, columnName, value) VALUES ( 'key', 'b', '1' ) ; cqlsh:test INSERT INTO VerifyPagedColumnQueryStartAndEnd (keyId, columnName, value) VALUES ( 'key', 'c', '1' ) ; cqlsh:test INSERT INTO VerifyPagedColumnQueryStartAndEnd (keyId, columnName, value) VALUES ( 'key', 'd', '1' ) ; cqlsh:test INSERT INTO VerifyPagedColumnQueryStartAndEnd (keyId, columnName, value) VALUES ( 'key', 'e', '1' ) ; cqlsh:test SELECT * FROM VerifyPagedColumnQueryStartAndEnd WHERE keyId = 'key' AND columnName '' AND columnName = 'e' LIMIT 2; keyId | columnName | value ---++--- key | a | 1 key | b | 1 key | c | 1 (3 rows) cqlsh:test {code} -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Assigned] (CASSANDRA-7052) Query on compact storage with limit returns extra rows
[ https://issues.apache.org/jira/browse/CASSANDRA-7052?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne reassigned CASSANDRA-7052: --- Assignee: Sylvain Lebresne Query on compact storage with limit returns extra rows -- Key: CASSANDRA-7052 URL: https://issues.apache.org/jira/browse/CASSANDRA-7052 Project: Cassandra Issue Type: Bug Reporter: Stuart Freeman Assignee: Sylvain Lebresne I tested this on Cassandra 2.0.6 and 2.0.3 and got the same result on both: {code} cqlsh create KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1}; cqlsh USE test; cqlsh:test CREATE COLUMNFAMILY VerifyPagedColumnQueryStartAndEnd (keyId text, columnName text, value text, PRIMARY KEY (keyId, columnName)) WITH COMPACT STORAGE; cqlsh:test INSERT INTO VerifyPagedColumnQueryStartAndEnd (keyId, columnName, value) VALUES ( 'key', 'a', '1' ) ; cqlsh:test INSERT INTO VerifyPagedColumnQueryStartAndEnd (keyId, columnName, value) VALUES ( 'key', 'b', '1' ) ; cqlsh:test INSERT INTO VerifyPagedColumnQueryStartAndEnd (keyId, columnName, value) VALUES ( 'key', 'c', '1' ) ; cqlsh:test INSERT INTO VerifyPagedColumnQueryStartAndEnd (keyId, columnName, value) VALUES ( 'key', 'd', '1' ) ; cqlsh:test INSERT INTO VerifyPagedColumnQueryStartAndEnd (keyId, columnName, value) VALUES ( 'key', 'e', '1' ) ; cqlsh:test SELECT * FROM VerifyPagedColumnQueryStartAndEnd WHERE keyId = 'key' AND columnName '' AND columnName = 'e' LIMIT 2; keyId | columnName | value ---++--- key | a | 1 key | b | 1 key | c | 1 (3 rows) cqlsh:test {code} -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-7052) Query on compact storage with limit returns extra rows
[ https://issues.apache.org/jira/browse/CASSANDRA-7052?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-7052: Attachment: 7052.txt We do (sometimes) asks for one more result than the user LIMIT with compact tables to handle exclusive bounds (since without a CompositeType underneath, all we support is inclusive bounds internally) and we're properly adjusting post-query on 2.0. Attaching fix (and pushed the repro test above to dtests). Query on compact storage with limit returns extra rows -- Key: CASSANDRA-7052 URL: https://issues.apache.org/jira/browse/CASSANDRA-7052 Project: Cassandra Issue Type: Bug Reporter: Stuart Freeman Assignee: Sylvain Lebresne Fix For: 2.0.8 Attachments: 7052.txt I tested this on Cassandra 2.0.6 and 2.0.3 and got the same result on both: {code} cqlsh create KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1}; cqlsh USE test; cqlsh:test CREATE COLUMNFAMILY VerifyPagedColumnQueryStartAndEnd (keyId text, columnName text, value text, PRIMARY KEY (keyId, columnName)) WITH COMPACT STORAGE; cqlsh:test INSERT INTO VerifyPagedColumnQueryStartAndEnd (keyId, columnName, value) VALUES ( 'key', 'a', '1' ) ; cqlsh:test INSERT INTO VerifyPagedColumnQueryStartAndEnd (keyId, columnName, value) VALUES ( 'key', 'b', '1' ) ; cqlsh:test INSERT INTO VerifyPagedColumnQueryStartAndEnd (keyId, columnName, value) VALUES ( 'key', 'c', '1' ) ; cqlsh:test INSERT INTO VerifyPagedColumnQueryStartAndEnd (keyId, columnName, value) VALUES ( 'key', 'd', '1' ) ; cqlsh:test INSERT INTO VerifyPagedColumnQueryStartAndEnd (keyId, columnName, value) VALUES ( 'key', 'e', '1' ) ; cqlsh:test SELECT * FROM VerifyPagedColumnQueryStartAndEnd WHERE keyId = 'key' AND columnName '' AND columnName = 'e' LIMIT 2; keyId | columnName | value ---++--- key | a | 1 key | b | 1 key | c | 1 (3 rows) cqlsh:test {code} -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-5323) Revisit disabled dtests
[ https://issues.apache.org/jira/browse/CASSANDRA-5323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13974156#comment-13974156 ] Michael Shuler commented on CASSANDRA-5323: --- {noformat} conf/cassandra-1.2_test-select.cfg [exclude] # none! conf/cassandra-2.0_test-select.cfg [exclude] # upgrade_test hangs (has been excluded for a while) # https://issues.apache.org/jira/browse/CASSANDRA-7036 counter_tests.py:TestCounters.upgrade_test conf/cassandra-2.1_test-select.cfg [exclude] # upgrade_test hangs (has been excluded for a while) # https://issues.apache.org/jira/browse/CASSANDRA-7036 counter_tests.py:TestCounters.upgrade_test # sstablesplit_test hang http://cassci.datastax.com/job/cassandra-2.1_novnode_dtest/99/console # https://issues.apache.org/jira/browse/CASSANDRA-6987 sstablesplit_test.py # test hangs - node1 system.log error in: # https://issues.apache.org/jira/browse/CASSANDRA-7037 thrift_hsha_test.py conf/trunk_test-select.cfg [exclude] # upgrade_test hangs (has been excluded for a while) # https://issues.apache.org/jira/browse/CASSANDRA-7036 counter_tests.py:TestCounters.upgrade_test # sstablesplit_test hang http://cassci.datastax.com/job/cassandra-2.1_novnode_dtest/99/console # https://issues.apache.org/jira/browse/CASSANDRA-6987 sstablesplit_test.py # test hangs - node1 system.log error in: # https://issues.apache.org/jira/browse/CASSANDRA-7037 thrift_hsha_test.py {noformat} Revisit disabled dtests --- Key: CASSANDRA-5323 URL: https://issues.apache.org/jira/browse/CASSANDRA-5323 Project: Cassandra Issue Type: Test Reporter: Ryan McGuire Assignee: Michael Shuler The following dtests are disabled in buildbot, if they can be re-enabled great, if they can't can they be fixed? upgrade|decommission|sstable_gen|global_row|putget_2dc|cql3_insert -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Created] (CASSANDRA-7054) Enable allow filtering IN clause on compound cluster key
Constance Eustace created CASSANDRA-7054: Summary: Enable allow filtering IN clause on compound cluster key Key: CASSANDRA-7054 URL: https://issues.apache.org/jira/browse/CASSANDRA-7054 Project: Cassandra Issue Type: New Feature Components: API Reporter: Constance Eustace Partition Key is P Cluster Key is C1, C2, C3 If you are allowed to do: SELECT P,C1,C2,C3 FROM table WHERE C1 = ? ALLOW FILTERING Why can't we do: SELET P,C1,C2,C3 FROM table WHERE C1 IN ('001','002','003) ALLOW FILTERING? Is there a fundamental theoretical issue with that? I assume ALLOW FILTERING is applying the where clause after the SELECT P1,C1,C2,C3 initial retrieval has occurred for the single-property equality clause, so an IN clause wouldn't be much different... I'm also assuming there is substantial network savings of issuing the general query to CASSANDRA rather than pelting the server with multiple requests. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7052) Query on compact storage with limit returns extra rows
[ https://issues.apache.org/jira/browse/CASSANDRA-7052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13974199#comment-13974199 ] Tyler Hobbs commented on CASSANDRA-7052: The patch looks good. Can you add test cases for range and secondary index queries? Judging by the patch, those also seem to be affected. Query on compact storage with limit returns extra rows -- Key: CASSANDRA-7052 URL: https://issues.apache.org/jira/browse/CASSANDRA-7052 Project: Cassandra Issue Type: Bug Reporter: Stuart Freeman Assignee: Sylvain Lebresne Fix For: 2.0.8 Attachments: 7052.txt I tested this on Cassandra 2.0.6 and 2.0.3 and got the same result on both: {code} cqlsh create KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1}; cqlsh USE test; cqlsh:test CREATE COLUMNFAMILY VerifyPagedColumnQueryStartAndEnd (keyId text, columnName text, value text, PRIMARY KEY (keyId, columnName)) WITH COMPACT STORAGE; cqlsh:test INSERT INTO VerifyPagedColumnQueryStartAndEnd (keyId, columnName, value) VALUES ( 'key', 'a', '1' ) ; cqlsh:test INSERT INTO VerifyPagedColumnQueryStartAndEnd (keyId, columnName, value) VALUES ( 'key', 'b', '1' ) ; cqlsh:test INSERT INTO VerifyPagedColumnQueryStartAndEnd (keyId, columnName, value) VALUES ( 'key', 'c', '1' ) ; cqlsh:test INSERT INTO VerifyPagedColumnQueryStartAndEnd (keyId, columnName, value) VALUES ( 'key', 'd', '1' ) ; cqlsh:test INSERT INTO VerifyPagedColumnQueryStartAndEnd (keyId, columnName, value) VALUES ( 'key', 'e', '1' ) ; cqlsh:test SELECT * FROM VerifyPagedColumnQueryStartAndEnd WHERE keyId = 'key' AND columnName '' AND columnName = 'e' LIMIT 2; keyId | columnName | value ---++--- key | a | 1 key | b | 1 key | c | 1 (3 rows) cqlsh:test {code} -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-4762) Support IN clause for any clustering key
[ https://issues.apache.org/jira/browse/CASSANDRA-4762?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-4762: Summary: Support IN clause for any clustering key (was: Support multiple OR clauses for CQL3 Compact storage) Support IN clause for any clustering key Key: CASSANDRA-4762 URL: https://issues.apache.org/jira/browse/CASSANDRA-4762 Project: Cassandra Issue Type: Improvement Components: Core Reporter: T Jake Luciani Assignee: T Jake Luciani Labels: cql3 Fix For: 3.0 Attachments: 4762-1.txt Given CASSANDRA-3885 It seems it should be possible to store multiple ranges for many predicates even the inner parts of a composite column. They could be expressed as a expanded set of filter queries. example: {code} CREATE TABLE test ( name text, tdate timestamp, tdate2 timestamp, tdate3 timestamp, num double, PRIMARY KEY(name,tdate,tdate2,tdate3) ) WITH COMPACT STORAGE; SELECT * FROM test WHERE name IN ('a','b') and tdate IN ('2010-01-01','2011-01-01') and tdate2 IN ('2010-01-01','2011-01-01') and tdate3 IN ('2010-01-01','2011-01-01') {code} -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-4762) Support IN clause for any clustering column
[ https://issues.apache.org/jira/browse/CASSANDRA-4762?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-4762: Summary: Support IN clause for any clustering column (was: Support IN clause for any clustering key) Support IN clause for any clustering column --- Key: CASSANDRA-4762 URL: https://issues.apache.org/jira/browse/CASSANDRA-4762 Project: Cassandra Issue Type: Improvement Components: Core Reporter: T Jake Luciani Assignee: T Jake Luciani Labels: cql3 Fix For: 3.0 Attachments: 4762-1.txt Given CASSANDRA-3885 It seems it should be possible to store multiple ranges for many predicates even the inner parts of a composite column. They could be expressed as a expanded set of filter queries. example: {code} CREATE TABLE test ( name text, tdate timestamp, tdate2 timestamp, tdate3 timestamp, num double, PRIMARY KEY(name,tdate,tdate2,tdate3) ) WITH COMPACT STORAGE; SELECT * FROM test WHERE name IN ('a','b') and tdate IN ('2010-01-01','2011-01-01') and tdate2 IN ('2010-01-01','2011-01-01') and tdate3 IN ('2010-01-01','2011-01-01') {code} -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Resolved] (CASSANDRA-7054) Enable allow filtering IN clause on compound cluster key
[ https://issues.apache.org/jira/browse/CASSANDRA-7054?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne resolved CASSANDRA-7054. - Resolution: Duplicate Short answer: this is a duplicate of CASSANDRA-4762, this is possible and will be done ultimately, but so far no-one has had the cycle to do/finish it. Enable allow filtering IN clause on compound cluster key Key: CASSANDRA-7054 URL: https://issues.apache.org/jira/browse/CASSANDRA-7054 Project: Cassandra Issue Type: New Feature Components: API Reporter: Constance Eustace Partition Key is P Cluster Key is C1, C2, C3 If you are allowed to do: SELECT P,C1,C2,C3 FROM table WHERE C1 = ? ALLOW FILTERING Why can't we do: SELET P,C1,C2,C3 FROM table WHERE C1 IN ('001','002','003) ALLOW FILTERING? Is there a fundamental theoretical issue with that? I assume ALLOW FILTERING is applying the where clause after the SELECT P1,C1,C2,C3 initial retrieval has occurred for the single-property equality clause, so an IN clause wouldn't be much different... I'm also assuming there is substantial network savings of issuing the general query to CASSANDRA rather than pelting the server with multiple requests. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Created] (CASSANDRA-7055) Boken CQL Version number in 2.0.7
Michaël Figuière created CASSANDRA-7055: --- Summary: Boken CQL Version number in 2.0.7 Key: CASSANDRA-7055 URL: https://issues.apache.org/jira/browse/CASSANDRA-7055 Project: Cassandra Issue Type: Bug Reporter: Michaël Figuière Cassandra 2.0.7 has introduced 2 changes in the CQL language: *Add uuid() function (CASSANDRA-6473) *Add support for DELETE ... IF EXISTS to CQL3 (CASSANDRA-5708) Unfortunately the {{cql_version}} hasn't been incremented as reported in the {{system.local}} table. In 2.0.6: {code} cqlsh select cql_version from system.local; cql_version - 3.1.5 {code} In 2.0.7: {code} cqlsh select cql_version from system.local; cql_version - 3.1.5 {code} -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Created] (CASSANDRA-7056) Add RAMP transactions
Tupshin Harper created CASSANDRA-7056: - Summary: Add RAMP transactions Key: CASSANDRA-7056 URL: https://issues.apache.org/jira/browse/CASSANDRA-7056 Project: Cassandra Issue Type: Wish Components: Core Reporter: Tupshin Harper Priority: Minor We should take a look at [RAMP|http://www.bailis.org/blog/scalable-atomic-visibility-with-ramp-transactions/] transactions, and figure out if they can be used to provide more efficient LWT (or LWT-like) operations. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Created] (CASSANDRA-7057) Add ability to adjust number of vnodes on a node
Michael Shuler created CASSANDRA-7057: - Summary: Add ability to adjust number of vnodes on a node Key: CASSANDRA-7057 URL: https://issues.apache.org/jira/browse/CASSANDRA-7057 Project: Cassandra Issue Type: Improvement Components: Config Reporter: Michael Shuler Priority: Minor Currently, once a vnode server is configured with a num_tokens value, there is no defined process to to change the number of vnodes a node is responsible for. This could be useful for load adjustments when upgrading hardware in a server, or adjusting the number of vnodes to affect node data balance. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Resolved] (CASSANDRA-7051) UnsupportedOperationException
[ https://issues.apache.org/jira/browse/CASSANDRA-7051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Stepura resolved CASSANDRA-7051. Resolution: Duplicate UnsupportedOperationException - Key: CASSANDRA-7051 URL: https://issues.apache.org/jira/browse/CASSANDRA-7051 Project: Cassandra Issue Type: Bug Components: API, Core Environment: Cassandra 2.0.6 Reporter: Digant Modha Priority: Critical UnsupportedOperationException exception thrown when using batchstatement. This is because in org.apache.cassandra.cql3.statements.BatchStatement.unzipMutations returns a collection that does not support add if the size of mutation is 1. STACK: throws UnsupportedOperationException. Daemon Thread [Native-Transport-Requests:1043] (Suspended (entry into method init in UnsupportedOperationException)) UnsupportedOperationException.init() line: 42 [local variables unavailable] HashMap$Values(AbstractCollectionE).add(E) line: 260 HashMap$Values(AbstractCollectionE).addAll(Collection? extends E) line: 342 StorageProxy.mutateWithTriggers(CollectionIMutation, ConsistencyLevel, boolean) line: 519 BatchStatement.executeWithoutConditions(CollectionIMutation, ConsistencyLevel) line: 210 BatchStatement.execute(BatchStatement$BatchVariables, boolean, ConsistencyLevel, long) line: 203 BatchStatement.executeWithPerStatementVariables(ConsistencyLevel, QueryState, ListListByteBuffer) line: 192 QueryProcessor.processBatch(BatchStatement, ConsistencyLevel, QueryState, ListListByteBuffer, ListObject) line: 373 BatchMessage.execute(QueryState) line: 206 Message$Dispatcher.messageReceived(ChannelHandlerContext, MessageEvent) line: 304 Message$Dispatcher(SimpleChannelUpstreamHandler).handleUpstream(ChannelHandlerContext, ChannelEvent) line: 70 DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline$DefaultChannelHandlerContext, ChannelEvent) line: 564 DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(ChannelEvent) line: 791 ChannelUpstreamEventRunnable.doRun() line: 43 ChannelUpstreamEventRunnable(ChannelEventRunnable).run() line: 67 RequestThreadPoolExecutor(ThreadPoolExecutor).runWorker(ThreadPoolExecutor$Worker) line: 1145 ThreadPoolExecutor$Worker.run() line: 615 Thread.run() line: 744 org.apache.cassandra.cql3.statements.BatchStatement: private Collection? extends IMutation unzipMutations(MapString, MapByteBuffer, IMutation mutations) { // The case where all statement where on the same keyspace is pretty common if (mutations.size() == 1) return mutations.values().iterator().next().values(); ListIMutation ms = new ArrayList(); for (MapByteBuffer, IMutation ksMap : mutations.values()) ms.addAll(ksMap.values()); return ms; } -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-7049) Rows with dynamic columns inserted via cassandra-cli are not shown via cqlsh
[ https://issues.apache.org/jira/browse/CASSANDRA-7049?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Stepura updated CASSANDRA-7049: --- Fix Version/s: (was: 2.0.6) Rows with dynamic columns inserted via cassandra-cli are not shown via cqlsh Key: CASSANDRA-7049 URL: https://issues.apache.org/jira/browse/CASSANDRA-7049 Project: Cassandra Issue Type: Bug Components: Core Reporter: Sergey Bushik Labels: cassandra-cli, cqlsh {noformat} # use cli/thrift interface to create column family and insert 2 rows bin/cassandra-cli {noformat} {code} create keyspace test; use test; # create column family first create column family t1 with comparator = UTF8Type and key_validation_class = UTF8Type and default_validation_class=UTF8Type and column_metadata = [{column_name: column1, validation_class: UTF8Type}]; # insert few rows into t1 with dynamic columns set t1['1']['column2'] = 'value2'; set t1['2']['column3'] = 'value3'; # list rows list t1; --- RowKey: 2 = (name=column3, value=value3, timestamp=1397717445436000) --- RowKey: 1 = (name=column2, value=value2, timestamp=1397717447253000) 2 Rows Returned. {code} {noformat} # check that 2 rows are visible from cqlsh bin/cqlsh {noformat} {code} use test; select * from t1; (0 rows) {code} Expected result: Rows are show from CQL Actual result: No rows are displayed -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-6415) Snapshot repair blocks for ever if something happens to the I made my snapshot response
[ https://issues.apache.org/jira/browse/CASSANDRA-6415?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13974462#comment-13974462 ] Jackson Chung commented on CASSANDRA-6415: -- I ran into the stuck issue on 1.2.10 Upgraded to 1.2.16, I could see repair is not stuck, in a sense I see multiple repair sessions/stages started and finished. But, in the end (after waiting a long time), I see that there is no more activity from the log, and also compactionstats/netstats, but yet the tpstats still show Active and Pending count in the stages: AntiEntropyStage 1 2 5073 0 0 AntiEntropySessions 1 1 44 0 0 Snapshot repair blocks for ever if something happens to the I made my snapshot response - Key: CASSANDRA-6415 URL: https://issues.apache.org/jira/browse/CASSANDRA-6415 Project: Cassandra Issue Type: Bug Reporter: Jeremiah Jordan Assignee: Yuki Morishita Labels: repair Fix For: 1.2.13, 2.0.4 Attachments: 6415-1.2.txt The snapshotLatch.await(); can be waiting for ever and block all repair operations indefinitely if something happens that another node doesn't respond. {noformat} public void makeSnapshots(CollectionInetAddress endpoints) { try { snapshotLatch = new CountDownLatch(endpoints.size()); IAsyncCallback callback = new IAsyncCallback() { public boolean isLatencyForSnitch() { return false; } public void response(MessageIn msg) { RepairJob.this.snapshotLatch.countDown(); } }; for (InetAddress endpoint : endpoints) MessagingService.instance().sendRR(new SnapshotCommand(tablename, cfname, sessionName, false).createMessage(), endpoint, callback); snapshotLatch.await(); snapshotLatch = null; } catch (InterruptedException e) { throw new RuntimeException(e); } } {noformat} -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7047) TriggerExecutor should group mutations by row key
[ https://issues.apache.org/jira/browse/CASSANDRA-7047?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13974531#comment-13974531 ] Aleksey Yeschenko commented on CASSANDRA-7047: -- Actually, there are also two bugs in the original patch: - cowRm.addAll(updateRm) would throw if updateRm is a CounterMutation - TriggerExecutor#execute() should keep accepting Collection? extends IMutation, since there can be CounterMutation-s That, and it wasn't grouping the mutations in all possible cases. So wouldn't group in a scenario where a trigger on mutation M1 would create a bunch of mutations for the same key/keyspace as some mutation M2 afterwards. Attaching a v3 addressing all these - please have a look. TriggerExecutor should group mutations by row key - Key: CASSANDRA-7047 URL: https://issues.apache.org/jira/browse/CASSANDRA-7047 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Sergio Bossa Assignee: Sergio Bossa Attachments: 7047-v2.txt, 7047-v3.txt, CASSANDRA-7047.patch TriggerExecutor doesn't currently group mutations returned by triggers even if belonging to the same row key: while harmful per se (at least, I think so), this is definitely a performance problem, because each mutation is a *cluster* mutation, generating more network traffic, more disk IO and more index calls (if present). -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-7047) TriggerExecutor should group mutations by row key
[ https://issues.apache.org/jira/browse/CASSANDRA-7047?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aleksey Yeschenko updated CASSANDRA-7047: - Attachment: 7047-v3.txt TriggerExecutor should group mutations by row key - Key: CASSANDRA-7047 URL: https://issues.apache.org/jira/browse/CASSANDRA-7047 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Sergio Bossa Assignee: Sergio Bossa Attachments: 7047-v2.txt, 7047-v3.txt, CASSANDRA-7047.patch TriggerExecutor doesn't currently group mutations returned by triggers even if belonging to the same row key: while harmful per se (at least, I think so), this is definitely a performance problem, because each mutation is a *cluster* mutation, generating more network traffic, more disk IO and more index calls (if present). -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7018) cqlsh failing to handle utf8 decode errors in certain cases
[ https://issues.apache.org/jira/browse/CASSANDRA-7018?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13974587#comment-13974587 ] Aleksey Yeschenko commented on CASSANDRA-7018: -- +1 cqlsh failing to handle utf8 decode errors in certain cases --- Key: CASSANDRA-7018 URL: https://issues.apache.org/jira/browse/CASSANDRA-7018 Project: Cassandra Issue Type: Bug Components: Tools Reporter: Colin B. Assignee: Mikhail Stepura Priority: Minor Labels: cqlsh Fix For: 1.2.17, 2.0.8, 2.1 beta2 Attachments: cassandra-1.2-7018.patch Under certain circumstances when a row to be returned in cqlsh contains a utf8 decoding error, no results will be printed. It seems that certain types of where clauses cause the decoding to fail. Preparation: {code} [cqlsh 3.1.8 | Cassandra 1.2.16 | CQL spec 3.0.0 | Thrift protocol 19.36.2] ... cqlsh:ks CREATE TABLE test_utf8 ( a text PRIMARY KEY, b text ); cqlsh:ks INSERT INTO test_utf8 (a, b) VALUES (blobAsText(0x3031f6393130), '0110'); cqlsh:ks select * from test_utf8; a | b -+-- '01\xf6910' | 0110 Failed to decode value '01\xf6910' (for column 'a') as text: 'utf8' codec can't decode byte 0xf6 in position 2: invalid start byte cqlsh:ks {code} Actual Results: {code} cqlsh:ks select * from test_utf8 where a = blobAsText(0x3031f6393130); value '01\xf6910' (in col 'a') can't be deserialized as text: 'utf8' codec can't decode byte 0xf6 in position 2: invalid start byte cqlsh:ks {code} Expected Results: {code} cqlsh:ks select * from test_utf8 where a = blobAsText(0x3031f6393130); a | b -+-- '01\xf6910' | 0110 Failed to decode value '01\xf6910' (for column 'a') as text: 'utf8' codec can't decode byte 0xf6 in position 2: invalid start byte cqlsh:ks {code} Traceback with cqlsh --debug: {code} cqlsh:ks select * from test_utf8 where a = blobAsText(0x3031f6393130); Traceback (most recent call last): File bin/cqlsh, line 942, in onecmd self.handle_statement(st, statementtext) File bin/cqlsh, line 982, in handle_statement return self.handle_parse_error(cmdword, tokens, parsed, srcstr) File bin/cqlsh, line 991, in handle_parse_error return self.perform_statement(cqlruleset.cql_extract_orig(tokens, srcstr)) File bin/cqlsh, line 1031, in perform_statement with_default_limit=with_default_limit) File bin/cqlsh, line 1059, in perform_statement_untraced self.print_result(self.cursor, with_default_limit) File bin/cqlsh, line , in print_result self.print_static_result(cursor) File bin/cqlsh, line 1141, in print_static_result formatted_values = [map(self.myformat_value, self.decode_row(cursor, row), cursor.column_types) for row in cursor.result] File bin/cqlsh, line 590, in decode_row values.append(cursor.decoder.decode_value(val, vtype, nameinfo[0])) File bin/../lib/cql-internal-only-1.4.1.zip/cql-1.4.1/cql/decoders.py, line 54, in decode_value vtype.cql_parameterized_type()) File bin/../lib/cql-internal-only-1.4.1.zip/cql-1.4.1/cql/decoders.py, line 33, in value_decode_error % (valuebytes, namebytes, expectedtype, err)) ProgrammingError: value '01\xf6910' (in col 'a') can't be deserialized as text: 'utf8' codec can't decode byte 0xf6 in position 2: invalid start byte cqlsh:ks {code} Problematic statements: {code} cqlsh:ks select * from test_utf8 where token(a) 0; cqlsh:ks select * from test_utf8 where a in (blobAsText(0x3031f6393130)); cqlsh:ks select * from test_utf8 where a = blobAsText(0x3031f6393130); {code} Statements that are ok: {code} cqlsh:ks select * from test_utf8 where token(a) token('qwer'); cqlsh:ks select * from test_utf8; {code} -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-7053) USING TIMESTAMP for batches does not work
[ https://issues.apache.org/jira/browse/CASSANDRA-7053?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13974639#comment-13974639 ] Aleksey Yeschenko commented on CASSANDRA-7053: -- +1 USING TIMESTAMP for batches does not work - Key: CASSANDRA-7053 URL: https://issues.apache.org/jira/browse/CASSANDRA-7053 Project: Cassandra Issue Type: Bug Reporter: Robert Supencheck Assignee: Mikhail Stepura Labels: cqlsh Fix For: 2.0.8 Attachments: cassandra-2.0-7053.patch When using the USING TIMESTAMP timestamp syntax for a batch statement, the supplied timestamp is ignored. -- This message was sent by Atlassian JIRA (v6.2#6252)
git commit: trivial typos in changes.txt
Repository: cassandra Updated Branches: refs/heads/cassandra-2.0 384de4b85 - ba95a68ab trivial typos in changes.txt Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ba95a68a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ba95a68a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ba95a68a Branch: refs/heads/cassandra-2.0 Commit: ba95a68ab7fa621630a8daedf328977ef613cd40 Parents: 384de4b Author: Dave Brosius dbros...@mebigfatguy.com Authored: Fri Apr 18 19:51:00 2014 -0400 Committer: Dave Brosius dbros...@mebigfatguy.com Committed: Fri Apr 18 19:51:00 2014 -0400 -- CHANGES.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ba95a68a/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index ad26f6d..e02e9b2 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -44,7 +44,7 @@ Merged from 1.2: * Add QueryHandler interface (CASSANDRA-6659) * Track liveRatio per-memtable, not per-CF (CASSANDRA-6945) * Make sure upgradesstables keeps sstable level (CASSANDRA-6958) - * Fix LIMT with static columns (CASSANDRA-6956) + * Fix LIMIT with static columns (CASSANDRA-6956) * Fix clash with CQL column name in thrift validation (CASSANDRA-6892) * Fix error with super columns in mixed 1.2-2.0 clusters (CASSANDRA-6966) * Fix bad skip of sstables on slice query with composite start/finish (CASSANDRA-6825) @@ -58,7 +58,7 @@ Merged from 1.2: * Add UNLOGGED, COUNTER options to BATCH documentation (CASSANDRA-6816) * add extra SSL cipher suites (CASSANDRA-6613) * fix nodetool getsstables for blob PK (CASSANDRA-6803) - * Fix BatchlogManager#deleteBatch() use of millisecond timsestamps + * Fix BatchlogManager#deleteBatch() use of millisecond timestamps (CASSANDRA-6822) * Continue assassinating even if the endpoint vanishes (CASSANDRA-6787) * Schedule schema pulls on change (CASSANDRA-6971)
[2/2] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1
Merge branch 'cassandra-2.0' into cassandra-2.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/22d86eb2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/22d86eb2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/22d86eb2 Branch: refs/heads/cassandra-2.1 Commit: 22d86eb2d280093dde206809fb48ca8c0dc7f0e6 Parents: 66af6fe ba95a68 Author: Dave Brosius dbros...@mebigfatguy.com Authored: Fri Apr 18 19:51:47 2014 -0400 Committer: Dave Brosius dbros...@mebigfatguy.com Committed: Fri Apr 18 19:51:47 2014 -0400 -- CHANGES.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/22d86eb2/CHANGES.txt --
[1/2] git commit: trivial typos in changes.txt
Repository: cassandra Updated Branches: refs/heads/cassandra-2.1 66af6fedc - 22d86eb2d trivial typos in changes.txt Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ba95a68a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ba95a68a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ba95a68a Branch: refs/heads/cassandra-2.1 Commit: ba95a68ab7fa621630a8daedf328977ef613cd40 Parents: 384de4b Author: Dave Brosius dbros...@mebigfatguy.com Authored: Fri Apr 18 19:51:00 2014 -0400 Committer: Dave Brosius dbros...@mebigfatguy.com Committed: Fri Apr 18 19:51:00 2014 -0400 -- CHANGES.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ba95a68a/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index ad26f6d..e02e9b2 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -44,7 +44,7 @@ Merged from 1.2: * Add QueryHandler interface (CASSANDRA-6659) * Track liveRatio per-memtable, not per-CF (CASSANDRA-6945) * Make sure upgradesstables keeps sstable level (CASSANDRA-6958) - * Fix LIMT with static columns (CASSANDRA-6956) + * Fix LIMIT with static columns (CASSANDRA-6956) * Fix clash with CQL column name in thrift validation (CASSANDRA-6892) * Fix error with super columns in mixed 1.2-2.0 clusters (CASSANDRA-6966) * Fix bad skip of sstables on slice query with composite start/finish (CASSANDRA-6825) @@ -58,7 +58,7 @@ Merged from 1.2: * Add UNLOGGED, COUNTER options to BATCH documentation (CASSANDRA-6816) * add extra SSL cipher suites (CASSANDRA-6613) * fix nodetool getsstables for blob PK (CASSANDRA-6803) - * Fix BatchlogManager#deleteBatch() use of millisecond timsestamps + * Fix BatchlogManager#deleteBatch() use of millisecond timestamps (CASSANDRA-6822) * Continue assassinating even if the endpoint vanishes (CASSANDRA-6787) * Schedule schema pulls on change (CASSANDRA-6971)
[3/3] git commit: Merge branch 'cassandra-2.1' into trunk
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/c65973d2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c65973d2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c65973d2 Branch: refs/heads/trunk Commit: c65973d2d18abce7b076db4f0f6564f02b9c9242 Parents: e100288 22d86eb Author: Dave Brosius dbros...@mebigfatguy.com Authored: Fri Apr 18 19:53:17 2014 -0400 Committer: Dave Brosius dbros...@mebigfatguy.com Committed: Fri Apr 18 19:53:17 2014 -0400 -- CHANGES.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c65973d2/CHANGES.txt --
[1/3] git commit: trivial typos in changes.txt
Repository: cassandra Updated Branches: refs/heads/trunk e10028812 - c65973d2d trivial typos in changes.txt Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ba95a68a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ba95a68a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ba95a68a Branch: refs/heads/trunk Commit: ba95a68ab7fa621630a8daedf328977ef613cd40 Parents: 384de4b Author: Dave Brosius dbros...@mebigfatguy.com Authored: Fri Apr 18 19:51:00 2014 -0400 Committer: Dave Brosius dbros...@mebigfatguy.com Committed: Fri Apr 18 19:51:00 2014 -0400 -- CHANGES.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ba95a68a/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index ad26f6d..e02e9b2 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -44,7 +44,7 @@ Merged from 1.2: * Add QueryHandler interface (CASSANDRA-6659) * Track liveRatio per-memtable, not per-CF (CASSANDRA-6945) * Make sure upgradesstables keeps sstable level (CASSANDRA-6958) - * Fix LIMT with static columns (CASSANDRA-6956) + * Fix LIMIT with static columns (CASSANDRA-6956) * Fix clash with CQL column name in thrift validation (CASSANDRA-6892) * Fix error with super columns in mixed 1.2-2.0 clusters (CASSANDRA-6966) * Fix bad skip of sstables on slice query with composite start/finish (CASSANDRA-6825) @@ -58,7 +58,7 @@ Merged from 1.2: * Add UNLOGGED, COUNTER options to BATCH documentation (CASSANDRA-6816) * add extra SSL cipher suites (CASSANDRA-6613) * fix nodetool getsstables for blob PK (CASSANDRA-6803) - * Fix BatchlogManager#deleteBatch() use of millisecond timsestamps + * Fix BatchlogManager#deleteBatch() use of millisecond timestamps (CASSANDRA-6822) * Continue assassinating even if the endpoint vanishes (CASSANDRA-6787) * Schedule schema pulls on change (CASSANDRA-6971)
[2/3] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1
Merge branch 'cassandra-2.0' into cassandra-2.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/22d86eb2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/22d86eb2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/22d86eb2 Branch: refs/heads/trunk Commit: 22d86eb2d280093dde206809fb48ca8c0dc7f0e6 Parents: 66af6fe ba95a68 Author: Dave Brosius dbros...@mebigfatguy.com Authored: Fri Apr 18 19:51:47 2014 -0400 Committer: Dave Brosius dbros...@mebigfatguy.com Committed: Fri Apr 18 19:51:47 2014 -0400 -- CHANGES.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/22d86eb2/CHANGES.txt --
[jira] [Updated] (CASSANDRA-6572) Workload recording / playback
[ https://issues.apache.org/jira/browse/CASSANDRA-6572?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis updated CASSANDRA-6572: -- Fix Version/s: (was: 2.0.8) 2.1 bq. It's a pretty safe patch, but as a non-essential feature I think it should be reserved for 2.1 or 3.0. Let's do 2.1.1 then. Workload recording / playback - Key: CASSANDRA-6572 URL: https://issues.apache.org/jira/browse/CASSANDRA-6572 Project: Cassandra Issue Type: New Feature Components: Core, Tools Reporter: Jonathan Ellis Assignee: Lyuben Todorov Fix For: 2.1 Attachments: 6572-trunk.diff Write sample mode gets us part way to testing new versions against a real world workload, but we need an easy way to test the query side as well. -- This message was sent by Atlassian JIRA (v6.2#6252)
[08/10] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1
Merge branch 'cassandra-2.0' into cassandra-2.1 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/477a0a28 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/477a0a28 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/477a0a28 Branch: refs/heads/cassandra-2.1 Commit: 477a0a28b5be1c8097c51fefaa77faed2f10e5b0 Parents: 22d86eb 167af2b Author: Mikhail Stepura mish...@apache.org Authored: Fri Apr 18 18:13:45 2014 -0700 Committer: Mikhail Stepura mish...@apache.org Committed: Fri Apr 18 18:13:45 2014 -0700 -- CHANGES.txt| 1 + pylib/cqlshlib/cql3handling.py | 24 ++-- 2 files changed, 19 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/477a0a28/CHANGES.txt -- diff --cc CHANGES.txt index 6533ef4,0605f87..ca88dfd --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -108,7 -65,6 +108,8 @@@ Merged from 1.2 * Schedule schema pulls on change (CASSANDRA-6971) * Non-droppable verbs shouldn't be dropped from OTC (CASSANDRA-6980) * Shutdown batchlog executor in SS#drain() (CASSANDRA-7025) + * Fix batchlog to account for CF truncation records (CASSANDRA-6999) ++ * Fix CQLSH parsing of functions and BLOB literals (CASSANDRA-7018) 2.0.6 http://git-wip-us.apache.org/repos/asf/cassandra/blob/477a0a28/pylib/cqlshlib/cql3handling.py --
[06/10] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 Conflicts: CHANGES.txt bin/cqlsh pylib/cqlshlib/cql3handling.py Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/167af2b2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/167af2b2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/167af2b2 Branch: refs/heads/cassandra-2.0 Commit: 167af2b252f264fe60fedd51fbf9af56f3a9262d Parents: ba95a68 13d3a47 Author: Mikhail Stepura mish...@apache.org Authored: Fri Apr 18 18:10:44 2014 -0700 Committer: Mikhail Stepura mish...@apache.org Committed: Fri Apr 18 18:10:44 2014 -0700 -- CHANGES.txt| 1 + pylib/cqlshlib/cql3handling.py | 24 ++-- 2 files changed, 19 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/167af2b2/CHANGES.txt -- diff --cc CHANGES.txt index e02e9b2,bf80e1e..0605f87 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,60 -1,15 +1,61 @@@ -1.2.17 - * Fix BatchlogManager#deleteBatch() use of millisecond timsestamps - (CASSANDRA-6822) - * Continue assassinating even if the endpoint vanishes (CASSANDRA-6787) - * Schedule schema pulls on change (CASSANDRA-6971) - * Non-droppable verbs shouldn't be dropped from OTC (CASSANDRA-6980) - * Shutdown batchlog executor in SS#drain() (CASSANDRA-7025) +2.0.8 +Merged from 1.2: * Fix batchlog to account for CF truncation records (CASSANDRA-6999) + * Fix CQLSH parsing of functions and BLOB literals (CASSANDRA-7018) -1.2.16 +2.0.7 + * Put nodes in hibernate when join_ring is false (CASSANDRA-6961) + * Allow compaction of system tables during startup (CASSANDRA-6913) + * Restrict Windows to parallel repairs (CASSANDRA-6907) + * (Hadoop) Allow manually specifying start/end tokens in CFIF (CASSANDRA-6436) + * Fix NPE in MeteredFlusher (CASSANDRA-6820) + * Fix race processing range scan responses (CASSANDRA-6820) + * Allow deleting snapshots from dropped keyspaces (CASSANDRA-6821) + * Add uuid() function (CASSANDRA-6473) + * Omit tombstones from schema digests (CASSANDRA-6862) + * Include correct consistencyLevel in LWT timeout (CASSANDRA-6884) + * Lower chances for losing new SSTables during nodetool refresh and + ColumnFamilyStore.loadNewSSTables (CASSANDRA-6514) + * Add support for DELETE ... IF EXISTS to CQL3 (CASSANDRA-5708) + * Update hadoop_cql3_word_count example (CASSANDRA-6793) + * Fix handling of RejectedExecution in sync Thrift server (CASSANDRA-6788) + * Log more information when exceeding tombstone_warn_threshold (CASSANDRA-6865) + * Fix truncate to not abort due to unreachable fat clients (CASSANDRA-6864) + * Fix schema concurrency exceptions (CASSANDRA-6841) + * Fix leaking validator FH in StreamWriter (CASSANDRA-6832) + * Fix saving triggers to schema (CASSANDRA-6789) + * Fix trigger mutations when base mutation list is immutable (CASSANDRA-6790) + * Fix accounting in FileCacheService to allow re-using RAR (CASSANDRA-6838) + * Fix static counter columns (CASSANDRA-6827) + * Restore expiring-deleted (cell) compaction optimization (CASSANDRA-6844) + * Fix CompactionManager.needsCleanup (CASSANDRA-6845) + * Correctly compare BooleanType values other than 0 and 1 (CASSANDRA-6779) + * Read message id as string from earlier versions (CASSANDRA-6840) + * Properly use the Paxos consistency for (non-protocol) batch (CASSANDRA-6837) + * Add paranoid disk failure option (CASSANDRA-6646) + * Improve PerRowSecondaryIndex performance (CASSANDRA-6876) + * Extend triggers to support CAS updates (CASSANDRA-6882) + * Static columns with IF NOT EXISTS don't always work as expected (CASSANDRA-6873) + * Fix paging with SELECT DISTINCT (CASSANDRA-6857) + * Fix UnsupportedOperationException on CAS timeout (CASSANDRA-6923) + * Improve MeteredFlusher handling of MF-unaffected column families + (CASSANDRA-6867) + * Add CqlRecordReader using native pagination (CASSANDRA-6311) + * Add QueryHandler interface (CASSANDRA-6659) + * Track liveRatio per-memtable, not per-CF (CASSANDRA-6945) + * Make sure upgradesstables keeps sstable level (CASSANDRA-6958) + * Fix LIMIT with static columns (CASSANDRA-6956) + * Fix clash with CQL column name in thrift validation (CASSANDRA-6892) + * Fix error with super columns in mixed 1.2-2.0 clusters (CASSANDRA-6966) + * Fix bad skip of sstables on slice query with composite start/finish (CASSANDRA-6825) + * Fix unintended update with conditional statement (CASSANDRA-6893) + * Fix map element access in IF (CASSANDRA-6914) + * Avoid costly range calculations for range queries on system keyspaces + (CASSANDRA-6906) + * Fix SSTable not released if stream session fails (CASSANDRA-6818) +
[03/10] git commit: cqlsh: Updated CQL3 parser to support functions and BLOB literals
cqlsh: Updated CQL3 parser to support functions and BLOB literals patch by Mikhail Stepura; reviewed by Aleksey Yeschenko for CASSANDRA-7018 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/13d3a474 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/13d3a474 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/13d3a474 Branch: refs/heads/cassandra-2.1 Commit: 13d3a47461af24fbd4b2ddee71a7042168ed860f Parents: 8709706 Author: Mikhail Stepura mish...@apache.org Authored: Wed Apr 16 21:10:18 2014 -0700 Committer: Mikhail Stepura mish...@apache.org Committed: Fri Apr 18 18:01:41 2014 -0700 -- CHANGES.txt| 1 + bin/cqlsh | 2 +- pylib/cqlshlib/cql3handling.py | 24 ++-- 3 files changed, 20 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/13d3a474/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index bb08a37..bf80e1e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -6,6 +6,7 @@ * Non-droppable verbs shouldn't be dropped from OTC (CASSANDRA-6980) * Shutdown batchlog executor in SS#drain() (CASSANDRA-7025) * Fix batchlog to account for CF truncation records (CASSANDRA-6999) + * Fix CQLSH parsing of functions and BLOB literals (CASSANDRA-7018) 1.2.16 http://git-wip-us.apache.org/repos/asf/cassandra/blob/13d3a474/bin/cqlsh -- diff --git a/bin/cqlsh b/bin/cqlsh index 4bf1b76..8e1e0e2 100755 --- a/bin/cqlsh +++ b/bin/cqlsh @@ -133,7 +133,7 @@ if os.path.exists(OLD_HISTORY): DEFAULT_HOST = 'localhost' DEFAULT_PORT = 9160 -DEFAULT_CQLVER = '3' +DEFAULT_CQLVER = '3.0.5' DEFAULT_TRANSPORT_FACTORY = 'cqlshlib.tfactory.regular_transport_factory' DEFAULT_TIME_FORMAT = '%Y-%m-%d %H:%M:%S%z' http://git-wip-us.apache.org/repos/asf/cassandra/blob/13d3a474/pylib/cqlshlib/cql3handling.py -- diff --git a/pylib/cqlshlib/cql3handling.py b/pylib/cqlshlib/cql3handling.py index 50e2015..b04ba1d 100644 --- a/pylib/cqlshlib/cql3handling.py +++ b/pylib/cqlshlib/cql3handling.py @@ -206,6 +206,7 @@ JUNK ::= /([ \t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ; stringLiteral ::= /'([^']|'')*'/ ; quotedName ::=/([^]|)*/ ; float ::= /-?[0-9]+\.[0-9]+/ ; +blobLiteral ::=/0x[0-9a-f]+/ ; wholenumber ::= /[0-9]+/ ; uuid ::= /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/ ; identifier ::=/[a-z][a-z0-9_]*/ ; @@ -230,10 +231,15 @@ JUNK ::= /([ \t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ; | float | uuid | boolean + | blobLiteral + | functionName functionArguments ; +functionArguments ::= ( ( term ( , term )* )? ) + ; + tokenDefinition ::= token=TOKEN ( term ( , term )* ) -| stringLiteral +| term ; value ::= term | collectionLiteral @@ -255,6 +261,9 @@ JUNK ::= /([ \t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ; mapLiteral ::= { term : term ( , term : term )* } ; +functionName ::= identifier + ; + statementBody ::= useStatement | selectStatement | dataChangeStatement @@ -739,13 +748,13 @@ syntax_rules += r''' ; selectStatement ::= SELECT selectClause FROM cf=columnFamilyName - (WHERE whereClause)? - (ORDER BY orderByClause ( , orderByClause )* )? - (LIMIT limit=wholenumber)? + ( WHERE whereClause )? + ( ORDER BY orderByClause ( , orderByClause )* )? + ( LIMIT limit=wholenumber )? ; -whereClause ::= relation (AND relation)* +whereClause ::= relation ( AND relation )* ; -relation ::= [rel_lhs]=cident (= | | | = | =) term +relation ::= [rel_lhs]=cident ( = | | | = | = ) term | token=TOKEN ( [rel_tokname]=cident ( , [rel_tokname]=cident )* ) (= | | | = | =) tokenDefinition @@ -758,7 +767,10 @@ syntax_rules += r''' selector ::= [colname]=cident | WRITETIME ( [colname]=cident ) | TTL ( [colname]=cident ) + | functionName selectionFunctionArguments ; +selectionFunctionArguments ::= ( ( selector ( , selector )* )? ) + ; orderByClause ::= [ordercol]=cident ( ASC | DESC )? ; '''
[04/10] git commit: cqlsh: Updated CQL3 parser to support functions and BLOB literals
cqlsh: Updated CQL3 parser to support functions and BLOB literals patch by Mikhail Stepura; reviewed by Aleksey Yeschenko for CASSANDRA-7018 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/13d3a474 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/13d3a474 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/13d3a474 Branch: refs/heads/trunk Commit: 13d3a47461af24fbd4b2ddee71a7042168ed860f Parents: 8709706 Author: Mikhail Stepura mish...@apache.org Authored: Wed Apr 16 21:10:18 2014 -0700 Committer: Mikhail Stepura mish...@apache.org Committed: Fri Apr 18 18:01:41 2014 -0700 -- CHANGES.txt| 1 + bin/cqlsh | 2 +- pylib/cqlshlib/cql3handling.py | 24 ++-- 3 files changed, 20 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/13d3a474/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index bb08a37..bf80e1e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -6,6 +6,7 @@ * Non-droppable verbs shouldn't be dropped from OTC (CASSANDRA-6980) * Shutdown batchlog executor in SS#drain() (CASSANDRA-7025) * Fix batchlog to account for CF truncation records (CASSANDRA-6999) + * Fix CQLSH parsing of functions and BLOB literals (CASSANDRA-7018) 1.2.16 http://git-wip-us.apache.org/repos/asf/cassandra/blob/13d3a474/bin/cqlsh -- diff --git a/bin/cqlsh b/bin/cqlsh index 4bf1b76..8e1e0e2 100755 --- a/bin/cqlsh +++ b/bin/cqlsh @@ -133,7 +133,7 @@ if os.path.exists(OLD_HISTORY): DEFAULT_HOST = 'localhost' DEFAULT_PORT = 9160 -DEFAULT_CQLVER = '3' +DEFAULT_CQLVER = '3.0.5' DEFAULT_TRANSPORT_FACTORY = 'cqlshlib.tfactory.regular_transport_factory' DEFAULT_TIME_FORMAT = '%Y-%m-%d %H:%M:%S%z' http://git-wip-us.apache.org/repos/asf/cassandra/blob/13d3a474/pylib/cqlshlib/cql3handling.py -- diff --git a/pylib/cqlshlib/cql3handling.py b/pylib/cqlshlib/cql3handling.py index 50e2015..b04ba1d 100644 --- a/pylib/cqlshlib/cql3handling.py +++ b/pylib/cqlshlib/cql3handling.py @@ -206,6 +206,7 @@ JUNK ::= /([ \t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ; stringLiteral ::= /'([^']|'')*'/ ; quotedName ::=/([^]|)*/ ; float ::= /-?[0-9]+\.[0-9]+/ ; +blobLiteral ::=/0x[0-9a-f]+/ ; wholenumber ::= /[0-9]+/ ; uuid ::= /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/ ; identifier ::=/[a-z][a-z0-9_]*/ ; @@ -230,10 +231,15 @@ JUNK ::= /([ \t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ; | float | uuid | boolean + | blobLiteral + | functionName functionArguments ; +functionArguments ::= ( ( term ( , term )* )? ) + ; + tokenDefinition ::= token=TOKEN ( term ( , term )* ) -| stringLiteral +| term ; value ::= term | collectionLiteral @@ -255,6 +261,9 @@ JUNK ::= /([ \t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ; mapLiteral ::= { term : term ( , term : term )* } ; +functionName ::= identifier + ; + statementBody ::= useStatement | selectStatement | dataChangeStatement @@ -739,13 +748,13 @@ syntax_rules += r''' ; selectStatement ::= SELECT selectClause FROM cf=columnFamilyName - (WHERE whereClause)? - (ORDER BY orderByClause ( , orderByClause )* )? - (LIMIT limit=wholenumber)? + ( WHERE whereClause )? + ( ORDER BY orderByClause ( , orderByClause )* )? + ( LIMIT limit=wholenumber )? ; -whereClause ::= relation (AND relation)* +whereClause ::= relation ( AND relation )* ; -relation ::= [rel_lhs]=cident (= | | | = | =) term +relation ::= [rel_lhs]=cident ( = | | | = | = ) term | token=TOKEN ( [rel_tokname]=cident ( , [rel_tokname]=cident )* ) (= | | | = | =) tokenDefinition @@ -758,7 +767,10 @@ syntax_rules += r''' selector ::= [colname]=cident | WRITETIME ( [colname]=cident ) | TTL ( [colname]=cident ) + | functionName selectionFunctionArguments ; +selectionFunctionArguments ::= ( ( selector ( , selector )* )? ) + ; orderByClause ::= [ordercol]=cident ( ASC | DESC )? ; '''
[10/10] git commit: Merge branch 'cassandra-2.1' into trunk
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/894d6f67 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/894d6f67 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/894d6f67 Branch: refs/heads/trunk Commit: 894d6f67a0a6338dcb516bbd91bd918c17ad8339 Parents: c65973d 477a0a2 Author: Mikhail Stepura mish...@apache.org Authored: Fri Apr 18 18:17:04 2014 -0700 Committer: Mikhail Stepura mish...@apache.org Committed: Fri Apr 18 18:17:04 2014 -0700 -- CHANGES.txt| 1 + pylib/cqlshlib/cql3handling.py | 24 ++-- 2 files changed, 19 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/894d6f67/CHANGES.txt --
[07/10] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 Conflicts: CHANGES.txt bin/cqlsh pylib/cqlshlib/cql3handling.py Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/167af2b2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/167af2b2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/167af2b2 Branch: refs/heads/trunk Commit: 167af2b252f264fe60fedd51fbf9af56f3a9262d Parents: ba95a68 13d3a47 Author: Mikhail Stepura mish...@apache.org Authored: Fri Apr 18 18:10:44 2014 -0700 Committer: Mikhail Stepura mish...@apache.org Committed: Fri Apr 18 18:10:44 2014 -0700 -- CHANGES.txt| 1 + pylib/cqlshlib/cql3handling.py | 24 ++-- 2 files changed, 19 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/167af2b2/CHANGES.txt -- diff --cc CHANGES.txt index e02e9b2,bf80e1e..0605f87 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,60 -1,15 +1,61 @@@ -1.2.17 - * Fix BatchlogManager#deleteBatch() use of millisecond timsestamps - (CASSANDRA-6822) - * Continue assassinating even if the endpoint vanishes (CASSANDRA-6787) - * Schedule schema pulls on change (CASSANDRA-6971) - * Non-droppable verbs shouldn't be dropped from OTC (CASSANDRA-6980) - * Shutdown batchlog executor in SS#drain() (CASSANDRA-7025) +2.0.8 +Merged from 1.2: * Fix batchlog to account for CF truncation records (CASSANDRA-6999) + * Fix CQLSH parsing of functions and BLOB literals (CASSANDRA-7018) -1.2.16 +2.0.7 + * Put nodes in hibernate when join_ring is false (CASSANDRA-6961) + * Allow compaction of system tables during startup (CASSANDRA-6913) + * Restrict Windows to parallel repairs (CASSANDRA-6907) + * (Hadoop) Allow manually specifying start/end tokens in CFIF (CASSANDRA-6436) + * Fix NPE in MeteredFlusher (CASSANDRA-6820) + * Fix race processing range scan responses (CASSANDRA-6820) + * Allow deleting snapshots from dropped keyspaces (CASSANDRA-6821) + * Add uuid() function (CASSANDRA-6473) + * Omit tombstones from schema digests (CASSANDRA-6862) + * Include correct consistencyLevel in LWT timeout (CASSANDRA-6884) + * Lower chances for losing new SSTables during nodetool refresh and + ColumnFamilyStore.loadNewSSTables (CASSANDRA-6514) + * Add support for DELETE ... IF EXISTS to CQL3 (CASSANDRA-5708) + * Update hadoop_cql3_word_count example (CASSANDRA-6793) + * Fix handling of RejectedExecution in sync Thrift server (CASSANDRA-6788) + * Log more information when exceeding tombstone_warn_threshold (CASSANDRA-6865) + * Fix truncate to not abort due to unreachable fat clients (CASSANDRA-6864) + * Fix schema concurrency exceptions (CASSANDRA-6841) + * Fix leaking validator FH in StreamWriter (CASSANDRA-6832) + * Fix saving triggers to schema (CASSANDRA-6789) + * Fix trigger mutations when base mutation list is immutable (CASSANDRA-6790) + * Fix accounting in FileCacheService to allow re-using RAR (CASSANDRA-6838) + * Fix static counter columns (CASSANDRA-6827) + * Restore expiring-deleted (cell) compaction optimization (CASSANDRA-6844) + * Fix CompactionManager.needsCleanup (CASSANDRA-6845) + * Correctly compare BooleanType values other than 0 and 1 (CASSANDRA-6779) + * Read message id as string from earlier versions (CASSANDRA-6840) + * Properly use the Paxos consistency for (non-protocol) batch (CASSANDRA-6837) + * Add paranoid disk failure option (CASSANDRA-6646) + * Improve PerRowSecondaryIndex performance (CASSANDRA-6876) + * Extend triggers to support CAS updates (CASSANDRA-6882) + * Static columns with IF NOT EXISTS don't always work as expected (CASSANDRA-6873) + * Fix paging with SELECT DISTINCT (CASSANDRA-6857) + * Fix UnsupportedOperationException on CAS timeout (CASSANDRA-6923) + * Improve MeteredFlusher handling of MF-unaffected column families + (CASSANDRA-6867) + * Add CqlRecordReader using native pagination (CASSANDRA-6311) + * Add QueryHandler interface (CASSANDRA-6659) + * Track liveRatio per-memtable, not per-CF (CASSANDRA-6945) + * Make sure upgradesstables keeps sstable level (CASSANDRA-6958) + * Fix LIMIT with static columns (CASSANDRA-6956) + * Fix clash with CQL column name in thrift validation (CASSANDRA-6892) + * Fix error with super columns in mixed 1.2-2.0 clusters (CASSANDRA-6966) + * Fix bad skip of sstables on slice query with composite start/finish (CASSANDRA-6825) + * Fix unintended update with conditional statement (CASSANDRA-6893) + * Fix map element access in IF (CASSANDRA-6914) + * Avoid costly range calculations for range queries on system keyspaces + (CASSANDRA-6906) + * Fix SSTable not released if stream session fails (CASSANDRA-6818) + * Avoid
[09/10] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1
Merge branch 'cassandra-2.0' into cassandra-2.1 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/477a0a28 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/477a0a28 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/477a0a28 Branch: refs/heads/trunk Commit: 477a0a28b5be1c8097c51fefaa77faed2f10e5b0 Parents: 22d86eb 167af2b Author: Mikhail Stepura mish...@apache.org Authored: Fri Apr 18 18:13:45 2014 -0700 Committer: Mikhail Stepura mish...@apache.org Committed: Fri Apr 18 18:13:45 2014 -0700 -- CHANGES.txt| 1 + pylib/cqlshlib/cql3handling.py | 24 ++-- 2 files changed, 19 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/477a0a28/CHANGES.txt -- diff --cc CHANGES.txt index 6533ef4,0605f87..ca88dfd --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -108,7 -65,6 +108,8 @@@ Merged from 1.2 * Schedule schema pulls on change (CASSANDRA-6971) * Non-droppable verbs shouldn't be dropped from OTC (CASSANDRA-6980) * Shutdown batchlog executor in SS#drain() (CASSANDRA-7025) + * Fix batchlog to account for CF truncation records (CASSANDRA-6999) ++ * Fix CQLSH parsing of functions and BLOB literals (CASSANDRA-7018) 2.0.6 http://git-wip-us.apache.org/repos/asf/cassandra/blob/477a0a28/pylib/cqlshlib/cql3handling.py --
[01/10] git commit: cqlsh: Updated CQL3 parser to support functions and BLOB literals
Repository: cassandra Updated Branches: refs/heads/cassandra-1.2 87097066e - 13d3a4746 refs/heads/cassandra-2.0 ba95a68ab - 167af2b25 refs/heads/cassandra-2.1 22d86eb2d - 477a0a28b refs/heads/trunk c65973d2d - 894d6f67a cqlsh: Updated CQL3 parser to support functions and BLOB literals patch by Mikhail Stepura; reviewed by Aleksey Yeschenko for CASSANDRA-7018 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/13d3a474 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/13d3a474 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/13d3a474 Branch: refs/heads/cassandra-1.2 Commit: 13d3a47461af24fbd4b2ddee71a7042168ed860f Parents: 8709706 Author: Mikhail Stepura mish...@apache.org Authored: Wed Apr 16 21:10:18 2014 -0700 Committer: Mikhail Stepura mish...@apache.org Committed: Fri Apr 18 18:01:41 2014 -0700 -- CHANGES.txt| 1 + bin/cqlsh | 2 +- pylib/cqlshlib/cql3handling.py | 24 ++-- 3 files changed, 20 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/13d3a474/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index bb08a37..bf80e1e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -6,6 +6,7 @@ * Non-droppable verbs shouldn't be dropped from OTC (CASSANDRA-6980) * Shutdown batchlog executor in SS#drain() (CASSANDRA-7025) * Fix batchlog to account for CF truncation records (CASSANDRA-6999) + * Fix CQLSH parsing of functions and BLOB literals (CASSANDRA-7018) 1.2.16 http://git-wip-us.apache.org/repos/asf/cassandra/blob/13d3a474/bin/cqlsh -- diff --git a/bin/cqlsh b/bin/cqlsh index 4bf1b76..8e1e0e2 100755 --- a/bin/cqlsh +++ b/bin/cqlsh @@ -133,7 +133,7 @@ if os.path.exists(OLD_HISTORY): DEFAULT_HOST = 'localhost' DEFAULT_PORT = 9160 -DEFAULT_CQLVER = '3' +DEFAULT_CQLVER = '3.0.5' DEFAULT_TRANSPORT_FACTORY = 'cqlshlib.tfactory.regular_transport_factory' DEFAULT_TIME_FORMAT = '%Y-%m-%d %H:%M:%S%z' http://git-wip-us.apache.org/repos/asf/cassandra/blob/13d3a474/pylib/cqlshlib/cql3handling.py -- diff --git a/pylib/cqlshlib/cql3handling.py b/pylib/cqlshlib/cql3handling.py index 50e2015..b04ba1d 100644 --- a/pylib/cqlshlib/cql3handling.py +++ b/pylib/cqlshlib/cql3handling.py @@ -206,6 +206,7 @@ JUNK ::= /([ \t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ; stringLiteral ::= /'([^']|'')*'/ ; quotedName ::=/([^]|)*/ ; float ::= /-?[0-9]+\.[0-9]+/ ; +blobLiteral ::=/0x[0-9a-f]+/ ; wholenumber ::= /[0-9]+/ ; uuid ::= /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/ ; identifier ::=/[a-z][a-z0-9_]*/ ; @@ -230,10 +231,15 @@ JUNK ::= /([ \t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ; | float | uuid | boolean + | blobLiteral + | functionName functionArguments ; +functionArguments ::= ( ( term ( , term )* )? ) + ; + tokenDefinition ::= token=TOKEN ( term ( , term )* ) -| stringLiteral +| term ; value ::= term | collectionLiteral @@ -255,6 +261,9 @@ JUNK ::= /([ \t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ; mapLiteral ::= { term : term ( , term : term )* } ; +functionName ::= identifier + ; + statementBody ::= useStatement | selectStatement | dataChangeStatement @@ -739,13 +748,13 @@ syntax_rules += r''' ; selectStatement ::= SELECT selectClause FROM cf=columnFamilyName - (WHERE whereClause)? - (ORDER BY orderByClause ( , orderByClause )* )? - (LIMIT limit=wholenumber)? + ( WHERE whereClause )? + ( ORDER BY orderByClause ( , orderByClause )* )? + ( LIMIT limit=wholenumber )? ; -whereClause ::= relation (AND relation)* +whereClause ::= relation ( AND relation )* ; -relation ::= [rel_lhs]=cident (= | | | = | =) term +relation ::= [rel_lhs]=cident ( = | | | = | = ) term | token=TOKEN ( [rel_tokname]=cident ( , [rel_tokname]=cident )* ) (= | | | = | =) tokenDefinition @@ -758,7 +767,10 @@ syntax_rules += r''' selector ::= [colname]=cident | WRITETIME ( [colname]=cident ) | TTL ( [colname]=cident ) + |
[02/10] git commit: cqlsh: Updated CQL3 parser to support functions and BLOB literals
cqlsh: Updated CQL3 parser to support functions and BLOB literals patch by Mikhail Stepura; reviewed by Aleksey Yeschenko for CASSANDRA-7018 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/13d3a474 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/13d3a474 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/13d3a474 Branch: refs/heads/cassandra-2.0 Commit: 13d3a47461af24fbd4b2ddee71a7042168ed860f Parents: 8709706 Author: Mikhail Stepura mish...@apache.org Authored: Wed Apr 16 21:10:18 2014 -0700 Committer: Mikhail Stepura mish...@apache.org Committed: Fri Apr 18 18:01:41 2014 -0700 -- CHANGES.txt| 1 + bin/cqlsh | 2 +- pylib/cqlshlib/cql3handling.py | 24 ++-- 3 files changed, 20 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/13d3a474/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index bb08a37..bf80e1e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -6,6 +6,7 @@ * Non-droppable verbs shouldn't be dropped from OTC (CASSANDRA-6980) * Shutdown batchlog executor in SS#drain() (CASSANDRA-7025) * Fix batchlog to account for CF truncation records (CASSANDRA-6999) + * Fix CQLSH parsing of functions and BLOB literals (CASSANDRA-7018) 1.2.16 http://git-wip-us.apache.org/repos/asf/cassandra/blob/13d3a474/bin/cqlsh -- diff --git a/bin/cqlsh b/bin/cqlsh index 4bf1b76..8e1e0e2 100755 --- a/bin/cqlsh +++ b/bin/cqlsh @@ -133,7 +133,7 @@ if os.path.exists(OLD_HISTORY): DEFAULT_HOST = 'localhost' DEFAULT_PORT = 9160 -DEFAULT_CQLVER = '3' +DEFAULT_CQLVER = '3.0.5' DEFAULT_TRANSPORT_FACTORY = 'cqlshlib.tfactory.regular_transport_factory' DEFAULT_TIME_FORMAT = '%Y-%m-%d %H:%M:%S%z' http://git-wip-us.apache.org/repos/asf/cassandra/blob/13d3a474/pylib/cqlshlib/cql3handling.py -- diff --git a/pylib/cqlshlib/cql3handling.py b/pylib/cqlshlib/cql3handling.py index 50e2015..b04ba1d 100644 --- a/pylib/cqlshlib/cql3handling.py +++ b/pylib/cqlshlib/cql3handling.py @@ -206,6 +206,7 @@ JUNK ::= /([ \t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ; stringLiteral ::= /'([^']|'')*'/ ; quotedName ::=/([^]|)*/ ; float ::= /-?[0-9]+\.[0-9]+/ ; +blobLiteral ::=/0x[0-9a-f]+/ ; wholenumber ::= /[0-9]+/ ; uuid ::= /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/ ; identifier ::=/[a-z][a-z0-9_]*/ ; @@ -230,10 +231,15 @@ JUNK ::= /([ \t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ; | float | uuid | boolean + | blobLiteral + | functionName functionArguments ; +functionArguments ::= ( ( term ( , term )* )? ) + ; + tokenDefinition ::= token=TOKEN ( term ( , term )* ) -| stringLiteral +| term ; value ::= term | collectionLiteral @@ -255,6 +261,9 @@ JUNK ::= /([ \t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ; mapLiteral ::= { term : term ( , term : term )* } ; +functionName ::= identifier + ; + statementBody ::= useStatement | selectStatement | dataChangeStatement @@ -739,13 +748,13 @@ syntax_rules += r''' ; selectStatement ::= SELECT selectClause FROM cf=columnFamilyName - (WHERE whereClause)? - (ORDER BY orderByClause ( , orderByClause )* )? - (LIMIT limit=wholenumber)? + ( WHERE whereClause )? + ( ORDER BY orderByClause ( , orderByClause )* )? + ( LIMIT limit=wholenumber )? ; -whereClause ::= relation (AND relation)* +whereClause ::= relation ( AND relation )* ; -relation ::= [rel_lhs]=cident (= | | | = | =) term +relation ::= [rel_lhs]=cident ( = | | | = | = ) term | token=TOKEN ( [rel_tokname]=cident ( , [rel_tokname]=cident )* ) (= | | | = | =) tokenDefinition @@ -758,7 +767,10 @@ syntax_rules += r''' selector ::= [colname]=cident | WRITETIME ( [colname]=cident ) | TTL ( [colname]=cident ) + | functionName selectionFunctionArguments ; +selectionFunctionArguments ::= ( ( selector ( , selector )* )? ) + ; orderByClause ::= [ordercol]=cident ( ASC | DESC )? ; '''
[05/10] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 Conflicts: CHANGES.txt bin/cqlsh pylib/cqlshlib/cql3handling.py Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/167af2b2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/167af2b2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/167af2b2 Branch: refs/heads/cassandra-2.1 Commit: 167af2b252f264fe60fedd51fbf9af56f3a9262d Parents: ba95a68 13d3a47 Author: Mikhail Stepura mish...@apache.org Authored: Fri Apr 18 18:10:44 2014 -0700 Committer: Mikhail Stepura mish...@apache.org Committed: Fri Apr 18 18:10:44 2014 -0700 -- CHANGES.txt| 1 + pylib/cqlshlib/cql3handling.py | 24 ++-- 2 files changed, 19 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/167af2b2/CHANGES.txt -- diff --cc CHANGES.txt index e02e9b2,bf80e1e..0605f87 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,60 -1,15 +1,61 @@@ -1.2.17 - * Fix BatchlogManager#deleteBatch() use of millisecond timsestamps - (CASSANDRA-6822) - * Continue assassinating even if the endpoint vanishes (CASSANDRA-6787) - * Schedule schema pulls on change (CASSANDRA-6971) - * Non-droppable verbs shouldn't be dropped from OTC (CASSANDRA-6980) - * Shutdown batchlog executor in SS#drain() (CASSANDRA-7025) +2.0.8 +Merged from 1.2: * Fix batchlog to account for CF truncation records (CASSANDRA-6999) + * Fix CQLSH parsing of functions and BLOB literals (CASSANDRA-7018) -1.2.16 +2.0.7 + * Put nodes in hibernate when join_ring is false (CASSANDRA-6961) + * Allow compaction of system tables during startup (CASSANDRA-6913) + * Restrict Windows to parallel repairs (CASSANDRA-6907) + * (Hadoop) Allow manually specifying start/end tokens in CFIF (CASSANDRA-6436) + * Fix NPE in MeteredFlusher (CASSANDRA-6820) + * Fix race processing range scan responses (CASSANDRA-6820) + * Allow deleting snapshots from dropped keyspaces (CASSANDRA-6821) + * Add uuid() function (CASSANDRA-6473) + * Omit tombstones from schema digests (CASSANDRA-6862) + * Include correct consistencyLevel in LWT timeout (CASSANDRA-6884) + * Lower chances for losing new SSTables during nodetool refresh and + ColumnFamilyStore.loadNewSSTables (CASSANDRA-6514) + * Add support for DELETE ... IF EXISTS to CQL3 (CASSANDRA-5708) + * Update hadoop_cql3_word_count example (CASSANDRA-6793) + * Fix handling of RejectedExecution in sync Thrift server (CASSANDRA-6788) + * Log more information when exceeding tombstone_warn_threshold (CASSANDRA-6865) + * Fix truncate to not abort due to unreachable fat clients (CASSANDRA-6864) + * Fix schema concurrency exceptions (CASSANDRA-6841) + * Fix leaking validator FH in StreamWriter (CASSANDRA-6832) + * Fix saving triggers to schema (CASSANDRA-6789) + * Fix trigger mutations when base mutation list is immutable (CASSANDRA-6790) + * Fix accounting in FileCacheService to allow re-using RAR (CASSANDRA-6838) + * Fix static counter columns (CASSANDRA-6827) + * Restore expiring-deleted (cell) compaction optimization (CASSANDRA-6844) + * Fix CompactionManager.needsCleanup (CASSANDRA-6845) + * Correctly compare BooleanType values other than 0 and 1 (CASSANDRA-6779) + * Read message id as string from earlier versions (CASSANDRA-6840) + * Properly use the Paxos consistency for (non-protocol) batch (CASSANDRA-6837) + * Add paranoid disk failure option (CASSANDRA-6646) + * Improve PerRowSecondaryIndex performance (CASSANDRA-6876) + * Extend triggers to support CAS updates (CASSANDRA-6882) + * Static columns with IF NOT EXISTS don't always work as expected (CASSANDRA-6873) + * Fix paging with SELECT DISTINCT (CASSANDRA-6857) + * Fix UnsupportedOperationException on CAS timeout (CASSANDRA-6923) + * Improve MeteredFlusher handling of MF-unaffected column families + (CASSANDRA-6867) + * Add CqlRecordReader using native pagination (CASSANDRA-6311) + * Add QueryHandler interface (CASSANDRA-6659) + * Track liveRatio per-memtable, not per-CF (CASSANDRA-6945) + * Make sure upgradesstables keeps sstable level (CASSANDRA-6958) + * Fix LIMIT with static columns (CASSANDRA-6956) + * Fix clash with CQL column name in thrift validation (CASSANDRA-6892) + * Fix error with super columns in mixed 1.2-2.0 clusters (CASSANDRA-6966) + * Fix bad skip of sstables on slice query with composite start/finish (CASSANDRA-6825) + * Fix unintended update with conditional statement (CASSANDRA-6893) + * Fix map element access in IF (CASSANDRA-6914) + * Avoid costly range calculations for range queries on system keyspaces + (CASSANDRA-6906) + * Fix SSTable not released if stream session fails (CASSANDRA-6818) +
[jira] [Created] (CASSANDRA-7058) HHOM and BM direct delivery should not cause hints to be written on timeout
Aleksey Yeschenko created CASSANDRA-7058: Summary: HHOM and BM direct delivery should not cause hints to be written on timeout Key: CASSANDRA-7058 URL: https://issues.apache.org/jira/browse/CASSANDRA-7058 Project: Cassandra Issue Type: Bug Reporter: Aleksey Yeschenko Assignee: Aleksey Yeschenko Fix For: 1.2.17, 2.0.8, 2.1 beta2 Currently, a timed out HHOM hint delivery would create a further hint, with a wrong TTL. BM direct delivery code is using the same code snippet basically, so is also affected (with slightly worse consequences). -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-7058) HHOM and BM direct delivery should not cause hints to be written on timeout
[ https://issues.apache.org/jira/browse/CASSANDRA-7058?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aleksey Yeschenko updated CASSANDRA-7058: - Attachment: 7058.txt HHOM and BM direct delivery should not cause hints to be written on timeout --- Key: CASSANDRA-7058 URL: https://issues.apache.org/jira/browse/CASSANDRA-7058 Project: Cassandra Issue Type: Bug Reporter: Aleksey Yeschenko Assignee: Aleksey Yeschenko Fix For: 1.2.17, 2.0.8, 2.1 beta2 Attachments: 7058.txt Currently, a timed out HHOM hint delivery would create a further hint, with a wrong TTL. BM direct delivery code is using the same code snippet basically, so is also affected (with slightly worse consequences). -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-7058) HHOM and BM direct delivery should not cause hints to be written on timeout
[ https://issues.apache.org/jira/browse/CASSANDRA-7058?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aleksey Yeschenko updated CASSANDRA-7058: - Attachment: (was: 7058.txt) HHOM and BM direct delivery should not cause hints to be written on timeout --- Key: CASSANDRA-7058 URL: https://issues.apache.org/jira/browse/CASSANDRA-7058 Project: Cassandra Issue Type: Bug Reporter: Aleksey Yeschenko Assignee: Aleksey Yeschenko Fix For: 1.2.17, 2.0.8, 2.1 beta2 Attachments: 7058.txt Currently, a timed out HHOM hint delivery would create a further hint, with a wrong TTL. BM direct delivery code is using the same code snippet basically, so is also affected (with slightly worse consequences). -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-7058) HHOM and BM direct delivery should not cause hints to be written on timeout
[ https://issues.apache.org/jira/browse/CASSANDRA-7058?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aleksey Yeschenko updated CASSANDRA-7058: - Attachment: 7058.txt HHOM and BM direct delivery should not cause hints to be written on timeout --- Key: CASSANDRA-7058 URL: https://issues.apache.org/jira/browse/CASSANDRA-7058 Project: Cassandra Issue Type: Bug Reporter: Aleksey Yeschenko Assignee: Aleksey Yeschenko Fix For: 1.2.17, 2.0.8, 2.1 beta2 Attachments: 7058.txt Currently, a timed out HHOM hint delivery would create a further hint, with a wrong TTL. BM direct delivery code is using the same code snippet basically, so is also affected (with slightly worse consequences). -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-6344) When running CQLSH with file input, exit with error status code if script fails
[ https://issues.apache.org/jira/browse/CASSANDRA-6344?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sebastian Wong updated CASSANDRA-6344: -- Attachment: CASSANDRA-6344.txt Hi, first time contributor here. Here's my implementation of what I think the ticket is asking. Please let me know if there's something in there that's not right. When running CQLSH with file input, exit with error status code if script fails --- Key: CASSANDRA-6344 URL: https://issues.apache.org/jira/browse/CASSANDRA-6344 Project: Cassandra Issue Type: New Feature Components: Tools Reporter: Branden Visser Labels: lhf Attachments: CASSANDRA-6344.txt Just thought it would be nice if the cqlsh process would exit with an error status code if there are errors in the script, since it is the only thing the cqlsh process does when executing. Preferably a predictable status code could be used for a script error to discern it from some other odd error (i.e., don't use `1` because that could be many things). Maybe `2` or something. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-7058) HHOM and BM direct delivery should not cause hints to be written on timeout
[ https://issues.apache.org/jira/browse/CASSANDRA-7058?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aleksey Yeschenko updated CASSANDRA-7058: - Attachment: 7058.txt HHOM and BM direct delivery should not cause hints to be written on timeout --- Key: CASSANDRA-7058 URL: https://issues.apache.org/jira/browse/CASSANDRA-7058 Project: Cassandra Issue Type: Bug Reporter: Aleksey Yeschenko Assignee: Aleksey Yeschenko Fix For: 1.2.17, 2.0.8, 2.1 beta2 Attachments: 7058.txt, 7058.txt Currently, a timed out HHOM hint delivery would create a further hint, with a wrong TTL. BM direct delivery code is using the same code snippet basically, so is also affected (with slightly worse consequences). -- This message was sent by Atlassian JIRA (v6.2#6252)