[jira] [Updated] (CASSANDRA-5099) Since 1.1, get_count sometimes returns value smaller than actual column count

2013-01-07 Thread Jason Harvey (JIRA)

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

Jason Harvey updated CASSANDRA-5099:


Summary: Since 1.1, get_count sometimes returns value smaller than actual 
column count  (was: get_count sometimes returns value smaller than actual 
column count)

 Since 1.1, get_count sometimes returns value smaller than actual column count
 -

 Key: CASSANDRA-5099
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5099
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.1.7
Reporter: Jason Harvey
Priority: Minor

 We have a CF where rows have thousands of TTLd columns. The columns are 
 continually added at a regular rate, and TTL out after 15 minutes. We 
 continually run a 'get_count' on these keys to get a count of the number of 
 live columns.
 Since we upgrade from 1.0 to 1.1.7, get_count regularly returns much 
 smaller values than are possible. For example, with  roughly 15,000 columns 
 that have well-distributed TTLs, running a get_count 10 times will result in 
 1 or 2 results that are up to half the actual column count. Using a normal 
 'get' to count those columns always results in proper values. 
 For example:
 (all of these counts were ran within a second or less of eachother)
 {code}
 [default@reddit] count  AccountsActiveBySR['2qh0u'];
 13665 columns
 [default@reddit] count  AccountsActiveBySR['2qh0u'];
 13665 columns
 [default@reddit] count  AccountsActiveBySR['2qh0u'];
 13666 columns
 [default@reddit] count  AccountsActiveBySR['2qh0u'];
 3069 columns
 [default@reddit] count  AccountsActiveBySR['2qh0u'];
 13660 columns
 [default@reddit] count  AccountsActiveBySR['2qh0u'];
 13661 columns
 {code}
 I should note that this issue happens much more frequently with larger (10k 
 columns) rows than smaller rows. It never seems to happen with rows having 
 fewer than 1k columns.
 There are no supercolumns in use. The key names and column names are very 
 short, and there are no column values. The CF is LCS, and due to the TTL only 
 hovers around a few MB in size. GC grace is normally at zero, but the problem 
 is consistent with non-zero gc grace times.
 It appears that there was an issue (CASSANDRA-4833) fixed in 1.1.7 regarding 
 get_count. Some logic was added to prevent an infinite loop case. Could that 
 change have resulted in this problem somehow? I can't find any other relevant 
 1.1 changes that might explain this issue.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5099) Since 1.1, get_count sometimes returns value smaller than actual column count

2013-01-07 Thread Jason Harvey (JIRA)

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

Jason Harvey commented on CASSANDRA-5099:
-

I've ported the 1.0.11 get_count code from CassandraServer.java to 1.1.7. Doing 
so resolves this issue.

 Since 1.1, get_count sometimes returns value smaller than actual column count
 -

 Key: CASSANDRA-5099
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5099
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.1.7
Reporter: Jason Harvey
Priority: Minor

 We have a CF where rows have thousands of TTLd columns. The columns are 
 continually added at a regular rate, and TTL out after 15 minutes. We 
 continually run a 'get_count' on these keys to get a count of the number of 
 live columns.
 Since we upgrade from 1.0 to 1.1.7, get_count regularly returns much 
 smaller values than are possible. For example, with  roughly 15,000 columns 
 that have well-distributed TTLs, running a get_count 10 times will result in 
 1 or 2 results that are up to half the actual column count. Using a normal 
 'get' to count those columns always results in proper values. 
 For example:
 (all of these counts were ran within a second or less of eachother)
 {code}
 [default@reddit] count  AccountsActiveBySR['2qh0u'];
 13665 columns
 [default@reddit] count  AccountsActiveBySR['2qh0u'];
 13665 columns
 [default@reddit] count  AccountsActiveBySR['2qh0u'];
 13666 columns
 [default@reddit] count  AccountsActiveBySR['2qh0u'];
 3069 columns
 [default@reddit] count  AccountsActiveBySR['2qh0u'];
 13660 columns
 [default@reddit] count  AccountsActiveBySR['2qh0u'];
 13661 columns
 {code}
 I should note that this issue happens much more frequently with larger (10k 
 columns) rows than smaller rows. It never seems to happen with rows having 
 fewer than 1k columns.
 There are no supercolumns in use. The key names and column names are very 
 short, and there are no column values. The CF is LCS, and due to the TTL only 
 hovers around a few MB in size. GC grace is normally at zero, but the problem 
 is consistent with non-zero gc grace times.
 It appears that there was an issue (CASSANDRA-4833) fixed in 1.1.7 regarding 
 get_count. Some logic was added to prevent an infinite loop case. Could that 
 change have resulted in this problem somehow? I can't find any other relevant 
 1.1 changes that might explain this issue.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5112) Setting up authentication tables with custom authentication plugin

2013-01-07 Thread Dirkjan Bussink (JIRA)

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

Dirkjan Bussink commented on CASSANDRA-5112:


Having that onJoined / onReady and onBootstrapped would be great. Would be 
really nice if those could be used to properly setup these tables for 
authentication. 

Regarding the setup for the users table. Originally I asked whether creating a 
separate strategy that replicates data across all nodes would be a good idea, 
but that idea wasn't considered to be the best approach. Would love to hear 
about other ideas, having the cluster become inaccessible if the user account 
for a certain user happens to be on a node that is down seems like very 
problematic to me.

 Setting up authentication tables with custom authentication plugin
 --

 Key: CASSANDRA-5112
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5112
 Project: Cassandra
  Issue Type: Improvement
  Components: API
Affects Versions: 1.2.0
Reporter: Dirkjan Bussink
Priority: Minor

 I'm working on updating https://github.com/nedap/cassandra-auth with the new 
 authentication API's in Cassandra 1.2.0. I have stumbled on an issue and I'm 
 not really sure how to handle it.
 For the authentication I want to setup additional column families for the 
 passwords and permissions. As recommended in the documentation of 
 IAuthorizer, I'm trying to create these tables during setup(): Setup is 
 called once upon system startup to initialize the IAuthorizer. For example, 
 use this method to create any required keyspaces/column families..
 The problem is that doing this seems to be a lot harder than I would think, 
 or I'm perhaps missing something obvious. I've tried various attempts, but 
 all have failed:
 - CQL and QueryProcessor.processInternal to setup additional column families. 
 This fails, since processInternal will throw a UnsupportedOperationException 
 due to it being a SchemaAlteringStatement.
 - CQL and QueryProcessor.process. This works after the system has 
 successfully started, but due to the moment setup() is called in the 
 Cassandra boot process, it will fail. It will throw an AssertionError in 
 MigrationManager.java:320, because the gossiper hasn't been started yet.
 - Internal API's. Mimicking how other column families are set up, using 
 CFMetadata and Schema.load. This seems to get the system in some inconsistent 
 state where some parts do see the additional column family, but others don't.
 Does anyone have a recommendation for the path to follow here? What would be 
 the recommended approach for actually setting up those column families during 
 starting for authentication?
 From working on this, I also have another question. I see the default 
 system_auth keyspace is created with a SimpleStrategy and a replication 
 factor of 1. Is this a deliberate choice? I can imagine that if a node in a 
 cluster dies, losing the authentication information that happens to be 
 available on that code could be very problematic. If I'm missing any 
 reasoning here, please let me know, but it struck me as something that could 
 cause potential problems. I also don't see a way I could reconfigure this at 
 the moment, and API's such as CREATE USER do seem to depend on this keyspace.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


git commit: Ensure CL guarantees on digest mismatch

2013-01-07 Thread slebresne
Updated Branches:
  refs/heads/cassandra-1.2 af8a477cc - 3d787b78c


Ensure CL guarantees on digest mismatch

patch by slebresne; reviewed by jbellis for CASSANDRA-5113


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

Branch: refs/heads/cassandra-1.2
Commit: 3d787b78c155773edcf29af8290ef1bea62a4206
Parents: af8a477
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Mon Jan 7 11:11:45 2013 +0100
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Mon Jan 7 11:11:45 2013 +0100

--
 CHANGES.txt|1 +
 src/java/org/apache/cassandra/db/ReadCommand.java  |4 +-
 .../apache/cassandra/db/SliceFromReadCommand.java  |6 +-
 .../cassandra/service/AsyncRepairCallback.java |4 +-
 .../cassandra/service/DatacenterReadCallback.java  |   13 +-
 .../service/RangeSliceResponseResolver.java|4 +-
 .../org/apache/cassandra/service/ReadCallback.java |   26 ++-
 .../apache/cassandra/service/RepairCallback.java   |   86 ---
 .../apache/cassandra/service/RowDataResolver.java  |  182 +++
 .../cassandra/service/RowDigestResolver.java   |2 +-
 .../cassandra/service/RowRepairResolver.java   |  182 ---
 .../org/apache/cassandra/service/StorageProxy.java |   16 +-
 .../apache/cassandra/service/RowResolverTest.java  |   20 +-
 13 files changed, 247 insertions(+), 299 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d787b78/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 2ec66c9..95aad22 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -20,6 +20,7 @@
  * cqlsh: Add default limit to SELECT statements (CASSANDRA-4972)
  * cqlsh: fix DESCRIBE for 1.1 cfs in CQL3 (CASSANDRA-5101)
  * Correctly gossip with nodes = 1.1.7 (CASSANDRA-5102)
+ * Ensure CL guarantees on digest mismatch (CASSANDRA-5113)
 Merged from 1.1:
  * Pig: correctly decode row keys in widerow mode (CASSANDRA-5098)
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d787b78/src/java/org/apache/cassandra/db/ReadCommand.java
--
diff --git a/src/java/org/apache/cassandra/db/ReadCommand.java 
b/src/java/org/apache/cassandra/db/ReadCommand.java
index f3494e5..6c364cb 100644
--- a/src/java/org/apache/cassandra/db/ReadCommand.java
+++ b/src/java/org/apache/cassandra/db/ReadCommand.java
@@ -32,7 +32,7 @@ import org.apache.cassandra.io.IVersionedSerializer;
 import org.apache.cassandra.net.MessageOut;
 import org.apache.cassandra.net.MessagingService;
 import org.apache.cassandra.service.IReadCommand;
-import org.apache.cassandra.service.RepairCallback;
+import org.apache.cassandra.service.RowDataResolver;
 import org.apache.cassandra.utils.IFilter;
 
 
@@ -94,7 +94,7 @@ public abstract class ReadCommand implements IReadCommand
 }
 
 // maybeGenerateRetryCommand is used to generate a retry for short reads
-public ReadCommand maybeGenerateRetryCommand(RepairCallback handler, Row 
row)
+public ReadCommand maybeGenerateRetryCommand(RowDataResolver resolver, Row 
row)
 {
 return null;
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d787b78/src/java/org/apache/cassandra/db/SliceFromReadCommand.java
--
diff --git a/src/java/org/apache/cassandra/db/SliceFromReadCommand.java 
b/src/java/org/apache/cassandra/db/SliceFromReadCommand.java
index d52826b..8a08a42 100644
--- a/src/java/org/apache/cassandra/db/SliceFromReadCommand.java
+++ b/src/java/org/apache/cassandra/db/SliceFromReadCommand.java
@@ -30,7 +30,7 @@ import org.apache.cassandra.db.filter.QueryFilter;
 import org.apache.cassandra.db.filter.QueryPath;
 import org.apache.cassandra.db.filter.SliceQueryFilter;
 import org.apache.cassandra.io.IVersionedSerializer;
-import org.apache.cassandra.service.RepairCallback;
+import org.apache.cassandra.service.RowDataResolver;
 import org.apache.cassandra.service.StorageService;
 import org.apache.cassandra.thrift.ColumnParent;
 import org.apache.cassandra.utils.ByteBufferUtil;
@@ -71,9 +71,9 @@ public class SliceFromReadCommand extends ReadCommand
 }
 
 @Override
-public ReadCommand maybeGenerateRetryCommand(RepairCallback handler, Row 
row)
+public ReadCommand maybeGenerateRetryCommand(RowDataResolver resolver, Row 
row)
 {
-int maxLiveColumns = handler.getMaxLiveCount();
+int maxLiveColumns = resolver.getMaxLiveCount();
 
 int count = filter.count;
 assert maxLiveColumns = count;


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

2013-01-07 Thread slebresne
Updated Branches:
  refs/heads/trunk f6df04dbd - 94d76aa6c


Merge branch 'cassandra-1.2' into trunk

Conflicts:
src/java/org/apache/cassandra/db/SliceFromReadCommand.java
test/unit/org/apache/cassandra/service/RowResolverTest.java


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

Branch: refs/heads/trunk
Commit: 94d76aa6c6a63d22fead4adb2df725af75274f7f
Parents: f6df04d 3d787b7
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Mon Jan 7 11:14:36 2013 +0100
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Mon Jan 7 11:14:36 2013 +0100

--
 CHANGES.txt|1 +
 src/java/org/apache/cassandra/db/ReadCommand.java  |4 +-
 .../apache/cassandra/db/SliceFromReadCommand.java  |6 +-
 .../cassandra/service/AsyncRepairCallback.java |4 +-
 .../cassandra/service/DatacenterReadCallback.java  |   13 +-
 .../service/RangeSliceResponseResolver.java|4 +-
 .../org/apache/cassandra/service/ReadCallback.java |   26 ++-
 .../apache/cassandra/service/RepairCallback.java   |   86 ---
 .../apache/cassandra/service/RowDataResolver.java  |  181 +++
 .../cassandra/service/RowDigestResolver.java   |2 +-
 .../cassandra/service/RowRepairResolver.java   |  181 ---
 .../org/apache/cassandra/service/StorageProxy.java |   16 +-
 .../apache/cassandra/service/RowResolverTest.java  |   14 +-
 13 files changed, 243 insertions(+), 295 deletions(-)
--


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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/94d76aa6/src/java/org/apache/cassandra/db/ReadCommand.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/94d76aa6/src/java/org/apache/cassandra/db/SliceFromReadCommand.java
--
diff --cc src/java/org/apache/cassandra/db/SliceFromReadCommand.java
index 3a05ce0,8a08a42..523646d
--- a/src/java/org/apache/cassandra/db/SliceFromReadCommand.java
+++ b/src/java/org/apache/cassandra/db/SliceFromReadCommand.java
@@@ -31,12 -29,10 +31,12 @@@ import org.apache.cassandra.db.filter.I
  import org.apache.cassandra.db.filter.QueryFilter;
  import org.apache.cassandra.db.filter.QueryPath;
  import org.apache.cassandra.db.filter.SliceQueryFilter;
 +import org.apache.cassandra.db.marshal.AbstractType;
 +import org.apache.cassandra.db.marshal.CompositeType;
  import org.apache.cassandra.io.IVersionedSerializer;
 +import org.apache.cassandra.net.MessagingService;
- import org.apache.cassandra.service.RepairCallback;
+ import org.apache.cassandra.service.RowDataResolver;
  import org.apache.cassandra.service.StorageService;
 -import org.apache.cassandra.thrift.ColumnParent;
  import org.apache.cassandra.utils.ByteBufferUtil;
  
  public class SliceFromReadCommand extends ReadCommand

http://git-wip-us.apache.org/repos/asf/cassandra/blob/94d76aa6/src/java/org/apache/cassandra/service/RowDataResolver.java
--
diff --cc src/java/org/apache/cassandra/service/RowDataResolver.java
index 000,5545293..e04d7c5
mode 00,100644..100644
--- a/src/java/org/apache/cassandra/service/RowDataResolver.java
+++ b/src/java/org/apache/cassandra/service/RowDataResolver.java
@@@ -1,0 -1,182 +1,181 @@@
+ /*
+  * Licensed to the Apache Software Foundation (ASF) under one
+  * or more contributor license agreements.  See the NOTICE file
+  * distributed with this work for additional information
+  * regarding copyright ownership.  The ASF licenses this file
+  * to you under the Apache License, Version 2.0 (the
+  * License); you may not use this file except in compliance
+  * with the License.  You may obtain a copy of the License at
+  *
+  * http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software
+  * distributed under the License is distributed on an AS IS BASIS,
+  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  * See the License for the specific language governing permissions and
+  * limitations under the License.
+  */
+ package org.apache.cassandra.service;
+ 
+ import java.io.IOException;
+ import java.net.InetAddress;
+ import java.nio.ByteBuffer;
+ import java.util.ArrayList;
+ import java.util.Collections;
+ import java.util.List;
+ 
+ import com.google.common.collect.Iterables;
+ 
+ import org.apache.cassandra.db.*;
+ import 

[jira] [Updated] (CASSANDRA-5117) CQL 3 ALTER TABLE ... ADD causes OOB

2013-01-07 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-5117:


Attachment: 5117-v2.txt

I don't think the attached patch is correct (that is, it fixes the fact that 
componentIndex be set to a negative value, but it's not the correct fix). The 
problem is that in the case where we add a collection but we had not collection 
previous, we should not do the {{component--}} at all. Attaching a v2 to fix 
that.

 CQL 3 ALTER TABLE ... ADD causes OOB
 

 Key: CASSANDRA-5117
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5117
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.0
 Environment: Mac OSX, DS Java Driver, apache-cassandra-1.2.0-src 
 downloaded from project Jan 2, 2013
Reporter: Kristine Hahn
Assignee: Dave Brosius
 Fix For: 1.2.1

 Attachments: 5117.txt, 5117-v2.txt, OOB.txt


 To reproduce:
 ./cqlsh
 Connected to Test Cluster at localhost:9160.
 [cqlsh 2.3.0 | Cassandra 1.2.0-SNAPSHOT | CQL spec 3.0.0 | Thrift protocol 
 19.35.0]
 Use HELP for help.
 cqlsh create keyspace music with replication = {'CLASS' : 
... 'SimpleStrategy', 'replication_factor' : 3};
 cqlsh use music
... ;
 cqlsh:music CREATE TABLE songs (
  ... id uuid PRIMARY KEY,
  ... title text,
  ... album text,
  ... artist text,
  ... data blob
  ... );
 cqlsh:music insert into songs (id, title, artist, album) values 
 ('a3e64f8f-bd44-4f28-b8d9-6938726e34d4', 'La Grange', 'ZZ Top', 'Tres 
 Hombres');
 cqlsh:music insert into songs (id, title, artist, album) values 
 ('8a172618-b121-4136-bb10-f665cfc469eb', 'Moving in Stereo', 'Fu Manchu', 'We 
 Must Obey');
 cqlsh:music insert into songs (id, title, artist, album) values 
 ('62c36092-82a1-3a00-93d1-46196ee77204', 'Outside Woman Blues', 'Back Door 
 Slam', 'Roll Away');
 cqlsh:music CREATE TABLE song_tags (
  ... id uuid,
  ... tag_name text,
  ... PRIMARY KEY (id, tag_name)
  ... );
 cqlsh:music select * from song_tags;
 cqlsh:music INSERT INTO song_tags (id, tag_name) VALUES 
 ('a3e64f8f-bd44-4f28-b8d9-6938726e34d4', 'blues');
 cqlsh:music INSERT INTO song_tags (id, tag_name) VALUES 
 ('8a172618-b121-4136-bb10-f665cfc469eb', 'covers');
 cqlsh:music INSERT INTO song_tags (id, tag_name) VALUES 
 ('a3e64f8f-bd44-4f28-b8d9-6938726e34d4', '1973');
 cqlsh:music INSERT INTO song_tags (id, tag_name) VALUES 
 ('8a172618-b121-4136-bb10-f665cfc469eb', '2007');
 cqlsh:music select * from song_tags;
  id   | tag_name
 --+--
  a3e64f8f-bd44-4f28-b8d9-6938726e34d4 | 1973
  a3e64f8f-bd44-4f28-b8d9-6938726e34d4 |blues
  8a172618-b121-4136-bb10-f665cfc469eb | 2007
  8a172618-b121-4136-bb10-f665cfc469eb |   covers
 cqlsh:music drop table song_tags;
 cqlsh:music ALTER TABLE songs ADD tags settext;
 TSocket read 0 bytes

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[Cassandra Wiki] Trivial Update of VirtualNodes/Balance by 0track

2013-01-07 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on Cassandra Wiki for 
change notification.

The VirtualNodes/Balance page has been changed by 0track:
http://wiki.apache.org/cassandra/VirtualNodes/Balance?action=diffrev1=7rev2=8

  Anchor(imbalance)
  == Imbalance ==
  
- By default, a nodes tokens are randomly generated with the expectation that 
an even distribution of the namespace will result.  However, variations of as 
much as 7% have been reported on small clusters when using the `num_tokens` 
default of 256.
+ By default, nodes tokens are randomly generated with the expectation that an 
even distribution of the namespace will result.  However, variations of as much 
as 7% have been reported on small clusters when using the `num_tokens` default 
of 256.
  
  These randomly generated tokens are MD5 sums, so entropy isn't the problem 
here, at least not in the sense that using a better RNG would create a more 
even distribution of ranges.  Increasing the token count (either by increasing 
num_tokens, or the number of nodes) will improve this, (the more tokens, the 
more the distribution will even out).
  


[jira] [Commented] (CASSANDRA-5121) system.peers.tokens is empty after node restart

2013-01-07 Thread Sam Overton (JIRA)

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

Sam Overton commented on CASSANDRA-5121:


In StorageService.handleStateNormal, when we see an endpoint come up which we 
already knew about: 

{noformat}
else if (endpoint.equals(currentOwner))
{
// set state back to normal, since the node may have tried to leave, but 
failed and is now back up
// no need to persist, token/ip did not change
{noformat}

I think the bug is that then we call 
{noformat}
SystemTable.updateTokens(endpoint, tokensToUpdateInSystemTable);
{noformat}
with an empty collection and SystemTable.updateTokens overwrites the current 
entry rather than adding to it.

Fix would be
{noformat}
- // no need to persist, token/ip did not change
+ if (!isClientMode)
+tokensToUpdateInSystemTable.add(token);
{noformat}

 system.peers.tokens is empty after node restart
 ---

 Key: CASSANDRA-5121
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5121
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.0
 Environment: Windows 8 / Java 1.6.0_37-b06
Reporter: Pierre Chalamet
Priority: Minor

 Using a 2 nodes fresh cluster (127.0.0.1  127.0.0.2) running latest 1.2, I’m 
 querying system.peers to get the nodes of the cluster and their respective 
 token. But it seems there is a problem after either node restart.
 When both node starts up, querying system.peers seems ok:
 {code}
 127.0.0.1 select * from system.peers;
 +-+--+---+---+-+-+--+---+
 | data_center | host_id  | peer  
 | rack  | release_version | rpc_address | schema_version  
  | tokens|
 +=+==+===+===+=+=+==+===+
 | datacenter1 | 4819cbb0-9741-4fe0-8d7d-95941b0247bf | 127.0.0.2 
 | rack1 | 1.2.0   | 127.0.0.2   | 
 59adb24e-f3cd-3e02-97f0-5b395827453f | 
 56713727820156410577229101238628035242|
 +-+--+---+---+-+-+--+---+
 {code}
 But as soon as one node is restarted (let’s say 127.0.0.2), tokens column is 
 then empty:
 {code}
 127.0.0.1 select * from system.peers;
 +-+--+---+---+-+-+--+-+
 | data_center | host_id  | peer  
 | rack  | release_version | rpc_address | schema_version  
  | tokens  |
 +=+==+===+===+=+=+==+=+
 | datacenter1 | 4819cbb0-9741-4fe0-8d7d-95941b0247bf | 127.0.0.2 
 | rack1 | 1.2.0   | 127.0.0.2   | 
 59adb24e-f3cd-3e02-97f0-5b395827453f | |
 +-+--+---+---+-+-+--+-+
 {code}
 {code}
 Log server side:
 DEBUG 22:08:01,608 Responding: ROWS [peer(system, peers), 
 org.apache.cassandra.db.marshal.InetAddressType][data_center(system, peers), 
 org.apache.cassandra.db.marshal.UTF8Type][host_id(system, peers), 
 org.apache.cassandra.db.marshal.UUIDType][rack(system, peers), 
 org.apache.cassandra.db.marshal.UTF8Type][release_version(system, peers), 
 org.apache.cassandra.db.marshal.UTF8Type][rpc_address(system, peers), 
 org.apache.cassandra.db.marshal.InetAddressType][schema_version(system,
 peers), org.apache.cassandra.db.marshal.UUIDType][tokens(system, peers), 
 org.apache.cassandra.db.marshal.SetType(org.apache.cassandra.db.marshal.UTF8Type)]
  | 127.0.0.2 | datacenter1 | 4819cbb0-9741-4fe0-8d7d-95941b0247bf | rack1 | 
 1.2.0 | 127.0.0.2 | 59adb24e-f3cd-3e02-97f0-5b395827453f | null
 {code}
 Restarting the other node (127.0.0.1) restore back the tokens column.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA 

[jira] [Updated] (CASSANDRA-5121) system.peers.tokens is empty after node restart

2013-01-07 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-5121:


Attachment: 5121.txt

I agree on Sam's analysis but I would suggest the slightly different patch 
attached, because I think the intend was that if tokensToUpdateInSystemTable is 
empty, we don't update anything. In particular, in the case where we are 
relocating, I don't think we want remove the tokens from the system table 
either (and in the case where there is a token conflict I think the initial 
intent was also to leave things as they are, even though in that case maybe 
actually removing the token is not a bad idea?).


 system.peers.tokens is empty after node restart
 ---

 Key: CASSANDRA-5121
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5121
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.0
 Environment: Windows 8 / Java 1.6.0_37-b06
Reporter: Pierre Chalamet
Priority: Minor
 Attachments: 5121.txt


 Using a 2 nodes fresh cluster (127.0.0.1  127.0.0.2) running latest 1.2, I’m 
 querying system.peers to get the nodes of the cluster and their respective 
 token. But it seems there is a problem after either node restart.
 When both node starts up, querying system.peers seems ok:
 {code}
 127.0.0.1 select * from system.peers;
 +-+--+---+---+-+-+--+---+
 | data_center | host_id  | peer  
 | rack  | release_version | rpc_address | schema_version  
  | tokens|
 +=+==+===+===+=+=+==+===+
 | datacenter1 | 4819cbb0-9741-4fe0-8d7d-95941b0247bf | 127.0.0.2 
 | rack1 | 1.2.0   | 127.0.0.2   | 
 59adb24e-f3cd-3e02-97f0-5b395827453f | 
 56713727820156410577229101238628035242|
 +-+--+---+---+-+-+--+---+
 {code}
 But as soon as one node is restarted (let’s say 127.0.0.2), tokens column is 
 then empty:
 {code}
 127.0.0.1 select * from system.peers;
 +-+--+---+---+-+-+--+-+
 | data_center | host_id  | peer  
 | rack  | release_version | rpc_address | schema_version  
  | tokens  |
 +=+==+===+===+=+=+==+=+
 | datacenter1 | 4819cbb0-9741-4fe0-8d7d-95941b0247bf | 127.0.0.2 
 | rack1 | 1.2.0   | 127.0.0.2   | 
 59adb24e-f3cd-3e02-97f0-5b395827453f | |
 +-+--+---+---+-+-+--+-+
 {code}
 {code}
 Log server side:
 DEBUG 22:08:01,608 Responding: ROWS [peer(system, peers), 
 org.apache.cassandra.db.marshal.InetAddressType][data_center(system, peers), 
 org.apache.cassandra.db.marshal.UTF8Type][host_id(system, peers), 
 org.apache.cassandra.db.marshal.UUIDType][rack(system, peers), 
 org.apache.cassandra.db.marshal.UTF8Type][release_version(system, peers), 
 org.apache.cassandra.db.marshal.UTF8Type][rpc_address(system, peers), 
 org.apache.cassandra.db.marshal.InetAddressType][schema_version(system,
 peers), org.apache.cassandra.db.marshal.UUIDType][tokens(system, peers), 
 org.apache.cassandra.db.marshal.SetType(org.apache.cassandra.db.marshal.UTF8Type)]
  | 127.0.0.2 | datacenter1 | 4819cbb0-9741-4fe0-8d7d-95941b0247bf | rack1 | 
 1.2.0 | 127.0.0.2 | 59adb24e-f3cd-3e02-97f0-5b395827453f | null
 {code}
 Restarting the other node (127.0.0.1) restore back the tokens column.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-5122) Select on composite partition keys are not validated correctly

2013-01-07 Thread Sylvain Lebresne (JIRA)
Sylvain Lebresne created CASSANDRA-5122:
---

 Summary: Select on composite partition keys are not validated 
correctly
 Key: CASSANDRA-5122
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5122
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 1.2.1


From Kais Ahmed on the mailing list:
{noformat}
--
[cqlsh 2.3.0 | Cassandra 1.2.0-SNAPSHOT | CQL spec 3.0.0 | Thrift protocol
19.35.0]

cqlsh:test CREATE TABLE foo (   a int,   b text,   c uuid,   PRIMARY KEY
((a, b)) );

cqlsh:test INSERT INTO foo (a, b , c ) VALUES (  1 , 'aze',
'4d481800-4c5f-11e1-82e0-3f484de45426');
cqlsh:test INSERT INTO foo (a, b , c ) VALUES (  1 , 'ert',
'693f5800-8acb-11e3-82e0-3f484de45426');
cqlsh:test INSERT INTO foo (a, b , c ) VALUES (  1 , 'opl',
'd4815800-2d8d-11e0-82e0-3f484de45426');

-

cqlsh:test SELECT * FROM foo;

 a | b   | c
---+-+--
 1 | ert | 693f5800-8acb-11e3-82e0-3f484de45426
 1 | opl | d4815800-2d8d-11e0-82e0-3f484de45426
 1 | aze | 4d481800-4c5f-11e1-82e0-3f484de45426

-

cqlsh:test SELECT * FROM foo where a=1;

 a | b   | c
---+-+--
 1 | ert | 693f5800-8acb-11e3-82e0-3f484de45426
 1 | opl | d4815800-2d8d-11e0-82e0-3f484de45426
{noformat}

The last request should be invalid (since we don't have a good way to do it, at 
least not with a random partitioner).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5122) Select on composite partition keys are not validated correctly

2013-01-07 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-5122:


Attachment: 5122.txt

 Select on composite partition keys are not validated correctly
 --

 Key: CASSANDRA-5122
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5122
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 1.2.1

 Attachments: 5122.txt


 From Kais Ahmed on the mailing list:
 {noformat}
 --
 [cqlsh 2.3.0 | Cassandra 1.2.0-SNAPSHOT | CQL spec 3.0.0 | Thrift protocol
 19.35.0]
 cqlsh:test CREATE TABLE foo (   a int,   b text,   c uuid,   PRIMARY KEY
 ((a, b)) );
 cqlsh:test INSERT INTO foo (a, b , c ) VALUES (  1 , 'aze',
 '4d481800-4c5f-11e1-82e0-3f484de45426');
 cqlsh:test INSERT INTO foo (a, b , c ) VALUES (  1 , 'ert',
 '693f5800-8acb-11e3-82e0-3f484de45426');
 cqlsh:test INSERT INTO foo (a, b , c ) VALUES (  1 , 'opl',
 'd4815800-2d8d-11e0-82e0-3f484de45426');
 -
 cqlsh:test SELECT * FROM foo;
  a | b   | c
 ---+-+--
  1 | ert | 693f5800-8acb-11e3-82e0-3f484de45426
  1 | opl | d4815800-2d8d-11e0-82e0-3f484de45426
  1 | aze | 4d481800-4c5f-11e1-82e0-3f484de45426
 -
 cqlsh:test SELECT * FROM foo where a=1;
  a | b   | c
 ---+-+--
  1 | ert | 693f5800-8acb-11e3-82e0-3f484de45426
  1 | opl | d4815800-2d8d-11e0-82e0-3f484de45426
 {noformat}
 The last request should be invalid (since we don't have a good way to do it, 
 at least not with a random partitioner).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[2/3] git commit: disallow bloom filter false positive chance of 0 patch by jbellis and brandonwilliams for CASSANDRA-5013

2013-01-07 Thread jbellis
disallow bloom filter false positive chance of 0
patch by jbellis and brandonwilliams for CASSANDRA-5013


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

Branch: refs/heads/trunk
Commit: dac6048c50a8dff0b4522c669c2f7115876483eb
Parents: 3d787b7
Author: Jonathan Ellis jbel...@apache.org
Authored: Fri Jan 4 12:16:33 2013 -0600
Committer: Jonathan Ellis jbel...@apache.org
Committed: Mon Jan 7 09:36:41 2013 -0600

--
 CHANGES.txt|1 +
 .../org/apache/cassandra/config/CFMetaData.java|6 +-
 .../apache/cassandra/io/sstable/SSTableWriter.java |   10 +-
 3 files changed, 7 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/dac6048c/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 95aad22..78643d5 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 1.2.1
+ * disallow bloom filter false positive chance of 0 (CASSANDRA-5013)
  * add threadpool size adjustment methods to JMXEnabledThreadPoolExecutor and 
CompactionManagerMBean (CASSANDRA-5044)
  * Improve handling a changing target throttle rate mid-compaction 
(CASSANDRA-5087)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/dac6048c/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 3a2e2b6..5f6c1fe 100644
--- a/src/java/org/apache/cassandra/config/CFMetaData.java
+++ b/src/java/org/apache/cassandra/config/CFMetaData.java
@@ -536,7 +536,8 @@ public final class CFMetaData
 
 public double getBloomFilterFpChance()
 {
-return bloomFilterFpChance == null
+// we disallow bFFPC==null starting in 1.2.1 but tolerated it before 
that
+return (bloomFilterFpChance == null || bloomFilterFpChance == 0)
? compactionStrategyClass == LeveledCompactionStrategy.class ? 
0.1 : 0.01
: bloomFilterFpChance;
 }
@@ -1125,6 +1126,9 @@ public final class CFMetaData
 
 validateCompactionThresholds();
 
+if (bloomFilterFpChance != null  bloomFilterFpChance == 0)
+throw new ConfigurationException(Zero false positives is 
impossible; bloom filter false positive chance bffpc must be 0  bffpc = 1);
+
 return this;
 }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/dac6048c/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
--
diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java 
b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
index a3a8fe9..f578064 100644
--- a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
+++ b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
@@ -442,15 +442,7 @@ public class SSTableWriter extends SSTable
   
!DatabaseDescriptor.populateIOCacheOnFlush());
 builder = 
SegmentedFile.getBuilder(DatabaseDescriptor.getIndexAccessMode());
 summary = new IndexSummary(keyCount);
-
-double fpChance = metadata.getBloomFilterFpChance();
-if (fpChance == 0)
-{
-// paranoia -- we've had bugs in the thrift - avro - CfDef 
dance before, let's not let that break things
-logger.error(Bloom filter FP chance of zero isn't supposed to 
happen);
-fpChance = 0.01;
-}
-bf = FilterFactory.getFilter(keyCount, fpChance, true);
+bf = FilterFactory.getFilter(keyCount, 
metadata.getBloomFilterFpChance(), true);
 }
 
 public void append(DecoratedKey key, RowIndexEntry indexEntry)



[1/3] git commit: disallow bloom filter false positive chance of 0 patch by jbellis and brandonwilliams for CASSANDRA-5013

2013-01-07 Thread jbellis
disallow bloom filter false positive chance of 0
patch by jbellis and brandonwilliams for CASSANDRA-5013


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

Branch: refs/heads/cassandra-1.2
Commit: dac6048c50a8dff0b4522c669c2f7115876483eb
Parents: 3d787b7
Author: Jonathan Ellis jbel...@apache.org
Authored: Fri Jan 4 12:16:33 2013 -0600
Committer: Jonathan Ellis jbel...@apache.org
Committed: Mon Jan 7 09:36:41 2013 -0600

--
 CHANGES.txt|1 +
 .../org/apache/cassandra/config/CFMetaData.java|6 +-
 .../apache/cassandra/io/sstable/SSTableWriter.java |   10 +-
 3 files changed, 7 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/dac6048c/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 95aad22..78643d5 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 1.2.1
+ * disallow bloom filter false positive chance of 0 (CASSANDRA-5013)
  * add threadpool size adjustment methods to JMXEnabledThreadPoolExecutor and 
CompactionManagerMBean (CASSANDRA-5044)
  * Improve handling a changing target throttle rate mid-compaction 
(CASSANDRA-5087)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/dac6048c/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 3a2e2b6..5f6c1fe 100644
--- a/src/java/org/apache/cassandra/config/CFMetaData.java
+++ b/src/java/org/apache/cassandra/config/CFMetaData.java
@@ -536,7 +536,8 @@ public final class CFMetaData
 
 public double getBloomFilterFpChance()
 {
-return bloomFilterFpChance == null
+// we disallow bFFPC==null starting in 1.2.1 but tolerated it before 
that
+return (bloomFilterFpChance == null || bloomFilterFpChance == 0)
? compactionStrategyClass == LeveledCompactionStrategy.class ? 
0.1 : 0.01
: bloomFilterFpChance;
 }
@@ -1125,6 +1126,9 @@ public final class CFMetaData
 
 validateCompactionThresholds();
 
+if (bloomFilterFpChance != null  bloomFilterFpChance == 0)
+throw new ConfigurationException(Zero false positives is 
impossible; bloom filter false positive chance bffpc must be 0  bffpc = 1);
+
 return this;
 }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/dac6048c/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
--
diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java 
b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
index a3a8fe9..f578064 100644
--- a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
+++ b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
@@ -442,15 +442,7 @@ public class SSTableWriter extends SSTable
   
!DatabaseDescriptor.populateIOCacheOnFlush());
 builder = 
SegmentedFile.getBuilder(DatabaseDescriptor.getIndexAccessMode());
 summary = new IndexSummary(keyCount);
-
-double fpChance = metadata.getBloomFilterFpChance();
-if (fpChance == 0)
-{
-// paranoia -- we've had bugs in the thrift - avro - CfDef 
dance before, let's not let that break things
-logger.error(Bloom filter FP chance of zero isn't supposed to 
happen);
-fpChance = 0.01;
-}
-bf = FilterFactory.getFilter(keyCount, fpChance, true);
+bf = FilterFactory.getFilter(keyCount, 
metadata.getBloomFilterFpChance(), true);
 }
 
 public void append(DecoratedKey key, RowIndexEntry indexEntry)



[3/3] git commit: merge from 1.2

2013-01-07 Thread jbellis
Updated Branches:
  refs/heads/cassandra-1.2 3d787b78c - dac6048c5
  refs/heads/trunk 94d76aa6c - af404f211


merge from 1.2


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

Branch: refs/heads/trunk
Commit: af404f2116ae15dc0aba5676a337321e15d47dfb
Parents: 94d76aa dac6048
Author: Jonathan Ellis jbel...@apache.org
Authored: Mon Jan 7 09:40:17 2013 -0600
Committer: Jonathan Ellis jbel...@apache.org
Committed: Mon Jan 7 09:40:17 2013 -0600

--
 CHANGES.txt|1 +
 .../org/apache/cassandra/config/CFMetaData.java|6 +-
 .../apache/cassandra/io/sstable/SSTableWriter.java |   10 +-
 3 files changed, 7 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/af404f21/CHANGES.txt
--
diff --cc CHANGES.txt
index f290829,78643d5..c0e403f
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,11 -1,5 +1,12 @@@
 +1.3
 + * make index_interval configurable per columnfamily (CASSANDRA-3961)
 + * add default_tim_to_live (CASSANDRA-3974)
 + * add memtable_flush_period_in_ms (CASSANDRA-4237)
 + * replace supercolumns internally by composites (CASSANDRA-3237)
 +
 +
  1.2.1
+  * disallow bloom filter false positive chance of 0 (CASSANDRA-5013)
   * add threadpool size adjustment methods to JMXEnabledThreadPoolExecutor and 
 CompactionManagerMBean (CASSANDRA-5044)
   * Improve handling a changing target throttle rate mid-compaction 
(CASSANDRA-5087)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/af404f21/src/java/org/apache/cassandra/config/CFMetaData.java
--
diff --cc src/java/org/apache/cassandra/config/CFMetaData.java
index 359bbb3,5f6c1fe..c1fd8e9
--- a/src/java/org/apache/cassandra/config/CFMetaData.java
+++ b/src/java/org/apache/cassandra/config/CFMetaData.java
@@@ -555,9 -529,15 +555,10 @@@ public final class CFMetaDat
  return Collections.unmodifiableMap(column_metadata);
  }
  
 -public AbstractType? getComparatorFor(ByteBuffer superColumnName)
 -{
 -return superColumnName == null ? comparator : subcolumnComparator;
 -}
 -
  public double getBloomFilterFpChance()
  {
- return bloomFilterFpChance == null
+ // we disallow bFFPC==null starting in 1.2.1 but tolerated it before 
that
+ return (bloomFilterFpChance == null || bloomFilterFpChance == 0)
 ? compactionStrategyClass == LeveledCompactionStrategy.class ? 
0.1 : 0.01
 : bloomFilterFpChance;
  }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/af404f21/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
--
diff --cc src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
index 10af96d,f578064..279599e
--- a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
+++ b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
@@@ -426,16 -441,8 +426,8 @@@ public class SSTableWriter extends SSTa
  indexFile = SequentialWriter.open(new 
File(descriptor.filenameFor(SSTable.COMPONENT_INDEX)),

!DatabaseDescriptor.populateIOCacheOnFlush());
  builder = 
SegmentedFile.getBuilder(DatabaseDescriptor.getIndexAccessMode());
 -summary = new IndexSummary(keyCount);
 +summary = new IndexSummary(keyCount, metadata.getIndexInterval());
- 
- double fpChance = metadata.getBloomFilterFpChance();
- if (fpChance == 0)
- {
- // paranoia -- we've had bugs in the thrift - avro - 
CfDef dance before, let's not let that break things
- logger.error(Bloom filter FP chance of zero isn't supposed 
to happen);
- fpChance = 0.01;
- }
- bf = FilterFactory.getFilter(keyCount, fpChance, true);
+ bf = FilterFactory.getFilter(keyCount, 
metadata.getBloomFilterFpChance(), true);
  }
  
  public void append(DecoratedKey key, RowIndexEntry indexEntry)



[jira] [Commented] (CASSANDRA-5122) Select on composite partition keys are not validated correctly

2013-01-07 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-5122:
---

+1

 Select on composite partition keys are not validated correctly
 --

 Key: CASSANDRA-5122
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5122
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 1.2.1

 Attachments: 5122.txt


 From Kais Ahmed on the mailing list:
 {noformat}
 --
 [cqlsh 2.3.0 | Cassandra 1.2.0-SNAPSHOT | CQL spec 3.0.0 | Thrift protocol
 19.35.0]
 cqlsh:test CREATE TABLE foo (   a int,   b text,   c uuid,   PRIMARY KEY
 ((a, b)) );
 cqlsh:test INSERT INTO foo (a, b , c ) VALUES (  1 , 'aze',
 '4d481800-4c5f-11e1-82e0-3f484de45426');
 cqlsh:test INSERT INTO foo (a, b , c ) VALUES (  1 , 'ert',
 '693f5800-8acb-11e3-82e0-3f484de45426');
 cqlsh:test INSERT INTO foo (a, b , c ) VALUES (  1 , 'opl',
 'd4815800-2d8d-11e0-82e0-3f484de45426');
 -
 cqlsh:test SELECT * FROM foo;
  a | b   | c
 ---+-+--
  1 | ert | 693f5800-8acb-11e3-82e0-3f484de45426
  1 | opl | d4815800-2d8d-11e0-82e0-3f484de45426
  1 | aze | 4d481800-4c5f-11e1-82e0-3f484de45426
 -
 cqlsh:test SELECT * FROM foo where a=1;
  a | b   | c
 ---+-+--
  1 | ert | 693f5800-8acb-11e3-82e0-3f484de45426
  1 | opl | d4815800-2d8d-11e0-82e0-3f484de45426
 {noformat}
 The last request should be invalid (since we don't have a good way to do it, 
 at least not with a random partitioner).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


git commit: Validat correctly selects on composite partition key

2013-01-07 Thread slebresne
Updated Branches:
  refs/heads/cassandra-1.2 dac6048c5 - 0d6131c40


Validat correctly selects on composite partition key

patch by slebresne; reviewed by jbellis for CASSANDRA-5122


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

Branch: refs/heads/cassandra-1.2
Commit: 0d6131c400cc296796f132f802f4156408e84ace
Parents: dac6048
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Mon Jan 7 17:22:49 2013 +0100
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Mon Jan 7 17:22:49 2013 +0100

--
 CHANGES.txt|1 +
 .../cassandra/cql3/statements/SelectStatement.java |   18 ++-
 2 files changed, 13 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d6131c4/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 78643d5..e038599 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -22,6 +22,7 @@
  * cqlsh: fix DESCRIBE for 1.1 cfs in CQL3 (CASSANDRA-5101)
  * Correctly gossip with nodes = 1.1.7 (CASSANDRA-5102)
  * Ensure CL guarantees on digest mismatch (CASSANDRA-5113)
+ * Validate correctly selects on composite partition key (CASSANDRA-5122)
 Merged from 1.1:
  * Pig: correctly decode row keys in widerow mode (CASSANDRA-5098)
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d6131c4/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
--
diff --git a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java 
b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
index b41659c..e88784c 100644
--- a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
@@ -271,10 +271,10 @@ public class SelectStatement implements CQLStatement
 RowPosition finishKey = RowPosition.forKey(finishKeyBytes, p);
 if (startKey.compareTo(finishKey)  0  !finishKey.isMinimum(p))
 {
-if (p instanceof RandomPartitioner)
-throw new InvalidRequestException(Start key sorts after 
end key. This is not allowed; you probably should not specify end key at all, 
under RandomPartitioner);
-else
+if (p.preservesOrder())
 throw new InvalidRequestException(Start key must sort 
before (or equal to) finish key in your partitioner!);
+else
+throw new InvalidRequestException(Start key sorts after 
end key. This is not allowed; you probably should not specify end key at all 
under random partitioner);
 }
 if (includeKeyBound(Bound.START))
 {
@@ -991,6 +991,7 @@ public class SelectStatement implements CQLStatement
 CFDefinition cfDef = cfm.getCfDef();
 SelectStatement stmt = new SelectStatement(cfDef, 
getBoundsTerms(), parameters);
 CFDefinition.Name[] names = new 
CFDefinition.Name[getBoundsTerms()];
+IPartitioner partitioner = StorageService.getPartitioner();
 
 // Select clause
 if (parameters.isCount)
@@ -1044,8 +1045,6 @@ public class SelectStatement implements CQLStatement
 switch (name.kind)
 {
 case KEY_ALIAS:
-if (rel.operator() != Relation.Type.EQ  
rel.operator() != Relation.Type.IN  !rel.onToken  
!StorageService.getPartitioner().preservesOrder())
-throw new InvalidRequestException(Only EQ and IN 
relation are supported on the partition key for RandomPartitioner (unless you 
use the token() function));
 stmt.keyRestrictions[name.position] = 
updateRestriction(name, stmt.keyRestrictions[name.position], rel);
 break;
 case COLUMN_ALIAS:
@@ -,7 +1110,11 @@ public class SelectStatement implements CQLStatement
 if (restriction == null)
 {
 if (stmt.onToken)
-throw new InvalidRequestException(String.format(The 
token() function must be applied to all partition key components or none of 
them));
+throw new InvalidRequestException(The token() 
function must be applied to all partition key components or none of them);
+
+// Under a non order perserving partitioner, the only time 
not restricting a key part is allowed is if none are restricted
+if 

[jira] [Created] (CASSANDRA-5123) Multiget Supercolumns Sometimes Missing Results

2013-01-07 Thread Tyler Hobbs (JIRA)
Tyler Hobbs created CASSANDRA-5123:
--

 Summary: Multiget Supercolumns Sometimes Missing Results
 Key: CASSANDRA-5123
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5123
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Tyler Hobbs
Priority: Minor


Starting approximately with commit c2812f3 (the January 3rd nightly build by 
DataStax Jenkins, #669), a few of the pycassa unit tests related to 
multigetting a particular supercolumn started failing periodically.  The 
nightly build is against Cassandra trunk.

You can reproduce with the pycassa unit tests fairly easily:
{noformat}
nosetests 
tests/test_columnfamily.py:TestSuperColumnFamily.test_multiget_supercolumn
{noformat}

It should fail within a few runs.

It looks like one of the requested keys isn't being returned at all.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5099) Since 1.1, get_count sometimes returns value smaller than actual column count

2013-01-07 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-5099:
--

 Reviewer: thobbs
 Priority: Major  (was: Minor)
Fix Version/s: 1.1.9
 Assignee: Yuki Morishita

 Since 1.1, get_count sometimes returns value smaller than actual column count
 -

 Key: CASSANDRA-5099
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5099
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.1.7
Reporter: Jason Harvey
Assignee: Yuki Morishita
 Fix For: 1.1.9


 We have a CF where rows have thousands of TTLd columns. The columns are 
 continually added at a regular rate, and TTL out after 15 minutes. We 
 continually run a 'get_count' on these keys to get a count of the number of 
 live columns.
 Since we upgrade from 1.0 to 1.1.7, get_count regularly returns much 
 smaller values than are possible. For example, with  roughly 15,000 columns 
 that have well-distributed TTLs, running a get_count 10 times will result in 
 1 or 2 results that are up to half the actual column count. Using a normal 
 'get' to count those columns always results in proper values. 
 For example:
 (all of these counts were ran within a second or less of eachother)
 {code}
 [default@reddit] count  AccountsActiveBySR['2qh0u'];
 13665 columns
 [default@reddit] count  AccountsActiveBySR['2qh0u'];
 13665 columns
 [default@reddit] count  AccountsActiveBySR['2qh0u'];
 13666 columns
 [default@reddit] count  AccountsActiveBySR['2qh0u'];
 3069 columns
 [default@reddit] count  AccountsActiveBySR['2qh0u'];
 13660 columns
 [default@reddit] count  AccountsActiveBySR['2qh0u'];
 13661 columns
 {code}
 I should note that this issue happens much more frequently with larger (10k 
 columns) rows than smaller rows. It never seems to happen with rows having 
 fewer than 1k columns.
 There are no supercolumns in use. The key names and column names are very 
 short, and there are no column values. The CF is LCS, and due to the TTL only 
 hovers around a few MB in size. GC grace is normally at zero, but the problem 
 is consistent with non-zero gc grace times.
 It appears that there was an issue (CASSANDRA-4833) fixed in 1.1.7 regarding 
 get_count. Some logic was added to prevent an infinite loop case. Could that 
 change have resulted in this problem somehow? I can't find any other relevant 
 1.1 changes that might explain this issue.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5088) Major compaction IOException in 1.1.8

2013-01-07 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-5088:
--

Reviewer: yukim  (was: carlyeks)

 Major compaction IOException in 1.1.8
 -

 Key: CASSANDRA-5088
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5088
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.1.8
Reporter: Karl Mueller
Assignee: Jonathan Ellis
  Labels: compression
 Fix For: 1.1.9

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


 Upgraded 1.1.6 to 1.1.8.
 Now I'm trying to do a major compaction, and seeing this:
 ERROR [CompactionExecutor:129] 2012-12-22 10:33:44,217 
 AbstractCassandraDaemon.java (line 135) Exception in thread 
 Thread[CompactionExecutor:129,1,RMI Runtime]
 java.io.IOError: java.io.IOException: Bad file descriptor
 at 
 org.apache.cassandra.utils.MergeIterator.close(MergeIterator.java:65)
 at 
 org.apache.cassandra.db.compaction.CompactionTask.execute(CompactionTask.java:195)
 at 
 org.apache.cassandra.db.compaction.CompactionManager$7.runMayThrow(CompactionManager.java:298)
 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:619)
 Caused by: java.io.IOException: Bad file descriptor
 at sun.nio.ch.FileDispatcher.preClose0(Native Method)
 at sun.nio.ch.FileDispatcher.preClose(FileDispatcher.java:59)
 at 
 sun.nio.ch.FileChannelImpl.implCloseChannel(FileChannelImpl.java:96)
 at 
 java.nio.channels.spi.AbstractInterruptibleChannel.close(AbstractInterruptibleChannel.java:97)
 at java.io.FileInputStream.close(FileInputStream.java:258)
 at 
 org.apache.cassandra.io.compress.CompressedRandomAccessReader.close(CompressedRandomAccessReader.java:131)
 at 
 sun.nio.ch.FileChannelImpl.implCloseChannel(FileChannelImpl.java:121)
 at 
 java.nio.channels.spi.AbstractInterruptibleChannel.close(AbstractInterruptibleChannel.java:97)
 at java.io.RandomAccessFile.close(RandomAccessFile.java:541)
 at 
 org.apache.cassandra.io.util.RandomAccessReader.close(RandomAccessReader.java:224)
 at 
 org.apache.cassandra.io.compress.CompressedRandomAccessReader.close(CompressedRandomAccessReader.java:130)
 at 
 org.apache.cassandra.io.sstable.SSTableScanner.close(SSTableScanner.java:89)
 at 
 org.apache.cassandra.utils.MergeIterator.close(MergeIterator.java:61)
 ... 9 more

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5088) Major compaction IOException in 1.1.8

2013-01-07 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-5088:
--

Reviewer: iamaleksey  (was: yukim)

 Major compaction IOException in 1.1.8
 -

 Key: CASSANDRA-5088
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5088
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.1.8
Reporter: Karl Mueller
Assignee: Jonathan Ellis
  Labels: compression
 Fix For: 1.1.9

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


 Upgraded 1.1.6 to 1.1.8.
 Now I'm trying to do a major compaction, and seeing this:
 ERROR [CompactionExecutor:129] 2012-12-22 10:33:44,217 
 AbstractCassandraDaemon.java (line 135) Exception in thread 
 Thread[CompactionExecutor:129,1,RMI Runtime]
 java.io.IOError: java.io.IOException: Bad file descriptor
 at 
 org.apache.cassandra.utils.MergeIterator.close(MergeIterator.java:65)
 at 
 org.apache.cassandra.db.compaction.CompactionTask.execute(CompactionTask.java:195)
 at 
 org.apache.cassandra.db.compaction.CompactionManager$7.runMayThrow(CompactionManager.java:298)
 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:619)
 Caused by: java.io.IOException: Bad file descriptor
 at sun.nio.ch.FileDispatcher.preClose0(Native Method)
 at sun.nio.ch.FileDispatcher.preClose(FileDispatcher.java:59)
 at 
 sun.nio.ch.FileChannelImpl.implCloseChannel(FileChannelImpl.java:96)
 at 
 java.nio.channels.spi.AbstractInterruptibleChannel.close(AbstractInterruptibleChannel.java:97)
 at java.io.FileInputStream.close(FileInputStream.java:258)
 at 
 org.apache.cassandra.io.compress.CompressedRandomAccessReader.close(CompressedRandomAccessReader.java:131)
 at 
 sun.nio.ch.FileChannelImpl.implCloseChannel(FileChannelImpl.java:121)
 at 
 java.nio.channels.spi.AbstractInterruptibleChannel.close(AbstractInterruptibleChannel.java:97)
 at java.io.RandomAccessFile.close(RandomAccessFile.java:541)
 at 
 org.apache.cassandra.io.util.RandomAccessReader.close(RandomAccessReader.java:224)
 at 
 org.apache.cassandra.io.compress.CompressedRandomAccessReader.close(CompressedRandomAccessReader.java:130)
 at 
 org.apache.cassandra.io.sstable.SSTableScanner.close(SSTableScanner.java:89)
 at 
 org.apache.cassandra.utils.MergeIterator.close(MergeIterator.java:61)
 ... 9 more

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[Cassandra Wiki] Trivial Update of RosieMulli by RosieMulli

2013-01-07 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on Cassandra Wiki for 
change notification.

The RosieMulli page has been changed by RosieMulli:
http://wiki.apache.org/cassandra/RosieMulli

New page:
There is nothing to tell about myself really.BRBRFinally a member of 
apache.org.BRI just hope Im useful in some way here.BRBRAlso visit 
my blog: [[http://haribhakt.com|lord krishna history, krishna blessings for 
all, lord krishna historical proof, become hindu]]


[jira] [Updated] (CASSANDRA-5089) get_range_slices is broken

2013-01-07 Thread Aleksey Pesternikov (JIRA)

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

Aleksey Pesternikov updated CASSANDRA-5089:
---

Attachment: 5089unittest.diff

test attached.
Please note that you need -ea JVM command line flag to reveal the problem, 
without -ea it works fine.
I think the problem is in Bounds.java:45 assert statement:

assert left.compareTo(right) = 0 || right.isMinimum(partitioner) : [ 
+ left + , + right + ];

 Why left is even compared to right? Why bounds may not wrap as it stated in 
the comment? Logically, less and more are irrelevant to iterator position 
as we are talking about RING.

 get_range_slices is broken
 --

 Key: CASSANDRA-5089
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5089
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.1.7
Reporter: Aleksey Pesternikov
Assignee: Jonathan Ellis
Priority: Trivial
 Fix For: 1.2.1

 Attachments: 5089.txt, 5089unittest.diff, 5089-v2.txt


 get_range_slices times out, java log has the following exception:
 ERROR [Thrift:1] 2012-12-22 08:14:30,120 AbstractCassandraDaemon.java (line 
 135) Exception in thread Thread[Thrift:1,5,main]
 java.lang.AssertionError: [DecoratedKey(28555413689034504124051437792156504, 
 643431386665303564363166396232363532393734333765336265616162),max(0)]
 at org.apache.cassandra.dht.Bounds.init(Bounds.java:45)
 at org.apache.cassandra.dht.Bounds.init(Bounds.java:38)
 at 
 org.apache.cassandra.thrift.CassandraServer.get_range_slices(CassandraServer.java:698)
 at 
 org.apache.cassandra.thrift.Cassandra$Processor$get_range_slices.getResult(Cassandra.java:3083)
 at 
 org.apache.cassandra.thrift.Cassandra$Processor$get_range_slices.getResult(Cassandra.java:3071)
 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.runWorker(ThreadPoolExecutor.java:1110)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
 at java.lang.Thread.run(Thread.java:722)
 We see it every time on the SECOND get_range_slices call when we clear 
 start_token and set start_key in the key range.
 We noticed this in 1.1.7 first, 1.1.8 still affected. 1.1.6 is fine.
 Please contact me if you need more information.
  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-4775) Counters 2.0

2013-01-07 Thread Srdjan Mitrovic (JIRA)

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

Srdjan Mitrovic commented on CASSANDRA-4775:


Don't atomic batched have potential for a retry mechanism?
Now that CASSANDRA-4285 has been resolved can't you use Atomic batches to have 
idempotent counters? If we put in the same batch both incr and adding a wide 
row cell we could later see if we have a cell and not execute that batch again. 

I apologize if there is something fundamentally wrong in my understanding of 
how cassandra batches work so in that case please delete my message so that it 
doesn't derail the issue.

 Counters 2.0
 

 Key: CASSANDRA-4775
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4775
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Arya Goudarzi
  Labels: counters
 Fix For: 2.0


 The existing partitioned counters remain a source of frustration for most 
 users almost two years after being introduced.  The remaining problems are 
 inherent in the design, not something that can be fixed given enough 
 time/eyeballs.
 Ideally a solution would give us
 - similar performance
 - less special cases in the code
 - potential for a retry mechanism

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5120) Add support for SSL sockets to use client certificate authentication.

2013-01-07 Thread Brandon Williams (JIRA)

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

Brandon Williams updated CASSANDRA-5120:


Reviewer: vijay2...@yahoo.com

 Add support for SSL sockets to use client certificate authentication.
 -

 Key: CASSANDRA-5120
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5120
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 1.2.0
Reporter: Steven Franklin
Priority: Minor
 Fix For: 1.2.0

 Attachments: trunk-5120.txt


 Add an option to EncryptionOptions to require client certication 
 authentication.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5120) Add support for SSL sockets to use client certificate authentication.

2013-01-07 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-5120:
--

Not all thfit ssl socket implementations support this.
Python's TSSLSocket, for example.

 Add support for SSL sockets to use client certificate authentication.
 -

 Key: CASSANDRA-5120
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5120
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 1.2.0
Reporter: Steven Franklin
Priority: Minor
 Fix For: 1.2.0

 Attachments: trunk-5120.txt


 Add an option to EncryptionOptions to require client certication 
 authentication.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Comment Edited] (CASSANDRA-5120) Add support for SSL sockets to use client certificate authentication.

2013-01-07 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko edited comment on CASSANDRA-5120 at 1/7/13 5:31 PM:
--

Not all Thrift ssl socket implementations support this.
Python's TSSLSocket doesn't, for example.

  was (Author: iamaleksey):
Not all thfit ssl socket implementations support this.
Python's TSSLSocket, for example.
  
 Add support for SSL sockets to use client certificate authentication.
 -

 Key: CASSANDRA-5120
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5120
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 1.2.0
Reporter: Steven Franklin
Priority: Minor
 Fix For: 1.2.0

 Attachments: trunk-5120.txt


 Add an option to EncryptionOptions to require client certication 
 authentication.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5088) Major compaction IOException in 1.1.8

2013-01-07 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-5088:
--

+1

 Major compaction IOException in 1.1.8
 -

 Key: CASSANDRA-5088
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5088
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.1.8
Reporter: Karl Mueller
Assignee: Jonathan Ellis
  Labels: compression
 Fix For: 1.1.9

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


 Upgraded 1.1.6 to 1.1.8.
 Now I'm trying to do a major compaction, and seeing this:
 ERROR [CompactionExecutor:129] 2012-12-22 10:33:44,217 
 AbstractCassandraDaemon.java (line 135) Exception in thread 
 Thread[CompactionExecutor:129,1,RMI Runtime]
 java.io.IOError: java.io.IOException: Bad file descriptor
 at 
 org.apache.cassandra.utils.MergeIterator.close(MergeIterator.java:65)
 at 
 org.apache.cassandra.db.compaction.CompactionTask.execute(CompactionTask.java:195)
 at 
 org.apache.cassandra.db.compaction.CompactionManager$7.runMayThrow(CompactionManager.java:298)
 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:619)
 Caused by: java.io.IOException: Bad file descriptor
 at sun.nio.ch.FileDispatcher.preClose0(Native Method)
 at sun.nio.ch.FileDispatcher.preClose(FileDispatcher.java:59)
 at 
 sun.nio.ch.FileChannelImpl.implCloseChannel(FileChannelImpl.java:96)
 at 
 java.nio.channels.spi.AbstractInterruptibleChannel.close(AbstractInterruptibleChannel.java:97)
 at java.io.FileInputStream.close(FileInputStream.java:258)
 at 
 org.apache.cassandra.io.compress.CompressedRandomAccessReader.close(CompressedRandomAccessReader.java:131)
 at 
 sun.nio.ch.FileChannelImpl.implCloseChannel(FileChannelImpl.java:121)
 at 
 java.nio.channels.spi.AbstractInterruptibleChannel.close(AbstractInterruptibleChannel.java:97)
 at java.io.RandomAccessFile.close(RandomAccessFile.java:541)
 at 
 org.apache.cassandra.io.util.RandomAccessReader.close(RandomAccessReader.java:224)
 at 
 org.apache.cassandra.io.compress.CompressedRandomAccessReader.close(CompressedRandomAccessReader.java:130)
 at 
 org.apache.cassandra.io.sstable.SSTableScanner.close(SSTableScanner.java:89)
 at 
 org.apache.cassandra.utils.MergeIterator.close(MergeIterator.java:61)
 ... 9 more

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-4914) Aggregate functions in CQL

2013-01-07 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-4914:
--

Fix Version/s: (was: 1.2.1)
   2.0

 Aggregate functions in CQL
 --

 Key: CASSANDRA-4914
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4914
 Project: Cassandra
  Issue Type: Bug
Reporter: Vijay
Assignee: Vijay
 Fix For: 2.0


 The requirement is to do aggregation of data in Cassandra (Wide row of column 
 values of int, double, float etc).
 With some basic agree gate functions like AVG, SUM, Mean, Min, Max, etc (for 
 the columns within a row).
 Example:
 SELECT * FROM emp WHERE empID IN (130) ORDER BY deptID DESC;  
   
  empid | deptid | first_name | last_name | salary
 ---+++---+
130 |  3 | joe| doe   |   10.1
130 |  2 | joe| doe   |100
130 |  1 | joe| doe   |  1e+03
  
 SELECT sum(salary), empid FROM emp WHERE empID IN (130);  
   
  sum(salary) | empid
 -+
1110.1|  130

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-4795) replication, compaction, compression? options are not validated

2013-01-07 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-4795:
--

Reviewer: slebresne

 replication, compaction, compression? options are not validated
 ---

 Key: CASSANDRA-4795
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4795
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.0
Reporter: Brandon Williams
Assignee: Dave Brosius
Priority: Minor
 Fix For: 1.2.1

 Attachments: 4795.replication_strategy.txt


 When creating a keyspace and specifying strategy options, you can pass any 
 k/v pair you like.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-4445) balance utility for vnodes

2013-01-07 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-4445:
--

Priority: Minor  (was: Major)

 balance utility for vnodes
 --

 Key: CASSANDRA-4445
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4445
 Project: Cassandra
  Issue Type: Sub-task
  Components: Core
Affects Versions: 1.2.0 beta 1
Reporter: Brandon Williams
Priority: Minor
 Fix For: 1.2.1


 We need a 'balance' utility similar to move without a token, in the cases 
 where entropy is not your friend and gives you an unbalanced cluster (I've 
 seen up to a 7% discrepancy myself)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5112) Setting up authentication tables with custom authentication plugin

2013-01-07 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-5112:
--

bq. Having that onJoined / onReady and onBootstrapped would be great. Would be 
really nice if those could be used to properly setup these tables for 
authentication.

One callback, onBootstrapComplete.

As for the second issue, I think we could change the way that keyspace/table 
are created and allow altering the system_auth keyspace. So it would still be 
SimpleStrategy with RF=1 by default - so support single-node clusters, but 
you'd be able to change strategy and RF. Not sure if it's a good idea yet, just 
an idea.

 Setting up authentication tables with custom authentication plugin
 --

 Key: CASSANDRA-5112
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5112
 Project: Cassandra
  Issue Type: Improvement
  Components: API
Affects Versions: 1.2.0
Reporter: Dirkjan Bussink
Priority: Minor

 I'm working on updating https://github.com/nedap/cassandra-auth with the new 
 authentication API's in Cassandra 1.2.0. I have stumbled on an issue and I'm 
 not really sure how to handle it.
 For the authentication I want to setup additional column families for the 
 passwords and permissions. As recommended in the documentation of 
 IAuthorizer, I'm trying to create these tables during setup(): Setup is 
 called once upon system startup to initialize the IAuthorizer. For example, 
 use this method to create any required keyspaces/column families..
 The problem is that doing this seems to be a lot harder than I would think, 
 or I'm perhaps missing something obvious. I've tried various attempts, but 
 all have failed:
 - CQL and QueryProcessor.processInternal to setup additional column families. 
 This fails, since processInternal will throw a UnsupportedOperationException 
 due to it being a SchemaAlteringStatement.
 - CQL and QueryProcessor.process. This works after the system has 
 successfully started, but due to the moment setup() is called in the 
 Cassandra boot process, it will fail. It will throw an AssertionError in 
 MigrationManager.java:320, because the gossiper hasn't been started yet.
 - Internal API's. Mimicking how other column families are set up, using 
 CFMetadata and Schema.load. This seems to get the system in some inconsistent 
 state where some parts do see the additional column family, but others don't.
 Does anyone have a recommendation for the path to follow here? What would be 
 the recommended approach for actually setting up those column families during 
 starting for authentication?
 From working on this, I also have another question. I see the default 
 system_auth keyspace is created with a SimpleStrategy and a replication 
 factor of 1. Is this a deliberate choice? I can imagine that if a node in a 
 cluster dies, losing the authentication information that happens to be 
 available on that code could be very problematic. If I'm missing any 
 reasoning here, please let me know, but it struck me as something that could 
 cause potential problems. I also don't see a way I could reconfigure this at 
 the moment, and API's such as CREATE USER do seem to depend on this keyspace.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-4265) Limit total open connections (HSHA server)

2013-01-07 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-4265:
--

Fix Version/s: (was: 1.2.1)

 Limit total open connections (HSHA server)
 --

 Key: CASSANDRA-4265
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4265
 Project: Cassandra
  Issue Type: Improvement
  Components: API
Affects Versions: 0.8.3
 Environment: Ubuntu 10.04, 64bit, Oracle 1.6.0_32 and OpenJDK 1.6.0_20
 Connecting with Hector 1.1-0
Reporter: James Kearney
Assignee: Pavel Yaskevich
Priority: Minor
  Labels: thrift
 Attachments: 0001-Limit-HSHA-open-connections.patch


 When using the rpc_server_type: hsha there seems to be no limit on the number 
 of open connections that cassandra accepts / on the total memory consumed by 
 them. This can lead to OOM errors since the HSHA server assigns a FrameBuffer 
 per connection which is only cleaned up when the connection is closed.
 Setup:
 I wrote a simple test App using Hector which iterated through my rows 
 retrieving data. If my Hector connection pool size was set high (in this case 
 100) then after a while cassandra would crash with OOM. The program was 
 sequential so only 1 connection was actually in use at any one time but from 
 what I can tell (and from MAT analysis) all the open connections were 
 consuming memory as well (the FrameBuffers).
 At the moment all the solutions to this OOM problem seem to rest with the 
 client. The memory consumed (on a node) is equal to [open connections]*[max 
 request/response size] (it is max because of 
 https://issues.apache.org/jira/browse/THRIFT-1457).
 This means the client needs to know how much memory each node has spare for 
 it to use up with its connection pool. If you have a distributed set of 
 clients then they would have to co-ordinate on how many open connections they 
 have per node.
 I was just testing on a dev machine with small heap sizes (512mb-2GB) but the 
 memory consumed as stated is based off connections and buffer size so this 
 problem would scale for larger heap sizes.
 Solutions:
 The simplest would be a limit on the number of connections the HSHA server 
 accepts. I only started looking into cassandra a few days ago but I tried a 
 very simple connection limit mechanism (I will attach the patch) which seemed 
 to work. I'm sure it can be done much cleaner than my version.
 This means the client or clients only have to have a hard limit on their max 
 request size (lets say 2mb). Then for each node you know that allowing 100 
 connections to this node would potentially use up 200mb of memory. You can 
 then tune this number per node. (This isn't perfect since clients can't 
 always tell exactly how big a serialised response will be so you can go above 
 the 200mb)
 A more complex solution might be able to remove the burden from the client 
 completely. Thrift doesn't have streaming support but I assume when cassandra 
 reads data from disk / memtables streaming can be done at that point. If this 
 is the case then you can monitor how much memory client connections are 
 consuming in total. If a request comes in and buffering the request / 
 buffering the response would push cassandra over the limit then you can send 
 an error back instead of servicing the request.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Resolved] (CASSANDRA-5116) upgradesstables does not upgrade all sstables on a node

2013-01-07 Thread Michael Kjellman (JIRA)

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

Michael Kjellman resolved CASSANDRA-5116.
-

Resolution: Not A Problem
  Assignee: Michael Kjellman  (was: Yuki Morishita)

appears randomly -Summary.db files for random sstables across all the nodes in 
the cluster got a umask of 600 instead of 644.

all sstables are owned by cassandra:cassandra so i'm not sure why 600 on the 
-Summary.db files would lead to an issue where files are not compacted.

After talking to [~yukim] for a while on this he said that the *-Summary.db 
files are created during the upgrade to 1.2.0

I'm also wondering if this is a manifestation of #5102

 upgradesstables does not upgrade all sstables on a node
 ---

 Key: CASSANDRA-5116
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5116
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0
 Environment: Ubuntu 12.04
Reporter: Michael Kjellman
Assignee: Michael Kjellman

 upgradesstables appears to be skipping sstables randomly.
 finding a sstable with an mtime  the upgrade time and grepping through the 
 logs for a corresponding compaction log line, i find nothing. I have 
 reproduced this on all of my nodes across the cluster.
 is performAllSSTableOperation somehow skipping sstables?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-4680) Show time drift between nodes when using nodetool ring

2013-01-07 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-4680:
---

Can we do this w/ the existing gossip information, or do we need to add a 
here's what time it is locally state?

 Show time drift between nodes when using nodetool ring
 --

 Key: CASSANDRA-4680
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4680
 Project: Cassandra
  Issue Type: New Feature
  Components: Core, Tools
Reporter: Patrick McFadin
Priority: Minor
 Fix For: 1.2.1


 From the docs:
 Server clock synchronization is more important in 1.2; replicas
 will use a coordinator-provided timestamp to determine when a
 request has timed out and is thus not worth proceeding with.
 Using a service like NTP is strongly recommended.
 Since this is now more important than ever, my proposed enhancement would be 
 to the nodetool command. When displaying the ring information, add the time 
 drift as relative to the current host.
 This would be a valuable tool to aid in diagnostics.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-4680) Show time drift between nodes when using nodetool ring

2013-01-07 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-4680:
--

Component/s: Tools

 Show time drift between nodes when using nodetool ring
 --

 Key: CASSANDRA-4680
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4680
 Project: Cassandra
  Issue Type: New Feature
  Components: Core, Tools
Reporter: Patrick McFadin
Priority: Minor
 Fix For: 1.2.1


 From the docs:
 Server clock synchronization is more important in 1.2; replicas
 will use a coordinator-provided timestamp to determine when a
 request has timed out and is thus not worth proceeding with.
 Using a service like NTP is strongly recommended.
 Since this is now more important than ever, my proposed enhancement would be 
 to the nodetool command. When displaying the ring information, add the time 
 drift as relative to the current host.
 This would be a valuable tool to aid in diagnostics.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-4680) Show time drift between nodes when using nodetool ring

2013-01-07 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-4680:
--

Issue Type: New Feature  (was: Improvement)

 Show time drift between nodes when using nodetool ring
 --

 Key: CASSANDRA-4680
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4680
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Patrick McFadin
Priority: Minor
 Fix For: 1.2.1


 From the docs:
 Server clock synchronization is more important in 1.2; replicas
 will use a coordinator-provided timestamp to determine when a
 request has timed out and is thus not worth proceeding with.
 Using a service like NTP is strongly recommended.
 Since this is now more important than ever, my proposed enhancement would be 
 to the nodetool command. When displaying the ring information, add the time 
 drift as relative to the current host.
 This would be a valuable tool to aid in diagnostics.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-4801) inet datatype does not work with cqlsh on windows

2013-01-07 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-4801:
--

Reviewer: brandon.williams  (was: jbellis)
Priority: Minor  (was: Major)
Assignee: Aleksey Yeschenko  (was: Jonathan Ellis)

 inet datatype does not work with cqlsh on windows
 -

 Key: CASSANDRA-4801
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4801
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Affects Versions: 1.2.0 beta 1
 Environment: Windows 7, Python 2.7.2
Reporter: Jonathan Ellis
Assignee: Aleksey Yeschenko
Priority: Minor
  Labels: cqlsh, windows
 Fix For: 1.2.1


 {noformat}
 create keyspace foo with replication = {'class': 'SimpleStrategy', 
 'replication_factor': '1'};
 use foo;
 create table one (id int primary key, c int);
 TRACING ON;
 insert into one (id, c) values (1, 2);
 value '\x7f\x00\x00\x01' (in col 'source') can't be deserialized as inet: 
 'module' object has no attribute 'inet_ntop'
 {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-1337) parallelize fetching rows for low-cardinality indexes

2013-01-07 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-1337:
--

Fix Version/s: (was: 1.2.1)
   2.0

 parallelize fetching rows for low-cardinality indexes
 -

 Key: CASSANDRA-1337
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1337
 Project: Cassandra
  Issue Type: Improvement
Reporter: Jonathan Ellis
Assignee: David Alves
Priority: Minor
 Fix For: 2.0

 Attachments: 1137-bugfix.patch, 1337.patch, 1337-v4.patch, 
 ASF.LICENSE.NOT.GRANTED--0001-CASSANDRA-1337-scan-concurrently-depending-on-num-rows.txt,
  CASSANDRA-1337.patch

   Original Estimate: 8h
  Remaining Estimate: 8h

 currently, we read the indexed rows from the first node (in partitioner 
 order); if that does not have enough matching rows, we read the rows from the 
 next, and so forth.
 we should use the statistics fom CASSANDRA-1155 to query multiple nodes in 
 parallel, such that we have a high chance of getting enough rows w/o having 
 to do another round of queries (but, if our estimate is incorrect, we do need 
 to loop and do more rounds until we have enough data or we have fetched from 
 each node).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-4316) Compaction Throttle too bursty with large rows

2013-01-07 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-4316:
--

Reviewer: jbellis

 Compaction Throttle too bursty with large rows
 --

 Key: CASSANDRA-4316
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4316
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.8.0
Reporter: Wayne Lewis
Assignee: Yuki Morishita
 Fix For: 1.2.1

 Attachments: 4316-1.2.txt


 In org.apache.cassandra.db.compaction.CompactionIterable the check for 
 compaction throttling occurs once every 1000 rows. In our workload this is 
 much too large as we have many large rows (16 - 100 MB).
 With a 100 MB row, about 100 GB is read (and possibly written) before the 
 compaction throttle sleeps. This causes bursts of essentially unthrottled 
 compaction IO followed by a long sleep which yields inconsistence performance 
 and high error rates during the bursts.
 We applied a workaround to check throttle every row which solved our 
 performance and error issues:
 line 116 in org.apache.cassandra.db.compaction.CompactionIterable:
 if ((row++ % 1000) == 0)
 replaced with
 if ((row++ % 1) == 0)
 I think the better solution is to calculate how often throttle should be 
 checked based on the throttle rate to apply sleeps more consistently. E.g. if 
 16MB/sec is the limit then check for sleep after every 16MB is read so sleeps 
 are spaced out about every second.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-4897) Allow tiered compaction define max sstable size

2013-01-07 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-4897:
--

 Priority: Minor  (was: Major)
Fix Version/s: (was: 1.2.1)

 Allow tiered compaction define max sstable size
 ---

 Key: CASSANDRA-4897
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4897
 Project: Cassandra
  Issue Type: Improvement
Reporter: Radim Kolar
Assignee: Radim Kolar
Priority: Minor
 Attachments: cass-maxsize1.txt, cass-maxsize2.txt


 Lucene is doing same thing. Correctly configured max segment size will 
 recycle old data faster with less diskspace.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-4927) E notation is not implemented for floating point numbers.

2013-01-07 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-4927:
--

Reviewer: slebresne
Assignee: Michał Michalski

 E notation is not implemented for floating point numbers.
 -

 Key: CASSANDRA-4927
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4927
 Project: Cassandra
  Issue Type: Improvement
Affects Versions: 1.2.0 beta 1
Reporter: Krzysztof Cieslinski Cognitum
Assignee: Michał Michalski
Priority: Minor
 Fix For: 1.2.1

 Attachments: cassandra-4927.txt


 'E' notation is not implemented for floating point numbers.
 Inserting some float value like -2.6034345E+38 results in:
 ??Bad Request: line 1:123 mismatched input 'E' expecting ')'??

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-4467) insufficient space for compaction when upgrade compaction strategy from SizeTiered to Leveled

2013-01-07 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-4467:
--

Fix Version/s: (was: 1.2.1)

 insufficient space for compaction when upgrade compaction strategy from 
 SizeTiered to Leveled
 -

 Key: CASSANDRA-4467
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4467
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 1.0.0
 Environment: Ubuntu,Oracle Java 1.7,Cassandra 1.0.10
Reporter: Cheng Zhang
Assignee: Jason Brown
Priority: Minor

 Cassandra has two data directories as follow:
 cassandra-disk0 use about 500G, about 250G free space
 cassandra-disk1 use about 500G, about 250G free space
 The max data file is about 400G. When I upgrade from 
 SizeTieredCompactionStrategy to LeveledCompactionStrategy, there is no space 
 to do this, for the free space of every data directory is small than the 
 largest data file. But the total free space is enough for compaction.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-4750) Add jmx/nodetool methods to enable/disable hinted handoff

2013-01-07 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-4750:
---

Alexey, can you review v3?

 Add jmx/nodetool methods to enable/disable hinted handoff
 -

 Key: CASSANDRA-4750
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4750
 Project: Cassandra
  Issue Type: New Feature
Reporter: Brandon Williams
Assignee: Brandon Williams
Priority: Minor
  Labels: hintedhandoff, nodetool
 Fix For: 1.2.1

 Attachments: 4750-v3.txt, cassandra-1.1-4750-enable_disable_hh.txt, 
 cassandra-1.2-4750-enable_disable_hh.txt, 
 cassandra-1.2-enable_disable_hh-v2.txt


 Title says it all.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


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

2013-01-07 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-3706:
--

Fix Version/s: (was: 1.2.1)
   2.0

 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: 2.0

 Attachments: 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, save_configuration.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
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5013) disallow bloom filter false positive chance of 0

2013-01-07 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-5013:
---

fixed + committed

 disallow bloom filter false positive chance of 0
 

 Key: CASSANDRA-5013
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5013
 Project: Cassandra
  Issue Type: Bug
  Components: Config
Reporter: Matthew F. Dennis
Assignee: Jonathan Ellis
Priority: Minor
 Fix For: 1.2.1

 Attachments: 5013.txt, 5013-v2.txt


 {pre}
 ERROR [CompactionExecutor:16] 2012-11-30 08:44:32,546 SSTableWriter.java 
 (line 414) Bloom filter FP chance of zero isn't supposed to happen
 {pre}
 when attempting to set it to zero, C* should either disallow the change or 
 should just interpret 0 as make it the default and not continually log the 
 above error message

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Assigned] (CASSANDRA-5123) Multiget Supercolumns Sometimes Missing Results

2013-01-07 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne reassigned CASSANDRA-5123:
---

Assignee: Sylvain Lebresne

 Multiget Supercolumns Sometimes Missing Results
 ---

 Key: CASSANDRA-5123
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5123
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Tyler Hobbs
Assignee: Sylvain Lebresne
Priority: Minor

 Starting approximately with commit c2812f3 (the January 3rd nightly build by 
 DataStax Jenkins, #669), a few of the pycassa unit tests related to 
 multigetting a particular supercolumn started failing periodically.  The 
 nightly build is against Cassandra trunk.
 You can reproduce with the pycassa unit tests fairly easily:
 {noformat}
 nosetests 
 tests/test_columnfamily.py:TestSuperColumnFamily.test_multiget_supercolumn
 {noformat}
 It should fail within a few runs.
 It looks like one of the requested keys isn't being returned at all.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-5124) cqlsh needs to run with --no-color on Windows

2013-01-07 Thread Jonathan Ellis (JIRA)
Jonathan Ellis created CASSANDRA-5124:
-

 Summary: cqlsh needs to run with --no-color on Windows
 Key: CASSANDRA-5124
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5124
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Reporter: Jonathan Ellis
Assignee: Aleksey Yeschenko
Priority: Trivial
 Fix For: 1.2.1


The control codes used on Unix just clutter the terminal with garbage on 
Windows.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-5125) Support indexes on composite column components

2013-01-07 Thread Jonathan Ellis (JIRA)
Jonathan Ellis created CASSANDRA-5125:
-

 Summary: Support indexes on composite column components
 Key: CASSANDRA-5125
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5125
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Jonathan Ellis
Assignee: Sylvain Lebresne
 Fix For: 1.2.1


Given

{code}
CREATE TABLE foo (
  a int,
  b int,
  c int,
  PRIMARY KEY (a, b)
);
{code}

We should support {{CREATE INDEX ON foo(b)}}.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5123) Multiget Supercolumns Sometimes Missing Results

2013-01-07 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-5123:
--

Affects Version/s: 2.0
Fix Version/s: 2.0

 Multiget Supercolumns Sometimes Missing Results
 ---

 Key: CASSANDRA-5123
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5123
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 2.0
Reporter: Tyler Hobbs
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 2.0


 Starting approximately with commit c2812f3 (the January 3rd nightly build by 
 DataStax Jenkins, #669), a few of the pycassa unit tests related to 
 multigetting a particular supercolumn started failing periodically.  The 
 nightly build is against Cassandra trunk.
 You can reproduce with the pycassa unit tests fairly easily:
 {noformat}
 nosetests 
 tests/test_columnfamily.py:TestSuperColumnFamily.test_multiget_supercolumn
 {noformat}
 It should fail within a few runs.
 It looks like one of the requested keys isn't being returned at all.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-5126) Upgrade version of Jackson to avoid concurrency issues with M/R tasks

2013-01-07 Thread Nate McCall (JIRA)
Nate McCall created CASSANDRA-5126:
--

 Summary: Upgrade version of Jackson to avoid concurrency issues 
with M/R tasks
 Key: CASSANDRA-5126
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5126
 Project: Cassandra
  Issue Type: Bug
  Components: Hadoop
Affects Versions: 1.2.0, 1.1.8
Reporter: Nate McCall
Priority: Minor


Older version of Jackson ASL has a concurrency issue. See 
http://jira.codehaus.org/browse/JACKSON-237

This can be triggered in some environments when running M/R tasks and the wrong 
version of jackson gets picked up. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5126) Upgrade version of Jackson to avoid concurrency issues with M/R tasks

2013-01-07 Thread Nate McCall (JIRA)

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

Nate McCall updated CASSANDRA-5126:
---

Attachment: 5126.txt

Updates Jackson core and asl to latest 1.9.x

 Upgrade version of Jackson to avoid concurrency issues with M/R tasks
 -

 Key: CASSANDRA-5126
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5126
 Project: Cassandra
  Issue Type: Bug
  Components: Hadoop
Affects Versions: 1.1.8, 1.2.0
Reporter: Nate McCall
Priority: Minor
 Attachments: 5126.txt


 Older version of Jackson ASL has a concurrency issue. See 
 http://jira.codehaus.org/browse/JACKSON-237
 This can be triggered in some environments when running M/R tasks and the 
 wrong version of jackson gets picked up. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5116) upgradesstables does not upgrade all sstables on a node

2013-01-07 Thread Michael Kjellman (JIRA)

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

Michael Kjellman commented on CASSANDRA-5116:
-

one other note:

if the Summary.db file has incorrect permissions, a restart of the node to 
re-read in the sstable is required before the sstable will get compacted.

 upgradesstables does not upgrade all sstables on a node
 ---

 Key: CASSANDRA-5116
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5116
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0
 Environment: Ubuntu 12.04
Reporter: Michael Kjellman
Assignee: Michael Kjellman

 upgradesstables appears to be skipping sstables randomly.
 finding a sstable with an mtime  the upgrade time and grepping through the 
 logs for a corresponding compaction log line, i find nothing. I have 
 reproduced this on all of my nodes across the cluster.
 is performAllSSTableOperation somehow skipping sstables?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-4767) Need some indication of node repair success or failure

2013-01-07 Thread Yuki Morishita (JIRA)

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

Yuki Morishita updated CASSANDRA-4767:
--

Attachment: 4767-1.2-v3.txt
4767-1.1-v3.txt

Attaching v3 with the fix to only output the log it invoked.
I also attached 1.2 version of the patch separately, since it includes some 
refactoring around repair code in StorageService.

bq. Do you mean what is logged?

yes.

 Need some indication of node repair success or failure
 --

 Key: CASSANDRA-4767
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4767
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Ahmed Bashir
Assignee: Yuki Morishita
Priority: Minor
  Labels: jmx
 Fix For: 1.1.9

 Attachments: 4767-1.1.txt, 4767-1.1-v2.txt, 4767-1.1-v3.txt, 
 4767-1.2-v3.txt


 We are currently verifying node repair status via basic log analysis.  In 
 order to automatically track the status of periodic node repair jobs, it 
 would be better to have an indicator (through JMX perhaps).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Comment Edited] (CASSANDRA-4775) Counters 2.0

2013-01-07 Thread Srdjan Mitrovic (JIRA)

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

Srdjan Mitrovic edited comment on CASSANDRA-4775 at 1/7/13 9:27 PM:


Don't atomic batches have potential for a retry mechanism?
Now that CASSANDRA-4285 has been resolved can't you use Atomic batches to have 
idempotent counters? If we put in the same batch both incr and adding a wide 
row cell we could later see if we have a cell and not execute that batch again. 

I apologize if there is something fundamentally wrong in my understanding of 
how cassandra batches work so in that case please delete my message so that it 
doesn't derail the issue.

  was (Author: stecak):
Don't atomic batched have potential for a retry mechanism?
Now that CASSANDRA-4285 has been resolved can't you use Atomic batches to have 
idempotent counters? If we put in the same batch both incr and adding a wide 
row cell we could later see if we have a cell and not execute that batch again. 

I apologize if there is something fundamentally wrong in my understanding of 
how cassandra batches work so in that case please delete my message so that it 
doesn't derail the issue.
  
 Counters 2.0
 

 Key: CASSANDRA-4775
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4775
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Arya Goudarzi
  Labels: counters
 Fix For: 2.0


 The existing partitioned counters remain a source of frustration for most 
 users almost two years after being introduced.  The remaining problems are 
 inherent in the design, not something that can be fixed given enough 
 time/eyeballs.
 Ideally a solution would give us
 - similar performance
 - less special cases in the code
 - potential for a retry mechanism

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5126) Upgrade version of Jackson to avoid concurrency issues with M/R tasks

2013-01-07 Thread amorton (JIRA)

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

amorton updated CASSANDRA-5126:
---

Reviewer: amorton

 Upgrade version of Jackson to avoid concurrency issues with M/R tasks
 -

 Key: CASSANDRA-5126
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5126
 Project: Cassandra
  Issue Type: Bug
  Components: Hadoop
Affects Versions: 1.1.8, 1.2.0
Reporter: Nate McCall
Assignee: Nate McCall
Priority: Minor
 Fix For: 1.2.2

 Attachments: 5126.txt


 Older version of Jackson ASL has a concurrency issue. See 
 http://jira.codehaus.org/browse/JACKSON-237
 This can be triggered in some environments when running M/R tasks and the 
 wrong version of jackson gets picked up. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Reopened] (CASSANDRA-5116) upgradesstables does not upgrade all sstables on a node

2013-01-07 Thread Michael Kjellman (JIRA)

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

Michael Kjellman reopened CASSANDRA-5116:
-


appears that once again i was wrong. this doesn't seem to be affected by 
permissions after all

with org.apache.cassandra.db.DataTracker set to DEBUG, it looks like somehow 
the sstables are not getting added to the list of active sstables by 
DataTracker for that column family


 upgradesstables does not upgrade all sstables on a node
 ---

 Key: CASSANDRA-5116
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5116
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0
 Environment: Ubuntu 12.04
Reporter: Michael Kjellman
Assignee: Michael Kjellman

 upgradesstables appears to be skipping sstables randomly.
 finding a sstable with an mtime  the upgrade time and grepping through the 
 logs for a corresponding compaction log line, i find nothing. I have 
 reproduced this on all of my nodes across the cluster.
 is performAllSSTableOperation somehow skipping sstables?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5088) Major compaction IOException in 1.1.8

2013-01-07 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-5088:
---

committed

 Major compaction IOException in 1.1.8
 -

 Key: CASSANDRA-5088
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5088
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.1.8
Reporter: Karl Mueller
Assignee: Jonathan Ellis
  Labels: compression
 Fix For: 1.1.9, 1.2.1

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


 Upgraded 1.1.6 to 1.1.8.
 Now I'm trying to do a major compaction, and seeing this:
 ERROR [CompactionExecutor:129] 2012-12-22 10:33:44,217 
 AbstractCassandraDaemon.java (line 135) Exception in thread 
 Thread[CompactionExecutor:129,1,RMI Runtime]
 java.io.IOError: java.io.IOException: Bad file descriptor
 at 
 org.apache.cassandra.utils.MergeIterator.close(MergeIterator.java:65)
 at 
 org.apache.cassandra.db.compaction.CompactionTask.execute(CompactionTask.java:195)
 at 
 org.apache.cassandra.db.compaction.CompactionManager$7.runMayThrow(CompactionManager.java:298)
 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:619)
 Caused by: java.io.IOException: Bad file descriptor
 at sun.nio.ch.FileDispatcher.preClose0(Native Method)
 at sun.nio.ch.FileDispatcher.preClose(FileDispatcher.java:59)
 at 
 sun.nio.ch.FileChannelImpl.implCloseChannel(FileChannelImpl.java:96)
 at 
 java.nio.channels.spi.AbstractInterruptibleChannel.close(AbstractInterruptibleChannel.java:97)
 at java.io.FileInputStream.close(FileInputStream.java:258)
 at 
 org.apache.cassandra.io.compress.CompressedRandomAccessReader.close(CompressedRandomAccessReader.java:131)
 at 
 sun.nio.ch.FileChannelImpl.implCloseChannel(FileChannelImpl.java:121)
 at 
 java.nio.channels.spi.AbstractInterruptibleChannel.close(AbstractInterruptibleChannel.java:97)
 at java.io.RandomAccessFile.close(RandomAccessFile.java:541)
 at 
 org.apache.cassandra.io.util.RandomAccessReader.close(RandomAccessReader.java:224)
 at 
 org.apache.cassandra.io.compress.CompressedRandomAccessReader.close(CompressedRandomAccessReader.java:130)
 at 
 org.apache.cassandra.io.sstable.SSTableScanner.close(SSTableScanner.java:89)
 at 
 org.apache.cassandra.utils.MergeIterator.close(MergeIterator.java:61)
 ... 9 more

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Reopened] (CASSANDRA-5106) Stock example for using pig throws InvalidRequestException(why:Start token sorts after end token)

2013-01-07 Thread janwar dinata (JIRA)

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

janwar dinata reopened CASSANDRA-5106:
--


Hi,
Still having the same exception thrown even with 
PIG_PARTITIONER=org.apache.cassandra.dht.Murmur3Partitioner

 Stock example for using pig throws InvalidRequestException(why:Start token 
 sorts after end token)
 -

 Key: CASSANDRA-5106
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5106
 Project: Cassandra
  Issue Type: Bug
  Components: Hadoop
Affects Versions: 1.2.0
 Environment: 1 node cluster with default cassandra.yaml
Reporter: janwar dinata
Assignee: Brandon Williams
Priority: Minor
 Fix For: 1.2.1


 The setup:
 This is from printenv
 HADOOP_HOME=/home/Downloads/hadoop-1.1.1
 PIG_HOME=/home/Downloads/pig-0.10.0
 PIG_INITIAL_ADDRESS=localhost
 PIG_RPC_PORT=9160
 PIG_PARTITIONER=org.apache.cassandra.dht.Murmur3Partitioner
 This is from cassandra-cli
 [default@PigTest] describe cluster;
 Cluster Information:
Snitch: org.apache.cassandra.locator.SimpleSnitch
Partitioner: org.apache.cassandra.dht.Murmur3Partitioner
Schema versions:
 b5fc9a82-fbdd-3cf5-af16-9c498c9f9a5c: [127.0.0.1]
 Running test_storage.pig as
 bin/pig_cassandra -x local test/test_storage.pig
 after populating the cf as
 cassandra-cli --host localhost --port 9160  populate-cli.txt
 throws 
 2013-01-03 02:20:47,626 [Thread-4] INFO  
 org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigRecordReader 
 - Current spli
 t being processed ColumnFamilySplit((-1, '-1728690256123413808] 
 @[localhost.localdomain])
 2013-01-03 02:20:47,758 [Thread-4] WARN  
 org.apache.hadoop.mapred.FileOutputCommitter - Output path is null in cleanup
 2013-01-03 02:20:47,760 [Thread-4] WARN  
 org.apache.hadoop.mapred.LocalJobRunner - job_local_0001
 java.lang.RuntimeException: InvalidRequestException(why:Start token sorts 
 after end token)
 at 
 org.apache.cassandra.hadoop.ColumnFamilyRecordReader$StaticRowIterator.maybeInit(ColumnFamilyRecordReader.java:384)
 at 
 org.apache.cassandra.hadoop.ColumnFamilyRecordReader$StaticRowIterator.computeNext(ColumnFamilyRecordReader.java:390)
 at 
 org.apache.cassandra.hadoop.ColumnFamilyRecordReader$StaticRowIterator.computeNext(ColumnFamilyRecordReader.java:313)
 at 
 com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
 at 
 com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
 at 
 org.apache.cassandra.hadoop.ColumnFamilyRecordReader.nextKeyValue(ColumnFamilyRecordReader.java:184)
 at 
 org.apache.cassandra.hadoop.pig.CassandraStorage.getNext(CassandraStorage.java:226)
 at 
 org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigRecordReader.nextKeyValue(PigRecordReader.java:194)
 at 
 org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValue(MapTask.java:532)
 at 
 org.apache.hadoop.mapreduce.MapContext.nextKeyValue(MapContext.java:67)
 at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:143)
 at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764)
 at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
 at 
 org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:212)
 Caused by: InvalidRequestException(why:Start token sorts after end token)
 at 
 org.apache.cassandra.thrift.Cassandra$get_range_slices_result.read(Cassandra.java:12916)
 at 
 org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78)
 at 
 org.apache.cassandra.thrift.Cassandra$Client.recv_get_range_slices(Cassandra.java:734)
 at 
 org.apache.cassandra.thrift.Cassandra$Client.get_range_slices(Cassandra.java:718)
 at 
 org.apache.cassandra.hadoop.ColumnFamilyRecordReader$StaticRowIterator.maybeInit(ColumnFamilyRecordReader.java:346)
 ... 13 more

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


git commit: Simplify CompressedRandomAccessReader to work around JDK FD bug patch by jbellis; reviewed by Aleksey Yeschenko and tested by Cathy Daw for CASSANDRA-5088

2013-01-07 Thread jbellis
Updated Branches:
  refs/heads/cassandra-1.1 bf1ed4089 - 55f936f1d


Simplify CompressedRandomAccessReader to work around JDK FD bug
patch by jbellis; reviewed by Aleksey Yeschenko and tested by Cathy Daw for 
CASSANDRA-5088


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

Branch: refs/heads/cassandra-1.1
Commit: 55f936f1da13dc732da52735f1d1becc18546b0b
Parents: bf1ed40
Author: Jonathan Ellis jbel...@apache.org
Authored: Mon Jan 7 16:46:06 2013 -0600
Committer: Jonathan Ellis jbel...@apache.org
Committed: Mon Jan 7 16:46:06 2013 -0600

--
 CHANGES.txt|1 +
 .../io/compress/CompressedRandomAccessReader.java  |   55 ++-
 2 files changed, 24 insertions(+), 32 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/55f936f1/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index c1c0930..c5c3863 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 1.1.9
+ * Simplify CompressedRandomAccessReader to work around JDK FD bug 
(CASSANDRA-5088)
  * Improve handling a changing target throttle rate mid-compaction 
(CASSANDRA-5087)
  * fix multithreaded compaction deadlock (CASSANDRA-4492)
  * fix specifying and altering crc_check_chance (CASSANDRA-5053)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/55f936f1/src/java/org/apache/cassandra/io/compress/CompressedRandomAccessReader.java
--
diff --git 
a/src/java/org/apache/cassandra/io/compress/CompressedRandomAccessReader.java 
b/src/java/org/apache/cassandra/io/compress/CompressedRandomAccessReader.java
index 3d3b95b..a5faff1 100644
--- 
a/src/java/org/apache/cassandra/io/compress/CompressedRandomAccessReader.java
+++ 
b/src/java/org/apache/cassandra/io/compress/CompressedRandomAccessReader.java
@@ -19,19 +19,20 @@
 package org.apache.cassandra.io.compress;
 
 import java.io.*;
-import java.nio.channels.FileChannel;
+import java.nio.ByteBuffer;
 import java.util.zip.CRC32;
 import java.util.zip.Checksum;
 
-import com.google.common.primitives.Ints;
-
 import org.apache.cassandra.io.util.RandomAccessReader;
 import org.apache.cassandra.utils.FBUtilities;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-// TODO refactor this to separate concept of buffer to avoid lots of read() 
syscalls and compression buffer
+/**
+ * CRAR extends RAR to transparently uncompress blocks from the file into 
RAR.buffer.  Most of the RAR
+ * read bytes from the buffer, rebuffering when necessary machinery works 
unchanged after that.
+ */
 public class CompressedRandomAccessReader extends RandomAccessReader
 {
 private static final Logger logger = 
LoggerFactory.getLogger(CompressedRandomAccessReader.class);
@@ -47,28 +48,21 @@ public class CompressedRandomAccessReader extends 
RandomAccessReader
 }
 
 private final CompressionMetadata metadata;
-// used by reBuffer() to escape creating lots of temporary buffers
-private byte[] compressed;
+
+// we read the raw compressed bytes into this buffer, then move the 
uncompressed ones into super.buffer.
+private ByteBuffer compressed;
 
 // re-use single crc object
 private final Checksum checksum = new CRC32();
 
 // raw checksum bytes
-private final byte[] checksumBytes = new byte[4];
-
-private final FileInputStream source;
-private final FileChannel channel;
+private final ByteBuffer checksumBytes = ByteBuffer.wrap(new byte[4]);
 
 public CompressedRandomAccessReader(String dataFilePath, 
CompressionMetadata metadata, boolean skipIOCache) throws IOException
 {
 super(new File(dataFilePath), metadata.chunkLength(), skipIOCache);
 this.metadata = metadata;
-compressed = new 
byte[metadata.compressor().initialCompressedBufferLength(metadata.chunkLength())];
-// can't use super.read(...) methods
-// that is why we are allocating special InputStream to read data from 
disk
-// from already open file descriptor
-source = new FileInputStream(getFD());
-channel = source.getChannel(); // for position manipulation
+compressed = ByteBuffer.wrap(new 
byte[metadata.compressor().initialCompressedBufferLength(metadata.chunkLength())]);
 }
 
 @Override
@@ -82,13 +76,18 @@ public class CompressedRandomAccessReader extends 
RandomAccessReader
 if (channel.position() != chunk.offset)
 channel.position(chunk.offset);
 
-if (compressed.length  chunk.length)
-compressed = new 

[jira] [Commented] (CASSANDRA-5120) Add support for SSL sockets to use client certificate authentication.

2013-01-07 Thread Vijay (JIRA)

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

Vijay commented on CASSANDRA-5120:
--

+1

Just for the sake of documentation: We are modifying the internode 
communication ssl socket and thrift server ssl socket with this patch
Nit: need_client can be renamed to require_client_auth, We need to document 
this in yaml so that users will know what to change if they want to enable it 
(similar to other settings).

 Add support for SSL sockets to use client certificate authentication.
 -

 Key: CASSANDRA-5120
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5120
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 1.2.0
Reporter: Steven Franklin
Priority: Minor
 Fix For: 1.2.0

 Attachments: trunk-5120.txt


 Add an option to EncryptionOptions to require client certication 
 authentication.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Comment Edited] (CASSANDRA-5116) upgradesstables does not upgrade all sstables on a node

2013-01-07 Thread Michael Kjellman (JIRA)

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

Michael Kjellman edited comment on CASSANDRA-5116 at 1/7/13 11:50 PM:
--

appears that once again i was wrong. this doesn't seem to be affected by 
permissions after all

with org.apache.cassandra.db.DataTracker set to DEBUG, it looks like somehow 
the sstables are not getting added to the list of active sstables by 
DataTracker for that column family

also, i run C* with two datanodes, one for each spindle. It appears that the 
non-upgraded sstables are always all in one data directory while the other data 
directory has no non-upgraded sstables.

going to resolve this again, i'm pretty sure there is a bug here somewhere. 
Maybe these are all sstables that should be deleted but we fail to remove for 
some reason?

maybe someone else (hopefully not) will run into this and can reopen and debug 
again.

  was (Author: mkjellman):
appears that once again i was wrong. this doesn't seem to be affected by 
permissions after all

with org.apache.cassandra.db.DataTracker set to DEBUG, it looks like somehow 
the sstables are not getting added to the list of active sstables by 
DataTracker for that column family

  
 upgradesstables does not upgrade all sstables on a node
 ---

 Key: CASSANDRA-5116
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5116
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0
 Environment: Ubuntu 12.04
Reporter: Michael Kjellman
Assignee: Michael Kjellman

 upgradesstables appears to be skipping sstables randomly.
 finding a sstable with an mtime  the upgrade time and grepping through the 
 logs for a corresponding compaction log line, i find nothing. I have 
 reproduced this on all of my nodes across the cluster.
 is performAllSSTableOperation somehow skipping sstables?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Resolved] (CASSANDRA-5116) upgradesstables does not upgrade all sstables on a node

2013-01-07 Thread Michael Kjellman (JIRA)

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

Michael Kjellman resolved CASSANDRA-5116.
-

Resolution: Not A Problem

 upgradesstables does not upgrade all sstables on a node
 ---

 Key: CASSANDRA-5116
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5116
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0
 Environment: Ubuntu 12.04
Reporter: Michael Kjellman
Assignee: Michael Kjellman

 upgradesstables appears to be skipping sstables randomly.
 finding a sstable with an mtime  the upgrade time and grepping through the 
 logs for a corresponding compaction log line, i find nothing. I have 
 reproduced this on all of my nodes across the cluster.
 is performAllSSTableOperation somehow skipping sstables?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Comment Edited] (CASSANDRA-5116) upgradesstables does not upgrade all sstables on a node

2013-01-07 Thread Michael Kjellman (JIRA)

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

Michael Kjellman edited comment on CASSANDRA-5116 at 1/7/13 11:52 PM:
--

appears that once again i was wrong. this doesn't seem to be affected by 
permissions after all

with org.apache.cassandra.db.DataTracker set to DEBUG, it looks like somehow 
the sstables are not getting added to the list of active sstables by 
DataTracker for that column family

also, i run C* with two data directories - one for each spindle. It appears 
that the non-upgraded sstables are always all in one data directory while the 
other data directory has no non-upgraded sstables.

going to resolve this again, i'm pretty sure there is a bug here somewhere. 
Maybe these are all sstables that should have been deleted but we fail to 
remove them for some reason?

maybe someone else (hopefully not) will run into this and can reopen and debug 
again.

  was (Author: mkjellman):
appears that once again i was wrong. this doesn't seem to be affected by 
permissions after all

with org.apache.cassandra.db.DataTracker set to DEBUG, it looks like somehow 
the sstables are not getting added to the list of active sstables by 
DataTracker for that column family

also, i run C* with two datanodes, one for each spindle. It appears that the 
non-upgraded sstables are always all in one data directory while the other data 
directory has no non-upgraded sstables.

going to resolve this again, i'm pretty sure there is a bug here somewhere. 
Maybe these are all sstables that should be deleted but we fail to remove for 
some reason?

maybe someone else (hopefully not) will run into this and can reopen and debug 
again.
  
 upgradesstables does not upgrade all sstables on a node
 ---

 Key: CASSANDRA-5116
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5116
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0
 Environment: Ubuntu 12.04
Reporter: Michael Kjellman
Assignee: Michael Kjellman

 upgradesstables appears to be skipping sstables randomly.
 finding a sstable with an mtime  the upgrade time and grepping through the 
 logs for a corresponding compaction log line, i find nothing. I have 
 reproduced this on all of my nodes across the cluster.
 is performAllSSTableOperation somehow skipping sstables?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


git commit: Add support for SSL sockets to use client certificate authentication. patch by Steven Franklin and Vijay for CASSANDRA-5120

2013-01-07 Thread vijay
Updated Branches:
  refs/heads/cassandra-1.2 0d6131c40 - 4460e2865


Add support for SSL sockets to use client certificate authentication.
patch by Steven Franklin and Vijay for CASSANDRA-5120

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

Branch: refs/heads/cassandra-1.2
Commit: 4460e2865dabb1d11950c04b5a4c9b79a12301e1
Parents: 0d6131c
Author: Vijay Parthasarathy vijay2...@gmail.com
Authored: Mon Jan 7 15:58:31 2013 -0800
Committer: Vijay Parthasarathy vijay2...@gmail.com
Committed: Mon Jan 7 15:58:31 2013 -0800

--
 conf/cassandra.yaml|2 ++
 .../apache/cassandra/config/EncryptionOptions.java |1 +
 .../org/apache/cassandra/security/SSLFactory.java  |1 +
 .../cassandra/thrift/CustomTThreadPoolServer.java  |1 +
 .../org/apache/cassandra/transport/Server.java |3 ++-
 5 files changed, 7 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/4460e286/conf/cassandra.yaml
--
diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml
index f2be64a..364bdd7 100644
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@ -623,6 +623,7 @@ server_encryption_options:
 # algorithm: SunX509
 # store_type: JKS
 # cipher_suites: 
[TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA]
+# require_client_auth: false
 
 # enable or disable client/server encryption.
 client_encryption_options:
@@ -634,6 +635,7 @@ client_encryption_options:
 # algorithm: SunX509
 # store_type: JKS
 # cipher_suites: 
[TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA]
+# require_client_auth: false
 
 # internode_compression controls whether traffic between nodes is
 # compressed.

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4460e286/src/java/org/apache/cassandra/config/EncryptionOptions.java
--
diff --git a/src/java/org/apache/cassandra/config/EncryptionOptions.java 
b/src/java/org/apache/cassandra/config/EncryptionOptions.java
index b8a5a91..fe07f68 100644
--- a/src/java/org/apache/cassandra/config/EncryptionOptions.java
+++ b/src/java/org/apache/cassandra/config/EncryptionOptions.java
@@ -27,6 +27,7 @@ public abstract class EncryptionOptions
 public String protocol = TLS;
 public String algorithm = SunX509;
 public String store_type = JKS;
+public Boolean require_client_auth = false;
 
 public static class ClientEncryptionOptions extends EncryptionOptions
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4460e286/src/java/org/apache/cassandra/security/SSLFactory.java
--
diff --git a/src/java/org/apache/cassandra/security/SSLFactory.java 
b/src/java/org/apache/cassandra/security/SSLFactory.java
index 5e64c43..da8a3f4 100644
--- a/src/java/org/apache/cassandra/security/SSLFactory.java
+++ b/src/java/org/apache/cassandra/security/SSLFactory.java
@@ -55,6 +55,7 @@ public final class SSLFactory
 serverSocket.setReuseAddress(true);
 String[] suits = 
filterCipherSuites(serverSocket.getSupportedCipherSuites(), 
options.cipher_suites);
 serverSocket.setEnabledCipherSuites(suits);
+serverSocket.setNeedClientAuth(options.require_client_auth);
 serverSocket.bind(new InetSocketAddress(address, port), 100);
 return serverSocket;
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4460e286/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java
--
diff --git a/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java 
b/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java
index f6ab1f7..0a456b9 100644
--- a/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java
+++ b/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java
@@ -249,6 +249,7 @@ public class CustomTThreadPoolServer extends TServer
 logger.info(enabling encrypted thrift connections between 
client and server);
 TSSLTransportParameters params = new 
TSSLTransportParameters(clientEnc.protocol, clientEnc.cipher_suites);
 params.setKeyStore(clientEnc.keystore, 
clientEnc.keystore_password);
+params.requireClientAuth(clientEnc.require_client_auth);
 TServerSocket sslServer = 
TSSLTransportFactory.getServerSocket(addr.getPort(), 0, addr.getAddress(), 
params);
 serverTransport = new 

[2/3] git commit: Add support for SSL sockets to use client certificate authentication. patch by Steven Franklin and Vijay for CASSANDRA-5120

2013-01-07 Thread vijay
Add support for SSL sockets to use client certificate authentication.
patch by Steven Franklin and Vijay for CASSANDRA-5120

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

Branch: refs/heads/trunk
Commit: 4460e2865dabb1d11950c04b5a4c9b79a12301e1
Parents: 0d6131c
Author: Vijay Parthasarathy vijay2...@gmail.com
Authored: Mon Jan 7 15:58:31 2013 -0800
Committer: Vijay Parthasarathy vijay2...@gmail.com
Committed: Mon Jan 7 15:58:31 2013 -0800

--
 conf/cassandra.yaml|2 ++
 .../apache/cassandra/config/EncryptionOptions.java |1 +
 .../org/apache/cassandra/security/SSLFactory.java  |1 +
 .../cassandra/thrift/CustomTThreadPoolServer.java  |1 +
 .../org/apache/cassandra/transport/Server.java |3 ++-
 5 files changed, 7 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/4460e286/conf/cassandra.yaml
--
diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml
index f2be64a..364bdd7 100644
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@ -623,6 +623,7 @@ server_encryption_options:
 # algorithm: SunX509
 # store_type: JKS
 # cipher_suites: 
[TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA]
+# require_client_auth: false
 
 # enable or disable client/server encryption.
 client_encryption_options:
@@ -634,6 +635,7 @@ client_encryption_options:
 # algorithm: SunX509
 # store_type: JKS
 # cipher_suites: 
[TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA]
+# require_client_auth: false
 
 # internode_compression controls whether traffic between nodes is
 # compressed.

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4460e286/src/java/org/apache/cassandra/config/EncryptionOptions.java
--
diff --git a/src/java/org/apache/cassandra/config/EncryptionOptions.java 
b/src/java/org/apache/cassandra/config/EncryptionOptions.java
index b8a5a91..fe07f68 100644
--- a/src/java/org/apache/cassandra/config/EncryptionOptions.java
+++ b/src/java/org/apache/cassandra/config/EncryptionOptions.java
@@ -27,6 +27,7 @@ public abstract class EncryptionOptions
 public String protocol = TLS;
 public String algorithm = SunX509;
 public String store_type = JKS;
+public Boolean require_client_auth = false;
 
 public static class ClientEncryptionOptions extends EncryptionOptions
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4460e286/src/java/org/apache/cassandra/security/SSLFactory.java
--
diff --git a/src/java/org/apache/cassandra/security/SSLFactory.java 
b/src/java/org/apache/cassandra/security/SSLFactory.java
index 5e64c43..da8a3f4 100644
--- a/src/java/org/apache/cassandra/security/SSLFactory.java
+++ b/src/java/org/apache/cassandra/security/SSLFactory.java
@@ -55,6 +55,7 @@ public final class SSLFactory
 serverSocket.setReuseAddress(true);
 String[] suits = 
filterCipherSuites(serverSocket.getSupportedCipherSuites(), 
options.cipher_suites);
 serverSocket.setEnabledCipherSuites(suits);
+serverSocket.setNeedClientAuth(options.require_client_auth);
 serverSocket.bind(new InetSocketAddress(address, port), 100);
 return serverSocket;
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4460e286/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java
--
diff --git a/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java 
b/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java
index f6ab1f7..0a456b9 100644
--- a/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java
+++ b/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java
@@ -249,6 +249,7 @@ public class CustomTThreadPoolServer extends TServer
 logger.info(enabling encrypted thrift connections between 
client and server);
 TSSLTransportParameters params = new 
TSSLTransportParameters(clientEnc.protocol, clientEnc.cipher_suites);
 params.setKeyStore(clientEnc.keystore, 
clientEnc.keystore_password);
+params.requireClientAuth(clientEnc.require_client_auth);
 TServerSocket sslServer = 
TSSLTransportFactory.getServerSocket(addr.getPort(), 0, addr.getAddress(), 
params);
 serverTransport = new 
TCustomServerSocket(sslServer.getServerSocket(), args.keepAlive, 

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

2013-01-07 Thread vijay
Updated Branches:
  refs/heads/trunk af404f211 - 95c1ed468


Merge branch 'cassandra-1.2' into trunk


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

Branch: refs/heads/trunk
Commit: 95c1ed468d2efa772e26b7cf3d56011284f24c72
Parents: af404f2 4460e28
Author: Vijay Parthasarathy vijay2...@gmail.com
Authored: Mon Jan 7 16:01:56 2013 -0800
Committer: Vijay Parthasarathy vijay2...@gmail.com
Committed: Mon Jan 7 16:01:56 2013 -0800

--
 CHANGES.txt|1 +
 conf/cassandra.yaml|2 +
 .../apache/cassandra/config/EncryptionOptions.java |1 +
 .../cassandra/cql3/statements/SelectStatement.java |   18 ++-
 .../org/apache/cassandra/security/SSLFactory.java  |1 +
 .../cassandra/thrift/CustomTThreadPoolServer.java  |1 +
 .../org/apache/cassandra/transport/Server.java |3 +-
 7 files changed, 20 insertions(+), 7 deletions(-)
--


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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/95c1ed46/conf/cassandra.yaml
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/95c1ed46/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
--



[1/3] git commit: Validat correctly selects on composite partition key

2013-01-07 Thread vijay
Validat correctly selects on composite partition key

patch by slebresne; reviewed by jbellis for CASSANDRA-5122


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

Branch: refs/heads/trunk
Commit: 0d6131c400cc296796f132f802f4156408e84ace
Parents: dac6048
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Mon Jan 7 17:22:49 2013 +0100
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Mon Jan 7 17:22:49 2013 +0100

--
 CHANGES.txt|1 +
 .../cassandra/cql3/statements/SelectStatement.java |   18 ++-
 2 files changed, 13 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d6131c4/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 78643d5..e038599 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -22,6 +22,7 @@
  * cqlsh: fix DESCRIBE for 1.1 cfs in CQL3 (CASSANDRA-5101)
  * Correctly gossip with nodes = 1.1.7 (CASSANDRA-5102)
  * Ensure CL guarantees on digest mismatch (CASSANDRA-5113)
+ * Validate correctly selects on composite partition key (CASSANDRA-5122)
 Merged from 1.1:
  * Pig: correctly decode row keys in widerow mode (CASSANDRA-5098)
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d6131c4/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
--
diff --git a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java 
b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
index b41659c..e88784c 100644
--- a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
@@ -271,10 +271,10 @@ public class SelectStatement implements CQLStatement
 RowPosition finishKey = RowPosition.forKey(finishKeyBytes, p);
 if (startKey.compareTo(finishKey)  0  !finishKey.isMinimum(p))
 {
-if (p instanceof RandomPartitioner)
-throw new InvalidRequestException(Start key sorts after 
end key. This is not allowed; you probably should not specify end key at all, 
under RandomPartitioner);
-else
+if (p.preservesOrder())
 throw new InvalidRequestException(Start key must sort 
before (or equal to) finish key in your partitioner!);
+else
+throw new InvalidRequestException(Start key sorts after 
end key. This is not allowed; you probably should not specify end key at all 
under random partitioner);
 }
 if (includeKeyBound(Bound.START))
 {
@@ -991,6 +991,7 @@ public class SelectStatement implements CQLStatement
 CFDefinition cfDef = cfm.getCfDef();
 SelectStatement stmt = new SelectStatement(cfDef, 
getBoundsTerms(), parameters);
 CFDefinition.Name[] names = new 
CFDefinition.Name[getBoundsTerms()];
+IPartitioner partitioner = StorageService.getPartitioner();
 
 // Select clause
 if (parameters.isCount)
@@ -1044,8 +1045,6 @@ public class SelectStatement implements CQLStatement
 switch (name.kind)
 {
 case KEY_ALIAS:
-if (rel.operator() != Relation.Type.EQ  
rel.operator() != Relation.Type.IN  !rel.onToken  
!StorageService.getPartitioner().preservesOrder())
-throw new InvalidRequestException(Only EQ and IN 
relation are supported on the partition key for RandomPartitioner (unless you 
use the token() function));
 stmt.keyRestrictions[name.position] = 
updateRestriction(name, stmt.keyRestrictions[name.position], rel);
 break;
 case COLUMN_ALIAS:
@@ -,7 +1110,11 @@ public class SelectStatement implements CQLStatement
 if (restriction == null)
 {
 if (stmt.onToken)
-throw new InvalidRequestException(String.format(The 
token() function must be applied to all partition key components or none of 
them));
+throw new InvalidRequestException(The token() 
function must be applied to all partition key components or none of them);
+
+// Under a non order perserving partitioner, the only time 
not restricting a key part is allowed is if none are restricted
+if (!partitioner.preservesOrder()  i  0  
stmt.keyRestrictions[i-1] != null)
+  

[jira] [Updated] (CASSANDRA-5120) Add support for SSL sockets to use client certificate authentication.

2013-01-07 Thread Brandon Williams (JIRA)

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

Brandon Williams updated CASSANDRA-5120:


Fix Version/s: (was: 1.2.0)
   1.2.1
 Assignee: Steven Franklin

 Add support for SSL sockets to use client certificate authentication.
 -

 Key: CASSANDRA-5120
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5120
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 1.2.0
Reporter: Steven Franklin
Assignee: Steven Franklin
Priority: Minor
 Fix For: 1.2.1

 Attachments: trunk-5120.txt


 Add an option to EncryptionOptions to require client certication 
 authentication.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Reopened] (CASSANDRA-5116) upgradesstables does not upgrade all sstables on a node

2013-01-07 Thread Michael Kjellman (JIRA)

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

Michael Kjellman reopened CASSANDRA-5116:
-

  Assignee: Yuki Morishita  (was: Michael Kjellman)

reopening after a conversation...However, i can't personally figure out a 
consistent way to reproduce this.

if someone else runs into this it would be great to have your feedback.

 upgradesstables does not upgrade all sstables on a node
 ---

 Key: CASSANDRA-5116
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5116
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0
 Environment: Ubuntu 12.04
Reporter: Michael Kjellman
Assignee: Yuki Morishita

 upgradesstables appears to be skipping sstables randomly.
 finding a sstable with an mtime  the upgrade time and grepping through the 
 logs for a corresponding compaction log line, i find nothing. I have 
 reproduced this on all of my nodes across the cluster.
 is performAllSSTableOperation somehow skipping sstables?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-5127) unsafe

2013-01-07 Thread Michael Kjellman (JIRA)
Michael Kjellman created CASSANDRA-5127:
---

 Summary: unsafe
 Key: CASSANDRA-5127
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5127
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0
 Environment: Ubuntu 12.04
Reporter: Michael Kjellman
Priority: Minor


unsafeAssassinateEndpoint() throws NullPointerException and the node still 
seems to be in gossip. 

gossip info for node in question:

{code}
/10.8.30.15
  HOST_ID:d84a5632-d6d5-4b06-8e1b-ae39ab185ca1
  RPC_ADDRESS:0.0.0.0
  RACK:RAC1
  DC:DC1
  REMOVAL_COORDINATOR:REMOVER,b63fe173-5d13-4905-a59f-a78790f4f980
  RELEASE_VERSION:1.2.0
  NET_VERSION:6
  LOAD:2.64185473948E11
  STATUS:removed,d84a5632-d6d5-4b06-8e1b-ae39ab185ca1,1357874470406
  SCHEMA:5cd8420d-ce3c-3625-8293-67558a24816b
{code}

{code}
ERROR 19:26:20,078 Exception in thread Thread[GossipStage:1,5,main]
java.lang.NullPointerException
at 
org.apache.cassandra.service.StorageService.getApplicationStateValue(StorageService.java:1192)
at 
org.apache.cassandra.service.StorageService.getTokensFor(StorageService.java:1200)
at 
org.apache.cassandra.service.StorageService.handleStateLeft(StorageService.java:1452)
at 
org.apache.cassandra.service.StorageService.onChange(StorageService.java:1163)
at 
org.apache.cassandra.service.StorageService.onJoin(StorageService.java:1895)
at 
org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:805)
at 
org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:856)
at 
org.apache.cassandra.gms.GossipDigestAckVerbHandler.doVerb(GossipDigestAckVerbHandler.java:57)
at 
org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:56)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)

{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5127) unsafeAssassinateEndpoint throws NullPointerException and fails to remove node

2013-01-07 Thread Michael Kjellman (JIRA)

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

Michael Kjellman updated CASSANDRA-5127:


Summary: unsafeAssassinateEndpoint throws NullPointerException and fails to 
remove node  (was: unsafe)

 unsafeAssassinateEndpoint throws NullPointerException and fails to remove node
 --

 Key: CASSANDRA-5127
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5127
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0
 Environment: Ubuntu 12.04
Reporter: Michael Kjellman
Priority: Minor

 unsafeAssassinateEndpoint() throws NullPointerException and the node still 
 seems to be in gossip. 
 gossip info for node in question:
 {code}
 /10.8.30.15
   HOST_ID:d84a5632-d6d5-4b06-8e1b-ae39ab185ca1
   RPC_ADDRESS:0.0.0.0
   RACK:RAC1
   DC:DC1
   REMOVAL_COORDINATOR:REMOVER,b63fe173-5d13-4905-a59f-a78790f4f980
   RELEASE_VERSION:1.2.0
   NET_VERSION:6
   LOAD:2.64185473948E11
   STATUS:removed,d84a5632-d6d5-4b06-8e1b-ae39ab185ca1,1357874470406
   SCHEMA:5cd8420d-ce3c-3625-8293-67558a24816b
 {code}
 {code}
 ERROR 19:26:20,078 Exception in thread Thread[GossipStage:1,5,main]
 java.lang.NullPointerException
   at 
 org.apache.cassandra.service.StorageService.getApplicationStateValue(StorageService.java:1192)
   at 
 org.apache.cassandra.service.StorageService.getTokensFor(StorageService.java:1200)
   at 
 org.apache.cassandra.service.StorageService.handleStateLeft(StorageService.java:1452)
   at 
 org.apache.cassandra.service.StorageService.onChange(StorageService.java:1163)
   at 
 org.apache.cassandra.service.StorageService.onJoin(StorageService.java:1895)
   at 
 org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:805)
   at 
 org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:856)
   at 
 org.apache.cassandra.gms.GossipDigestAckVerbHandler.doVerb(GossipDigestAckVerbHandler.java:57)
   at 
 org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:56)
   at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
   at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
   at java.lang.Thread.run(Thread.java:722)
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5127) unsafeAssassinateEndpoint throws NullPointerException and fails to remove node from gossip

2013-01-07 Thread Michael Kjellman (JIRA)

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

Michael Kjellman updated CASSANDRA-5127:


Summary: unsafeAssassinateEndpoint throws NullPointerException and fails to 
remove node from gossip  (was: unsafeAssassinateEndpoint throws 
NullPointerException and fails to remove node)

 unsafeAssassinateEndpoint throws NullPointerException and fails to remove 
 node from gossip
 --

 Key: CASSANDRA-5127
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5127
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0
 Environment: Ubuntu 12.04
Reporter: Michael Kjellman
Priority: Minor

 unsafeAssassinateEndpoint() throws NullPointerException and the node still 
 seems to be in gossip. 
 gossip info for node in question:
 {code}
 /10.8.30.15
   HOST_ID:d84a5632-d6d5-4b06-8e1b-ae39ab185ca1
   RPC_ADDRESS:0.0.0.0
   RACK:RAC1
   DC:DC1
   REMOVAL_COORDINATOR:REMOVER,b63fe173-5d13-4905-a59f-a78790f4f980
   RELEASE_VERSION:1.2.0
   NET_VERSION:6
   LOAD:2.64185473948E11
   STATUS:removed,d84a5632-d6d5-4b06-8e1b-ae39ab185ca1,1357874470406
   SCHEMA:5cd8420d-ce3c-3625-8293-67558a24816b
 {code}
 {code}
 ERROR 19:26:20,078 Exception in thread Thread[GossipStage:1,5,main]
 java.lang.NullPointerException
   at 
 org.apache.cassandra.service.StorageService.getApplicationStateValue(StorageService.java:1192)
   at 
 org.apache.cassandra.service.StorageService.getTokensFor(StorageService.java:1200)
   at 
 org.apache.cassandra.service.StorageService.handleStateLeft(StorageService.java:1452)
   at 
 org.apache.cassandra.service.StorageService.onChange(StorageService.java:1163)
   at 
 org.apache.cassandra.service.StorageService.onJoin(StorageService.java:1895)
   at 
 org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:805)
   at 
 org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:856)
   at 
 org.apache.cassandra.gms.GossipDigestAckVerbHandler.doVerb(GossipDigestAckVerbHandler.java:57)
   at 
 org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:56)
   at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
   at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
   at java.lang.Thread.run(Thread.java:722)
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5116) upgradesstables does not upgrade all sstables on a node

2013-01-07 Thread Yuki Morishita (JIRA)

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

Yuki Morishita commented on CASSANDRA-5116:
---

Couple of things I noticed during investigation:

  * As Michael commented above, there are some sstables that are not referenced 
by CF. That happens when those sstables are ancestors of other sstables(see 
https://github.com/apache/cassandra/blob/cassandra-1.2.0/src/java/org/apache/cassandra/db/ColumnFamilyStore.java#L267).
 Those sstables are supposed to be deleted through 
SSTableReader#releaseReference() from the comment below that line. But sstables 
would not be deleted since releaseReferece() checks isCompacted flag which, as 
the name suggests, only becomes true when compacted. There is no log about this 
behavior, so when that happens after upgradesstables, I think it is confusing. 
So I propose fix for actually deleting file + logging when that happens.
  * Maybe we can raise priority of updatesstables task among other compaction 
tasks to be processed as first as possible.
  * nodetool upgradesstables just submits task for upgrade but never knows when 
it finishes. It may be useful if we track the progress of upgrade like 
CASSANDRA-4767. (same can be said to cleanup, scrub, etc).

 upgradesstables does not upgrade all sstables on a node
 ---

 Key: CASSANDRA-5116
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5116
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0
 Environment: Ubuntu 12.04
Reporter: Michael Kjellman
Assignee: Yuki Morishita

 upgradesstables appears to be skipping sstables randomly.
 finding a sstable with an mtime  the upgrade time and grepping through the 
 logs for a corresponding compaction log line, i find nothing. I have 
 reproduced this on all of my nodes across the cluster.
 is performAllSSTableOperation somehow skipping sstables?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


git commit: don't report harmless cache read problem as debug, don't rely on FileInputStream.available to always return 0 patch by dbrosius reviewed by mkjellman for CASSANDRA-4916

2013-01-07 Thread dbrosius
Updated Branches:
  refs/heads/trunk 95c1ed468 - 1d641f511


don't report harmless cache read problem as debug, don't rely on 
FileInputStream.available to always return  0
patch by dbrosius reviewed by mkjellman for CASSANDRA-4916


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

Branch: refs/heads/trunk
Commit: 1d641f5111613a5a049042a8723d0dd9ffc29c02
Parents: 95c1ed4
Author: Dave Brosius dbros...@apache.org
Authored: Tue Jan 8 00:16:44 2013 -0500
Committer: Dave Brosius dbros...@apache.org
Committed: Tue Jan 8 00:16:44 2013 -0500

--
 .../apache/cassandra/cache/AutoSavingCache.java|9 +-
 .../io/util/LengthAvailableInputStream.java|   98 +++
 2 files changed, 103 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/1d641f51/src/java/org/apache/cassandra/cache/AutoSavingCache.java
--
diff --git a/src/java/org/apache/cassandra/cache/AutoSavingCache.java 
b/src/java/org/apache/cassandra/cache/AutoSavingCache.java
index 4e35d34..7e4bb77 100644
--- a/src/java/org/apache/cassandra/cache/AutoSavingCache.java
+++ b/src/java/org/apache/cassandra/cache/AutoSavingCache.java
@@ -37,6 +37,7 @@ import org.apache.cassandra.db.compaction.OperationType;
 import org.apache.cassandra.db.ColumnFamilyStore;
 import org.apache.cassandra.io.FSWriteError;
 import org.apache.cassandra.io.util.FileUtils;
+import org.apache.cassandra.io.util.LengthAvailableInputStream;
 import org.apache.cassandra.io.util.SequentialWriter;
 import org.apache.cassandra.service.CacheService;
 import org.apache.cassandra.service.StorageService;
@@ -109,7 +110,7 @@ public class AutoSavingCacheK extends CacheKey, V extends 
InstrumentingCacheK
 try
 {
 logger.info(String.format(reading saved cache %s, path));
-in = new DataInputStream(new BufferedInputStream(new 
FileInputStream(path)));
+in = new DataInputStream(new LengthAvailableInputStream(new 
BufferedInputStream(new FileInputStream(path)), path.length()));
 SetByteBuffer keys = new HashSetByteBuffer();
 while (in.available()  0)
 {
@@ -120,7 +121,7 @@ public class AutoSavingCacheK extends CacheKey, V extends 
InstrumentingCacheK
 }
 catch (Exception e)
 {
-logger.warn(String.format(error reading saved cache %s, keys 
loaded so far: %d, path.getAbsolutePath(), count), e);
+logger.debug(String.format(harmless error reading saved cache 
%s fully, keys loaded so far: %d, path.getAbsolutePath(), count), e);
 return count;
 }
 finally
@@ -137,7 +138,7 @@ public class AutoSavingCacheK extends CacheKey, V extends 
InstrumentingCacheK
 try
 {
 logger.info(String.format(reading saved cache %s, path));
-in = new DataInputStream(new BufferedInputStream(new 
FileInputStream(path)));
+in = new DataInputStream(new LengthAvailableInputStream(new 
BufferedInputStream(new FileInputStream(path)), path.length()));
 ListFuturePairK, V futures = new 
ArrayListFuturePairK, V();
 while (in.available()  0)
 {
@@ -157,7 +158,7 @@ public class AutoSavingCacheK extends CacheKey, V extends 
InstrumentingCacheK
 }
 catch (Exception e)
 {
-logger.warn(String.format(error reading saved cache %s, 
path.getAbsolutePath()), e);
+logger.debug(String.format(harmless error reading saved cache 
%s, path.getAbsolutePath()), e);
 }
 finally
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/1d641f51/src/java/org/apache/cassandra/io/util/LengthAvailableInputStream.java
--
diff --git 
a/src/java/org/apache/cassandra/io/util/LengthAvailableInputStream.java 
b/src/java/org/apache/cassandra/io/util/LengthAvailableInputStream.java
new file mode 100644
index 000..a467ce2
--- /dev/null
+++ b/src/java/org/apache/cassandra/io/util/LengthAvailableInputStream.java
@@ -0,0 +1,98 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * License); you may not use this file except in compliance

[jira] [Commented] (CASSANDRA-4916) Starting Cassandra throws EOF while reading saved cache

2013-01-07 Thread Dave Brosius (JIRA)

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

Dave Brosius commented on CASSANDRA-4916:
-

committed to trunk as 1d641f5111613a5a049042a8723d0dd9ffc29c02

 Starting Cassandra throws EOF while reading saved cache
 ---

 Key: CASSANDRA-4916
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4916
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Michael Kjellman
Assignee: Dave Brosius
Priority: Minor
 Fix For: 1.2.1

 Attachments: 4916.txt


 Currently seeing nodes throw an EOF while reading a saved cache on the system 
 schema when starting cassandra
  WARN 14:25:54,896 error reading saved cache 
 /ssd/saved_caches/system-schema_columns-KeyCache-b.db
 java.io.EOFException
   at java.io.DataInputStream.readInt(DataInputStream.java:392)
   at 
 org.apache.cassandra.utils.ByteBufferUtil.readWithLength(ByteBufferUtil.java:349)
   at 
 org.apache.cassandra.service.CacheService$KeyCacheSerializer.deserialize(CacheService.java:378)
   at 
 org.apache.cassandra.cache.AutoSavingCache.loadSaved(AutoSavingCache.java:144)
   at 
 org.apache.cassandra.db.ColumnFamilyStore.init(ColumnFamilyStore.java:278)
   at 
 org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:393)
   at 
 org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:365)
   at org.apache.cassandra.db.Table.initCf(Table.java:334)
   at org.apache.cassandra.db.Table.init(Table.java:272)
   at org.apache.cassandra.db.Table.open(Table.java:102)
   at org.apache.cassandra.db.Table.open(Table.java:80)
   at org.apache.cassandra.db.SystemTable.checkHealth(SystemTable.java:320)
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:203)
   at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:395)
   at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:438)
 to reproduce delete all data files, start a cluster, leave cluster up long 
 enough to build a cache. nodetool drain, kill cassandra process. start 
 cassandra process in foreground and note EOF thrown (see above for stack 
 trace)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5117) CQL 3 ALTER TABLE ... ADD causes OOB

2013-01-07 Thread Dave Brosius (JIRA)

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

Dave Brosius commented on CASSANDRA-5117:
-

+1

 CQL 3 ALTER TABLE ... ADD causes OOB
 

 Key: CASSANDRA-5117
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5117
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.0
 Environment: Mac OSX, DS Java Driver, apache-cassandra-1.2.0-src 
 downloaded from project Jan 2, 2013
Reporter: Kristine Hahn
Assignee: Dave Brosius
 Fix For: 1.2.1

 Attachments: 5117.txt, 5117-v2.txt, OOB.txt


 To reproduce:
 ./cqlsh
 Connected to Test Cluster at localhost:9160.
 [cqlsh 2.3.0 | Cassandra 1.2.0-SNAPSHOT | CQL spec 3.0.0 | Thrift protocol 
 19.35.0]
 Use HELP for help.
 cqlsh create keyspace music with replication = {'CLASS' : 
... 'SimpleStrategy', 'replication_factor' : 3};
 cqlsh use music
... ;
 cqlsh:music CREATE TABLE songs (
  ... id uuid PRIMARY KEY,
  ... title text,
  ... album text,
  ... artist text,
  ... data blob
  ... );
 cqlsh:music insert into songs (id, title, artist, album) values 
 ('a3e64f8f-bd44-4f28-b8d9-6938726e34d4', 'La Grange', 'ZZ Top', 'Tres 
 Hombres');
 cqlsh:music insert into songs (id, title, artist, album) values 
 ('8a172618-b121-4136-bb10-f665cfc469eb', 'Moving in Stereo', 'Fu Manchu', 'We 
 Must Obey');
 cqlsh:music insert into songs (id, title, artist, album) values 
 ('62c36092-82a1-3a00-93d1-46196ee77204', 'Outside Woman Blues', 'Back Door 
 Slam', 'Roll Away');
 cqlsh:music CREATE TABLE song_tags (
  ... id uuid,
  ... tag_name text,
  ... PRIMARY KEY (id, tag_name)
  ... );
 cqlsh:music select * from song_tags;
 cqlsh:music INSERT INTO song_tags (id, tag_name) VALUES 
 ('a3e64f8f-bd44-4f28-b8d9-6938726e34d4', 'blues');
 cqlsh:music INSERT INTO song_tags (id, tag_name) VALUES 
 ('8a172618-b121-4136-bb10-f665cfc469eb', 'covers');
 cqlsh:music INSERT INTO song_tags (id, tag_name) VALUES 
 ('a3e64f8f-bd44-4f28-b8d9-6938726e34d4', '1973');
 cqlsh:music INSERT INTO song_tags (id, tag_name) VALUES 
 ('8a172618-b121-4136-bb10-f665cfc469eb', '2007');
 cqlsh:music select * from song_tags;
  id   | tag_name
 --+--
  a3e64f8f-bd44-4f28-b8d9-6938726e34d4 | 1973
  a3e64f8f-bd44-4f28-b8d9-6938726e34d4 |blues
  8a172618-b121-4136-bb10-f665cfc469eb | 2007
  8a172618-b121-4136-bb10-f665cfc469eb |   covers
 cqlsh:music drop table song_tags;
 cqlsh:music ALTER TABLE songs ADD tags settext;
 TSocket read 0 bytes

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5117) CQL 3 ALTER TABLE ... ADD causes OOB

2013-01-07 Thread Dave Brosius (JIRA)

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

Dave Brosius updated CASSANDRA-5117:


Reviewer: dbrosius  (was: slebresne)
Assignee: Sylvain Lebresne  (was: Dave Brosius)

 CQL 3 ALTER TABLE ... ADD causes OOB
 

 Key: CASSANDRA-5117
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5117
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.0
 Environment: Mac OSX, DS Java Driver, apache-cassandra-1.2.0-src 
 downloaded from project Jan 2, 2013
Reporter: Kristine Hahn
Assignee: Sylvain Lebresne
 Fix For: 1.2.1

 Attachments: 5117.txt, 5117-v2.txt, OOB.txt


 To reproduce:
 ./cqlsh
 Connected to Test Cluster at localhost:9160.
 [cqlsh 2.3.0 | Cassandra 1.2.0-SNAPSHOT | CQL spec 3.0.0 | Thrift protocol 
 19.35.0]
 Use HELP for help.
 cqlsh create keyspace music with replication = {'CLASS' : 
... 'SimpleStrategy', 'replication_factor' : 3};
 cqlsh use music
... ;
 cqlsh:music CREATE TABLE songs (
  ... id uuid PRIMARY KEY,
  ... title text,
  ... album text,
  ... artist text,
  ... data blob
  ... );
 cqlsh:music insert into songs (id, title, artist, album) values 
 ('a3e64f8f-bd44-4f28-b8d9-6938726e34d4', 'La Grange', 'ZZ Top', 'Tres 
 Hombres');
 cqlsh:music insert into songs (id, title, artist, album) values 
 ('8a172618-b121-4136-bb10-f665cfc469eb', 'Moving in Stereo', 'Fu Manchu', 'We 
 Must Obey');
 cqlsh:music insert into songs (id, title, artist, album) values 
 ('62c36092-82a1-3a00-93d1-46196ee77204', 'Outside Woman Blues', 'Back Door 
 Slam', 'Roll Away');
 cqlsh:music CREATE TABLE song_tags (
  ... id uuid,
  ... tag_name text,
  ... PRIMARY KEY (id, tag_name)
  ... );
 cqlsh:music select * from song_tags;
 cqlsh:music INSERT INTO song_tags (id, tag_name) VALUES 
 ('a3e64f8f-bd44-4f28-b8d9-6938726e34d4', 'blues');
 cqlsh:music INSERT INTO song_tags (id, tag_name) VALUES 
 ('8a172618-b121-4136-bb10-f665cfc469eb', 'covers');
 cqlsh:music INSERT INTO song_tags (id, tag_name) VALUES 
 ('a3e64f8f-bd44-4f28-b8d9-6938726e34d4', '1973');
 cqlsh:music INSERT INTO song_tags (id, tag_name) VALUES 
 ('8a172618-b121-4136-bb10-f665cfc469eb', '2007');
 cqlsh:music select * from song_tags;
  id   | tag_name
 --+--
  a3e64f8f-bd44-4f28-b8d9-6938726e34d4 | 1973
  a3e64f8f-bd44-4f28-b8d9-6938726e34d4 |blues
  8a172618-b121-4136-bb10-f665cfc469eb | 2007
  8a172618-b121-4136-bb10-f665cfc469eb |   covers
 cqlsh:music drop table song_tags;
 cqlsh:music ALTER TABLE songs ADD tags settext;
 TSocket read 0 bytes

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Assigned] (CASSANDRA-5127) unsafeAssassinateEndpoint throws NullPointerException and fails to remove node from gossip

2013-01-07 Thread Brandon Williams (JIRA)

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

Brandon Williams reassigned CASSANDRA-5127:
---

Assignee: Brandon Williams

 unsafeAssassinateEndpoint throws NullPointerException and fails to remove 
 node from gossip
 --

 Key: CASSANDRA-5127
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5127
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0
 Environment: Ubuntu 12.04
Reporter: Michael Kjellman
Assignee: Brandon Williams
Priority: Minor

 unsafeAssassinateEndpoint() throws NullPointerException and the node still 
 seems to be in gossip. 
 gossip info for node in question:
 {code}
 /10.8.30.15
   HOST_ID:d84a5632-d6d5-4b06-8e1b-ae39ab185ca1
   RPC_ADDRESS:0.0.0.0
   RACK:RAC1
   DC:DC1
   REMOVAL_COORDINATOR:REMOVER,b63fe173-5d13-4905-a59f-a78790f4f980
   RELEASE_VERSION:1.2.0
   NET_VERSION:6
   LOAD:2.64185473948E11
   STATUS:removed,d84a5632-d6d5-4b06-8e1b-ae39ab185ca1,1357874470406
   SCHEMA:5cd8420d-ce3c-3625-8293-67558a24816b
 {code}
 {code}
 ERROR 19:26:20,078 Exception in thread Thread[GossipStage:1,5,main]
 java.lang.NullPointerException
   at 
 org.apache.cassandra.service.StorageService.getApplicationStateValue(StorageService.java:1192)
   at 
 org.apache.cassandra.service.StorageService.getTokensFor(StorageService.java:1200)
   at 
 org.apache.cassandra.service.StorageService.handleStateLeft(StorageService.java:1452)
   at 
 org.apache.cassandra.service.StorageService.onChange(StorageService.java:1163)
   at 
 org.apache.cassandra.service.StorageService.onJoin(StorageService.java:1895)
   at 
 org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:805)
   at 
 org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:856)
   at 
 org.apache.cassandra.gms.GossipDigestAckVerbHandler.doVerb(GossipDigestAckVerbHandler.java:57)
   at 
 org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:56)
   at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
   at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
   at java.lang.Thread.run(Thread.java:722)
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-5128) Stream hints on decommission

2013-01-07 Thread Jason Brown (JIRA)
Jason Brown created CASSANDRA-5128:
--

 Summary: Stream hints on decommission
 Key: CASSANDRA-5128
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5128
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 1.2.1
Reporter: Jason Brown
Assignee: Jason Brown


Looks like decommissioning a node (nodetool decommission) will stream all the 
non-system table data out to it's appropriate peers 
(StorageService.unbootstrap()), but hints will disappear with the node. Let's 
send those hints to another peer (preferably in the same rack, and hopefully at 
least the same datacenter) them to be replayed.

The use case here is auto-scaling vnode clusters in ec2. When auto-scaling 
down, I'd want to call decommission on the node to leave the ring (and be 
terminated), and still have all of it's artifacts (data and hints) survive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5127) unsafeAssassinateEndpoint throws NullPointerException and fails to remove node from gossip

2013-01-07 Thread Brandon Williams (JIRA)

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

Brandon Williams updated CASSANDRA-5127:


Fix Version/s: 1.2.1

 unsafeAssassinateEndpoint throws NullPointerException and fails to remove 
 node from gossip
 --

 Key: CASSANDRA-5127
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5127
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0
 Environment: Ubuntu 12.04
Reporter: Michael Kjellman
Assignee: Brandon Williams
Priority: Minor
 Fix For: 1.2.1


 unsafeAssassinateEndpoint() throws NullPointerException and the node still 
 seems to be in gossip. 
 gossip info for node in question:
 {code}
 /10.8.30.15
   HOST_ID:d84a5632-d6d5-4b06-8e1b-ae39ab185ca1
   RPC_ADDRESS:0.0.0.0
   RACK:RAC1
   DC:DC1
   REMOVAL_COORDINATOR:REMOVER,b63fe173-5d13-4905-a59f-a78790f4f980
   RELEASE_VERSION:1.2.0
   NET_VERSION:6
   LOAD:2.64185473948E11
   STATUS:removed,d84a5632-d6d5-4b06-8e1b-ae39ab185ca1,1357874470406
   SCHEMA:5cd8420d-ce3c-3625-8293-67558a24816b
 {code}
 {code}
 ERROR 19:26:20,078 Exception in thread Thread[GossipStage:1,5,main]
 java.lang.NullPointerException
   at 
 org.apache.cassandra.service.StorageService.getApplicationStateValue(StorageService.java:1192)
   at 
 org.apache.cassandra.service.StorageService.getTokensFor(StorageService.java:1200)
   at 
 org.apache.cassandra.service.StorageService.handleStateLeft(StorageService.java:1452)
   at 
 org.apache.cassandra.service.StorageService.onChange(StorageService.java:1163)
   at 
 org.apache.cassandra.service.StorageService.onJoin(StorageService.java:1895)
   at 
 org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:805)
   at 
 org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:856)
   at 
 org.apache.cassandra.gms.GossipDigestAckVerbHandler.doVerb(GossipDigestAckVerbHandler.java:57)
   at 
 org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:56)
   at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
   at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
   at java.lang.Thread.run(Thread.java:722)
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5127) unsafeAssassinateEndpoint throws NullPointerException and fails to remove node from gossip

2013-01-07 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-5127:
-

This is because there is no TOKENS state for a non-vnode host in 1.2.  Mostly 
saying this for myself so I don't forget what to do tomorrow.

 unsafeAssassinateEndpoint throws NullPointerException and fails to remove 
 node from gossip
 --

 Key: CASSANDRA-5127
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5127
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0
 Environment: Ubuntu 12.04
Reporter: Michael Kjellman
Assignee: Brandon Williams
Priority: Minor

 unsafeAssassinateEndpoint() throws NullPointerException and the node still 
 seems to be in gossip. 
 gossip info for node in question:
 {code}
 /10.8.30.15
   HOST_ID:d84a5632-d6d5-4b06-8e1b-ae39ab185ca1
   RPC_ADDRESS:0.0.0.0
   RACK:RAC1
   DC:DC1
   REMOVAL_COORDINATOR:REMOVER,b63fe173-5d13-4905-a59f-a78790f4f980
   RELEASE_VERSION:1.2.0
   NET_VERSION:6
   LOAD:2.64185473948E11
   STATUS:removed,d84a5632-d6d5-4b06-8e1b-ae39ab185ca1,1357874470406
   SCHEMA:5cd8420d-ce3c-3625-8293-67558a24816b
 {code}
 {code}
 ERROR 19:26:20,078 Exception in thread Thread[GossipStage:1,5,main]
 java.lang.NullPointerException
   at 
 org.apache.cassandra.service.StorageService.getApplicationStateValue(StorageService.java:1192)
   at 
 org.apache.cassandra.service.StorageService.getTokensFor(StorageService.java:1200)
   at 
 org.apache.cassandra.service.StorageService.handleStateLeft(StorageService.java:1452)
   at 
 org.apache.cassandra.service.StorageService.onChange(StorageService.java:1163)
   at 
 org.apache.cassandra.service.StorageService.onJoin(StorageService.java:1895)
   at 
 org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:805)
   at 
 org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:856)
   at 
 org.apache.cassandra.gms.GossipDigestAckVerbHandler.doVerb(GossipDigestAckVerbHandler.java:57)
   at 
 org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:56)
   at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
   at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
   at java.lang.Thread.run(Thread.java:722)
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-5129) newly bootstrapping nodes hang indefinitely in status STATUS:BOOT while JOINING cluster

2013-01-07 Thread Michael Kjellman (JIRA)
Michael Kjellman created CASSANDRA-5129:
---

 Summary: newly bootstrapping nodes hang indefinitely in status 
STATUS:BOOT while JOINING cluster  
 Key: CASSANDRA-5129
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5129
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.0
 Environment: Ubuntu 12.04
Reporter: Michael Kjellman


bootstrapping a new node causes it to hang indefinitely in STATUS:BOOT

Nodes streaming to the new node report 

{code}
Mode: NORMAL
 Nothing streaming to /10.8.30.16
Not receiving any streams.
Pool NameActive   Pending  Completed
Commandsn/a 01843990
Responses   n/a 2 661750
{code}

the node being streamed to stuck in the JOINING state reports:

{code}
Mode: JOINING
Not sending any streams.
 Nothing streaming from /10.8.30.103
 Nothing streaming from /10.8.30.102
Pool NameActive   Pending  Completed
Commandsn/a 0 10
Responses   n/a 0 613577
{code}

it appears that the nodes in the nothing streaming state never sends a 
finished streaming to the joining node.

no exceptions are thrown during the streaming on either node while the node is 
in this state.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5129) newly bootstrapping nodes hang indefinitely in status STATUS:BOOT while JOINING cluster

2013-01-07 Thread Michael Kjellman (JIRA)

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

Michael Kjellman updated CASSANDRA-5129:


Description: 
bootstrapping a new node causes it to hang indefinitely in STATUS:BOOT

Nodes streaming to the new node report 

{code}
Mode: NORMAL
 Nothing streaming to /10.8.30.16
Not receiving any streams.
Pool NameActive   Pending  Completed
Commandsn/a 01843990
Responses   n/a 2 661750
{code}

the node being streamed to stuck in the JOINING state reports:

{code}
Mode: JOINING
Not sending any streams.
 Nothing streaming from /10.8.30.103
 Nothing streaming from /10.8.30.102
Pool NameActive   Pending  Completed
Commandsn/a 0 10
Responses   n/a 0 613577
{code}

it appears that the nodes in the nothing streaming state never sends a 
finished streaming to the joining node.

no exceptions are thrown during the streaming on either node while the node is 
in this state.

{code:name=full gossip state of bootstrapping node}
/10.8.30.16
  NET_VERSION:6
  RELEASE_VERSION:1.2.0
  STATUS:BOOT,127605887595351923798765477786913079289
  RACK:RAC1
  RPC_ADDRESS:0.0.0.0
  DC:DC1
  SCHEMA:5cd8420d-ce3c-3625-8293-67558a24816b
  HOST_ID:e20817ce-7454-4dc4-a1c6-b1dec35c4491
  LOAD:1.11824041581E11
{code}

  was:
bootstrapping a new node causes it to hang indefinitely in STATUS:BOOT

Nodes streaming to the new node report 

{code}
Mode: NORMAL
 Nothing streaming to /10.8.30.16
Not receiving any streams.
Pool NameActive   Pending  Completed
Commandsn/a 01843990
Responses   n/a 2 661750
{code}

the node being streamed to stuck in the JOINING state reports:

{code}
Mode: JOINING
Not sending any streams.
 Nothing streaming from /10.8.30.103
 Nothing streaming from /10.8.30.102
Pool NameActive   Pending  Completed
Commandsn/a 0 10
Responses   n/a 0 613577
{code}

it appears that the nodes in the nothing streaming state never sends a 
finished streaming to the joining node.

no exceptions are thrown during the streaming on either node while the node is 
in this state.


 newly bootstrapping nodes hang indefinitely in status STATUS:BOOT while 
 JOINING cluster  
 -

 Key: CASSANDRA-5129
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5129
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.0
 Environment: Ubuntu 12.04
Reporter: Michael Kjellman

 bootstrapping a new node causes it to hang indefinitely in STATUS:BOOT
 Nodes streaming to the new node report 
 {code}
 Mode: NORMAL
  Nothing streaming to /10.8.30.16
 Not receiving any streams.
 Pool NameActive   Pending  Completed
 Commandsn/a 01843990
 Responses   n/a 2 661750
 {code}
 the node being streamed to stuck in the JOINING state reports:
 {code}
 Mode: JOINING
 Not sending any streams.
  Nothing streaming from /10.8.30.103
  Nothing streaming from /10.8.30.102
 Pool NameActive   Pending  Completed
 Commandsn/a 0 10
 Responses   n/a 0 613577
 {code}
 it appears that the nodes in the nothing streaming state never sends a 
 finished streaming to the joining node.
 no exceptions are thrown during the streaming on either node while the node 
 is in this state.
 {code:name=full gossip state of bootstrapping node}
 /10.8.30.16
   NET_VERSION:6
   RELEASE_VERSION:1.2.0
   STATUS:BOOT,127605887595351923798765477786913079289
   RACK:RAC1
   RPC_ADDRESS:0.0.0.0
   DC:DC1
   SCHEMA:5cd8420d-ce3c-3625-8293-67558a24816b
   HOST_ID:e20817ce-7454-4dc4-a1c6-b1dec35c4491
   LOAD:1.11824041581E11
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5129) newly bootstrapping nodes hang indefinitely in STATUS:BOOT while JOINING cluster

2013-01-07 Thread Michael Kjellman (JIRA)

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

Michael Kjellman updated CASSANDRA-5129:


Summary: newly bootstrapping nodes hang indefinitely in STATUS:BOOT while 
JOINING cluster(was: newly bootstrapping nodes hang indefinitely in status 
STATUS:BOOT while JOINING cluster  )

 newly bootstrapping nodes hang indefinitely in STATUS:BOOT while JOINING 
 cluster  
 --

 Key: CASSANDRA-5129
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5129
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.0
 Environment: Ubuntu 12.04
Reporter: Michael Kjellman

 bootstrapping a new node causes it to hang indefinitely in STATUS:BOOT
 Nodes streaming to the new node report 
 {code}
 Mode: NORMAL
  Nothing streaming to /10.8.30.16
 Not receiving any streams.
 Pool NameActive   Pending  Completed
 Commandsn/a 01843990
 Responses   n/a 2 661750
 {code}
 the node being streamed to stuck in the JOINING state reports:
 {code}
 Mode: JOINING
 Not sending any streams.
  Nothing streaming from /10.8.30.103
  Nothing streaming from /10.8.30.102
 Pool NameActive   Pending  Completed
 Commandsn/a 0 10
 Responses   n/a 0 613577
 {code}
 it appears that the nodes in the nothing streaming state never sends a 
 finished streaming to the joining node.
 no exceptions are thrown during the streaming on either node while the node 
 is in this state.
 {code:name=full gossip state of bootstrapping node}
 /10.8.30.16
   NET_VERSION:6
   RELEASE_VERSION:1.2.0
   STATUS:BOOT,127605887595351923798765477786913079289
   RACK:RAC1
   RPC_ADDRESS:0.0.0.0
   DC:DC1
   SCHEMA:5cd8420d-ce3c-3625-8293-67558a24816b
   HOST_ID:e20817ce-7454-4dc4-a1c6-b1dec35c4491
   LOAD:1.11824041581E11
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-5130) streaming from another node results in a bogus % streamed on that sstable

2013-01-07 Thread Michael Kjellman (JIRA)
Michael Kjellman created CASSANDRA-5130:
---

 Summary: streaming from another node results in a bogus % streamed 
on that sstable
 Key: CASSANDRA-5130
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5130
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Ubuntu 12.04
Reporter: Michael Kjellman


5689557% from node 10.8.25.132 ??

{code}
root@scl-cas06:~# nodetool netstats
Mode: NORMAL
Streaming to: /10.8.25.132
   /data2/cassandra/evidence/messages/evidence-messages-ia-2378-Data.db 
sections=1504 progress=10877426741/11376970910 - 95%
   /data/cassandra/evidence/messages/evidence-messages-ia-2396-Data.db 
sections=1326 progress=0/747963031 - 0%
   /data/cassandra/evidence/messages/evidence-messages-ia-2412-Data.db 
sections=342 progress=0/29791995 - 0%
   /data/cassandra/evidence/messages/evidence-messages-ia-2413-Data.db 
sections=307 progress=0/42375841 - 0%
   /data/cassandra/evidence/messages/evidence-messages-ia-2375-Data.db 
sections=702 progress=0/5138101708 - 0%
   /data/cassandra/evidence/messages/evidence-messages-ia-2416-Data.db 
sections=220 progress=0/21729661 - 0%
   /data2/cassandra/evidence/messages/evidence-messages-ia-2382-Data.db 
sections=1498 progress=0/7731727694 - 0%
   /data2/cassandra/evidence/messages/evidence-messages-ia-2388-Data.db 
sections=698 progress=0/2097813910 - 0%
   /data2/cassandra/evidence/messages/evidence-messages-ia-2401-Data.db 
sections=889 progress=0/154218729 - 0%
   /data/cassandra/evidence/messages/evidence-messages-ia-2411-Data.db 
sections=290 progress=0/45457960 - 0%
   /data2/cassandra/evidence/messages/evidence-messages-ia-2414-Data.db 
sections=22 progress=0/1809989 - 0%
   /data/cassandra/evidence/messages/evidence-messages-ia-2407-Data.db 
sections=423 progress=0/55302683 - 0%
   /data/cassandra/evidence/messages/evidence-messages-ia-2409-Data.db 
sections=73 progress=0/6366250 - 0%
   /data2/cassandra/evidence/messages/evidence-messages-ia-2377-Data.db 
sections=1298 progress=0/815617310 - 0%
   /data/cassandra/evidence/messages/evidence-messages-ia-2389-Data.db 
sections=167 progress=0/7307457 - 0%
   /data/cassandra/evidence/messages/evidence-messages-ia-2415-Data.db 
sections=126 progress=0/9260301 - 0%
 Nothing streaming to /10.8.30.16
Streaming from: /10.8.25.132
   evidence: 
/data2/cassandra/evidence/messages/evidence-messages-ia-1091-Data.db 
sections=328 progress=0/52507334 - 0%
   evidence: 
/data/cassandra/evidence/messages/evidence-messages-ia-1084-Data.db 
sections=1029 progress=0/198699737 - 0%
   evidence: 
/data2/cassandra/evidence/messages/evidence-messages-ia-1097-Data.db 
sections=35 progress=0/731705 - 0%
   evidence: 
/data/cassandra/evidence/messages/evidence-messages-ia-1079-Data.db 
sections=1504 progress=1126955908333568/19807443126 - 5689557%
Pool NameActive   Pending  Completed
Commandsn/a 0 459801
Responses   n/a 01061826
{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5130) streaming from another node results in a bogus % streamed on that sstable

2013-01-07 Thread Michael Kjellman (JIRA)

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

Michael Kjellman commented on CASSANDRA-5130:
-

1141023% on this node?

{code}
root@scl-cas10:~# nodetool netstats
Mode: NORMAL
Streaming to: /10.8.30.103
   /data/cassandra/evidence/messages/evidence-messages-ia-1079-Data.db 
sections=1504 progress=12737080525/19807443126 - 64%
   /data2/cassandra/evidence/messages/evidence-messages-ia-1097-Data.db 
sections=35 progress=0/731705 - 0%
   /data/cassandra/evidence/messages/evidence-messages-ia-1084-Data.db 
sections=1029 progress=0/198699737 - 0%
   /data2/cassandra/evidence/messages/evidence-messages-ia-1091-Data.db 
sections=328 progress=0/52507334 - 0%
Streaming from: /10.8.30.103
   evidence: 
/data/cassandra/evidence/messages/evidence-messages-ia-2375-Data.db 
sections=702 progress=58626960326656/5138101708 - 1141023%
   evidence: 
/data/cassandra/evidence/messages/evidence-messages-ia-2389-Data.db 
sections=167 progress=0/7307457 - 0%
   evidence: 
/data2/cassandra/evidence/messages/evidence-messages-ia-2388-Data.db 
sections=698 progress=0/2097813910 - 0%
   evidence: 
/data/cassandra/evidence/messages/evidence-messages-ia-2416-Data.db 
sections=220 progress=0/21729661 - 0%
   evidence: 
/data2/cassandra/evidence/messages/evidence-messages-ia-2377-Data.db 
sections=1298 progress=0/815617310 - 0%
   evidence: 
/data/cassandra/evidence/messages/evidence-messages-ia-2409-Data.db sections=73 
progress=0/6366250 - 0%
   evidence: 
/data2/cassandra/evidence/messages/evidence-messages-ia-2414-Data.db 
sections=22 progress=0/1809989 - 0%
   evidence: 
/data2/cassandra/evidence/messages/evidence-messages-ia-2382-Data.db 
sections=1498 progress=0/7731727694 - 0%
   evidence: 
/data/cassandra/evidence/messages/evidence-messages-ia-2407-Data.db 
sections=423 progress=0/55302683 - 0%
   evidence: 
/data/cassandra/evidence/messages/evidence-messages-ia-2411-Data.db 
sections=290 progress=0/45457960 - 0%
   evidence: 
/data/cassandra/evidence/messages/evidence-messages-ia-2415-Data.db 
sections=126 progress=0/9260301 - 0%
   evidence: 
/data2/cassandra/evidence/messages/evidence-messages-ia-2401-Data.db 
sections=889 progress=0/154218729 - 0%
Pool NameActive   Pending  Completed
Commandsn/a 0 252046
Responses   n/a 3 746069
{code}

 streaming from another node results in a bogus % streamed on that sstable
 -

 Key: CASSANDRA-5130
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5130
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Ubuntu 12.04
Reporter: Michael Kjellman

 5689557% from node 10.8.25.132 ??
 {code}
 root@scl-cas06:~# nodetool netstats
 Mode: NORMAL
 Streaming to: /10.8.25.132
/data2/cassandra/evidence/messages/evidence-messages-ia-2378-Data.db 
 sections=1504 progress=10877426741/11376970910 - 95%
/data/cassandra/evidence/messages/evidence-messages-ia-2396-Data.db 
 sections=1326 progress=0/747963031 - 0%
/data/cassandra/evidence/messages/evidence-messages-ia-2412-Data.db 
 sections=342 progress=0/29791995 - 0%
/data/cassandra/evidence/messages/evidence-messages-ia-2413-Data.db 
 sections=307 progress=0/42375841 - 0%
/data/cassandra/evidence/messages/evidence-messages-ia-2375-Data.db 
 sections=702 progress=0/5138101708 - 0%
/data/cassandra/evidence/messages/evidence-messages-ia-2416-Data.db 
 sections=220 progress=0/21729661 - 0%
/data2/cassandra/evidence/messages/evidence-messages-ia-2382-Data.db 
 sections=1498 progress=0/7731727694 - 0%
/data2/cassandra/evidence/messages/evidence-messages-ia-2388-Data.db 
 sections=698 progress=0/2097813910 - 0%
/data2/cassandra/evidence/messages/evidence-messages-ia-2401-Data.db 
 sections=889 progress=0/154218729 - 0%
/data/cassandra/evidence/messages/evidence-messages-ia-2411-Data.db 
 sections=290 progress=0/45457960 - 0%
/data2/cassandra/evidence/messages/evidence-messages-ia-2414-Data.db 
 sections=22 progress=0/1809989 - 0%
/data/cassandra/evidence/messages/evidence-messages-ia-2407-Data.db 
 sections=423 progress=0/55302683 - 0%
/data/cassandra/evidence/messages/evidence-messages-ia-2409-Data.db 
 sections=73 progress=0/6366250 - 0%
/data2/cassandra/evidence/messages/evidence-messages-ia-2377-Data.db 
 sections=1298 progress=0/815617310 - 0%
/data/cassandra/evidence/messages/evidence-messages-ia-2389-Data.db 
 sections=167 progress=0/7307457 - 0%
/data/cassandra/evidence/messages/evidence-messages-ia-2415-Data.db 
 sections=126 progress=0/9260301 - 0%
  Nothing streaming to /10.8.30.16
 Streaming from: /10.8.25.132
evidence: 
 

[jira] [Commented] (CASSANDRA-5130) streaming from another node results in a bogus % streamed on that sstable

2013-01-07 Thread Michael Kjellman (JIRA)

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

Michael Kjellman commented on CASSANDRA-5130:
-

related to https://issues.apache.org/jira/browse/CASSANDRA-4687 ? streaming 
wrong part of file?

 streaming from another node results in a bogus % streamed on that sstable
 -

 Key: CASSANDRA-5130
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5130
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Ubuntu 12.04
Reporter: Michael Kjellman

 5689557% from node 10.8.25.132 ??
 {code}
 root@scl-cas06:~# nodetool netstats
 Mode: NORMAL
 Streaming to: /10.8.25.132
/data2/cassandra/evidence/messages/evidence-messages-ia-2378-Data.db 
 sections=1504 progress=10877426741/11376970910 - 95%
/data/cassandra/evidence/messages/evidence-messages-ia-2396-Data.db 
 sections=1326 progress=0/747963031 - 0%
/data/cassandra/evidence/messages/evidence-messages-ia-2412-Data.db 
 sections=342 progress=0/29791995 - 0%
/data/cassandra/evidence/messages/evidence-messages-ia-2413-Data.db 
 sections=307 progress=0/42375841 - 0%
/data/cassandra/evidence/messages/evidence-messages-ia-2375-Data.db 
 sections=702 progress=0/5138101708 - 0%
/data/cassandra/evidence/messages/evidence-messages-ia-2416-Data.db 
 sections=220 progress=0/21729661 - 0%
/data2/cassandra/evidence/messages/evidence-messages-ia-2382-Data.db 
 sections=1498 progress=0/7731727694 - 0%
/data2/cassandra/evidence/messages/evidence-messages-ia-2388-Data.db 
 sections=698 progress=0/2097813910 - 0%
/data2/cassandra/evidence/messages/evidence-messages-ia-2401-Data.db 
 sections=889 progress=0/154218729 - 0%
/data/cassandra/evidence/messages/evidence-messages-ia-2411-Data.db 
 sections=290 progress=0/45457960 - 0%
/data2/cassandra/evidence/messages/evidence-messages-ia-2414-Data.db 
 sections=22 progress=0/1809989 - 0%
/data/cassandra/evidence/messages/evidence-messages-ia-2407-Data.db 
 sections=423 progress=0/55302683 - 0%
/data/cassandra/evidence/messages/evidence-messages-ia-2409-Data.db 
 sections=73 progress=0/6366250 - 0%
/data2/cassandra/evidence/messages/evidence-messages-ia-2377-Data.db 
 sections=1298 progress=0/815617310 - 0%
/data/cassandra/evidence/messages/evidence-messages-ia-2389-Data.db 
 sections=167 progress=0/7307457 - 0%
/data/cassandra/evidence/messages/evidence-messages-ia-2415-Data.db 
 sections=126 progress=0/9260301 - 0%
  Nothing streaming to /10.8.30.16
 Streaming from: /10.8.25.132
evidence: 
 /data2/cassandra/evidence/messages/evidence-messages-ia-1091-Data.db 
 sections=328 progress=0/52507334 - 0%
evidence: 
 /data/cassandra/evidence/messages/evidence-messages-ia-1084-Data.db 
 sections=1029 progress=0/198699737 - 0%
evidence: 
 /data2/cassandra/evidence/messages/evidence-messages-ia-1097-Data.db 
 sections=35 progress=0/731705 - 0%
evidence: 
 /data/cassandra/evidence/messages/evidence-messages-ia-1079-Data.db 
 sections=1504 progress=1126955908333568/19807443126 - 5689557%
 Pool NameActive   Pending  Completed
 Commandsn/a 0 459801
 Responses   n/a 01061826
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5130) streaming from another node results in a bogus % streamed on that sstable

2013-01-07 Thread Michael Kjellman (JIRA)

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

Michael Kjellman updated CASSANDRA-5130:


Description: 
reproducible thru a repair -pr

5689557% from node 10.8.25.132 ??

{code}
root@scl-cas06:~# nodetool netstats
Mode: NORMAL
Streaming to: /10.8.25.132
   /data2/cassandra/evidence/messages/evidence-messages-ia-2378-Data.db 
sections=1504 progress=10877426741/11376970910 - 95%
   /data/cassandra/evidence/messages/evidence-messages-ia-2396-Data.db 
sections=1326 progress=0/747963031 - 0%
   /data/cassandra/evidence/messages/evidence-messages-ia-2412-Data.db 
sections=342 progress=0/29791995 - 0%
   /data/cassandra/evidence/messages/evidence-messages-ia-2413-Data.db 
sections=307 progress=0/42375841 - 0%
   /data/cassandra/evidence/messages/evidence-messages-ia-2375-Data.db 
sections=702 progress=0/5138101708 - 0%
   /data/cassandra/evidence/messages/evidence-messages-ia-2416-Data.db 
sections=220 progress=0/21729661 - 0%
   /data2/cassandra/evidence/messages/evidence-messages-ia-2382-Data.db 
sections=1498 progress=0/7731727694 - 0%
   /data2/cassandra/evidence/messages/evidence-messages-ia-2388-Data.db 
sections=698 progress=0/2097813910 - 0%
   /data2/cassandra/evidence/messages/evidence-messages-ia-2401-Data.db 
sections=889 progress=0/154218729 - 0%
   /data/cassandra/evidence/messages/evidence-messages-ia-2411-Data.db 
sections=290 progress=0/45457960 - 0%
   /data2/cassandra/evidence/messages/evidence-messages-ia-2414-Data.db 
sections=22 progress=0/1809989 - 0%
   /data/cassandra/evidence/messages/evidence-messages-ia-2407-Data.db 
sections=423 progress=0/55302683 - 0%
   /data/cassandra/evidence/messages/evidence-messages-ia-2409-Data.db 
sections=73 progress=0/6366250 - 0%
   /data2/cassandra/evidence/messages/evidence-messages-ia-2377-Data.db 
sections=1298 progress=0/815617310 - 0%
   /data/cassandra/evidence/messages/evidence-messages-ia-2389-Data.db 
sections=167 progress=0/7307457 - 0%
   /data/cassandra/evidence/messages/evidence-messages-ia-2415-Data.db 
sections=126 progress=0/9260301 - 0%
 Nothing streaming to /10.8.30.16
Streaming from: /10.8.25.132
   evidence: 
/data2/cassandra/evidence/messages/evidence-messages-ia-1091-Data.db 
sections=328 progress=0/52507334 - 0%
   evidence: 
/data/cassandra/evidence/messages/evidence-messages-ia-1084-Data.db 
sections=1029 progress=0/198699737 - 0%
   evidence: 
/data2/cassandra/evidence/messages/evidence-messages-ia-1097-Data.db 
sections=35 progress=0/731705 - 0%
   evidence: 
/data/cassandra/evidence/messages/evidence-messages-ia-1079-Data.db 
sections=1504 progress=1126955908333568/19807443126 - 5689557%
Pool NameActive   Pending  Completed
Commandsn/a 0 459801
Responses   n/a 01061826
{code}

  was:
5689557% from node 10.8.25.132 ??

{code}
root@scl-cas06:~# nodetool netstats
Mode: NORMAL
Streaming to: /10.8.25.132
   /data2/cassandra/evidence/messages/evidence-messages-ia-2378-Data.db 
sections=1504 progress=10877426741/11376970910 - 95%
   /data/cassandra/evidence/messages/evidence-messages-ia-2396-Data.db 
sections=1326 progress=0/747963031 - 0%
   /data/cassandra/evidence/messages/evidence-messages-ia-2412-Data.db 
sections=342 progress=0/29791995 - 0%
   /data/cassandra/evidence/messages/evidence-messages-ia-2413-Data.db 
sections=307 progress=0/42375841 - 0%
   /data/cassandra/evidence/messages/evidence-messages-ia-2375-Data.db 
sections=702 progress=0/5138101708 - 0%
   /data/cassandra/evidence/messages/evidence-messages-ia-2416-Data.db 
sections=220 progress=0/21729661 - 0%
   /data2/cassandra/evidence/messages/evidence-messages-ia-2382-Data.db 
sections=1498 progress=0/7731727694 - 0%
   /data2/cassandra/evidence/messages/evidence-messages-ia-2388-Data.db 
sections=698 progress=0/2097813910 - 0%
   /data2/cassandra/evidence/messages/evidence-messages-ia-2401-Data.db 
sections=889 progress=0/154218729 - 0%
   /data/cassandra/evidence/messages/evidence-messages-ia-2411-Data.db 
sections=290 progress=0/45457960 - 0%
   /data2/cassandra/evidence/messages/evidence-messages-ia-2414-Data.db 
sections=22 progress=0/1809989 - 0%
   /data/cassandra/evidence/messages/evidence-messages-ia-2407-Data.db 
sections=423 progress=0/55302683 - 0%
   /data/cassandra/evidence/messages/evidence-messages-ia-2409-Data.db 
sections=73 progress=0/6366250 - 0%
   /data2/cassandra/evidence/messages/evidence-messages-ia-2377-Data.db 
sections=1298 progress=0/815617310 - 0%
   /data/cassandra/evidence/messages/evidence-messages-ia-2389-Data.db 
sections=167 progress=0/7307457 - 0%
   /data/cassandra/evidence/messages/evidence-messages-ia-2415-Data.db 
sections=126 progress=0/9260301 - 0%
 Nothing streaming to /10.8.30.16
Streaming from: /10.8.25.132
   evidence: 
/data2/cassandra/evidence/messages/evidence-messages-ia-1091-Data.db