[jira] [Updated] (CASSANDRA-4448) CQL3: allow to define a per-cf default consistency level

2012-07-23 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-4448:


Attachment: 4448.txt

Attaching patch (against trunk).

One slight difficulty is BATCH statements, where all statements are executed 
with the same CL, so it is unclear what to pick as a default consistency level 
for the batch unless all statement have the same default write CL.

The patch takes the approach of simply refusing the batch unless either 1) the 
batch explicitly sets a CL or 2) all the statements of the batch have the same 
CL. I believe this to be a reasonable behavior, that won't limit in any way the 
APIs that sets the CL for you, or even people that never use those new settings.

I'll note that this problem of 'batch can only have one CL' is not specific to 
those new options. I haven't checked how existing client library that allow to 
set a per-CF default CL deal with it.  

 CQL3: allow to define a per-cf default consistency level
 

 Key: CASSANDRA-4448
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4448
 Project: Cassandra
  Issue Type: New Feature
Reporter: Sylvain Lebresne
  Labels: cql3
 Fix For: 1.2

 Attachments: 4448.txt


 One of the goal of CQL3 is that client library should not have to parse 
 queries to provide a good experience. In particular, that means such client 
 (that don't want to parse queries) won't be able to allow the user to define 
 a specific default read/write consistency level per-CF, forcing user to 
 specific the consistency level with every query, which is not very user 
 friendly.
 This ticket suggests the addition of per-cf default read/write consitency 
 level. Typically the syntax would be:
 {noformat}
 CREATE TABLE foo (...)
 WITH DEFAULT_READ_CONSISTENCY = QUORUM
  AND DEFAULT_WRITE_CONSISTENCY = QUORUM
 {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3636) cassandra 1.0.x breakes APT on debian OpenVZ

2012-07-23 Thread Jochen Schalanda (JIRA)

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

Jochen Schalanda commented on CASSANDRA-3636:
-

The fix seems to have been lost during a merge.

The [trunk version of 
debian/cassandra.postinst|https://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=blob;f=debian/cassandra.postinst]
 doesn't contain the changes from Paul's fix in commit 
[48438ffc61bce2396fa2eac2f88fa66a6e6a69cd|https://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=commitdiff;h=48438ffc61bce2396fa2eac2f88fa66a6e6a69cd].

 cassandra 1.0.x breakes APT on debian OpenVZ
 

 Key: CASSANDRA-3636
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3636
 Project: Cassandra
  Issue Type: Bug
  Components: Packaging
Affects Versions: 1.0.0
 Environment: Debian Linux (stable), OpenVZ container
Reporter: Zenek Kraweznik
Assignee: paul cannon
Priority: Minor
 Fix For: 1.0.11, 1.1.1

 Attachments: 3636.patch.txt


 During upgrade from 1.0.6
 {code}Setting up cassandra (1.0.6) ...
 *error: permission denied on key 'vm.max_map_count'*
 dpkg: error processing cassandra (--configure):
  subprocess installed post-installation script returned error exit status 255
 Errors were encountered while processing:
  cassandra
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Reopened] (CASSANDRA-3636) cassandra 1.0.x breakes APT on debian OpenVZ

2012-07-23 Thread Dave Brosius (JIRA)

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

Dave Brosius reopened CASSANDRA-3636:
-


 cassandra 1.0.x breakes APT on debian OpenVZ
 

 Key: CASSANDRA-3636
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3636
 Project: Cassandra
  Issue Type: Bug
  Components: Packaging
Affects Versions: 1.0.0
 Environment: Debian Linux (stable), OpenVZ container
Reporter: Zenek Kraweznik
Assignee: paul cannon
Priority: Minor
 Fix For: 1.0.11, 1.1.1

 Attachments: 3636.patch.txt


 During upgrade from 1.0.6
 {code}Setting up cassandra (1.0.6) ...
 *error: permission denied on key 'vm.max_map_count'*
 dpkg: error processing cassandra (--configure):
  subprocess installed post-installation script returned error exit status 255
 Errors were encountered while processing:
  cassandra
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




git commit: merge CASSANDRA-3636 from 1.0 to 1.1 cassandra 1.0.x breakes APT on debian OpenVZ

2012-07-23 Thread dbrosius
Updated Branches:
  refs/heads/cassandra-1.1 bfdfe9014 - ff64c5d11


merge CASSANDRA-3636 from 1.0 to 1.1 cassandra 1.0.x breakes APT on debian 
OpenVZ


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

Branch: refs/heads/cassandra-1.1
Commit: ff64c5d11e9e66dfa42a1ca72572a65fb7480f37
Parents: bfdfe90
Author: Dave Brosius dbros...@apache.org
Authored: Mon Jul 23 07:03:52 2012 -0400
Committer: Dave Brosius dbros...@apache.org
Committed: Mon Jul 23 07:03:52 2012 -0400

--
 debian/cassandra.postinst |   10 +-
 1 files changed, 9 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ff64c5d1/debian/cassandra.postinst
--
diff --git a/debian/cassandra.postinst b/debian/cassandra.postinst
index 86adecb..9591459 100644
--- a/debian/cassandra.postinst
+++ b/debian/cassandra.postinst
@@ -38,7 +38,15 @@ case $1 in
 chown -R cassandra: /var/lib/cassandra
 chown -R cassandra: /var/log/cassandra
 fi
-sysctl -p /etc/sysctl.d/cassandra.conf
+if ! sysctl -p /etc/sysctl.d/cassandra.conf; then
+echo 2
+echo Warning: unable to set vm.max_map_count; is this an OpenVZ 
2
+echo instance? If so, it is highly recommended that you set 2
+echo vm.max_map_count to 1048575 in the host. 2
+echo 2
+echo Deleting the local sysctl.d/cassandra.conf. 2
+rm -v /etc/sysctl.d/cassandra.conf
+fi
 ;;
 
 abort-upgrade|abort-remove|abort-deconfigure)



git commit: Be kind to potential client libraries reusing some of the binary transport code

2012-07-23 Thread slebresne
Updated Branches:
  refs/heads/trunk d74103735 - 864e03671


Be kind to potential client libraries reusing some of the binary transport code


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

Branch: refs/heads/trunk
Commit: 864e03671abf3e99410175df21106efa1a463772
Parents: d741037
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Mon Jul 23 15:17:14 2012 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Mon Jul 23 15:17:20 2012 +0200

--
 .../transport/messages/ResultMessage.java  |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/864e0367/src/java/org/apache/cassandra/transport/messages/ResultMessage.java
--
diff --git 
a/src/java/org/apache/cassandra/transport/messages/ResultMessage.java 
b/src/java/org/apache/cassandra/transport/messages/ResultMessage.java
index 35f8207..3d1d7c1 100644
--- a/src/java/org/apache/cassandra/transport/messages/ResultMessage.java
+++ b/src/java/org/apache/cassandra/transport/messages/ResultMessage.java
@@ -57,7 +57,7 @@ public abstract class ResultMessage extends Message.Response
 }
 };
 
-private enum Kind
+public enum Kind
 {
 VOID (1, Void.subcodec),
 ROWS (2, Rows.subcodec),
@@ -97,7 +97,7 @@ public abstract class ResultMessage extends Message.Response
 }
 }
 
-private final Kind kind;
+public final Kind kind;
 
 protected ResultMessage(Kind kind)
 {



[jira] [Updated] (CASSANDRA-4448) CQL3: allow to define a per-cf default consistency level

2012-07-23 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-4448:
--

Reviewer: yukim

 CQL3: allow to define a per-cf default consistency level
 

 Key: CASSANDRA-4448
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4448
 Project: Cassandra
  Issue Type: New Feature
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
  Labels: cql3
 Fix For: 1.2

 Attachments: 4448.txt


 One of the goal of CQL3 is that client library should not have to parse 
 queries to provide a good experience. In particular, that means such client 
 (that don't want to parse queries) won't be able to allow the user to define 
 a specific default read/write consistency level per-CF, forcing user to 
 specific the consistency level with every query, which is not very user 
 friendly.
 This ticket suggests the addition of per-cf default read/write consitency 
 level. Typically the syntax would be:
 {noformat}
 CREATE TABLE foo (...)
 WITH DEFAULT_READ_CONSISTENCY = QUORUM
  AND DEFAULT_WRITE_CONSISTENCY = QUORUM
 {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4237) Add back 0.8-style memtable_lifetime feature

2012-07-23 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-4237:
---

I don't think this is quite what we want, since it will flush the memtable 
every {{period}} regardless of whether it has already been recently flushed by 
normal request volume.  (FWIW, the 0.8 brute force approach was to loop over 
each CFS in the KS every 10s, and flush it if it was expired -- see callers of 
CFS.forceFlushIfExpired.)

 Add back 0.8-style memtable_lifetime feature
 

 Key: CASSANDRA-4237
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4237
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Affects Versions: 1.0.0
Reporter: Jonathan Ellis
Assignee: Yuki Morishita
Priority: Minor
 Fix For: 1.2

 Attachments: 4237.txt


 Back in 0.8 we had a memtable_lifetime_in_minutes setting.  We got rid of it 
 in 1.0 when we added CASSANDRA-2427, which is a better way to  ensure 
 flushing on low-activity memtables.
 However, at the same time we also added the ability to disable durable 
 writes.  So it's entirely possible to configure a low-activity memtable, that 
 isn't part of the commitlog.  So, we should add back a memtable lifetime 
 setting.
 An additional motive is pointed out by 
 http://www.fsl.cs.sunysb.edu/~pshetty/socc11-gtssl.pdf: if you have a *high* 
 activity columnfamily, and don't require absolute durability, the commitlog 
 is redundant if you are flushing faster than the commitlog sync period.  So, 
 disabling durable writes but setting memtable lifetime to the same as the 
 commitlog sync would be a reasonable optimization.
 Thus, when we add back memtable lifetime, I think we should measure it in 
 seconds or possibly even milliseconds (to match commitlog_sync_period) rather 
 than minutes.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




git commit: remove unused import

2012-07-23 Thread yukim
Updated Branches:
  refs/heads/trunk 864e03671 - 8d6fe24ce


remove unused import


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

Branch: refs/heads/trunk
Commit: 8d6fe24ce490847aaf3fdb472095279850bbfbd8
Parents: 864e036
Author: Yuki Morishita yu...@apache.org
Authored: Mon Jul 23 09:44:08 2012 -0500
Committer: Yuki Morishita yu...@apache.org
Committed: Mon Jul 23 09:44:08 2012 -0500

--
 src/java/org/apache/cassandra/tools/NodeCmd.java |1 -
 1 files changed, 0 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8d6fe24c/src/java/org/apache/cassandra/tools/NodeCmd.java
--
diff --git a/src/java/org/apache/cassandra/tools/NodeCmd.java 
b/src/java/org/apache/cassandra/tools/NodeCmd.java
index 9fff6c5..49893a1 100644
--- a/src/java/org/apache/cassandra/tools/NodeCmd.java
+++ b/src/java/org/apache/cassandra/tools/NodeCmd.java
@@ -46,7 +46,6 @@ import org.apache.cassandra.service.StorageProxyMBean;
 import org.apache.cassandra.thrift.InvalidRequestException;
 import org.apache.cassandra.utils.EstimatedHistogram;
 import org.apache.cassandra.utils.Pair;
-import org.apache.rat.document.UnreadableArchiveException;
 
 public class NodeCmd
 {



[jira] [Commented] (CASSANDRA-4456) AssertionError in ColumnFamilyStore.getOverlappingSSTables() during repair

2012-07-23 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-4456:
---

I think this was introduced by CASSANDRA-3721: getOverlappingSSTables assumes 
that the sstables we check for overlaps are part of the live set, but now we 
can validate over a snapshot instead.

 AssertionError in ColumnFamilyStore.getOverlappingSSTables() during repair
 --

 Key: CASSANDRA-4456
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4456
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.2
 Environment: Ubuntu 11.04 64-bit
Reporter: Mike Heffner
Assignee: Sylvain Lebresne

 We have hit the following exception on several nodes while running repairs 
 across our 1.1.2 ring. We've observed it happen on either the node executing 
 the repair or a participating replica in the repair operation. The result in 
 either case is that the repair hangs.
 ERROR [ValidationExecutor:9] 2012-07-21 01:54:03,019 
 AbstractCassandraDaemon.java (line 134) Exception in thread 
 Thread[ValidationExecutor:9,1,main]
 java.lang.AssertionError
 at 
 org.apache.cassandra.db.ColumnFamilyStore.getOverlappingSSTables(ColumnFamilyStore.java:874)
 at 
 org.apache.cassandra.db.compaction.CompactionController.init(CompactionController.java:69)
 at 
 org.apache.cassandra.db.compaction.CompactionManager$ValidationCompactionIterable.init(CompactionManager.java:834)
 at 
 org.apache.cassandra.db.compaction.CompactionManager.doValidationCompaction(CompactionManager.java:698)
 at 
 org.apache.cassandra.db.compaction.CompactionManager.access$600(CompactionManager.java:68)
 at 
 org.apache.cassandra.db.compaction.CompactionManager$8.call(CompactionManager.java:438)
 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
 at java.util.concurrent.FutureTask.run(FutureTask.java:138)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
 at java.lang.Thread.run(Thread.java:662)
 In building this ring we migrated sstables from an identical 0.8.8 ring by:
  1. Creating the schema on our new 1.1.2 ring.
  2. Rsyncing over sstables from 0.8.8 ring.
  3. Renaming the sstables to match the directory and file naming structure of 
 1.1.x.
  4. Ran nodetool refresh keyspace cf for each CF across each node.
  5. Ran nodetool upgradesstables for each CF across each node.
 When those steps had completed, we began rolling repairs. Not all of the 
 repair operations have hit the exception -- some of the repairs have 
 completed successfully.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-4456) AssertionError in ColumnFamilyStore.getOverlappingSSTables() during repair

2012-07-23 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-4456:
--

Assignee: Sylvain Lebresne

I think this was introduced by CASSANDRA-3721: getOverlappingSSTables assumes 
that the sstables we check for overlaps are part of the live set, but now we 
can validate over a snapshot instead.

 AssertionError in ColumnFamilyStore.getOverlappingSSTables() during repair
 --

 Key: CASSANDRA-4456
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4456
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.2
 Environment: Ubuntu 11.04 64-bit
Reporter: Mike Heffner
Assignee: Sylvain Lebresne

 We have hit the following exception on several nodes while running repairs 
 across our 1.1.2 ring. We've observed it happen on either the node executing 
 the repair or a participating replica in the repair operation. The result in 
 either case is that the repair hangs.
 ERROR [ValidationExecutor:9] 2012-07-21 01:54:03,019 
 AbstractCassandraDaemon.java (line 134) Exception in thread 
 Thread[ValidationExecutor:9,1,main]
 java.lang.AssertionError
 at 
 org.apache.cassandra.db.ColumnFamilyStore.getOverlappingSSTables(ColumnFamilyStore.java:874)
 at 
 org.apache.cassandra.db.compaction.CompactionController.init(CompactionController.java:69)
 at 
 org.apache.cassandra.db.compaction.CompactionManager$ValidationCompactionIterable.init(CompactionManager.java:834)
 at 
 org.apache.cassandra.db.compaction.CompactionManager.doValidationCompaction(CompactionManager.java:698)
 at 
 org.apache.cassandra.db.compaction.CompactionManager.access$600(CompactionManager.java:68)
 at 
 org.apache.cassandra.db.compaction.CompactionManager$8.call(CompactionManager.java:438)
 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
 at java.util.concurrent.FutureTask.run(FutureTask.java:138)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
 at java.lang.Thread.run(Thread.java:662)
 In building this ring we migrated sstables from an identical 0.8.8 ring by:
  1. Creating the schema on our new 1.1.2 ring.
  2. Rsyncing over sstables from 0.8.8 ring.
  3. Renaming the sstables to match the directory and file naming structure of 
 1.1.x.
  4. Ran nodetool refresh keyspace cf for each CF across each node.
  5. Ran nodetool upgradesstables for each CF across each node.
 When those steps had completed, we began rolling repairs. Not all of the 
 repair operations have hit the exception -- some of the repairs have 
 completed successfully.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-2522) Record latencies for the replicate-on-write stage

2012-07-23 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-2522:
--

Fix Version/s: (was: 1.1.3)

 Record latencies for the replicate-on-write stage
 -

 Key: CASSANDRA-2522
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2522
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Stu Hood
Assignee: Vladimir Sverzhinsky
Priority: Minor
  Labels: lhf

 Like the read and write stages, we should record per-cf latencies for the 
 replicate-on-write stage: it doesn't fit cleanly into any of our existing 
 monitors.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-3930) CommitLogSegment uses RandomAccessFile which doesnt have fadvice

2012-07-23 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-3930:
--

Fix Version/s: (was: 1.1.3)
   1.2

 CommitLogSegment uses RandomAccessFile which doesnt have fadvice
 

 Key: CASSANDRA-3930
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3930
 Project: Cassandra
  Issue Type: Improvement
Affects Versions: 1.0.7
Reporter: Vijay
Assignee: Vijay
Priority: Minor
 Fix For: 1.2


 Wondering if we even need MMap file in this case as it is always sequential.
 If yes, we need it we might want to replace 
 logFileAccessor = new RandomAccessFile(logFile, rw);
 to
 logFileAccessor = SequentialWriter.open(logFile, true);
 in CommitLogSegment

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-4385) bug when trying to describe a cf in a pre cql3 case sensitive keyspace

2012-07-23 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-4385:
--

Reviewer: brandon.williams

 bug when trying to describe a cf in a pre cql3 case sensitive keyspace
 --

 Key: CASSANDRA-4385
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4385
 Project: Cassandra
  Issue Type: Bug
  Components: Drivers
Affects Versions: 1.1.0
 Environment: Linux, Hotspot JDK6, Cassandra 1.1.0 from tarball 
 unmodified, stock config.
Reporter: Al Tobey
Assignee: paul cannon
Priority: Minor
  Labels: cqlsh
 Fix For: 1.1.3

 Attachments: 0001-cqlsh-Fix-error-reporting-for-unknown-CFs.patch


 I can't describe column families in my schema defined via cassandra-cli. 
 Update also seems to fail for the same CF's.
 CREATE KEYSPACE Hastur
   with placement_strategy = 'org.apache.cassandra.locator.SimpleStrategy'
   and strategy_options = {replication_factor:2};
 CREATE COLUMN FAMILY LookupByKey
   with compaction_strategy = 'LeveledCompactionStrategy'
   and compression_options = null;
 Then later, https://gist.github.com/3006886

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-3072) Add a wide-row slice system test

2012-07-23 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-3072:
--

Fix Version/s: (was: 1.1.3)
   1.1.4

 Add a wide-row slice system test
 

 Key: CASSANDRA-3072
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3072
 Project: Cassandra
  Issue Type: Test
  Components: Tests
Reporter: Stu Hood
Assignee: Brandon Williams
Priority: Minor
 Fix For: 1.1.4

 Attachments: 0001-CASSANDRA-3072-Add-a-wide-row-slice-system-test.txt




--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-4271) Exit status of bin/cassandra without -f is wrong

2012-07-23 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-4271:
--

Reviewer: brandon.williams  (was: thobbs)

 Exit status of bin/cassandra without -f is wrong
 

 Key: CASSANDRA-4271
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4271
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Tyler Hobbs
Assignee: paul cannon
Priority: Minor
 Fix For: 1.1.3

 Attachments: 0001-startup-script-returns-0-after-backgrounding.patch


 The launch_service() function returns {{$?}} after exec'ing java, and the 
 script then exits with that same status.
 The problem is that we do a {{[ ! -z $pidpath]  ...}} conditional 
 statment after exec'ing when the foreground flag isn't set.  The value of 
 {{$?}} then depends on that conditional and the statement, typically 
 returning 1, because {{$pidpath}} isn't set.  So, even if everything appears 
 to execute normally, you will get an exit status of 1 for the whole script.
 I suspect the right thing to do is just return 0 when backgrounding.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Assigned] (CASSANDRA-3072) Add a wide-row slice system test

2012-07-23 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis reassigned CASSANDRA-3072:
-

Assignee: Brandon Williams  (was: Stu Hood)

+1 add to dtests.  Brandon, can you take care of that?

 Add a wide-row slice system test
 

 Key: CASSANDRA-3072
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3072
 Project: Cassandra
  Issue Type: Test
  Components: Tests
Reporter: Stu Hood
Assignee: Brandon Williams
Priority: Minor
 Fix For: 1.1.4

 Attachments: 0001-CASSANDRA-3072-Add-a-wide-row-slice-system-test.txt




--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-4454) Add a notice on cqlsh startup about CQL2/3 switches

2012-07-23 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-4454:
--

Fix Version/s: (was: 1.1.3)
   1.1.4

 Add a notice on cqlsh startup about CQL2/3 switches
 ---

 Key: CASSANDRA-4454
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4454
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Affects Versions: 1.1.0
Reporter: Michaël Figuière
Assignee: paul cannon
Priority: Minor
  Labels: cqlsh
 Fix For: 1.1.4


 Several developers I've talked with seem not to have noticed the {{-3}} 
 switch immediately to run in CQL3 mode. If missing, cqlsh can obviously 
 appear buggy in its way to handle CQL3.
 I guess it would be worth to add a notice at startup about this important 
 detail.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4240) Only check the size of indexed column values when they are of type KEYS

2012-07-23 Thread T Jake Luciani (JIRA)

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

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

Patch 4 is missing the unit test and overall the patch has tab-space issues. 
please re-submit once more.

 Only check the size of indexed column values when they are of type KEYS
 ---

 Key: CASSANDRA-4240
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4240
 Project: Cassandra
  Issue Type: Improvement
Affects Versions: 1.0.0
Reporter: Joaquin Casares
Priority: Minor
  Labels: datastax_qa
 Attachments: CASSANDRA-4240.patch, CASSANDRA-4240.patch1, 
 cassandra-1.0.8-CASSANDRA-4240-patch2.txt, 
 cassandra-1.0.8-CASSANDRA-4240-patch3.txt, 
 cassandra-1.0.8-CASSANDRA-4240-patch4.txt, cassandra-1.0.8-CASSANDRA-4240.txt


 https://github.com/apache/cassandra/blob/cassandra-1.0.8/src/java/org/apache/cassandra/thrift/ThriftValidation.java#L431
 That line states that: Indexed column values cannot be larger than 64K. But 
 in some cases we would want the column values to be able to be larger than 
 64k, specifically if the index_type is not of type KEYS.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3706) Back up configuration files on startup

2012-07-23 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-3706:


How far is this from going in? Any thing I can do to help? CASSANDRA-1123 will 
also need distributed system tables and I'd like to minimize duplicate code. 

I can split the patch into generic dist system tables and specific 
configuration backup + rebase and use the common part in 1123.

wdyt?

 Back up configuration files on startup
 --

 Key: CASSANDRA-3706
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3706
 Project: Cassandra
  Issue Type: New Feature
  Components: Tools
Reporter: Jonathan Ellis
Assignee: Dave Brosius
Priority: Minor
  Labels: lhf
 Fix For: 1.2

 Attachments: save_configuration.diff, save_configuration_2.diff, 
 save_configuration_3.diff, save_configuration_4.diff, 
 save_configuration_6.diff, save_configuration_7.diff, 
 save_configuration_8.diff, save_configuration_9.diff


 Snapshot can backup user data, but it's also nice to be able to have 
 known-good configurations saved as well in case of accidental snafus or even 
 catastrophic loss of a cluster.  If we check for changes to cassandra.yaml, 
 cassandra-env.sh, and maybe log4j-server.properties on startup, we can back 
 them up to a columnfamily that can then be handled by normal snapshot/backup 
 procedures.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4427) Restarting a failed bootstrap instajoins the ring

2012-07-23 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-4427:
---

bq. there is still one behavior that the patch changes, that is it will always 
boobstrap non seeds node

You're right.  Okay, take five: https://github.com/jbellis/cassandra/tree/4427-5

4 patches here on top of Brandon's work.  The main ones are the 1st and 4th.  
In the first, I remove the seed special case since it's a subset of the empty 
schema case.  (Unless you're Doing It Wrong and adding seed nodes directly to 
an active cluster, which always surprises people when it burns them.  So I say 
good riddance.)

The first also adds a 2-gossip-round sleep so that (always assuming seeds are 
set correctly) we eliminate the risk of thinking schema is empty incorrectly 
due to a race w/ gossip.  The fourth patch follows this up by making the schema 
check based on other peers' schema uuids instead of local data.  Which is 
unlikely to be a problem today, but is is still a race-y approach and the 
correct alternative was straightforward.

 Restarting a failed bootstrap instajoins the ring
 -

 Key: CASSANDRA-4427
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4427
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.0.0
Reporter: Brandon Williams
Assignee: Jonathan Ellis
 Fix For: 1.0.11, 1.1.3

 Attachments: 4427-v2.txt, 4427-v3.txt, 4427.txt


 I think when we made auto_bootstrap = true the default, we broke the check 
 for the bootstrap flag, creating a dangerous situation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3706) Back up configuration files on startup

2012-07-23 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-3706:
---

I'd just go ahead and build the generic distributed system keyspace in 1123 and 
we'll rebase this on top.

 Back up configuration files on startup
 --

 Key: CASSANDRA-3706
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3706
 Project: Cassandra
  Issue Type: New Feature
  Components: Tools
Reporter: Jonathan Ellis
Assignee: Dave Brosius
Priority: Minor
  Labels: lhf
 Fix For: 1.2

 Attachments: save_configuration.diff, save_configuration_2.diff, 
 save_configuration_3.diff, save_configuration_4.diff, 
 save_configuration_6.diff, save_configuration_7.diff, 
 save_configuration_8.diff, save_configuration_9.diff


 Snapshot can backup user data, but it's also nice to be able to have 
 known-good configurations saved as well in case of accidental snafus or even 
 catastrophic loss of a cluster.  If we check for changes to cassandra.yaml, 
 cassandra-env.sh, and maybe log4j-server.properties on startup, we can back 
 them up to a columnfamily that can then be handled by normal snapshot/backup 
 procedures.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-4456) AssertionError in ColumnFamilyStore.getOverlappingSSTables() during repair

2012-07-23 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-4456:


Attachment: 4456.txt

 AssertionError in ColumnFamilyStore.getOverlappingSSTables() during repair
 --

 Key: CASSANDRA-4456
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4456
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.2
 Environment: Ubuntu 11.04 64-bit
Reporter: Mike Heffner
Assignee: Sylvain Lebresne
 Fix For: 1.1.3

 Attachments: 4456.txt


 We have hit the following exception on several nodes while running repairs 
 across our 1.1.2 ring. We've observed it happen on either the node executing 
 the repair or a participating replica in the repair operation. The result in 
 either case is that the repair hangs.
 ERROR [ValidationExecutor:9] 2012-07-21 01:54:03,019 
 AbstractCassandraDaemon.java (line 134) Exception in thread 
 Thread[ValidationExecutor:9,1,main]
 java.lang.AssertionError
 at 
 org.apache.cassandra.db.ColumnFamilyStore.getOverlappingSSTables(ColumnFamilyStore.java:874)
 at 
 org.apache.cassandra.db.compaction.CompactionController.init(CompactionController.java:69)
 at 
 org.apache.cassandra.db.compaction.CompactionManager$ValidationCompactionIterable.init(CompactionManager.java:834)
 at 
 org.apache.cassandra.db.compaction.CompactionManager.doValidationCompaction(CompactionManager.java:698)
 at 
 org.apache.cassandra.db.compaction.CompactionManager.access$600(CompactionManager.java:68)
 at 
 org.apache.cassandra.db.compaction.CompactionManager$8.call(CompactionManager.java:438)
 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
 at java.util.concurrent.FutureTask.run(FutureTask.java:138)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
 at java.lang.Thread.run(Thread.java:662)
 In building this ring we migrated sstables from an identical 0.8.8 ring by:
  1. Creating the schema on our new 1.1.2 ring.
  2. Rsyncing over sstables from 0.8.8 ring.
  3. Renaming the sstables to match the directory and file naming structure of 
 1.1.x.
  4. Ran nodetool refresh keyspace cf for each CF across each node.
  5. Ran nodetool upgradesstables for each CF across each node.
 When those steps had completed, we began rolling repairs. Not all of the 
 repair operations have hit the exception -- some of the repairs have 
 completed successfully.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4456) AssertionError in ColumnFamilyStore.getOverlappingSSTables() during repair

2012-07-23 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-4456:
-

Actually I think this can happen even when snapshots are not used since a 
sstable can finish to be compacted just between when we chose sstable for 
repair and when we create the CompactionController for the validation 
compaction. In particular, I wonder if Michael and Mike have used -snapshot for 
their compaction. Though it's true that repair on snapshot will make that way 
more likely to happen.

But actually I don't think we need to call getOverlappingSStables at all in the 
first place for repair, since this is used only to decide if we can purge but 
repair does not do purging. Attaching a simple patch to skip the call entirely.


 AssertionError in ColumnFamilyStore.getOverlappingSSTables() during repair
 --

 Key: CASSANDRA-4456
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4456
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.2
 Environment: Ubuntu 11.04 64-bit
Reporter: Mike Heffner
Assignee: Sylvain Lebresne
 Fix For: 1.1.3

 Attachments: 4456.txt


 We have hit the following exception on several nodes while running repairs 
 across our 1.1.2 ring. We've observed it happen on either the node executing 
 the repair or a participating replica in the repair operation. The result in 
 either case is that the repair hangs.
 ERROR [ValidationExecutor:9] 2012-07-21 01:54:03,019 
 AbstractCassandraDaemon.java (line 134) Exception in thread 
 Thread[ValidationExecutor:9,1,main]
 java.lang.AssertionError
 at 
 org.apache.cassandra.db.ColumnFamilyStore.getOverlappingSSTables(ColumnFamilyStore.java:874)
 at 
 org.apache.cassandra.db.compaction.CompactionController.init(CompactionController.java:69)
 at 
 org.apache.cassandra.db.compaction.CompactionManager$ValidationCompactionIterable.init(CompactionManager.java:834)
 at 
 org.apache.cassandra.db.compaction.CompactionManager.doValidationCompaction(CompactionManager.java:698)
 at 
 org.apache.cassandra.db.compaction.CompactionManager.access$600(CompactionManager.java:68)
 at 
 org.apache.cassandra.db.compaction.CompactionManager$8.call(CompactionManager.java:438)
 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
 at java.util.concurrent.FutureTask.run(FutureTask.java:138)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
 at java.lang.Thread.run(Thread.java:662)
 In building this ring we migrated sstables from an identical 0.8.8 ring by:
  1. Creating the schema on our new 1.1.2 ring.
  2. Rsyncing over sstables from 0.8.8 ring.
  3. Renaming the sstables to match the directory and file naming structure of 
 1.1.x.
  4. Ran nodetool refresh keyspace cf for each CF across each node.
  5. Ran nodetool upgradesstables for each CF across each node.
 When those steps had completed, we began rolling repairs. Not all of the 
 repair operations have hit the exception -- some of the repairs have 
 completed successfully.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[1/12] git commit: Merge #4427 to trunk

2012-07-23 Thread brandonwilliams
Updated Branches:
  refs/heads/trunk 8d6fe24ce - 34cd6912b


Merge #4427 to trunk


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

Branch: refs/heads/trunk
Commit: 34cd6912b0e506f923ef33329fc9966d79222e77
Parents: 8d6fe24 ff64c5d
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Jul 23 11:22:37 2012 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Jul 23 11:22:37 2012 -0500

--
 CHANGES.txt|6 +++
 debian/cassandra.postinst  |   10 +-
 doc/cql3/CQL.textile   |7 +++-
 .../org/apache/cassandra/config/CFMetaData.java|   25 +
 src/java/org/apache/cassandra/db/SystemTable.java  |   28 ---
 src/java/org/apache/cassandra/dht/Bounds.java  |5 ++-
 .../apache/cassandra/service/StorageService.java   |   25 +
 test/unit/org/apache/cassandra/cli/CliTest.java|8 
 8 files changed, 97 insertions(+), 17 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/34cd6912/CHANGES.txt
--
diff --cc CHANGES.txt
index e9fdbf4,b2a9faf..55d0bcd
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,38 -1,6 +1,40 @@@
 +1.2-dev
 + * Introduce new json format with row level deletion (CASSANDRA-4054)
 + * remove redundant name column from schema_keyspaces (CASSANDRA-4433)
 + * improve nodetool ring handling of multi-dc clusters (CASSANDRA-3047)
 + * update NTS calculateNaturalEndpoints to be O(N log N) (CASSANDRA-3881)
 + * add UseCondCardMark XX jvm settings on jdk 1.7 (CASSANDRA-4366)
 + * split up rpc timeout by operation type (CASSANDRA-2819)
 + * rewrite key cache save/load to use only sequential i/o (CASSANDRA-3762)
 + * update MS protocol with a version handshake + broadcast address id
 +   (CASSANDRA-4311)
 + * multithreaded hint replay (CASSANDRA-4189)
 + * add inter-node message compression (CASSANDRA-3127)
 + * remove COPP (CASSANDRA-2479)
 + * Track tombstone expiration and compact when tombstone content is
 +   higher than a configurable threshold, default 20% (CASSANDRA-3442, 4234)
 + * update MurmurHash to version 3 (CASSANDRA-2975)
 + * (CLI) track elapsed time for `delete' operation (CASSANDRA-4060)
 + * (CLI) jline version is bumped to 1.0 to properly  support
 +   'delete' key function (CASSANDRA-4132)
 + * Save IndexSummary into new SSTable 'Summary' component (CASSANDRA-2392, 
4289)
 + * Add support for range tombstones (CASSANDRA-3708)
 + * Improve MessagingService efficiency (CASSANDRA-3617)
 + * Avoid ID conflicts from concurrent schema changes (CASSANDRA-3794)
 + * Set thrift HSHA server thread limit to unlimited by default 
(CASSANDRA-4277)
 + * Avoids double serialization of CF id in RowMutation messages
 +   (CASSANDRA-4293)
 + * stream compressed sstables directly with java nio (CASSANDRA-4297)
 + * Support multiple ranges in SliceQueryFilter (CASSANDRA-3885)
 + * Add column metadata to system column families (CASSANDRA-4018)
 + * (cql3) Always use composite types by default (CASSANDRA-4329)
 + * (cql3) Add support for set, map and list (CASSANDRA-3647)
 + * Validate date type correctly (CASSANDRA-4441)
 +
 +
  1.1.3
+  * flush based on data size, not throughput; overwritten columns no 
+longer artificially inflate liveRatio (CASSANDRA-4399)
   * update default commitlog segment size to 32MB and total commitlog
 size to 32/1024 MB for 32/64 bit JVMs, respectively (CASSANDRA-4422)
   * avoid using global partitioner to estimate ranges in index sstables

http://git-wip-us.apache.org/repos/asf/cassandra/blob/34cd6912/src/java/org/apache/cassandra/config/CFMetaData.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/34cd6912/src/java/org/apache/cassandra/db/SystemTable.java
--
diff --cc src/java/org/apache/cassandra/db/SystemTable.java
index 48d9151,af07156..e852003
--- a/src/java/org/apache/cassandra/db/SystemTable.java
+++ b/src/java/org/apache/cassandra/db/SystemTable.java
@@@ -358,20 -359,45 +365,31 @@@ public class SystemTabl
  return generation;
  }
  
- public static boolean isBootstrapped()
+ public static BootstrapState getBootstrapState()
  {
 -Table table = Table.open(Table.SYSTEM_TABLE);
 -QueryFilter filter = 
QueryFilter.getNamesFilter(decorate(BOOTSTRAP_KEY),
 -new 
QueryPath(STATUS_CF),
 - 

[4/12] git commit: Query the JVM for the minimum stack size. Patch by Trevor Robinson, reviewed by brandonwilliams for CASSANDRA-4442

2012-07-23 Thread brandonwilliams
Query the JVM for the minimum stack size.
Patch by Trevor Robinson, reviewed by brandonwilliams for CASSANDRA-4442


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

Branch: refs/heads/trunk
Commit: 5bde2a6d5d6bed3ff15ec6caf20524717a130ecb
Parents: e220efa
Author: Brandon Williams brandonwilli...@apache.org
Authored: Fri Jul 20 15:01:51 2012 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Fri Jul 20 15:01:51 2012 -0500

--
 conf/cassandra-env.sh |   11 ++-
 1 files changed, 6 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5bde2a6d/conf/cassandra-env.sh
--
diff --git a/conf/cassandra-env.sh b/conf/cassandra-env.sh
index cef0efb..17c2fb8 100644
--- a/conf/cassandra-env.sh
+++ b/conf/cassandra-env.sh
@@ -151,18 +151,19 @@ if [ x$CASSANDRA_HEAPDUMP_DIR != x ]; then
 JVM_OPTS=$JVM_OPTS 
-XX:HeapDumpPath=$CASSANDRA_HEAPDUMP_DIR/cassandra-`date +%s`-pid$$.hprof
 fi
 
+java_version=`${JAVA:-java} -version 21 | awk '/version/ {print $3}' | 
egrep -o '[0-9]+\.[0-9]+'`
 
 if [ `uname` = Linux ] ; then
-java_version=`${JAVA:-java} -version 21 | awk '/version/ {print $3}' | 
egrep -o '[0-9]+\.[0-9]+'`
+# try to determine JVM stack minimum by using too-small stack
+# (note that 16k causes segfault and smaller prints invalid size error)
+java_min_stack=`${JAVA:-java} -Xss32k 21 | sed -nr 's/The stack size 
specified is too small, Specify at least ([0-9]+k)/\1/p'`
 # reduce the per-thread stack size to minimize the impact of Thrift
 # thread-per-client.  (Best practice is for client connections to
 # be pooled anyway.) Only do so on Linux where it is known to be
 # supported.
-if [ $java_version = 1.7 ]
+if [ -n $java_min_stack ]
 then
-JVM_OPTS=$JVM_OPTS -Xss160k
-else
-JVM_OPTS=$JVM_OPTS -Xss128k
+JVM_OPTS=$JVM_OPTS -Xss$java_min_stack
 fi
 fi
 echo xss = $JVM_OPTS



[5/12] git commit: fixes small bug introduced by CASSANDRA-4439

2012-07-23 Thread brandonwilliams
fixes small bug introduced by CASSANDRA-4439


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

Branch: refs/heads/trunk
Commit: e220efa2a87c8232d87bdca9f2a02cfcef9f1a4c
Parents: 202f394
Author: Pavel Yaskevich xe...@apache.org
Authored: Thu Jul 19 01:49:46 2012 +0300
Committer: Pavel Yaskevich xe...@apache.org
Committed: Thu Jul 19 01:49:46 2012 +0300

--
 .../org/apache/cassandra/config/CFMetaData.java|3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e220efa2/src/java/org/apache/cassandra/config/CFMetaData.java
--
diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java 
b/src/java/org/apache/cassandra/config/CFMetaData.java
index 5b3f227..9d77912 100644
--- a/src/java/org/apache/cassandra/config/CFMetaData.java
+++ b/src/java/org/apache/cassandra/config/CFMetaData.java
@@ -877,6 +877,9 @@ public final class CFMetaData
 
 String oldIndexName = 
cfm.column_metadata.get(entry.getKey()).getIndexName();
 
+if (oldIndexName == null)
+continue;
+
 if (newDef.getIndexName() != null  
!oldIndexName.equals(newDef.getIndexName()))
 throw new ConfigurationException(Can't modify index name: 
was ' + oldIndexName + ' changed to ' + newDef.getIndexName() + '.);
 



[2/12] git commit: merge CASSANDRA-3636 from 1.0 to 1.1 cassandra 1.0.x breakes APT on debian OpenVZ

2012-07-23 Thread brandonwilliams
merge CASSANDRA-3636 from 1.0 to 1.1 cassandra 1.0.x breakes APT on debian 
OpenVZ


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

Branch: refs/heads/trunk
Commit: ff64c5d11e9e66dfa42a1ca72572a65fb7480f37
Parents: bfdfe90
Author: Dave Brosius dbros...@apache.org
Authored: Mon Jul 23 07:03:52 2012 -0400
Committer: Dave Brosius dbros...@apache.org
Committed: Mon Jul 23 07:03:52 2012 -0400

--
 debian/cassandra.postinst |   10 +-
 1 files changed, 9 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ff64c5d1/debian/cassandra.postinst
--
diff --git a/debian/cassandra.postinst b/debian/cassandra.postinst
index 86adecb..9591459 100644
--- a/debian/cassandra.postinst
+++ b/debian/cassandra.postinst
@@ -38,7 +38,15 @@ case $1 in
 chown -R cassandra: /var/lib/cassandra
 chown -R cassandra: /var/log/cassandra
 fi
-sysctl -p /etc/sysctl.d/cassandra.conf
+if ! sysctl -p /etc/sysctl.d/cassandra.conf; then
+echo 2
+echo Warning: unable to set vm.max_map_count; is this an OpenVZ 
2
+echo instance? If so, it is highly recommended that you set 2
+echo vm.max_map_count to 1048575 in the host. 2
+echo 2
+echo Deleting the local sysctl.d/cassandra.conf. 2
+rm -v /etc/sysctl.d/cassandra.conf
+fi
 ;;
 
 abort-upgrade|abort-remove|abort-deconfigure)



[11/12] git commit: Follow up to #4411

2012-07-23 Thread brandonwilliams
Follow up to #4411

patch by slebresne; reviewed by jbellis for CASSANDRA-4411


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

Branch: refs/heads/trunk
Commit: 35335caa034d5a22dd27058d011b1454fcc87850
Parents: 02030dd
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Mon Jul 16 17:31:55 2012 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Mon Jul 16 17:31:55 2012 +0200

--
 src/java/org/apache/cassandra/dht/Bounds.java |8 
 1 files changed, 4 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/35335caa/src/java/org/apache/cassandra/dht/Bounds.java
--
diff --git a/src/java/org/apache/cassandra/dht/Bounds.java 
b/src/java/org/apache/cassandra/dht/Bounds.java
index b5633c8..c6378a7 100644
--- a/src/java/org/apache/cassandra/dht/Bounds.java
+++ b/src/java/org/apache/cassandra/dht/Bounds.java
@@ -47,10 +47,10 @@ public class BoundsT extends RingPosition extends 
AbstractBoundsT
 
 public boolean contains(T position)
 {
-// Range.contains doesnt work correctly if left == right because for
-// Range that means a wrapping range that select the whole ring. So we
-// must explicitely handle this case
-return left.equals(position) || (!left.equals(right)  
Range.contains(left, right, position));
+// Range.contains doesnt work correctly if left == right (unless both
+// are minimum) because for Range that means a wrapping range that 
select
+// the whole ring. So we must explicitely handle this case
+return left.equals(position) || ((right.isMinimum(partitioner) || 
!left.equals(right))  Range.contains(left, right, position));
 }
 
 public PairAbstractBoundsT, AbstractBoundsT split(T position)



[3/12] git commit: Revert Query the JVM for the minimum stack size.

2012-07-23 Thread brandonwilliams
Revert Query the JVM for the minimum stack size.

This reverts commit 5bde2a6d5d6bed3ff15ec6caf20524717a130ecb.


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

Branch: refs/heads/trunk
Commit: bfdfe9014af788fc9f84ad1283165d9730b999a5
Parents: 5bde2a6
Author: Brandon Williams brandonwilli...@apache.org
Authored: Fri Jul 20 15:41:57 2012 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Fri Jul 20 15:41:57 2012 -0500

--
 conf/cassandra-env.sh |   11 +--
 1 files changed, 5 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/bfdfe901/conf/cassandra-env.sh
--
diff --git a/conf/cassandra-env.sh b/conf/cassandra-env.sh
index 17c2fb8..cef0efb 100644
--- a/conf/cassandra-env.sh
+++ b/conf/cassandra-env.sh
@@ -151,19 +151,18 @@ if [ x$CASSANDRA_HEAPDUMP_DIR != x ]; then
 JVM_OPTS=$JVM_OPTS 
-XX:HeapDumpPath=$CASSANDRA_HEAPDUMP_DIR/cassandra-`date +%s`-pid$$.hprof
 fi
 
-java_version=`${JAVA:-java} -version 21 | awk '/version/ {print $3}' | 
egrep -o '[0-9]+\.[0-9]+'`
 
 if [ `uname` = Linux ] ; then
-# try to determine JVM stack minimum by using too-small stack
-# (note that 16k causes segfault and smaller prints invalid size error)
-java_min_stack=`${JAVA:-java} -Xss32k 21 | sed -nr 's/The stack size 
specified is too small, Specify at least ([0-9]+k)/\1/p'`
+java_version=`${JAVA:-java} -version 21 | awk '/version/ {print $3}' | 
egrep -o '[0-9]+\.[0-9]+'`
 # reduce the per-thread stack size to minimize the impact of Thrift
 # thread-per-client.  (Best practice is for client connections to
 # be pooled anyway.) Only do so on Linux where it is known to be
 # supported.
-if [ -n $java_min_stack ]
+if [ $java_version = 1.7 ]
 then
-JVM_OPTS=$JVM_OPTS -Xss$java_min_stack
+JVM_OPTS=$JVM_OPTS -Xss160k
+else
+JVM_OPTS=$JVM_OPTS -Xss128k
 fi
 fi
 echo xss = $JVM_OPTS



[8/12] git commit: Update changes

2012-07-23 Thread brandonwilliams
Update changes


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

Branch: refs/heads/trunk
Commit: ae13debd39c788dd2aaeef97fd61f60158d4
Parents: ff1ba87
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Jul 16 16:54:29 2012 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Jul 16 16:54:29 2012 -0500

--
 CHANGES.txt |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ae13debd/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index a3ba123..a525ad8 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -17,6 +17,8 @@ Merged from 1.0:
tombstones in PrecompactedRow (CASSANDRA-4396)
  * fix 1.0.x node join to mixed version cluster, other nodes = 1.1 
(CASSANDRA-4195)
  * Fix LCS splitting sstable base on uncompressed size (CASSANDRA-4419)
+ * Bootstraps that fail are detected upon restart and will retry safely without
+   needing to delete existing data first (CASSANDRA-4427)
 
 
 1.1.2



[6/12] git commit: fix Can't Modify Index Name problem on CF update patch by Pavel Yaskevich; reviewed by Yuki Morishita for CASSANDRA-4439

2012-07-23 Thread brandonwilliams
fix Can't Modify Index Name problem on CF update
patch by Pavel Yaskevich; reviewed by Yuki Morishita for CASSANDRA-4439


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

Branch: refs/heads/trunk
Commit: 202f3940dc35411f9b2351a026e859e487b94591
Parents: 7c98271
Author: Pavel Yaskevich xe...@apache.org
Authored: Tue Jul 17 17:18:46 2012 +0300
Committer: Pavel Yaskevich xe...@apache.org
Committed: Thu Jul 19 01:15:28 2012 +0300

--
 CHANGES.txt|1 +
 .../org/apache/cassandra/config/CFMetaData.java|   22 +++
 test/unit/org/apache/cassandra/cli/CliTest.java|8 +
 3 files changed, 31 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/202f3940/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 67b5410..b2a9faf 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -14,6 +14,7 @@
  * change nanoTime() to currentTimeInMillis() in schema related code 
(CASSANDRA-4432)
  * add a token generation tool (CASSANDRA-3709)
  * Fix LCS bug with sstable containing only 1 row (CASSANDRA-4411)
+ * fix Can't Modify Index Name problem on CF update (CASSANDRA-4439)
 Merged from 1.0:
  * allow dropping columns shadowed by not-yet-expired supercolumn or row
tombstones in PrecompactedRow (CASSANDRA-4396)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/202f3940/src/java/org/apache/cassandra/config/CFMetaData.java
--
diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java 
b/src/java/org/apache/cassandra/config/CFMetaData.java
index c6411af..5b3f227 100644
--- a/src/java/org/apache/cassandra/config/CFMetaData.java
+++ b/src/java/org/apache/cassandra/config/CFMetaData.java
@@ -862,6 +862,28 @@ public final class CFMetaData
  */
 public void addDefaultIndexNames() throws ConfigurationException
 {
+// if this is ColumnFamily update we need to add previously defined 
index names to the existing columns first
+Integer cfId = Schema.instance.getId(ksName, cfName);
+if (cfId != null)
+{
+CFMetaData cfm = Schema.instance.getCFMetaData(cfId);
+
+for (Map.EntryByteBuffer, ColumnDefinition entry : 
column_metadata.entrySet())
+{
+ColumnDefinition newDef = entry.getValue();
+
+if (!cfm.column_metadata.containsKey(entry.getKey()) || 
newDef.getIndexType() == null)
+continue;
+
+String oldIndexName = 
cfm.column_metadata.get(entry.getKey()).getIndexName();
+
+if (newDef.getIndexName() != null  
!oldIndexName.equals(newDef.getIndexName()))
+throw new ConfigurationException(Can't modify index name: 
was ' + oldIndexName + ' changed to ' + newDef.getIndexName() + '.);
+
+newDef.setIndexName(oldIndexName);
+}
+}
+
 SetString existingNames = existingIndexNames(null);
 for (ColumnDefinition column : column_metadata.values())
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/202f3940/test/unit/org/apache/cassandra/cli/CliTest.java
--
diff --git a/test/unit/org/apache/cassandra/cli/CliTest.java 
b/test/unit/org/apache/cassandra/cli/CliTest.java
index 756dc7f..c13cf01 100644
--- a/test/unit/org/apache/cassandra/cli/CliTest.java
+++ b/test/unit/org/apache/cassandra/cli/CliTest.java
@@ -39,6 +39,14 @@ public class CliTest extends SchemaLoader
 // please add new statements here so they could be auto-runned by this 
test.
 private String[] statements = {
 use TestKeySpace;,
+create column family SecondaryIndicesWithoutIdxName +
+ with comparator = UTF8Type +
+ and default_validation_class = UTF8Type +
+ and column_metadata = [{column_name: profileId, 
validation_class: UTF8Type, index_type: KEYS}];,
+update column family SecondaryIndicesWithoutIdxName +
+ with column_metadata =  +
+[{column_name: profileId, validation_class: UTF8Type, 
index_type: KEYS}, +
+ {column_name: postedDate, validation_class: LongType}];,
 create column family 123 with comparator=UTF8Type and 
column_metadata=[{ column_name:world, validation_class:IntegerType, 
index_type:0, index_name:IdxName },  +

{ column_name:world2, 

[12/12] git commit: Fix LCS bug with sstables containing only 1 row

2012-07-23 Thread brandonwilliams
Fix LCS bug with sstables containing only 1 row

patch by slebresne; reviewed by jbellis for CASSANDRA-4411


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

Branch: refs/heads/trunk
Commit: 02030dd658e6ca0cdb8987fd72e0454066e1b6d6
Parents: 9f32efa
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Mon Jul 16 15:34:33 2012 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Mon Jul 16 15:34:33 2012 +0200

--
 CHANGES.txt   |1 +
 src/java/org/apache/cassandra/dht/Bounds.java |5 -
 2 files changed, 5 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/02030dd6/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index f9b45d6..a3ba123 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -11,6 +11,7 @@
  * (cql3) delete component_index column on DROP TABLE call (CASSANDRA-4420)
  * change nanoTime() to currentTimeInMillis() in schema related code 
(CASSANDRA-4432)
  * add a token generation tool (CASSANDRA-3709)
+ * Fix LCS bug with sstable containing only 1 row (CASSANDRA-4411)
 Merged from 1.0:
  * allow dropping columns shadowed by not-yet-expired supercolumn or row
tombstones in PrecompactedRow (CASSANDRA-4396)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/02030dd6/src/java/org/apache/cassandra/dht/Bounds.java
--
diff --git a/src/java/org/apache/cassandra/dht/Bounds.java 
b/src/java/org/apache/cassandra/dht/Bounds.java
index 0e4dbdf..b5633c8 100644
--- a/src/java/org/apache/cassandra/dht/Bounds.java
+++ b/src/java/org/apache/cassandra/dht/Bounds.java
@@ -47,7 +47,10 @@ public class BoundsT extends RingPosition extends 
AbstractBoundsT
 
 public boolean contains(T position)
 {
-return Range.contains(left, right, position) || left.equals(position);
+// Range.contains doesnt work correctly if left == right because for
+// Range that means a wrapping range that select the whole ring. So we
+// must explicitely handle this case
+return left.equals(position) || (!left.equals(right)  
Range.contains(left, right, position));
 }
 
 public PairAbstractBoundsT, AbstractBoundsT split(T position)



[9/12] git commit: Convert bootstrap state from boolean to 3-way value; detect and retry partial bootstraps on restart. Patch by brandonwilliams, reviewed by jbellis for CASSANDRA-4427

2012-07-23 Thread brandonwilliams
Convert bootstrap state from boolean to 3-way value; detect and retry
partial bootstraps on restart.
Patch by brandonwilliams, reviewed by jbellis for CASSANDRA-4427


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

Branch: refs/heads/trunk
Commit: ff1ba870726d9c0de24ff8dad3e23aa96465290e
Parents: 4a002a5
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Jul 16 16:13:53 2012 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Jul 16 16:18:55 2012 -0500

--
 src/java/org/apache/cassandra/db/SystemTable.java  |   27 ---
 .../apache/cassandra/service/StorageService.java   |   25 +
 2 files changed, 39 insertions(+), 13 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ff1ba870/src/java/org/apache/cassandra/db/SystemTable.java
--
diff --git a/src/java/org/apache/cassandra/db/SystemTable.java 
b/src/java/org/apache/cassandra/db/SystemTable.java
index f673ecf..af07156 100644
--- a/src/java/org/apache/cassandra/db/SystemTable.java
+++ b/src/java/org/apache/cassandra/db/SystemTable.java
@@ -69,6 +69,13 @@ public class SystemTable
 private static final ByteBuffer CURRENT_LOCAL_NODE_ID_KEY = 
ByteBufferUtil.bytes(CurrentLocal);
 private static final ByteBuffer ALL_LOCAL_NODE_ID_KEY = 
ByteBufferUtil.bytes(Local);
 
+public enum BootstrapState
+{
+NEEDS_BOOTSTRAP, // ordered for boolean backward compatibility, false
+COMPLETED, // true
+IN_PROGRESS
+}
+
 private static DecoratedKey decorate(ByteBuffer key)
 {
 return StorageService.getPartitioner().decorateKey(key);
@@ -352,7 +359,7 @@ public class SystemTable
 return generation;
 }
 
-public static boolean isBootstrapped()
+public static BootstrapState getBootstrapState()
 {
 Table table = Table.open(Table.SYSTEM_TABLE);
 QueryFilter filter = 
QueryFilter.getNamesFilter(decorate(BOOTSTRAP_KEY),
@@ -360,16 +367,26 @@ public class SystemTable
 BOOTSTRAP);
 ColumnFamily cf = 
table.getColumnFamilyStore(STATUS_CF).getColumnFamily(filter);
 if (cf == null)
-return false;
+return BootstrapState.NEEDS_BOOTSTRAP;
 IColumn c = cf.getColumn(BOOTSTRAP);
-return c.value().get(c.value().position()) == 1;
+return BootstrapState.values()[c.value().get(c.value().position())];
+}
+
+public static boolean bootstrapComplete()
+{
+return getBootstrapState() == BootstrapState.COMPLETED;
+}
+
+public static boolean bootstrapInProgress()
+{
+return getBootstrapState() == BootstrapState.IN_PROGRESS;
 }
 
-public static void setBootstrapped(boolean isBootstrapped)
+public static void setBootstrapState(BootstrapState state)
 {
 ColumnFamily cf = ColumnFamily.create(Table.SYSTEM_TABLE, STATUS_CF);
 cf.addColumn(new Column(BOOTSTRAP,
-ByteBuffer.wrap(new byte[] { (byte) 
(isBootstrapped ? 1 : 0) }),
+ByteBuffer.wrap(new byte[] { (byte) 
(state.ordinal()) }),
 FBUtilities.timestampMicros()));
 RowMutation rm = new RowMutation(Table.SYSTEM_TABLE, BOOTSTRAP_KEY);
 rm.add(cf);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ff1ba870/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 9d9690a..28a3551 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -559,17 +559,26 @@ public class StorageService implements 
IEndpointStateChangeSubscriber, StorageSe
 
 if (DatabaseDescriptor.isAutoBootstrap()
  
DatabaseDescriptor.getSeeds().contains(FBUtilities.getBroadcastAddress())
- !SystemTable.isBootstrapped())
+ !SystemTable.bootstrapComplete())
 logger_.info(This node will not auto bootstrap because it is 
configured to be a seed node.);
 
 InetAddress current = null;
-// first startup is only chance to bootstrap
+// we can bootstrap at startup, or if we detect a previous attempt 
that failed, which is to say:
+// DD.isAutoBootstrap must be true AND:
+//  bootstrap is not recorded as complete, 

[10/12] git commit: Minor edit to CQL3 doc

2012-07-23 Thread brandonwilliams
Minor edit to CQL3 doc


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

Branch: refs/heads/trunk
Commit: 4a002a5792d36eef38952cc7921bf4af904e142a
Parents: 35335ca
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Mon Jul 16 19:24:03 2012 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Mon Jul 16 19:24:03 2012 +0200

--
 doc/cql3/CQL.textile |7 +--
 1 files changed, 5 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/4a002a57/doc/cql3/CQL.textile
--
diff --git a/doc/cql3/CQL.textile b/doc/cql3/CQL.textile
index 2255e0b..e0f25da 100644
--- a/doc/cql3/CQL.textile
+++ b/doc/cql3/CQL.textile
@@ -596,8 +596,6 @@ The @where-clause@ specifies which rows must be queried. 
It is composed of rel
 
 Not all relations are allowed in a query. For instance, non-equal relations 
(where @IN@ is considered as an equal relation) on a partition key is only 
supported if the partitioner for the keyspace is an ordered one. Moreover, for 
a given partition key, the clustering keys induce an ordering of rows and 
relations on them is restricted to the relations that allow to select a 
*contiguous* (for the ordering) set of rows. For instance, given
 
-When specifying relations, the @TOKEN@ function can be used on the @PARTITION 
KEY@ column to query. In that case, rows will be selected based on the token of 
their @PARTITION_KEY@ rather than on the value (note that the token of a key 
depends on the partitioner in use).
-
 bc(sample). 
 CREATE TABLE posts (
 userid text,
@@ -620,6 +618,11 @@ bc(sample).
 // Needs a blog_title to be set to select ranges of posted_at
 SELECT entry_title, content FROM posts WHERE userid='john doe' AND posted_at 
= 2012-01-01 AND posted_at  2012-01-31
 
+When specifying relations, the @TOKEN@ function can be used on the @PARTITION 
KEY@ column to query. In that case, rows will be selected based on the token of 
their @PARTITION_KEY@ rather than on the value (note that the token of a key 
depends on the partitioner in use, and that in particular the RandomPartitioner 
won't yeld a meaningful order). Example:
+
+bc(sample). 
+SELECT * FROM posts WHERE token(userid)  token('tom') AND token(userid)  
token('bob')
+
 h4(#selectOrderBy). @order-by@
 
 The @ORDER BY@ option allows to select the order of the returned results. It 
takes as argument a list of column names along with the order for the column 
(@ASC@ for ascendant and @DESC@ for descendant, omitting the order being 
equivalent to @ASC@). Currently the possible orderings are limited (which 
depends on the table @CLUSTERING ORDER@:#createTableOptions):



[7/12] git commit: add #4399 to CHANGES

2012-07-23 Thread brandonwilliams
add #4399 to CHANGES


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

Branch: refs/heads/trunk
Commit: 7c982717a370f39907ce4ebe46359b1ea2cc9c3b
Parents: ae13deb
Author: Jonathan Ellis jbel...@apache.org
Authored: Tue Jul 17 14:02:55 2012 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Tue Jul 17 14:03:42 2012 -0500

--
 CHANGES.txt |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7c982717/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index a525ad8..67b5410 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,6 @@
 1.1.3
+ * flush based on data size, not throughput; overwritten columns no 
+   longer artificially inflate liveRatio (CASSANDRA-4399)
  * update default commitlog segment size to 32MB and total commitlog
size to 32/1024 MB for 32/64 bit JVMs, respectively (CASSANDRA-4422)
  * avoid using global partitioner to estimate ranges in index sstables



[jira] [Commented] (CASSANDRA-4456) AssertionError in ColumnFamilyStore.getOverlappingSSTables() during repair

2012-07-23 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-4456:
---

You need to wire VCC in to ValidationCompactionIterable, but otherwise +1.

 AssertionError in ColumnFamilyStore.getOverlappingSSTables() during repair
 --

 Key: CASSANDRA-4456
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4456
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.2
 Environment: Ubuntu 11.04 64-bit
Reporter: Mike Heffner
Assignee: Sylvain Lebresne
 Fix For: 1.1.3

 Attachments: 4456.txt


 We have hit the following exception on several nodes while running repairs 
 across our 1.1.2 ring. We've observed it happen on either the node executing 
 the repair or a participating replica in the repair operation. The result in 
 either case is that the repair hangs.
 ERROR [ValidationExecutor:9] 2012-07-21 01:54:03,019 
 AbstractCassandraDaemon.java (line 134) Exception in thread 
 Thread[ValidationExecutor:9,1,main]
 java.lang.AssertionError
 at 
 org.apache.cassandra.db.ColumnFamilyStore.getOverlappingSSTables(ColumnFamilyStore.java:874)
 at 
 org.apache.cassandra.db.compaction.CompactionController.init(CompactionController.java:69)
 at 
 org.apache.cassandra.db.compaction.CompactionManager$ValidationCompactionIterable.init(CompactionManager.java:834)
 at 
 org.apache.cassandra.db.compaction.CompactionManager.doValidationCompaction(CompactionManager.java:698)
 at 
 org.apache.cassandra.db.compaction.CompactionManager.access$600(CompactionManager.java:68)
 at 
 org.apache.cassandra.db.compaction.CompactionManager$8.call(CompactionManager.java:438)
 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
 at java.util.concurrent.FutureTask.run(FutureTask.java:138)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
 at java.lang.Thread.run(Thread.java:662)
 In building this ring we migrated sstables from an identical 0.8.8 ring by:
  1. Creating the schema on our new 1.1.2 ring.
  2. Rsyncing over sstables from 0.8.8 ring.
  3. Renaming the sstables to match the directory and file naming structure of 
 1.1.x.
  4. Ran nodetool refresh keyspace cf for each CF across each node.
  5. Ran nodetool upgradesstables for each CF across each node.
 When those steps had completed, we began rolling repairs. Not all of the 
 repair operations have hit the exception -- some of the repairs have 
 completed successfully.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




git commit: fix merge from 1.1 to use UUID instead of Integer for CF identifier.

2012-07-23 Thread xedin
Updated Branches:
  refs/heads/trunk 34cd6912b - 655a76fac


fix merge from 1.1 to use UUID instead of Integer for CF identifier.


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

Branch: refs/heads/trunk
Commit: 655a76face34c18370d49c4fb0a1232395187ea1
Parents: 34cd691
Author: Pavel Yaskevich xe...@apache.org
Authored: Mon Jul 23 19:33:45 2012 +0300
Committer: Pavel Yaskevich xe...@apache.org
Committed: Mon Jul 23 19:33:45 2012 +0300

--
 .../org/apache/cassandra/config/CFMetaData.java|2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/655a76fa/src/java/org/apache/cassandra/config/CFMetaData.java
--
diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java 
b/src/java/org/apache/cassandra/config/CFMetaData.java
index a54b4ff..3cf41d7 100644
--- a/src/java/org/apache/cassandra/config/CFMetaData.java
+++ b/src/java/org/apache/cassandra/config/CFMetaData.java
@@ -886,7 +886,7 @@ public final class CFMetaData
 public void addDefaultIndexNames() throws ConfigurationException
 {
 // if this is ColumnFamily update we need to add previously defined 
index names to the existing columns first
-Integer cfId = Schema.instance.getId(ksName, cfName);
+UUID cfId = Schema.instance.getId(ksName, cfName);
 if (cfId != null)
 {
 CFMetaData cfm = Schema.instance.getCFMetaData(cfId);



[jira] [Commented] (CASSANDRA-4447) enable jamm for OpenJDK = 1.6.0.23

2012-07-23 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-4447:
-

Can you attach this diff to the ticket?

 enable jamm for OpenJDK = 1.6.0.23
 ---

 Key: CASSANDRA-4447
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4447
 Project: Cassandra
  Issue Type: Improvement
  Components: Packaging
 Environment: openjdk
Reporter: Ilya Shipitsin
Priority: Trivial
 Fix For: 1.1.3


 we tested jamm with OpenJDK, it works well starting at 1.6.0.23, so I suggest
 --- cassandra-env.sh.dist   2012-07-19 12:24:44.938886154 +0600
 +++ cassandra-env.sh2012-07-19 12:28:34.913886847 +0600
 @@ -119,8 +119,10 @@
  
  # add the jamm javaagent
  check_openjdk=`${JAVA:-java} -version 21 | awk '{if (NR == 2) {print 
 $1}}'`
 -if [ $check_openjdk != OpenJDK ]
 +check_openjdk_is_good_for_jamm=`${JAVA:-java} -version 21 | awk -F 
 _|\ '/1\.6\.0/  $3  23 {print bad }'`
 +if [ $check_openjdk = OpenJDK ]  [ $check_openjdk_is_good_for_jamm = 
 bad ]
  then
 +else 
  JVM_OPTS=$JVM_OPTS -javaagent:$CASSANDRA_HOME/lib/jamm-0.2.5.jar
  fi

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[2/3] git commit: Fix startup script return code. Patch by paul cannon, reviewed by brandonwilliams for CASSANDRA-4271

2012-07-23 Thread brandonwilliams
Fix startup script return code.
Patch by paul cannon, reviewed by brandonwilliams for CASSANDRA-4271


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

Branch: refs/heads/trunk
Commit: 29379a525420147203777a403f7675232f927a53
Parents: ff64c5d
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Jul 23 11:44:52 2012 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Jul 23 11:44:52 2012 -0500

--
 bin/cassandra |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/29379a52/bin/cassandra
--
diff --git a/bin/cassandra b/bin/cassandra
index 638e41c..f20fc76 100755
--- a/bin/cassandra
+++ b/bin/cassandra
@@ -139,6 +139,7 @@ launch_service()
 else
 exec $NUMACTL $JAVA $JVM_OPTS $cassandra_parms -cp $CLASSPATH 
$props $class - 
 [ ! -z $pidpath ]  printf %d $!  $pidpath
+true
 fi
 
 return $?



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

2012-07-23 Thread brandonwilliams
Updated Branches:
  refs/heads/cassandra-1.1 ff64c5d11 - 29379a525
  refs/heads/trunk 655a76fac - d6b7dd60f


Merge branch 'cassandra-1.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/d6b7dd60
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d6b7dd60
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d6b7dd60

Branch: refs/heads/trunk
Commit: d6b7dd60fe826f2d66f8f38e0e44c4857a6e967d
Parents: 655a76f 29379a5
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Jul 23 11:46:29 2012 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Jul 23 11:46:29 2012 -0500

--
 bin/cassandra |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d6b7dd60/bin/cassandra
--



[3/3] git commit: Fix startup script return code. Patch by paul cannon, reviewed by brandonwilliams for CASSANDRA-4271

2012-07-23 Thread brandonwilliams
Fix startup script return code.
Patch by paul cannon, reviewed by brandonwilliams for CASSANDRA-4271


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

Branch: refs/heads/cassandra-1.1
Commit: 29379a525420147203777a403f7675232f927a53
Parents: ff64c5d
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Jul 23 11:44:52 2012 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Jul 23 11:44:52 2012 -0500

--
 bin/cassandra |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/29379a52/bin/cassandra
--
diff --git a/bin/cassandra b/bin/cassandra
index 638e41c..f20fc76 100755
--- a/bin/cassandra
+++ b/bin/cassandra
@@ -139,6 +139,7 @@ launch_service()
 else
 exec $NUMACTL $JAVA $JVM_OPTS $cassandra_parms -cp $CLASSPATH 
$props $class - 
 [ ! -z $pidpath ]  printf %d $!  $pidpath
+true
 fi
 
 return $?



[jira] [Updated] (CASSANDRA-4240) Only check the size of indexed column values when they are of type KEYS

2012-07-23 Thread Alex Liu (JIRA)

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

Alex Liu updated CASSANDRA-4240:


Attachment: cassandra-1.0.8-CASSANDRA-4240-patch5.txt

attach re-format the patch and include unit test

 Only check the size of indexed column values when they are of type KEYS
 ---

 Key: CASSANDRA-4240
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4240
 Project: Cassandra
  Issue Type: Improvement
Affects Versions: 1.0.0
Reporter: Joaquin Casares
Priority: Minor
  Labels: datastax_qa
 Attachments: CASSANDRA-4240.patch, CASSANDRA-4240.patch1, 
 cassandra-1.0.8-CASSANDRA-4240-patch2.txt, 
 cassandra-1.0.8-CASSANDRA-4240-patch3.txt, 
 cassandra-1.0.8-CASSANDRA-4240-patch4.txt, 
 cassandra-1.0.8-CASSANDRA-4240-patch5.txt, cassandra-1.0.8-CASSANDRA-4240.txt


 https://github.com/apache/cassandra/blob/cassandra-1.0.8/src/java/org/apache/cassandra/thrift/ThriftValidation.java#L431
 That line states that: Indexed column values cannot be larger than 64K. But 
 in some cases we would want the column values to be able to be larger than 
 64k, specifically if the index_type is not of type KEYS.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4439) Updating column family using cassandra-cli results in Cannot modify index name

2012-07-23 Thread Hudson (JIRA)

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

Hudson commented on CASSANDRA-4439:
---

Integrated in Cassandra #1768 (See 
[https://builds.apache.org/job/Cassandra/1768/])
fixes small bug introduced by CASSANDRA-4439 (Revision 
e220efa2a87c8232d87bdca9f2a02cfcef9f1a4c)

 Result = ABORTED
xedin : 
Files : 
* src/java/org/apache/cassandra/config/CFMetaData.java


 Updating column family using cassandra-cli results in Cannot modify index 
 name
 

 Key: CASSANDRA-4439
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4439
 Project: Cassandra
  Issue Type: Bug
  Components: Core, Tools
Affects Versions: 1.1.2
 Environment: cassandra 1.1.2, RHEL6.3, running under java-1.6.0-sun
Reporter: Alex Schultz
Assignee: Pavel Yaskevich
Priority: Minor
  Labels: cli, schema
 Fix For: 1.1.3

 Attachments: CASSANDRA-4439.patch


 Using cassandra-cli the following update to a column family worked in 1.1.0:
 {code}
 create keyspace testing;
 use testing;
 create column family Album
 with comparator = UTF8Type
 and default_validation_class = UTF8Type
 and column_metadata =
 [
 {column_name: profileId, validation_class: UTF8Type, index_type: KEYS}
 ];
 update column family Album
 and column_metadata =
 [
 {column_name: profileId, validation_class: UTF8Type, index_type: KEYS},
 {column_name: postedDate, validation_class: LongType}
 ];
 {code}
 After upgrading to 1.1.2, the update statement fails with the following 
 exception in system.log:
 {quote}
 ERROR [Thrift:16] 2012-07-13 14:51:54,558 CustomTThreadPoolServer.java (line 
 204) Error occurred during processing of message.
 java.lang.RuntimeException: java.util.concurrent.ExecutionException: 
 java.io.IOException: org.apache.cassandra.config.ConfigurationException: 
 Cannot modify index name
 at 
 org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:373)
 at 
 org.apache.cassandra.service.MigrationManager.announce(MigrationManager.java:188)
 at 
 org.apache.cassandra.service.MigrationManager.announceColumnFamilyUpdate(MigrationManager.java:161)
 at 
 org.apache.cassandra.thrift.CassandraServer.system_update_column_family(CassandraServer.java:1063)
 at 
 org.apache.cassandra.thrift.Cassandra$Processor$system_update_column_family.getResult(Cassandra.java:3520)
 at 
 org.apache.cassandra.thrift.Cassandra$Processor$system_update_column_family.getResult(Cassandra.java:3508)
 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:186)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
 at java.lang.Thread.run(Thread.java:662)
 Caused by: java.util.concurrent.ExecutionException: java.io.IOException: 
 org.apache.cassandra.config.ConfigurationException: Cannot modify index name
 at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
 at java.util.concurrent.FutureTask.get(FutureTask.java:83)
 at 
 org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:369)
 ... 11 more
 Caused by: java.io.IOException: 
 org.apache.cassandra.config.ConfigurationException: Cannot modify index name
 at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:676)
 at 
 org.apache.cassandra.db.DefsTable.updateColumnFamily(DefsTable.java:463)
 at 
 org.apache.cassandra.db.DefsTable.mergeColumnFamilies(DefsTable.java:407)
 at org.apache.cassandra.db.DefsTable.mergeSchema(DefsTable.java:271)
 at 
 org.apache.cassandra.service.MigrationManager$1.call(MigrationManager.java:211)
 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
 at java.util.concurrent.FutureTask.run(FutureTask.java:138)
 ... 3 more
 Caused by: org.apache.cassandra.config.ConfigurationException: Cannot modify 
 index name
 at 
 org.apache.cassandra.config.ColumnDefinition.apply(ColumnDefinition.java:214)
 at org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:758)
 at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:672)
 ... 9 more
 ERROR [MigrationStage:1] 2012-07-13 14:51:54,561 AbstractCassandraDaemon.java 
 (line 134) Exception in thread Thread[MigrationStage:1,5,main]
 java.io.IOException: 

[jira] [Commented] (CASSANDRA-3636) cassandra 1.0.x breakes APT on debian OpenVZ

2012-07-23 Thread Hudson (JIRA)

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

Hudson commented on CASSANDRA-3636:
---

Integrated in Cassandra #1768 (See 
[https://builds.apache.org/job/Cassandra/1768/])
merge CASSANDRA-3636 from 1.0 to 1.1 cassandra 1.0.x breakes APT on debian 
OpenVZ (Revision ff64c5d11e9e66dfa42a1ca72572a65fb7480f37)

 Result = ABORTED
dbrosius : 
Files : 
* debian/cassandra.postinst


 cassandra 1.0.x breakes APT on debian OpenVZ
 

 Key: CASSANDRA-3636
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3636
 Project: Cassandra
  Issue Type: Bug
  Components: Packaging
Affects Versions: 1.0.0
 Environment: Debian Linux (stable), OpenVZ container
Reporter: Zenek Kraweznik
Assignee: paul cannon
Priority: Minor
 Fix For: 1.0.11, 1.1.1

 Attachments: 3636.patch.txt


 During upgrade from 1.0.6
 {code}Setting up cassandra (1.0.6) ...
 *error: permission denied on key 'vm.max_map_count'*
 dpkg: error processing cassandra (--configure):
  subprocess installed post-installation script returned error exit status 255
 Errors were encountered while processing:
  cassandra
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Resolved] (CASSANDRA-3636) cassandra 1.0.x breakes APT on debian OpenVZ

2012-07-23 Thread Brandon Williams (JIRA)

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

Brandon Williams resolved CASSANDRA-3636.
-

Resolution: Fixed

bq. The trunk version of debian/cassandra.postinst doesn't contain the changes 
from Paul's fix in commit 48438ffc61bce2396fa2eac2f88fa66a6e6a69cd.

Yes it does.

 cassandra 1.0.x breakes APT on debian OpenVZ
 

 Key: CASSANDRA-3636
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3636
 Project: Cassandra
  Issue Type: Bug
  Components: Packaging
Affects Versions: 1.0.0
 Environment: Debian Linux (stable), OpenVZ container
Reporter: Zenek Kraweznik
Assignee: paul cannon
Priority: Minor
 Fix For: 1.0.11, 1.1.1

 Attachments: 3636.patch.txt


 During upgrade from 1.0.6
 {code}Setting up cassandra (1.0.6) ...
 *error: permission denied on key 'vm.max_map_count'*
 dpkg: error processing cassandra (--configure):
  subprocess installed post-installation script returned error exit status 255
 Errors were encountered while processing:
  cassandra
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




git commit: Fix assertion error in getOverlappingSSTable during repair

2012-07-23 Thread slebresne
Updated Branches:
  refs/heads/cassandra-1.1 29379a525 - aba1f16be


Fix assertion error in getOverlappingSSTable during repair

patch by slebresne; reviewed by jbellis for CASSANDRA-4456


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

Branch: refs/heads/cassandra-1.1
Commit: aba1f16be8bf45b3efefe4a42d604dea155b2595
Parents: 29379a5
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Mon Jul 23 17:25:49 2012 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Mon Jul 23 19:17:36 2012 +0200

--
 CHANGES.txt|1 +
 .../cassandra/db/compaction/CompactionManager.java |   27 ++-
 2 files changed, 27 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/aba1f16b/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index b2a9faf..0885387 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -15,6 +15,7 @@
  * add a token generation tool (CASSANDRA-3709)
  * Fix LCS bug with sstable containing only 1 row (CASSANDRA-4411)
  * fix Can't Modify Index Name problem on CF update (CASSANDRA-4439)
+ * Fix assertion error in getOverlappingSSTables during repair (CASSANDRA-4456)
 Merged from 1.0:
  * allow dropping columns shadowed by not-yet-expired supercolumn or row
tombstones in PrecompactedRow (CASSANDRA-4396)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/aba1f16b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
--
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java 
b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index 3c50a09..4b39280 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@ -55,6 +55,7 @@ import org.slf4j.LoggerFactory;
 
 import com.google.common.base.Predicates;
 import com.google.common.collect.Iterators;
+import com.google.common.collect.ImmutableSet;
 
 /**
  * A singleton which manages a private executor of ongoing compactions. A 
readwrite lock
@@ -833,7 +834,31 @@ public class CompactionManager implements 
CompactionManagerMBean
 {
 super(OperationType.VALIDATION,
   cfs.getCompactionStrategy().getScanners(sstables, range),
-  new CompactionController(cfs, sstables, 
getDefaultGcBefore(cfs), true));
+  new ValidationCompactionController(cfs, sstables));
+}
+}
+
+/*
+ * Controller for validation compaction that never purges.
+ * Note that we should not call cfs.getOverlappingSSTables on the provided
+ * sstables because those sstables are not guaranteed to be active sstables
+ * (since we can run repair on a snapshot).
+ */
+private static class ValidationCompactionController extends 
CompactionController
+{
+public ValidationCompactionController(ColumnFamilyStore cfs, 
CollectionSSTableReader sstables)
+{
+super(cfs,
+  Integer.MAX_VALUE,
+  true,
+  null,
+  
cfs.getCompactionStrategy().isKeyExistenceExpensive(ImmutableSet.copyOf(sstables)));
+}
+
+@Override
+public boolean shouldPurge(DecoratedKey key)
+{
+return false;
 }
 }
 



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

2012-07-23 Thread slebresne
Updated Branches:
  refs/heads/trunk d6b7dd60f - 49f297417


Merge branch 'cassandra-1.1' into trunk

Conflicts:
src/java/org/apache/cassandra/db/compaction/CompactionManager.java


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

Branch: refs/heads/trunk
Commit: 49f297417d121354851faf7a820e56243e49f15c
Parents: d6b7dd6 aba1f16
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Mon Jul 23 19:21:12 2012 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Mon Jul 23 19:21:12 2012 +0200

--
 CHANGES.txt|1 +
 .../cassandra/db/compaction/CompactionManager.java |   24 ++-
 2 files changed, 24 insertions(+), 1 deletions(-)
--


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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/49f29741/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
--
diff --cc src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index 6a1c850,4b39280..c9a3823
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@@ -844,7 -834,31 +844,29 @@@ public class CompactionManager implemen
  {
  super(OperationType.VALIDATION,
cfs.getCompactionStrategy().getScanners(sstables, range),
-   new CompactionController(cfs, sstables, 
getDefaultGcBefore(cfs), true));
+   new ValidationCompactionController(cfs, sstables));
+ }
+ }
+ 
+ /*
+  * Controller for validation compaction that never purges.
+  * Note that we should not call cfs.getOverlappingSSTables on the provided
+  * sstables because those sstables are not guaranteed to be active 
sstables
+  * (since we can run repair on a snapshot).
+  */
+ private static class ValidationCompactionController extends 
CompactionController
+ {
+ public ValidationCompactionController(ColumnFamilyStore cfs, 
CollectionSSTableReader sstables)
+ {
+ super(cfs,
+   Integer.MAX_VALUE,
 -  true,
 -  null,
 -  
cfs.getCompactionStrategy().isKeyExistenceExpensive(ImmutableSet.copyOf(sstables)));
++  null);
+ }
+ 
+ @Override
+ public boolean shouldPurge(DecoratedKey key)
+ {
+ return false;
  }
  }
  



[2/2] git commit: Fix assertion error in getOverlappingSSTable during repair

2012-07-23 Thread slebresne
Fix assertion error in getOverlappingSSTable during repair

patch by slebresne; reviewed by jbellis for CASSANDRA-4456


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

Branch: refs/heads/trunk
Commit: aba1f16be8bf45b3efefe4a42d604dea155b2595
Parents: 29379a5
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Mon Jul 23 17:25:49 2012 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Mon Jul 23 19:17:36 2012 +0200

--
 CHANGES.txt|1 +
 .../cassandra/db/compaction/CompactionManager.java |   27 ++-
 2 files changed, 27 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/aba1f16b/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index b2a9faf..0885387 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -15,6 +15,7 @@
  * add a token generation tool (CASSANDRA-3709)
  * Fix LCS bug with sstable containing only 1 row (CASSANDRA-4411)
  * fix Can't Modify Index Name problem on CF update (CASSANDRA-4439)
+ * Fix assertion error in getOverlappingSSTables during repair (CASSANDRA-4456)
 Merged from 1.0:
  * allow dropping columns shadowed by not-yet-expired supercolumn or row
tombstones in PrecompactedRow (CASSANDRA-4396)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/aba1f16b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
--
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java 
b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index 3c50a09..4b39280 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@ -55,6 +55,7 @@ import org.slf4j.LoggerFactory;
 
 import com.google.common.base.Predicates;
 import com.google.common.collect.Iterators;
+import com.google.common.collect.ImmutableSet;
 
 /**
  * A singleton which manages a private executor of ongoing compactions. A 
readwrite lock
@@ -833,7 +834,31 @@ public class CompactionManager implements 
CompactionManagerMBean
 {
 super(OperationType.VALIDATION,
   cfs.getCompactionStrategy().getScanners(sstables, range),
-  new CompactionController(cfs, sstables, 
getDefaultGcBefore(cfs), true));
+  new ValidationCompactionController(cfs, sstables));
+}
+}
+
+/*
+ * Controller for validation compaction that never purges.
+ * Note that we should not call cfs.getOverlappingSSTables on the provided
+ * sstables because those sstables are not guaranteed to be active sstables
+ * (since we can run repair on a snapshot).
+ */
+private static class ValidationCompactionController extends 
CompactionController
+{
+public ValidationCompactionController(ColumnFamilyStore cfs, 
CollectionSSTableReader sstables)
+{
+super(cfs,
+  Integer.MAX_VALUE,
+  true,
+  null,
+  
cfs.getCompactionStrategy().isKeyExistenceExpensive(ImmutableSet.copyOf(sstables)));
+}
+
+@Override
+public boolean shouldPurge(DecoratedKey key)
+{
+return false;
 }
 }
 



[jira] [Commented] (CASSANDRA-4411) Assertion with LCS compaction

2012-07-23 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-4411:
---

The former.

 Assertion with LCS compaction
 -

 Key: CASSANDRA-4411
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4411
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.2
Reporter: Anton Winter
Assignee: Sylvain Lebresne
 Fix For: 1.1.3

 Attachments: 0001-Add-debugging-info-for-LCS.txt, 4411-followup.txt, 
 4411.txt, assertion-w-more-debugging-info-omid.log, 
 assertion.moreinfo.system.log, system.log


 As instructed in CASSANDRA-4321 I have raised this issue as a continuation of 
 that issue as it appears the problem still exists.
 I have repeatedly run sstablescrub across all my nodes after the 1.1.2 
 upgrade until sstablescrub shows no errors.  The exceptions described in 
 CASSANDRA-4321 do not occur as frequently now but the integrity check still 
 throws exceptions on a number of nodes.  Once those exceptions occur 
 compactionstats shows a large number of pending tasks with no progression 
 afterwards.
 {code}
 ERROR [CompactionExecutor:150] 2012-07-05 04:26:15,570 
 AbstractCassandraDaemon.java (line 134) Exception in thread 
 Thread[CompactionExecutor:150,1,main]
 java.lang.AssertionError
 at 
 org.apache.cassandra.db.compaction.LeveledManifest.promote(LeveledManifest.java:214)
 at 
 org.apache.cassandra.db.compaction.LeveledCompactionStrategy.handleNotification(LeveledCompactionStrategy.java:158)
 at 
 org.apache.cassandra.db.DataTracker.notifySSTablesChanged(DataTracker.java:531)
 at 
 org.apache.cassandra.db.DataTracker.replaceCompactedSSTables(DataTracker.java:254)
 at 
 org.apache.cassandra.db.ColumnFamilyStore.replaceCompactedSSTables(ColumnFamilyStore.java:978)
 at 
 org.apache.cassandra.db.compaction.CompactionTask.execute(CompactionTask.java:200)
 at 
 org.apache.cassandra.db.compaction.LeveledCompactionTask.execute(LeveledCompactionTask.java:50)
 at 
 org.apache.cassandra.db.compaction.CompactionManager$1.runMayThrow(CompactionManager.java:150)
 at 
 org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
 at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
 at java.util.concurrent.FutureTask.run(FutureTask.java:166)
 at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
 at java.lang.Thread.run(Thread.java:636)
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (CASSANDRA-4459) pig driver casts ints as bytearray

2012-07-23 Thread Cathy Daw (JIRA)
Cathy Daw created CASSANDRA-4459:


 Summary: pig driver casts ints as bytearray
 Key: CASSANDRA-4459
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4459
 Project: Cassandra
  Issue Type: Bug
 Environment: C* 1.1.2 embedded in DSE
Reporter: Cathy Daw
Assignee: Brandon Williams


we seem to be auto-mapping C* int columns to bytearray in Pig, and farther down 
I can't seem to find a way to cast that to int and do an average.  

{code}

grunt cassandra_users = LOAD 'cassandra://cqldb/users' USING 
CassandraStorage();
grunt dump cassandra_users;
(bobhatter,(act,22),(fname,bob),(gender,m),(highSchool,Cal 
High),(lname,hatter),(sat,500),(state,CA),{})
(alicesmith,(act,27),(fname,alice),(gender,f),(highSchool,Tuscon 
High),(lname,smith),(sat,650),(state,AZ),{})
 
// notice sat and act columns are bytearray values 
grunt describe cassandra_users;
cassandra_users: {key: chararray,act: (name: chararray,value: bytearray),fname: 
(name: chararray,value: chararray),
gender: (name: chararray,value: chararray),highSchool: (name: chararray,value: 
chararray),lname: (name: chararray,value: chararray),
sat: (name: chararray,value: bytearray),state: (name: chararray,value: 
chararray),columns: {(name: chararray,value: chararray)}}

grunt users_by_state = GROUP cassandra_users BY state;
grunt dump users_by_state;
((state,AX),{(aoakley,(highSchool,Phoenix 
High),(lname,Oakley),state,(act,22),(sat,500),(gender,m),(fname,Anne),{})})
((state,AZ),{(gjames,(highSchool,Tuscon 
High),(lname,James),state,(act,24),(sat,650),(gender,f),(fname,Geronomo),{})})
((state,CA),{(philton,(highSchool,Beverly 
High),(lname,Hilton),state,(act,37),(sat,220),(gender,m),(fname,Paris),{}),(jbrown,(highSchool,Cal
 High),(lname,Brown),state,(act,20),(sat,700),(gender,m),(fname,Jerry),{})})

// Error - use explicit cast
grunt user_avg = FOREACH users_by_state GENERATE cassandra_users.state, 
AVG(cassandra_users.sat);
grunt dump user_avg;
2012-07-22 17:15:04,361 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 
1045: Could not infer the matching function for org.apache.pig.builtin.AVG as 
multiple or none of them fit. Please use an explicit cast.

// Unable to cast as int
grunt user_avg = FOREACH users_by_state GENERATE cassandra_users.state, 
AVG((int)cassandra_users.sat);
grunt dump user_avg;
2012-07-22 17:07:39,217 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 
1052: Cannot cast bag with schema sat: bag({name: chararray,value: bytearray}) 
to int
{code}

*Seed data in CQL*
{code}
CREATE KEYSPACE cqldb with 
  strategy_class = 'org.apache.cassandra.locator.SimpleStrategy' 
  and strategy_options:replication_factor=3;


use cqldb;

CREATE COLUMNFAMILY users (
  KEY text PRIMARY KEY, 
  fname text, lname text, gender varchar, 
  act int, sat int, highSchool text, state varchar);

insert into users (KEY, fname, lname, gender, act, sat, highSchool, state)
values (gjames, Geronomo, James, f, 24, 650, 'Tuscon High', 'AZ');

insert into users (KEY, fname, lname, gender, act, sat, highSchool, state)
values (aoakley, Anne, Oakley, m , 22, 500, 'Phoenix High', 'AX');

insert into users (KEY, fname, lname, gender, act, sat, highSchool, state)
values (jbrown, Jerry, Brown, m , 20, 700, 'Cal High', 'CA');

insert into users (KEY, fname, lname, gender, act, sat, highSchool, state)
values (philton, Paris, Hilton, m , 37, 220, 'Beverly High', 'CA');

select * from users;
{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-4455) Nodetool fail to setcompactionthreshold

2012-07-23 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-4455:
--

 Reviewer: xedin
Fix Version/s: 1.1.4
 Assignee: Aleksey Yeschenko

 Nodetool fail to setcompactionthreshold
 ---

 Key: CASSANDRA-4455
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4455
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Affects Versions: 1.0.3
 Environment: Cassandra 1.0.3
Reporter: Jason Tang
Assignee: Aleksey Yeschenko
Priority: Minor
 Fix For: 1.1.4


 first change compaction threshold from 4/32 to 2/2
 /opt/dve/cassandra/bin/nodetool -h 127.0.0.1 -p 7199 setcompactionthreshold 
 ks cf 2 2
 It successful
 /opt/dve/cassandra/bin/nodetool -h 127.0.0.1 -p 7199 setcompactionthreshold 
 ks cf 4 32
 Exception in thread main java.lang.RuntimeException: The 
 min_compaction_threshold cannot be larger than the max.
 at 
 org.apache.cassandra.db.ColumnFamilyStore.setMinimumCompactionThreshold(ColumnFamilyStore.java:1697)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at 
 com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93)
 at 
 com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27)
 at 
 com.sun.jmx.mbeanserver.MBeanIntrospector.invokeSetter(MBeanIntrospector.java:238)
 at 
 com.sun.jmx.mbeanserver.PerInterface.setAttribute(PerInterface.java:84)
 at 
 com.sun.jmx.mbeanserver.MBeanSupport.setAttribute(MBeanSupport.java:240)
 at 
 com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.setAttribute(DefaultMBeanServerInterceptor.java:762)
 at 
 com.sun.jmx.mbeanserver.JmxMBeanServer.setAttribute(JmxMBeanServer.java:699)
 at 
 javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1450)
 at 
 javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)
 at 
 javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265)
 at 
 javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1360)
 at 
 javax.management.remote.rmi.RMIConnectionImpl.setAttribute(RMIConnectionImpl.java:683)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
 at sun.rmi.transport.Transport$1.run(Transport.java:159)
 at java.security.AccessController.doPrivileged(Native Method)
 at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
 at 
 sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
 at 
 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
 at 
 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
 at java.lang.Thread.run(Thread.java:662)
 The tool first try to set min then max, so it failed, since orign max is 
 smaller the new min.
 The work around is:
 /opt/dve/cassandra/bin/nodetool -h 127.0.0.1 -p 7199 setcompactionthreshold 
 ks cf 2 32
 /opt/dve/cassandra/bin/nodetool -h 127.0.0.1 -p 7199 setcompactionthreshold 
 ks cf 4 32

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4295) move checkaccess into statement.prepare

2012-07-23 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-4295:
---

Not a fan of splitting the API up.  Feels like we're shoving implementation up 
to the client level.

Not a fan of saying each provider should reimplement caching internally, 
either, since by doing it once at the server level we can do a better job of QA 
and DRY.

 move checkaccess into statement.prepare
 ---

 Key: CASSANDRA-4295
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4295
 Project: Cassandra
  Issue Type: Improvement
  Components: API
Affects Versions: 1.1.0
Reporter: Jonathan Ellis
Assignee: Pavel Yaskevich
Priority: Minor
 Fix For: 1.2

 Attachments: CASSANDRA-4295.patch


 there's no need to redo this every execution since the schema, tables, and 
 users involved should all be immutable

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-4459) pig driver casts ints as bytearray

2012-07-23 Thread Brandon Williams (JIRA)

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

Brandon Williams updated CASSANDRA-4459:


Attachment: 4459.txt

We actually have tests in examples/pig/test that explicitly cover this, but we 
populate that data with the cli which uses IntegerType, but cql uses Int32Type. 
 Trivial patch to cast both to pig's integer type.

 pig driver casts ints as bytearray
 --

 Key: CASSANDRA-4459
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4459
 Project: Cassandra
  Issue Type: Bug
 Environment: C* 1.1.2 embedded in DSE
Reporter: Cathy Daw
Assignee: Brandon Williams
 Fix For: 1.1.3

 Attachments: 4459.txt


 we seem to be auto-mapping C* int columns to bytearray in Pig, and farther 
 down I can't seem to find a way to cast that to int and do an average.  
 {code}
 grunt cassandra_users = LOAD 'cassandra://cqldb/users' USING 
 CassandraStorage();
 grunt dump cassandra_users;
 (bobhatter,(act,22),(fname,bob),(gender,m),(highSchool,Cal 
 High),(lname,hatter),(sat,500),(state,CA),{})
 (alicesmith,(act,27),(fname,alice),(gender,f),(highSchool,Tuscon 
 High),(lname,smith),(sat,650),(state,AZ),{})
  
 // notice sat and act columns are bytearray values 
 grunt describe cassandra_users;
 cassandra_users: {key: chararray,act: (name: chararray,value: 
 bytearray),fname: (name: chararray,value: chararray),
 gender: (name: chararray,value: chararray),highSchool: (name: 
 chararray,value: chararray),lname: (name: chararray,value: chararray),
 sat: (name: chararray,value: bytearray),state: (name: chararray,value: 
 chararray),columns: {(name: chararray,value: chararray)}}
 grunt users_by_state = GROUP cassandra_users BY state;
 grunt dump users_by_state;
 ((state,AX),{(aoakley,(highSchool,Phoenix 
 High),(lname,Oakley),state,(act,22),(sat,500),(gender,m),(fname,Anne),{})})
 ((state,AZ),{(gjames,(highSchool,Tuscon 
 High),(lname,James),state,(act,24),(sat,650),(gender,f),(fname,Geronomo),{})})
 ((state,CA),{(philton,(highSchool,Beverly 
 High),(lname,Hilton),state,(act,37),(sat,220),(gender,m),(fname,Paris),{}),(jbrown,(highSchool,Cal
  High),(lname,Brown),state,(act,20),(sat,700),(gender,m),(fname,Jerry),{})})
 // Error - use explicit cast
 grunt user_avg = FOREACH users_by_state GENERATE cassandra_users.state, 
 AVG(cassandra_users.sat);
 grunt dump user_avg;
 2012-07-22 17:15:04,361 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 
 1045: Could not infer the matching function for org.apache.pig.builtin.AVG as 
 multiple or none of them fit. Please use an explicit cast.
 // Unable to cast as int
 grunt user_avg = FOREACH users_by_state GENERATE cassandra_users.state, 
 AVG((int)cassandra_users.sat);
 grunt dump user_avg;
 2012-07-22 17:07:39,217 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 
 1052: Cannot cast bag with schema sat: bag({name: chararray,value: 
 bytearray}) to int
 {code}
 *Seed data in CQL*
 {code}
 CREATE KEYSPACE cqldb with 
   strategy_class = 'org.apache.cassandra.locator.SimpleStrategy' 
   and strategy_options:replication_factor=3;  
 use cqldb;
 CREATE COLUMNFAMILY users (
   KEY text PRIMARY KEY, 
   fname text, lname text, gender varchar, 
   act int, sat int, highSchool text, state varchar);
 insert into users (KEY, fname, lname, gender, act, sat, highSchool, state)
 values (gjames, Geronomo, James, f, 24, 650, 'Tuscon High', 'AZ');
 insert into users (KEY, fname, lname, gender, act, sat, highSchool, state)
 values (aoakley, Anne, Oakley, m , 22, 500, 'Phoenix High', 'AX');
 insert into users (KEY, fname, lname, gender, act, sat, highSchool, state)
 values (jbrown, Jerry, Brown, m , 20, 700, 'Cal High', 'CA');
 insert into users (KEY, fname, lname, gender, act, sat, highSchool, state)
 values (philton, Paris, Hilton, m , 37, 220, 'Beverly High', 'CA');
 select * from users;
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4295) move checkaccess into statement.prepare

2012-07-23 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-4295:
-

Maybe doing the caching on our side with a configurable cache expiration time 
setting would be good enough.

 move checkaccess into statement.prepare
 ---

 Key: CASSANDRA-4295
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4295
 Project: Cassandra
  Issue Type: Improvement
  Components: API
Affects Versions: 1.1.0
Reporter: Jonathan Ellis
Assignee: Pavel Yaskevich
Priority: Minor
 Fix For: 1.2

 Attachments: CASSANDRA-4295.patch


 there's no need to redo this every execution since the schema, tables, and 
 users involved should all be immutable

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4292) Per-disk I/O queues

2012-07-23 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-4292:
---

Looks reasonable to me so far.

A couple points:

- we'll want to prefer (1) disks that have no current writes, then (2) disks 
with the least projected data (including the estimated size of currently active 
writes)
- compaction should use this executor as well

Nit: probably cleaner to use a Map for the new getLocationForDisk method

 Per-disk I/O queues
 ---

 Key: CASSANDRA-4292
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4292
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Jonathan Ellis
Assignee: Yuki Morishita
 Fix For: 1.2

 Attachments: 4292.txt


 As noted in CASSANDRA-809, we have a certain amount of flush (and compaction) 
 threads, which mix and match disk volumes indiscriminately.  It may be worth 
 creating a tight thread - disk affinity, to prevent unnecessary conflict at 
 that level.
 OTOH as SSDs become more prevalent this becomes a non-issue.  Unclear how 
 much pain this actually causes in practice in the meantime.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4459) pig driver casts ints as bytearray

2012-07-23 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-4459:
---

casting IntegerType to pig's [32bit] int sounds broken to me.  shouldn't we fix 
the population script to use int32 as well?

 pig driver casts ints as bytearray
 --

 Key: CASSANDRA-4459
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4459
 Project: Cassandra
  Issue Type: Bug
 Environment: C* 1.1.2 embedded in DSE
Reporter: Cathy Daw
Assignee: Brandon Williams
 Fix For: 1.1.3

 Attachments: 4459.txt


 we seem to be auto-mapping C* int columns to bytearray in Pig, and farther 
 down I can't seem to find a way to cast that to int and do an average.  
 {code}
 grunt cassandra_users = LOAD 'cassandra://cqldb/users' USING 
 CassandraStorage();
 grunt dump cassandra_users;
 (bobhatter,(act,22),(fname,bob),(gender,m),(highSchool,Cal 
 High),(lname,hatter),(sat,500),(state,CA),{})
 (alicesmith,(act,27),(fname,alice),(gender,f),(highSchool,Tuscon 
 High),(lname,smith),(sat,650),(state,AZ),{})
  
 // notice sat and act columns are bytearray values 
 grunt describe cassandra_users;
 cassandra_users: {key: chararray,act: (name: chararray,value: 
 bytearray),fname: (name: chararray,value: chararray),
 gender: (name: chararray,value: chararray),highSchool: (name: 
 chararray,value: chararray),lname: (name: chararray,value: chararray),
 sat: (name: chararray,value: bytearray),state: (name: chararray,value: 
 chararray),columns: {(name: chararray,value: chararray)}}
 grunt users_by_state = GROUP cassandra_users BY state;
 grunt dump users_by_state;
 ((state,AX),{(aoakley,(highSchool,Phoenix 
 High),(lname,Oakley),state,(act,22),(sat,500),(gender,m),(fname,Anne),{})})
 ((state,AZ),{(gjames,(highSchool,Tuscon 
 High),(lname,James),state,(act,24),(sat,650),(gender,f),(fname,Geronomo),{})})
 ((state,CA),{(philton,(highSchool,Beverly 
 High),(lname,Hilton),state,(act,37),(sat,220),(gender,m),(fname,Paris),{}),(jbrown,(highSchool,Cal
  High),(lname,Brown),state,(act,20),(sat,700),(gender,m),(fname,Jerry),{})})
 // Error - use explicit cast
 grunt user_avg = FOREACH users_by_state GENERATE cassandra_users.state, 
 AVG(cassandra_users.sat);
 grunt dump user_avg;
 2012-07-22 17:15:04,361 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 
 1045: Could not infer the matching function for org.apache.pig.builtin.AVG as 
 multiple or none of them fit. Please use an explicit cast.
 // Unable to cast as int
 grunt user_avg = FOREACH users_by_state GENERATE cassandra_users.state, 
 AVG((int)cassandra_users.sat);
 grunt dump user_avg;
 2012-07-22 17:07:39,217 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 
 1052: Cannot cast bag with schema sat: bag({name: chararray,value: 
 bytearray}) to int
 {code}
 *Seed data in CQL*
 {code}
 CREATE KEYSPACE cqldb with 
   strategy_class = 'org.apache.cassandra.locator.SimpleStrategy' 
   and strategy_options:replication_factor=3;  
 use cqldb;
 CREATE COLUMNFAMILY users (
   KEY text PRIMARY KEY, 
   fname text, lname text, gender varchar, 
   act int, sat int, highSchool text, state varchar);
 insert into users (KEY, fname, lname, gender, act, sat, highSchool, state)
 values (gjames, Geronomo, James, f, 24, 650, 'Tuscon High', 'AZ');
 insert into users (KEY, fname, lname, gender, act, sat, highSchool, state)
 values (aoakley, Anne, Oakley, m , 22, 500, 'Phoenix High', 'AX');
 insert into users (KEY, fname, lname, gender, act, sat, highSchool, state)
 values (jbrown, Jerry, Brown, m , 20, 700, 'Cal High', 'CA');
 insert into users (KEY, fname, lname, gender, act, sat, highSchool, state)
 values (philton, Paris, Hilton, m , 37, 220, 'Beverly High', 'CA');
 select * from users;
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4295) move checkaccess into statement.prepare

2012-07-23 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-4295:
---

That's probably reasonable to start with.

Could we add an invalidation hook to the API so that when permissions are 
changed, it can notify us and we can go through the cache and throw out 
obsolete entries?

 move checkaccess into statement.prepare
 ---

 Key: CASSANDRA-4295
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4295
 Project: Cassandra
  Issue Type: Improvement
  Components: API
Affects Versions: 1.1.0
Reporter: Jonathan Ellis
Assignee: Pavel Yaskevich
Priority: Minor
 Fix For: 1.2

 Attachments: CASSANDRA-4295.patch


 there's no need to redo this every execution since the schema, tables, and 
 users involved should all be immutable

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4436) Counters in columns don't preserve correct values after cluster restart

2012-07-23 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-4436:
---

Looks like skipCompacted in Directories.SSTableLister can be removed (since we 
scrubDataDirectories on startup and no new compacted components will be 
created).

Using a List means we can add an ancestor multiple times.  Suggest using a Set 
instead.

Nits:
- would prefer Ancestor to LiveAncestor, since we only check liveness at 
creation time, so Live is misleading when iterating over them later.
- the deleting code feels more at home in CFS constructor than 
addInitialSSTables.
- tracker parameter is unused now in SSTR.open

 Counters in columns don't preserve correct values after cluster restart
 ---

 Key: CASSANDRA-4436
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4436
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.0.10
Reporter: Peter Velas
Assignee: Sylvain Lebresne
 Fix For: 1.1.3

 Attachments: 4436-1.0.txt, 4436-1.1.txt, increments.cql.gz


 Similar to #3821. but affecting normal columns. 
 Set up a 2-node cluster with rf=2.
 1. Create a counter column family and increment a 100 keys in loop 5000 
 times. 
 2. Then make a rolling restart to cluster. 
 3. Again increment another 5000 times.
 4. Make a rolling restart to cluster.
 5. Again increment another 5000 times.
 6. Make a rolling restart to cluster.
 After step 6 we were able to reproduce bug with bad counter values. 
 Expected values were 15 000. Values returned from cluster are higher then 
 15000 + some random number.
 Rolling restarts are done with nodetool drain. Always waiting until second 
 node discover its down then kill java process. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-4179) Add more general support for composites (to row key, column value)

2012-07-23 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-4179:
--

Reviewer: xedin

 Add more general support for composites (to row key, column value)
 --

 Key: CASSANDRA-4179
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4179
 Project: Cassandra
  Issue Type: Sub-task
  Components: API
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
Priority: Minor
  Labels: cql3
 Fix For: 1.2

 Attachments: 4179-2.txt, 4179.txt


 Currently CQL3 have a nice syntax for using composites in the column name 
 (it's more than that in fact, it creates a whole new abstraction but let's 
 say I'm talking implementation here). There is however 2 other place where 
 composites could be used (again implementation wise): the row key and the 
 column value. This ticket proposes to explore which of those make sense for 
 CQL3 and how.
 For the row key, I really think that CQL support makes sense. It's very 
 common (and useful) to want to stuff composite information in a row key. 
 Sharding a time serie (CASSANDRA-4176) is probably the best example but there 
 is other.
 For the column value it is less clear. CQL3 makes it very transparent and 
 convenient to store multiple related values into multiple columns so maybe 
 composites in a column value is much less needed. I do still see two cases 
 for which it could be handy:
 # to save some disk/memory space, if you do know it makes no sense to 
 insert/read two value separatly.
 # if you want to enforce that two values should not be inserted separatly. 
 I.e. to enforce a form of constraint to avoid programatic error.
 Those are not widely useful things, but my reasoning is that if whatever 
 syntax we come up for grouping row key in a composite trivially extends to 
 column values, why not support it.
 As for syntax I have 3 suggestions (that are just that, suggestions):
 # If we only care about allowing grouping for row keys:
 {noformat}
 CREATE TABLE timeline (
 name text,
 month int,
 ts timestamp,
 value text,
 PRIMARY KEY ((name, month), ts)
 )
 {noformat}
 # A syntax that could work for both grouping in row key and colum value:
 {noformat}
 CREATE TABLE timeline (
 name text,
 month int,
 ts timestamp,
 value1 text,
 value2 text,
 GROUP (name, month) as key,
 GROUP (value1, value2),
 PRIMARY KEY (key, ts)
 )
 {noformat}
 # An alternative to the preceding one:
 {noformat}
 CREATE TABLE timeline (
 name text,
 month int,
 ts timestamp,
 value1 text,
 value2 text,
 GROUP (name, month) as key,
 GROUP (value1, value2),
 PRIMARY KEY (key, ts)
 ) WITH GROUP (name, month) AS key
AND GROUP (value1, value2)
 {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4361) CQL3: allow definition with only a PK

2012-07-23 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-4361:
---

LGTM, +1

 CQL3: allow definition with only a PK
 -

 Key: CASSANDRA-4361
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4361
 Project: Cassandra
  Issue Type: Improvement
  Components: API
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
  Labels: cql3
 Fix For: 1.2

 Attachments: 4361.txt


 Currently, in CQL3 and contrarily to SQL, one cannot define a table having 
 only a PK but no other columns. Related to that, a CQL always needs at least 
 one column outside of the PK to be inserted to exist. All that may force 
 people to add 'fake' value that they don't really need.
 The goal of this ticket is to lift that limitation and allow table definition 
 to have only a PK, and to have CQL rows exist even if only the PK has been 
 inserted (in other words, to have CQL rows behave like SQL rows).
 Following CASSANDRA-4329, one way to do that with the sparse-composite 
 encoding CQL3 uses would be to insert as marker of the CQL row presence a CQL 
 column with an empty name (the underlying column name won't be empty though 
 since it's a composite). The drawback though is that we will need to insert 
 that marker with every insert to the CQL row (in other word, we'll add a 
 slight overhead to the size of each write). The pros is that if we have such 
 marker for the CQL row presence, we will be able to reoptimize back queries 
 that select only a few columns (since following CASSANDRA-3982 we query all 
 columns of a CQL row every time).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-4434) add COPY TO

2012-07-23 Thread paul cannon (JIRA)

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

paul cannon updated CASSANDRA-4434:
---

Attachment: 0002-cqlsh-COPY-TO-fix-output-file-closing.patch

Gah, dumb, I only tested with STDOUT. Fixed that. Extra one-line patch 
attached, 4434 branch updated, new tag pending/4434-2.

 add COPY TO
 ---

 Key: CASSANDRA-4434
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4434
 Project: Cassandra
  Issue Type: New Feature
Reporter: Jonathan Ellis
Assignee: paul cannon
  Labels: cqlsh
 Fix For: 1.1.3

 Attachments: 0001-cqlsh-implement-COPY-TO.patch, 
 0002-cqlsh-COPY-TO-fix-output-file-closing.patch


 CASSANDRA-4012 added COPY FROM; this is a ticket to add the inverse.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




git commit: Fix scary message about secondaries always being created at startup

2012-07-23 Thread brandonwilliams
Updated Branches:
  refs/heads/trunk 49f297417 - d0d1b2cf3


Fix scary message about secondaries always being created at startup


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

Branch: refs/heads/trunk
Commit: d0d1b2cf3cd2bb2ddf66aa9fcdab5566954683ab
Parents: 49f2974
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Jul 23 18:30:13 2012 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Jul 23 18:31:09 2012 -0500

--
 .../cassandra/db/index/SecondaryIndexManager.java  |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d0d1b2cf/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
--
diff --git a/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java 
b/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
index f1d6268..c57f580 100644
--- a/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
+++ b/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
@@ -205,7 +205,6 @@ public class SecondaryIndexManager
 return null;
 
 assert cdef.getIndexType() != null;
-logger.info(Creating new index : {},cdef);
 
 SecondaryIndex index;
 try
@@ -231,6 +230,7 @@ public class SecondaryIndexManager
 {
 index = currentIndex;
 index.addColumnDef(cdef);
+logger.info(Creating new index : {},cdef);
 }
 }
 else



git commit: Fix scary message about secondaries always being created at startup

2012-07-23 Thread brandonwilliams
Updated Branches:
  refs/heads/cassandra-1.1 aba1f16be - 41c9ba63d


Fix scary message about secondaries always being created at startup


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

Branch: refs/heads/cassandra-1.1
Commit: 41c9ba63d624d1d6863b67a0cbcf4144bfbea29c
Parents: aba1f16
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Jul 23 18:30:13 2012 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Jul 23 18:32:00 2012 -0500

--
 .../cassandra/db/index/SecondaryIndexManager.java  |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/41c9ba63/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
--
diff --git a/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java 
b/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
index 6733c90..ba066e2 100644
--- a/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
+++ b/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
@@ -205,7 +205,6 @@ public class SecondaryIndexManager
 return null;
 
 assert cdef.getIndexType() != null;
-logger.info(Creating new index : {},cdef);
 
 SecondaryIndex index;
 try
@@ -231,6 +230,7 @@ public class SecondaryIndexManager
 {
 index = currentIndex;
 index.addColumnDef(cdef);
+logger.info(Creating new index : {},cdef);
 }
 }
 else



[jira] [Commented] (CASSANDRA-4411) Assertion with LCS compaction

2012-07-23 Thread Mina Naguib (JIRA)

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

Mina Naguib commented on CASSANDRA-4411:



Unfortunately the problem did not go away after scrubbing.

I scrubbed 2 of the problematic nodes.  Immediately after the scrub (5 hours) 
finished, a compaction was attempted and again failed:

{code}
ERROR [CompactionExecutor:47] 2012-07-23 19:48:52,500 
AbstractCassandraDaemon.java (line 134) Exception in thread 
Thread[CompactionExecutor:47,1,main]
java.lang.AssertionError
at 
org.apache.cassandra.db.compaction.LeveledManifest.promote(LeveledManifest.java:214)
at 
org.apache.cassandra.db.compaction.LeveledCompactionStrategy.handleNotification(LeveledCompactionStrategy.java:158)
at 
org.apache.cassandra.db.DataTracker.notifySSTablesChanged(DataTracker.java:531)
at 
org.apache.cassandra.db.DataTracker.replaceCompactedSSTables(DataTracker.java:254)
at 
org.apache.cassandra.db.ColumnFamilyStore.replaceCompactedSSTables(ColumnFamilyStore.java:978)
at 
org.apache.cassandra.db.compaction.CompactionTask.execute(CompactionTask.java:200)
at 
org.apache.cassandra.db.compaction.LeveledCompactionTask.execute(LeveledCompactionTask.java:50)
at 
org.apache.cassandra.db.compaction.CompactionManager$1.runMayThrow(CompactionManager.java:150)
at 
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
{code}

I've verified (using ls and the timestamps of *-Data.db sstables) that there 
are no old sstables and all of the sstables in the CF are the ones generated 
during the 5 hours of scrubbing.

I've also stopped and restarted one of these nodes, and again shortly after 
restart the compaction failed with a different stack trace:

{code}
java.lang.RuntimeException: Last written key 
DecoratedKey(225595347341523546110318866012608496, 
64313635626665302d333764372d313165302d393933622d303032366239333763386531) = 
current key DecoratedKey(221078382620949716286900834756484795, 
37303538643361662d616362662d343030312d313565382d633662303030303030336131) 
writing into /var/lib/cassandra/data/MYKS/MYCF/MYKS-MYCF-tmp-hd-520277-Data.db
at 
org.apache.cassandra.io.sstable.SSTableWriter.beforeAppend(SSTableWriter.java:134)
at 
org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:153)
at 
org.apache.cassandra.db.compaction.CompactionTask.execute(CompactionTask.java:159)
at 
org.apache.cassandra.db.compaction.LeveledCompactionTask.execute(LeveledCompactionTask.java:50)
at 
org.apache.cassandra.db.compaction.CompactionManager$1.runMayThrow(CompactionManager.java:150)
at 
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
{code}

Is the fix for this ticket contained in some other code beyond the 2 posted 
patches (4411.txt, 4411-followup.txt) ?  That's what I'm running with on top of 
1.1.2.


 Assertion with LCS compaction
 -

 Key: CASSANDRA-4411
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4411
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.2
Reporter: Anton Winter
Assignee: Sylvain Lebresne
 Fix For: 1.1.3

 Attachments: 0001-Add-debugging-info-for-LCS.txt, 4411-followup.txt, 
 4411.txt, assertion-w-more-debugging-info-omid.log, 
 assertion.moreinfo.system.log, system.log


 As instructed in CASSANDRA-4321 I have raised this issue as a continuation of 
 that issue as it appears the problem still exists.
 I have repeatedly run sstablescrub across all my nodes after the 1.1.2 
 upgrade until sstablescrub shows no errors.  The exceptions described in 
 CASSANDRA-4321 do not occur as frequently now but the integrity check still 
 throws exceptions on a number of nodes.  Once those exceptions occur 
 

[jira] [Commented] (CASSANDRA-4411) Assertion with LCS compaction

2012-07-23 Thread Anton Winter (JIRA)

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

Anton Winter commented on CASSANDRA-4411:
-

I can also confirm that after multiple offline sstablescrubs across all nodes 
that I still had several nodes (but not all) spread across multiple DC's still 
exhibiting this problem as described above by Mina.  

In an attempt to work around the problem I shut down the affected instances, 
deleted all data and re-bootstrapped them as if they were dead nodes.  Since 
doing so I haven't had the problem return however it is still early days.

 Assertion with LCS compaction
 -

 Key: CASSANDRA-4411
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4411
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.2
Reporter: Anton Winter
Assignee: Sylvain Lebresne
 Fix For: 1.1.3

 Attachments: 0001-Add-debugging-info-for-LCS.txt, 4411-followup.txt, 
 4411.txt, assertion-w-more-debugging-info-omid.log, 
 assertion.moreinfo.system.log, system.log


 As instructed in CASSANDRA-4321 I have raised this issue as a continuation of 
 that issue as it appears the problem still exists.
 I have repeatedly run sstablescrub across all my nodes after the 1.1.2 
 upgrade until sstablescrub shows no errors.  The exceptions described in 
 CASSANDRA-4321 do not occur as frequently now but the integrity check still 
 throws exceptions on a number of nodes.  Once those exceptions occur 
 compactionstats shows a large number of pending tasks with no progression 
 afterwards.
 {code}
 ERROR [CompactionExecutor:150] 2012-07-05 04:26:15,570 
 AbstractCassandraDaemon.java (line 134) Exception in thread 
 Thread[CompactionExecutor:150,1,main]
 java.lang.AssertionError
 at 
 org.apache.cassandra.db.compaction.LeveledManifest.promote(LeveledManifest.java:214)
 at 
 org.apache.cassandra.db.compaction.LeveledCompactionStrategy.handleNotification(LeveledCompactionStrategy.java:158)
 at 
 org.apache.cassandra.db.DataTracker.notifySSTablesChanged(DataTracker.java:531)
 at 
 org.apache.cassandra.db.DataTracker.replaceCompactedSSTables(DataTracker.java:254)
 at 
 org.apache.cassandra.db.ColumnFamilyStore.replaceCompactedSSTables(ColumnFamilyStore.java:978)
 at 
 org.apache.cassandra.db.compaction.CompactionTask.execute(CompactionTask.java:200)
 at 
 org.apache.cassandra.db.compaction.LeveledCompactionTask.execute(LeveledCompactionTask.java:50)
 at 
 org.apache.cassandra.db.compaction.CompactionManager$1.runMayThrow(CompactionManager.java:150)
 at 
 org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
 at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
 at java.util.concurrent.FutureTask.run(FutureTask.java:166)
 at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
 at java.lang.Thread.run(Thread.java:636)
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (CASSANDRA-4460) SystemTable.setBootstrapState always sets bootstrap state to true

2012-07-23 Thread Dave Brosius (JIRA)
Dave Brosius created CASSANDRA-4460:
---

 Summary: SystemTable.setBootstrapState always sets bootstrap state 
to true
 Key: CASSANDRA-4460
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4460
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2
Reporter: Dave Brosius
Priority: Trivial


public static void setBootstrapState(BootstrapState state)
{
String req = INSERT INTO system.%s (key, bootstrapped) VALUES ('%s', 
'%b');
processInternal(String.format(req, LOCAL_CF, LOCAL_KEY, 
getBootstrapState()));
forceBlockingFlush(LOCAL_CF);
}

Third parameter %b is set from getBootstrapState() which returns an enum, thus 
%b collapses to null/non null checks. This would seem then to always set it to 
true.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4036) cqlsh: EOF during multiline statement

2012-07-23 Thread paul cannon (JIRA)

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

paul cannon commented on CASSANDRA-4036:


Can't reproduce. Possibly fixed by something else since March?

Can you retry, Tyler?

 cqlsh: EOF during multiline statement
 -

 Key: CASSANDRA-4036
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4036
 Project: Cassandra
  Issue Type: Bug
Reporter: Tyler Patterson
Assignee: paul cannon
Priority: Trivial
  Labels: cql, cqlsh

 press CTRL-d while at the beginning of a line in a multi-line statement. 
 It should exit cqlsh or the multiline statement, but instead it only prints 
 another.... 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4075) Dropped keyspaces and cfs do not get deleted

2012-07-23 Thread sunjian (JIRA)

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

sunjian commented on CASSANDRA-4075:


this issues exists in 1.1.2 as well . keyspace and column family can't to be 
modified when the cluster have run for a while (such as one day , with not too 
much data(less than 1G per node)) . nothing will be happen if some operation 
fire at the nodes , such as drop keyspace / create coulumn family / delete 
column family . BUT  add/delete/edit/query data is OK .

 Dropped keyspaces and cfs do not get deleted
 

 Key: CASSANDRA-4075
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4075
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.8.1
Reporter: Joaquin Casares
  Labels: datastax_qa

 Tested in 0.8.10, reported in 0.8.1.
 Dropped keyspaces and column families have their sstables marked as 
 Compacted, but will not disappear, even on restart. 
 Worked correctly in 1.0.8 where the sstables get deleted almost immediately 
 following the column family drop.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira