[jira] [Commented] (CASSANDRA-2709) sstableloader throws an exception when RF1

2011-05-26 Thread Stu Hood (JIRA)

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

Stu Hood commented on CASSANDRA-2709:
-

Doh. That error message should read: blah blah blah CASSANDRA-2641.

 sstableloader throws an exception when RF1
 ---

 Key: CASSANDRA-2709
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2709
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Brandon Williams
Priority: Minor
 Fix For: 0.8.1


 {noformat}
 Exception in thread main java.lang.AssertionError: Overlapping ranges 
 passed to normalize: see CASSANDRA-2461: 
 (113427455640312821154458202477256070484,170141183460469231731687303715884105726]
  and 
 [(56713727820156410577229101238628035242,113427455640312821154458202477256070484]]
 at 
 org.apache.cassandra.dht.AbstractBounds.normalize(AbstractBounds.java:104)
 at 
 org.apache.cassandra.io.sstable.SSTableReader.getPositionsForRanges(SSTableReader.java:497)
 at 
 org.apache.cassandra.streaming.StreamOut.createPendingFiles(StreamOut.java:168)
 at 
 org.apache.cassandra.streaming.StreamOut.transferSSTables(StreamOut.java:148)
 at 
 org.apache.cassandra.io.sstable.SSTableLoader.stream(SSTableLoader.java:128)
 at org.apache.cassandra.tools.BulkLoader.main(BulkLoader.java:61)
 {noformat}
 However, it does appear to keep streaming files.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-2709) sstableloader throws an exception when RF1

2011-05-26 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-2709:
-

Yeah, I already fixed that part in the 0.8 branch.

 sstableloader throws an exception when RF1
 ---

 Key: CASSANDRA-2709
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2709
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Brandon Williams
Priority: Minor
 Fix For: 0.8.1


 {noformat}
 Exception in thread main java.lang.AssertionError: Overlapping ranges 
 passed to normalize: see CASSANDRA-2461: 
 (113427455640312821154458202477256070484,170141183460469231731687303715884105726]
  and 
 [(56713727820156410577229101238628035242,113427455640312821154458202477256070484]]
 at 
 org.apache.cassandra.dht.AbstractBounds.normalize(AbstractBounds.java:104)
 at 
 org.apache.cassandra.io.sstable.SSTableReader.getPositionsForRanges(SSTableReader.java:497)
 at 
 org.apache.cassandra.streaming.StreamOut.createPendingFiles(StreamOut.java:168)
 at 
 org.apache.cassandra.streaming.StreamOut.transferSSTables(StreamOut.java:148)
 at 
 org.apache.cassandra.io.sstable.SSTableLoader.stream(SSTableLoader.java:128)
 at org.apache.cassandra.tools.BulkLoader.main(BulkLoader.java:61)
 {noformat}
 However, it does appear to keep streaming files.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2626) stack overflow while compacting

2011-05-26 Thread Shotaro Kamio (JIRA)

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

Shotaro Kamio updated CASSANDRA-2626:
-

Attachment: CASSANDRA-2626.patch

This patch prevents stack overflow. Apache commons UnmodifiableSet is used 
instead of java.util.Collections.UnmodifiableSet because the latter is not 
accessible due to package private.


 stack overflow while compacting
 ---

 Key: CASSANDRA-2626
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2626
 Project: Cassandra
  Issue Type: Bug
  Components: Documentation  website
Affects Versions: 0.8 beta 1
Reporter: Terje Marthinussen
Assignee: Shotaro Kamio
 Fix For: 0.8.0

 Attachments: 2626.txt, CASSANDRA-2626.patch


 This is a trunk build from May 3.
 After adding  CASSANDRA-2401, I have gotten the following on several nodes.
 I am not 100% sure right now if it is related to 2401 but it may seem likely.
 Unfortunately, as often is the case with stack overflows, I don't see the 
 start of the stack
 ERROR [CompactionExecutor:17] 2011-05-09 07:56:32,479 
 AbstractCassandraDaemon.java (line 112) Fatal exception in thread 
 Thread[CompactionExecutor:17,1,main]
 java.lang.StackOverflowError
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-2221) 'show create' commands on the CLI to export schema

2011-05-26 Thread David Boxenhorn (JIRA)

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

David Boxenhorn commented on CASSANDRA-2221:


This looks a lot like the use case that I was trying to solve with 
CASSANDRA-2636 (I didn't know about this ticket), except for one thing: I want 
to either create a new cluster or update an old one (i.e. propagate *changes* 
from dev). I could manually substitute update for create, but I would 
prefer a solution that doesn't require human intervention. How about, 
recreate, which will create the CF if it doesn't exist, otherwise update it? 

 'show create' commands on the CLI to export schema
 --

 Key: CASSANDRA-2221
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2221
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Jeremy Hanna
Assignee: Aaron Morton
Priority: Minor
  Labels: cli
 Fix For: 0.8.1

 Attachments: 0001-add-show-schema-statement-8.patch, 
 0001-add-show-schema-statement.patch


 It would be nice to have 'show create' type of commands on the command-line 
 so that it would generate the DDL for the schema.
 A scenario that would make this useful is where a team works out a data model 
 over time with a dev cluster.  They want to use parts of that schema for new 
 clusters that they create, like a staging/prod cluster.  It would be very 
 handy in this scenario to have some sort of export mechanism.
 Another use case is for testing purposes - you want to replicate a problem.
 We currently have schematool for import/export but that is deprecated and it 
 exports into yaml.
 This new feature would just be able to 'show' - or export if they want the 
 entire keyspace - into a script or commands that could be used in a cli 
 script.  It would need to be able to regenerate everything about the keyspace 
 including indexes and metadata.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2704) provide a typed key value for returned rows via JDBC

2011-05-26 Thread Aaron Morton (JIRA)

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

Aaron Morton updated CASSANDRA-2704:


Attachment: 0001-2704.patch

I'd already written the code last night before creating the ticket,and getting 
distracted by an unhappy toddler. So I may as well add it. 

The CassandraResultSet already provides the key as a byte[], this patch makes 
it available as a typed value like the columns. Handy for times when the key 
cannot projected into the result set. 

 provide a typed key value for returned rows via JDBC
 

 Key: CASSANDRA-2704
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2704
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.8.0 beta 2
Reporter: Aaron Morton
Priority: Minor
 Attachments: 0001-2704.patch


 o.a.c.c.jdbc.CassandraResultSet provides access to column values as Cassandra 
 type aware via the TypedColumn. But it only provides a byte[] for the key. It 
 would be handy to have a TypedKey class that does the same but for the key.
 This would be handy when doing a multi SELECT as the server only returns rows 
 we have columns for.   

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-2710) Get multiple column ranges

2011-05-26 Thread David Boxenhorn (JIRA)
Get multiple column ranges
--

 Key: CASSANDRA-2710
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2710
 Project: Cassandra
  Issue Type: Improvement
Reporter: David Boxenhorn


I have replaced all my super column families with regular column families using 
composite columns. I have easily been able to support all previous 
functionality (I don't need range delete) except for one thing: getting 
multiple super columns with a single access. For this, I would need to get 
multiple ranges. (I can get multiple columns, or a single range, but not 
multiple ranges.) 

For example, I used to have

[superColumnName1,subColumnName1..N],[superColumnName2,subColumnName1..N]

and I could get superColumnName1, superColumnName2

Now I have

[lensuperColumnName10lensubColumnName1..lensuperColumnName10lensubColumnNameN],[lensuperColumnName20lensubColumnName1..lensuperColumnName20lensubColumnNameN]

and I need to get superColumnName1..superColumnName1+, 
superColumnName2..superColumnName2+

to get the same functionality

I would like the clients to support this functionality, e.g. Hector to have 
.setRages parallel to .setColumnNames 

and for CQL to support a syntax like 

SELECT [FIRST N] [REVERSED] name1..nameN1, name2..nameN2... FROM ...



--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-2626) stack overflow while compacting

2011-05-26 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2626:
---

Oh no! Auto-import for the lose :(

 stack overflow while compacting
 ---

 Key: CASSANDRA-2626
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2626
 Project: Cassandra
  Issue Type: Bug
  Components: Documentation  website
Affects Versions: 0.8 beta 1
Reporter: Terje Marthinussen
Assignee: Shotaro Kamio
 Fix For: 0.8.0

 Attachments: 2626.txt, CASSANDRA-2626.patch


 This is a trunk build from May 3.
 After adding  CASSANDRA-2401, I have gotten the following on several nodes.
 I am not 100% sure right now if it is related to 2401 but it may seem likely.
 Unfortunately, as often is the case with stack overflows, I don't see the 
 start of the stack
 ERROR [CompactionExecutor:17] 2011-05-09 07:56:32,479 
 AbstractCassandraDaemon.java (line 112) Fatal exception in thread 
 Thread[CompactionExecutor:17,1,main]
 java.lang.StackOverflowError
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2626) stack overflow while compacting

2011-05-26 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-2626:
--

Attachment: 2626-v3.txt

v3 takes a slightly different approach -- instead of accepting any Set in the 
constructor and decorating it w/ Unmodifiable, v3 restricts constructor to 
private access and makes the factory methods responsible for ensuring the set 
is unmodifiable, by using ImmutableSet as mentioned above.

 stack overflow while compacting
 ---

 Key: CASSANDRA-2626
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2626
 Project: Cassandra
  Issue Type: Bug
  Components: Documentation  website
Affects Versions: 0.8 beta 1
Reporter: Terje Marthinussen
Assignee: Shotaro Kamio
 Fix For: 0.8.0

 Attachments: 2626-v3.txt, 2626.txt, CASSANDRA-2626.patch


 This is a trunk build from May 3.
 After adding  CASSANDRA-2401, I have gotten the following on several nodes.
 I am not 100% sure right now if it is related to 2401 but it may seem likely.
 Unfortunately, as often is the case with stack overflows, I don't see the 
 start of the stack
 ERROR [CompactionExecutor:17] 2011-05-09 07:56:32,479 
 AbstractCassandraDaemon.java (line 112) Fatal exception in thread 
 Thread[CompactionExecutor:17,1,main]
 java.lang.StackOverflowError
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-2221) 'show create' commands on the CLI to export schema

2011-05-26 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2221:
---

Schema diffing is out of scope here.

 'show create' commands on the CLI to export schema
 --

 Key: CASSANDRA-2221
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2221
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Jeremy Hanna
Assignee: Aaron Morton
Priority: Minor
  Labels: cli
 Fix For: 0.8.1

 Attachments: 0001-add-show-schema-statement-8.patch, 
 0001-add-show-schema-statement.patch


 It would be nice to have 'show create' type of commands on the command-line 
 so that it would generate the DDL for the schema.
 A scenario that would make this useful is where a team works out a data model 
 over time with a dev cluster.  They want to use parts of that schema for new 
 clusters that they create, like a staging/prod cluster.  It would be very 
 handy in this scenario to have some sort of export mechanism.
 Another use case is for testing purposes - you want to replicate a problem.
 We currently have schematool for import/export but that is deprecated and it 
 exports into yaml.
 This new feature would just be able to 'show' - or export if they want the 
 entire keyspace - into a script or commands that could be used in a cli 
 script.  It would need to be able to regenerate everything about the keyspace 
 including indexes and metadata.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-2711) Old node that is no longer part of ring still appears via gossip in logs

2011-05-26 Thread Erik Bartels (JIRA)
Old node that is no longer part of ring still appears via gossip in logs


 Key: CASSANDRA-2711
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2711
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.6.7
Reporter: Erik Bartels
Priority: Minor


A node that no longer shows up in nodetool -h localhost ring and is no longer 
accessible on the network still appears via gossip in the logs.


2011-05-26_06:03:59.95168 '' INFO [Timer-0] 06:04:47,230 Gossiper.java:406 
FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
2011-05-26_06:04:57.58040 '' INFO [GMFD:1] 06:05:17,692 Gossiper.java:591 Node 
/10.12.22.112 is now part of the cluster
2011-05-26_07:04:59.88488 '' INFO [Timer-0] 07:05:18,187 Gossiper.java:406 
FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
2011-05-26_07:05:18.18762 '' INFO [GMFD:1] 07:05:49,431 Gossiper.java:591 Node 
/10.12.22.112 is now part of the cluster
2011-05-26_08:05:27.91892 '' INFO [Timer-0] 08:05:50,010 Gossiper.java:406 
FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
2011-05-26_08:05:59.99158 '' INFO [GMFD:1] 08:06:20,161 Gossiper.java:591 Node 
/10.12.22.112 is now part of the cluster
2011-05-26_09:06:02.76256 '' INFO [Timer-0] 09:06:20,863 Gossiper.java:406 
FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
2011-05-26_09:06:20.86600 '' INFO [GMFD:1] 09:06:52,784 Gossiper.java:591 Node 
/10.12.22.112 is now part of the cluster
2011-05-26_10:05:19.26673 '' INFO [Timer-0] 10:06:52,972 Gossiper.java:406 
FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
2011-05-26_10:07:02.86638 '' INFO [GMFD:1] 10:07:23,108 Gossiper.java:591 Node 
/10.12.22.112 is now part of the cluster
2011-05-26_11:06:32.15460 '' INFO [Timer-0] 11:07:23,188 Gossiper.java:406 
FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
2011-05-26_11:07:23.18851 '' INFO [GMFD:1] 11:07:54,283 Gossiper.java:591 Node 
/10.12.22.112 is now part of the cluster
2011-05-26_12:07:30.27539 '' INFO [Timer-0] 12:07:54,946 Gossiper.java:406 
FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
2011-05-26_12:07:54.94630 '' INFO [GMFD:1] 12:08:25,108 Gossiper.java:591 Node 
/10.12.22.112 is now part of the cluster
2011-05-26_13:08:05.38616 '' INFO [Timer-0] 13:08:25,861 Gossiper.java:406 
FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
2011-05-26_13:08:25.86333 '' INFO [GMFD:1] 13:08:59,097 Gossiper.java:591 Node 
/10.12.22.112 is now part of the cluster
2011-05-26_14:08:42.40855 '' INFO [Timer-0] 14:08:59,779 Gossiper.java:406 
FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
2011-05-26_14:08:59.77963 '' INFO [GMFD:1] 14:09:30,266 Gossiper.java:591 Node 
/10.12.22.112 is now part of the cluster



--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-2712) Old node that is no longer part of ring still appears via gossip in logs

2011-05-26 Thread Erik Bartels (JIRA)
Old node that is no longer part of ring still appears via gossip in logs


 Key: CASSANDRA-2712
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2712
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.6.7
Reporter: Erik Bartels
Priority: Minor


A node that no longer shows up in nodetool -h localhost ring and is no longer 
accessible on the network still appears via gossip in the logs.


2011-05-26_06:03:59.95168 '' INFO [Timer-0] 06:04:47,230 Gossiper.java:406 
FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
2011-05-26_06:04:57.58040 '' INFO [GMFD:1] 06:05:17,692 Gossiper.java:591 Node 
/10.12.22.112 is now part of the cluster
2011-05-26_07:04:59.88488 '' INFO [Timer-0] 07:05:18,187 Gossiper.java:406 
FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
2011-05-26_07:05:18.18762 '' INFO [GMFD:1] 07:05:49,431 Gossiper.java:591 Node 
/10.12.22.112 is now part of the cluster
2011-05-26_08:05:27.91892 '' INFO [Timer-0] 08:05:50,010 Gossiper.java:406 
FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
2011-05-26_08:05:59.99158 '' INFO [GMFD:1] 08:06:20,161 Gossiper.java:591 Node 
/10.12.22.112 is now part of the cluster
2011-05-26_09:06:02.76256 '' INFO [Timer-0] 09:06:20,863 Gossiper.java:406 
FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
2011-05-26_09:06:20.86600 '' INFO [GMFD:1] 09:06:52,784 Gossiper.java:591 Node 
/10.12.22.112 is now part of the cluster
2011-05-26_10:05:19.26673 '' INFO [Timer-0] 10:06:52,972 Gossiper.java:406 
FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
2011-05-26_10:07:02.86638 '' INFO [GMFD:1] 10:07:23,108 Gossiper.java:591 Node 
/10.12.22.112 is now part of the cluster
2011-05-26_11:06:32.15460 '' INFO [Timer-0] 11:07:23,188 Gossiper.java:406 
FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
2011-05-26_11:07:23.18851 '' INFO [GMFD:1] 11:07:54,283 Gossiper.java:591 Node 
/10.12.22.112 is now part of the cluster
2011-05-26_12:07:30.27539 '' INFO [Timer-0] 12:07:54,946 Gossiper.java:406 
FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
2011-05-26_12:07:54.94630 '' INFO [GMFD:1] 12:08:25,108 Gossiper.java:591 Node 
/10.12.22.112 is now part of the cluster
2011-05-26_13:08:05.38616 '' INFO [Timer-0] 13:08:25,861 Gossiper.java:406 
FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
2011-05-26_13:08:25.86333 '' INFO [GMFD:1] 13:08:59,097 Gossiper.java:591 Node 
/10.12.22.112 is now part of the cluster
2011-05-26_14:08:42.40855 '' INFO [Timer-0] 14:08:59,779 Gossiper.java:406 
FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
2011-05-26_14:08:59.77963 '' INFO [GMFD:1] 14:09:30,266 Gossiper.java:591 Node 
/10.12.22.112 is now part of the cluster



--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Resolved] (CASSANDRA-2711) Old node that is no longer part of ring still appears via gossip in logs

2011-05-26 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-2711.
---

Resolution: Cannot Reproduce

0.6.7 is ancient.  please upgrade and re-test.

 Old node that is no longer part of ring still appears via gossip in logs
 

 Key: CASSANDRA-2711
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2711
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.6.7
Reporter: Erik Bartels
Priority: Minor

 A node that no longer shows up in nodetool -h localhost ring and is no longer 
 accessible on the network still appears via gossip in the logs.
 2011-05-26_06:03:59.95168 '' INFO [Timer-0] 06:04:47,230 Gossiper.java:406 
 FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
 2011-05-26_06:04:57.58040 '' INFO [GMFD:1] 06:05:17,692 Gossiper.java:591 
 Node /10.12.22.112 is now part of the cluster
 2011-05-26_07:04:59.88488 '' INFO [Timer-0] 07:05:18,187 Gossiper.java:406 
 FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
 2011-05-26_07:05:18.18762 '' INFO [GMFD:1] 07:05:49,431 Gossiper.java:591 
 Node /10.12.22.112 is now part of the cluster
 2011-05-26_08:05:27.91892 '' INFO [Timer-0] 08:05:50,010 Gossiper.java:406 
 FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
 2011-05-26_08:05:59.99158 '' INFO [GMFD:1] 08:06:20,161 Gossiper.java:591 
 Node /10.12.22.112 is now part of the cluster
 2011-05-26_09:06:02.76256 '' INFO [Timer-0] 09:06:20,863 Gossiper.java:406 
 FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
 2011-05-26_09:06:20.86600 '' INFO [GMFD:1] 09:06:52,784 Gossiper.java:591 
 Node /10.12.22.112 is now part of the cluster
 2011-05-26_10:05:19.26673 '' INFO [Timer-0] 10:06:52,972 Gossiper.java:406 
 FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
 2011-05-26_10:07:02.86638 '' INFO [GMFD:1] 10:07:23,108 Gossiper.java:591 
 Node /10.12.22.112 is now part of the cluster
 2011-05-26_11:06:32.15460 '' INFO [Timer-0] 11:07:23,188 Gossiper.java:406 
 FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
 2011-05-26_11:07:23.18851 '' INFO [GMFD:1] 11:07:54,283 Gossiper.java:591 
 Node /10.12.22.112 is now part of the cluster
 2011-05-26_12:07:30.27539 '' INFO [Timer-0] 12:07:54,946 Gossiper.java:406 
 FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
 2011-05-26_12:07:54.94630 '' INFO [GMFD:1] 12:08:25,108 Gossiper.java:591 
 Node /10.12.22.112 is now part of the cluster
 2011-05-26_13:08:05.38616 '' INFO [Timer-0] 13:08:25,861 Gossiper.java:406 
 FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
 2011-05-26_13:08:25.86333 '' INFO [GMFD:1] 13:08:59,097 Gossiper.java:591 
 Node /10.12.22.112 is now part of the cluster
 2011-05-26_14:08:42.40855 '' INFO [Timer-0] 14:08:59,779 Gossiper.java:406 
 FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
 2011-05-26_14:08:59.77963 '' INFO [GMFD:1] 14:09:30,266 Gossiper.java:591 
 Node /10.12.22.112 is now part of the cluster

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-2221) 'show create' commands on the CLI to export schema

2011-05-26 Thread David Boxenhorn (JIRA)

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

David Boxenhorn commented on CASSANDRA-2221:


Why schema diffing? I want to get all the attributes of all the CFs, so I an 
port them to another cluster. 

 'show create' commands on the CLI to export schema
 --

 Key: CASSANDRA-2221
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2221
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Jeremy Hanna
Assignee: Aaron Morton
Priority: Minor
  Labels: cli
 Fix For: 0.8.1

 Attachments: 0001-add-show-schema-statement-8.patch, 
 0001-add-show-schema-statement.patch


 It would be nice to have 'show create' type of commands on the command-line 
 so that it would generate the DDL for the schema.
 A scenario that would make this useful is where a team works out a data model 
 over time with a dev cluster.  They want to use parts of that schema for new 
 clusters that they create, like a staging/prod cluster.  It would be very 
 handy in this scenario to have some sort of export mechanism.
 Another use case is for testing purposes - you want to replicate a problem.
 We currently have schematool for import/export but that is deprecated and it 
 exports into yaml.
 This new feature would just be able to 'show' - or export if they want the 
 entire keyspace - into a script or commands that could be used in a cli 
 script.  It would need to be able to regenerate everything about the keyspace 
 including indexes and metadata.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-2221) 'show create' commands on the CLI to export schema

2011-05-26 Thread David Boxenhorn (JIRA)

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

David Boxenhorn commented on CASSANDRA-2221:


That's a very minimal amount of diffing, whether the CF exists or not! 

 'show create' commands on the CLI to export schema
 --

 Key: CASSANDRA-2221
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2221
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Jeremy Hanna
Assignee: Aaron Morton
Priority: Minor
  Labels: cli
 Fix For: 0.8.1

 Attachments: 0001-add-show-schema-statement-8.patch, 
 0001-add-show-schema-statement.patch


 It would be nice to have 'show create' type of commands on the command-line 
 so that it would generate the DDL for the schema.
 A scenario that would make this useful is where a team works out a data model 
 over time with a dev cluster.  They want to use parts of that schema for new 
 clusters that they create, like a staging/prod cluster.  It would be very 
 handy in this scenario to have some sort of export mechanism.
 Another use case is for testing purposes - you want to replicate a problem.
 We currently have schematool for import/export but that is deprecated and it 
 exports into yaml.
 This new feature would just be able to 'show' - or export if they want the 
 entire keyspace - into a script or commands that could be used in a cli 
 script.  It would need to be able to regenerate everything about the keyspace 
 including indexes and metadata.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-2221) 'show create' commands on the CLI to export schema

2011-05-26 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2221:
---

True.

Still, adding new CLI commands is out of scope here.

 'show create' commands on the CLI to export schema
 --

 Key: CASSANDRA-2221
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2221
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Jeremy Hanna
Assignee: Aaron Morton
Priority: Minor
  Labels: cli
 Fix For: 0.8.1

 Attachments: 0001-add-show-schema-statement-8.patch, 
 0001-add-show-schema-statement.patch


 It would be nice to have 'show create' type of commands on the command-line 
 so that it would generate the DDL for the schema.
 A scenario that would make this useful is where a team works out a data model 
 over time with a dev cluster.  They want to use parts of that schema for new 
 clusters that they create, like a staging/prod cluster.  It would be very 
 handy in this scenario to have some sort of export mechanism.
 Another use case is for testing purposes - you want to replicate a problem.
 We currently have schematool for import/export but that is deprecated and it 
 exports into yaml.
 This new feature would just be able to 'show' - or export if they want the 
 entire keyspace - into a script or commands that could be used in a cli 
 script.  It would need to be able to regenerate everything about the keyspace 
 including indexes and metadata.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Assigned] (CASSANDRA-1405) Switch to THsHaServer, redux

2011-05-26 Thread Vijay (JIRA)

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

Vijay reassigned CASSANDRA-1405:


Assignee: Vijay

 Switch to THsHaServer, redux
 

 Key: CASSANDRA-1405
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1405
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Jonathan Ellis
Assignee: Vijay
Priority: Minor
 Fix For: 1.0

 Attachments: libthrift-r1026391.jar, trunk-1405.patch


 Brian's patch to CASSANDRA-876  suggested using a custom TProcessorFactory 
 subclass, overriding getProcessor to reset to a default state when a new 
 client connects. It looks like this would allow dropping 
 CustomTThreadPoolServer as well as allowing non-thread based servers. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-1405) Switch to THsHaServer, redux

2011-05-26 Thread Vijay (JIRA)

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

Vijay updated CASSANDRA-1405:
-

Attachment: 1405-Thrift-Patch-SVN.patch

Attached is the PAtch which will allow user to choose CTTPS or CTHSHA or 
CTNBS... Did some multi threaded tests and the performance looks good.

 Switch to THsHaServer, redux
 

 Key: CASSANDRA-1405
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1405
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Jonathan Ellis
Assignee: Vijay
Priority: Minor
 Fix For: 1.0

 Attachments: 1405-Thrift-Patch-SVN.patch, libthrift-r1026391.jar, 
 trunk-1405.patch


 Brian's patch to CASSANDRA-876  suggested using a custom TProcessorFactory 
 subclass, overriding getProcessor to reset to a default state when a new 
 client connects. It looks like this would allow dropping 
 CustomTThreadPoolServer as well as allowing non-thread based servers. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-2704) provide a typed key value for returned rows via JDBC

2011-05-26 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2704:
---

Definitely not excited about a special case key class.  Why can't it be 
represented as a TypedColumn?

 provide a typed key value for returned rows via JDBC
 

 Key: CASSANDRA-2704
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2704
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.8.0 beta 2
Reporter: Aaron Morton
Priority: Minor
 Attachments: 0001-2704.patch


 o.a.c.c.jdbc.CassandraResultSet provides access to column values as Cassandra 
 type aware via the TypedColumn. But it only provides a byte[] for the key. It 
 would be handy to have a TypedKey class that does the same but for the key.
 This would be handy when doing a multi SELECT as the server only returns rows 
 we have columns for.   

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-2704) provide a typed key value for returned rows via JDBC

2011-05-26 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2704:
---

bq. You may want to get all the metrics since the start of the month for 3 
entities to compare them. 

IMO this kind of pseudo-analytics should be 3 calls.  (Under the hood of course 
it's the same amount of work either way.)

 provide a typed key value for returned rows via JDBC
 

 Key: CASSANDRA-2704
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2704
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.8.0 beta 2
Reporter: Aaron Morton
Priority: Minor
 Attachments: 0001-2704.patch


 o.a.c.c.jdbc.CassandraResultSet provides access to column values as Cassandra 
 type aware via the TypedColumn. But it only provides a byte[] for the key. It 
 would be handy to have a TypedKey class that does the same but for the key.
 This would be handy when doing a multi SELECT as the server only returns rows 
 we have columns for.   

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-2626) stack overflow while compacting

2011-05-26 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-2626:
-

+1, I like this approach better too.

 stack overflow while compacting
 ---

 Key: CASSANDRA-2626
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2626
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8 beta 1
Reporter: Terje Marthinussen
Assignee: Shotaro Kamio
 Fix For: 0.8.0

 Attachments: 2626-v3.txt, 2626.txt, CASSANDRA-2626.patch


 This is a trunk build from May 3.
 After adding  CASSANDRA-2401, I have gotten the following on several nodes.
 I am not 100% sure right now if it is related to 2401 but it may seem likely.
 Unfortunately, as often is the case with stack overflows, I don't see the 
 start of the stack
 ERROR [CompactionExecutor:17] 2011-05-09 07:56:32,479 
 AbstractCassandraDaemon.java (line 112) Fatal exception in thread 
 Thread[CompactionExecutor:17,1,main]
 java.lang.StackOverflowError
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


svn commit: r1128020 - /cassandra/branches/cassandra-0.8.0/src/java/org/apache/cassandra/db/DataTracker.java

2011-05-26 Thread jbellis
Author: jbellis
Date: Thu May 26 18:26:55 2011
New Revision: 1128020

URL: http://svn.apache.org/viewvc?rev=1128020view=rev
Log:
fix potential stack overflow during compaction (take 2)
patch by jbellis; reviewed by brandonwilliams for CASSANDRA-2626

Modified:

cassandra/branches/cassandra-0.8.0/src/java/org/apache/cassandra/db/DataTracker.java

Modified: 
cassandra/branches/cassandra-0.8.0/src/java/org/apache/cassandra/db/DataTracker.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.0/src/java/org/apache/cassandra/db/DataTracker.java?rev=1128020r1=1128019r2=1128020view=diff
==
--- 
cassandra/branches/cassandra-0.8.0/src/java/org/apache/cassandra/db/DataTracker.java
 (original)
+++ 
cassandra/branches/cassandra-0.8.0/src/java/org/apache/cassandra/db/DataTracker.java
 Thu May 26 18:26:55 2011
@@ -22,20 +22,17 @@ package org.apache.cassandra.db;
 import java.io.File;
 import java.io.IOError;
 import java.io.IOException;
-import java.nio.ByteBuffer;
 import java.util.*;
-import java.util.concurrent.ExecutionException;
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.concurrent.atomic.AtomicReference;
 
-import com.google.common.collect.Iterables;
-import org.apache.commons.collections.set.UnmodifiableSet;
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Sets;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.cassandra.cache.AutoSavingCache;
 import org.apache.cassandra.config.DatabaseDescriptor;
-
 import org.apache.cassandra.io.sstable.Descriptor;
 import org.apache.cassandra.io.sstable.SSTableReader;
 import org.apache.cassandra.utils.Pair;
@@ -451,18 +448,17 @@ public class DataTracker
 public final SetSSTableReader sstables;
 public final SetSSTableReader compacting;
 
-public View(Memtable memtable, SetMemtable pendingFlush, 
SetSSTableReader sstables, SetSSTableReader compacting)
+View(Memtable memtable, SetMemtable pendingFlush, SetSSTableReader 
sstables, SetSSTableReader compacting)
 {
 this.memtable = memtable;
-this.memtablesPendingFlush = pendingFlush instanceof 
UnmodifiableSet ? pendingFlush : Collections.unmodifiableSet(pendingFlush);
-this.sstables = sstables instanceof UnmodifiableSet ? sstables : 
Collections.unmodifiableSet(sstables);
-this.compacting = compacting instanceof UnmodifiableSet ? 
compacting : Collections.unmodifiableSet(compacting);
+this.memtablesPendingFlush = pendingFlush;
+this.sstables = sstables;
+this.compacting = compacting;
 }
 
 public View switchMemtable(Memtable newMemtable)
 {
-SetMemtable newPending = new 
HashSetMemtable(memtablesPendingFlush);
-newPending.add(memtable);
+SetMemtable newPending = 
ImmutableSet.Memtablebuilder().addAll(memtablesPendingFlush).add(newMemtable).build();
 return new View(newMemtable, newPending, sstables, compacting);
 }
 
@@ -473,32 +469,27 @@ public class DataTracker
 
 public View replaceFlushed(Memtable flushedMemtable, SSTableReader 
newSSTable)
 {
-SetMemtable newPendings = new 
HashSetMemtable(memtablesPendingFlush);
-SetSSTableReader newSSTables = new 
HashSetSSTableReader(sstables);
-newPendings.remove(flushedMemtable);
-newSSTables.add(newSSTable);
-return new View(memtable, newPendings, newSSTables, compacting);
+SetMemtable newPending = 
ImmutableSet.copyOf(Sets.difference(memtablesPendingFlush, 
Collections.singleton(flushedMemtable)));
+SetSSTableReader newSSTables = 
ImmutableSet.SSTableReaderbuilder().addAll(sstables).add(newSSTable).build();
+return new View(memtable, newPending, newSSTables, compacting);
 }
 
 public View replace(CollectionSSTableReader oldSSTables, 
IterableSSTableReader replacements)
 {
-SetSSTableReader sstablesNew = new 
HashSetSSTableReader(sstables);
-Iterables.addAll(sstablesNew, replacements);
-sstablesNew.removeAll(oldSSTables);
-return new View(memtable, memtablesPendingFlush, sstablesNew, 
compacting);
+Sets.SetViewSSTableReader remaining = Sets.difference(sstables, 
ImmutableSet.copyOf(oldSSTables));
+SetSSTableReader newSSTables = 
ImmutableSet.SSTableReaderbuilder().addAll(remaining).addAll(replacements).build();
+return new View(memtable, memtablesPendingFlush, newSSTables, 
compacting);
 }
 
 public View markCompacting(CollectionSSTableReader tomark)
 {
-SetSSTableReader compactingNew = new 
HashSetSSTableReader(compacting);
-compactingNew.addAll(tomark);
+SetSSTableReader compactingNew = 

[jira] [Resolved] (CASSANDRA-2626) stack overflow while compacting

2011-05-26 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-2626.
---

Resolution: Fixed

committed v3

 stack overflow while compacting
 ---

 Key: CASSANDRA-2626
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2626
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8 beta 1
Reporter: Terje Marthinussen
Assignee: Shotaro Kamio
 Fix For: 0.8.0

 Attachments: 2626-v3.txt, 2626.txt, CASSANDRA-2626.patch


 This is a trunk build from May 3.
 After adding  CASSANDRA-2401, I have gotten the following on several nodes.
 I am not 100% sure right now if it is related to 2401 but it may seem likely.
 Unfortunately, as often is the case with stack overflows, I don't see the 
 start of the stack
 ERROR [CompactionExecutor:17] 2011-05-09 07:56:32,479 
 AbstractCassandraDaemon.java (line 112) Fatal exception in thread 
 Thread[CompactionExecutor:17,1,main]
 java.lang.StackOverflowError
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)
 at 
 java.util.Collections$UnmodifiableCollection.size(Collections.java:998)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-2711) Old node that is no longer part of ring still appears via gossip in logs

2011-05-26 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-2711:
-

Specifically, you hit CASSANDRA-1730.

 Old node that is no longer part of ring still appears via gossip in logs
 

 Key: CASSANDRA-2711
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2711
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.6.7
Reporter: Erik Bartels
Priority: Minor

 A node that no longer shows up in nodetool -h localhost ring and is no longer 
 accessible on the network still appears via gossip in the logs.
 2011-05-26_06:03:59.95168 '' INFO [Timer-0] 06:04:47,230 Gossiper.java:406 
 FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
 2011-05-26_06:04:57.58040 '' INFO [GMFD:1] 06:05:17,692 Gossiper.java:591 
 Node /10.12.22.112 is now part of the cluster
 2011-05-26_07:04:59.88488 '' INFO [Timer-0] 07:05:18,187 Gossiper.java:406 
 FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
 2011-05-26_07:05:18.18762 '' INFO [GMFD:1] 07:05:49,431 Gossiper.java:591 
 Node /10.12.22.112 is now part of the cluster
 2011-05-26_08:05:27.91892 '' INFO [Timer-0] 08:05:50,010 Gossiper.java:406 
 FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
 2011-05-26_08:05:59.99158 '' INFO [GMFD:1] 08:06:20,161 Gossiper.java:591 
 Node /10.12.22.112 is now part of the cluster
 2011-05-26_09:06:02.76256 '' INFO [Timer-0] 09:06:20,863 Gossiper.java:406 
 FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
 2011-05-26_09:06:20.86600 '' INFO [GMFD:1] 09:06:52,784 Gossiper.java:591 
 Node /10.12.22.112 is now part of the cluster
 2011-05-26_10:05:19.26673 '' INFO [Timer-0] 10:06:52,972 Gossiper.java:406 
 FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
 2011-05-26_10:07:02.86638 '' INFO [GMFD:1] 10:07:23,108 Gossiper.java:591 
 Node /10.12.22.112 is now part of the cluster
 2011-05-26_11:06:32.15460 '' INFO [Timer-0] 11:07:23,188 Gossiper.java:406 
 FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
 2011-05-26_11:07:23.18851 '' INFO [GMFD:1] 11:07:54,283 Gossiper.java:591 
 Node /10.12.22.112 is now part of the cluster
 2011-05-26_12:07:30.27539 '' INFO [Timer-0] 12:07:54,946 Gossiper.java:406 
 FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
 2011-05-26_12:07:54.94630 '' INFO [GMFD:1] 12:08:25,108 Gossiper.java:591 
 Node /10.12.22.112 is now part of the cluster
 2011-05-26_13:08:05.38616 '' INFO [Timer-0] 13:08:25,861 Gossiper.java:406 
 FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
 2011-05-26_13:08:25.86333 '' INFO [GMFD:1] 13:08:59,097 Gossiper.java:591 
 Node /10.12.22.112 is now part of the cluster
 2011-05-26_14:08:42.40855 '' INFO [Timer-0] 14:08:59,779 Gossiper.java:406 
 FatClient /10.12.22.112 has been silent for 360ms, removing from gossip
 2011-05-26_14:08:59.77963 '' INFO [GMFD:1] 14:09:30,266 Gossiper.java:591 
 Node /10.12.22.112 is now part of the cluster

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-2713) Null strategy_options on a KsDef leads to an NPE.

2011-05-26 Thread Jon Hermes (JIRA)
Null strategy_options on a KsDef leads to an NPE.
-

 Key: CASSANDRA-2713
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2713
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.8.0 beta 2
Reporter: Jon Hermes
Assignee: Jon Hermes
Priority: Minor
 Fix For: 0.8.0


For add/update keyspace, a KsDef with null strategy_options will cause an NPE.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2713) Null strategy_options on a KsDef leads to an NPE.

2011-05-26 Thread Jon Hermes (JIRA)

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

Jon Hermes updated CASSANDRA-2713:
--

Attachment: 2713-disallow.txt
2713-allow.txt

Attaching two patches.

`2713-allow` will allow nulls and default them to an empty set on KSMD creation.
`2713-disallow` will explicitly block nulls during ThriftValidation.

Both avoid NPEs and either are technically correct. Looks like we need to allow 
nulls because of upgrade issues coming from 0.7.

 Null strategy_options on a KsDef leads to an NPE.
 -

 Key: CASSANDRA-2713
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2713
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.8.0 beta 2
Reporter: Jon Hermes
Assignee: Jon Hermes
Priority: Minor
 Fix For: 0.8.0

 Attachments: 2713-allow.txt, 2713-disallow.txt


 For add/update keyspace, a KsDef with null strategy_options will cause an NPE.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


svn commit: r1128052 - in /cassandra/branches/cassandra-0.8.0: CHANGES.txt src/java/org/apache/cassandra/config/KSMetaData.java

2011-05-26 Thread jbellis
Author: jbellis
Date: Thu May 26 19:26:23 2011
New Revision: 1128052

URL: http://svn.apache.org/viewvc?rev=1128052view=rev
Log:
support null strategy_options for backwards compatibility
patch by Jon Hermes; reviewed by jbellis for CASSANDRA-2713

Modified:
cassandra/branches/cassandra-0.8.0/CHANGES.txt

cassandra/branches/cassandra-0.8.0/src/java/org/apache/cassandra/config/KSMetaData.java

Modified: cassandra/branches/cassandra-0.8.0/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.0/CHANGES.txt?rev=1128052r1=1128051r2=1128052view=diff
==
--- cassandra/branches/cassandra-0.8.0/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8.0/CHANGES.txt Thu May 26 19:26:23 2011
@@ -7,7 +7,7 @@
  * switch to native Thrift for Hadoop map/reduce (CASSANDRA-2667)
  * fix StackOverflowError when building from eclipse (CASSANDRA-2687)
  * only provide replication_factor to strategy_options help for
-   SimpleStrategy, OldNetworkTopologyStrategy (CASSANDRA-2678)
+   SimpleStrategy, OldNetworkTopologyStrategy (CASSANDRA-2678, 2713)
  * fix exception adding validators to non-string columns (CASSANDRA-2696)
  * avoid instantiating DatabaseDescriptor in JDBC (CASSANDRA-2694)
  * fix potential stack overflow during compaction (CASSANDRA-2626)

Modified: 
cassandra/branches/cassandra-0.8.0/src/java/org/apache/cassandra/config/KSMetaData.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.0/src/java/org/apache/cassandra/config/KSMetaData.java?rev=1128052r1=1128051r2=1128052view=diff
==
--- 
cassandra/branches/cassandra-0.8.0/src/java/org/apache/cassandra/config/KSMetaData.java
 (original)
+++ 
cassandra/branches/cassandra-0.8.0/src/java/org/apache/cassandra/config/KSMetaData.java
 Thu May 26 19:26:23 2011
@@ -51,7 +51,10 @@ public final class KSMetaData
 
 public static MapString, String forwardsCompatibleOptions(KsDef ks_def)
 {
-MapString, String options = new HashMapString, 
String(ks_def.strategy_options);
+MapString, String options;
+options = ks_def.strategy_options == null
+? new HashMapString, String()
+: new HashMapString, String(ks_def.strategy_options);
 maybeAddReplicationFactor(options, ks_def.strategy_class, 
ks_def.isSetReplication_factor() ? ks_def.replication_factor : null);
 return options;
 }




[jira] [Resolved] (CASSANDRA-2713) Null strategy_options on a KsDef leads to an NPE.

2011-05-26 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-2713.
---

Resolution: Fixed
  Reviewer: jbellis

committed the allow approach

 Null strategy_options on a KsDef leads to an NPE.
 -

 Key: CASSANDRA-2713
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2713
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.8.0 beta 2
Reporter: Jon Hermes
Assignee: Jon Hermes
Priority: Minor
 Fix For: 0.8.0

 Attachments: 2713-allow.txt, 2713-disallow.txt


 For add/update keyspace, a KsDef with null strategy_options will cause an NPE.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2709) sstableloader throws an exception when RF1

2011-05-26 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-2709:
--

Affects Version/s: 0.8.1
 Assignee: Sylvain Lebresne

 sstableloader throws an exception when RF1
 ---

 Key: CASSANDRA-2709
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2709
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8.1
Reporter: Brandon Williams
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 0.8.1


 {noformat}
 Exception in thread main java.lang.AssertionError: Overlapping ranges 
 passed to normalize: see CASSANDRA-2461: 
 (113427455640312821154458202477256070484,170141183460469231731687303715884105726]
  and 
 [(56713727820156410577229101238628035242,113427455640312821154458202477256070484]]
 at 
 org.apache.cassandra.dht.AbstractBounds.normalize(AbstractBounds.java:104)
 at 
 org.apache.cassandra.io.sstable.SSTableReader.getPositionsForRanges(SSTableReader.java:497)
 at 
 org.apache.cassandra.streaming.StreamOut.createPendingFiles(StreamOut.java:168)
 at 
 org.apache.cassandra.streaming.StreamOut.transferSSTables(StreamOut.java:148)
 at 
 org.apache.cassandra.io.sstable.SSTableLoader.stream(SSTableLoader.java:128)
 at org.apache.cassandra.tools.BulkLoader.main(BulkLoader.java:61)
 {noformat}
 However, it does appear to keep streaming files.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-2714) Throttle migration replay

2011-05-26 Thread Jonathan Ellis (JIRA)
Throttle migration replay
-

 Key: CASSANDRA-2714
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2714
 Project: Cassandra
  Issue Type: Improvement
Affects Versions: 0.7.0
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
Priority: Minor
 Fix For: 0.7.7


As reported on the mailing list,

{noformat}
- I have a lot of schema updates (there are 2067 rows in the system.Schema CF).
- The live node loads migrations 1-1000, and sends them to the recovering node 
(Migration.getLocalMigrations())
- Soon afterwards, the live node checks the schema version on the recovering 
node and finds it has moved by a little - say it has applied the first 3 
migrations. It then loads migrations 3-1003, and sends them to the node.
- This process is repeated very quickly (sends migrations 6-1006, 9-1009, etc).
{noformat}

The source of the problem is that MigrationManager.onChange will send out a 
full (up to 1000 migrations) replay, every time the target's schema version 
changes.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-2715) simplify schema reconciliation

2011-05-26 Thread Jonathan Ellis (JIRA)
simplify schema reconciliation
--

 Key: CASSANDRA-2715
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2715
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.7.0
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
Priority: Minor
 Fix For: 0.7.7, 0.8.1


Currently, schema migrations can be replayed from one node to another in any of 
three ways:

- a node processes a migration from a client, and pushes it to all live nodes 
(Migration.announce on the source)
- a node sees that another node's schema version is older than his 
(MigrationManager.onChange on the source)
- a node sees that his own schema version is older than another's and makes an 
explicit request (MigrationManager.onChange on the target, 
DefinitionsAnnounceVerbHandler on the source)

The last of these is an optimization that isn't worth the extra complexity -- 
under normal conditions, the initial announce from the coordinator updates 
everyone, and in recovery situations the latency gain of #3 over #2 is only a 
few seconds.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2714) Throttle migration replay

2011-05-26 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-2714:
--

Attachment: 2714-v2.txt

It wasn't.  v2 attached.

 Throttle migration replay
 -

 Key: CASSANDRA-2714
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2714
 Project: Cassandra
  Issue Type: Improvement
Affects Versions: 0.7.0
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
Priority: Minor
 Fix For: 0.7.7, 0.8.1

 Attachments: 2714-v2.txt, 2714.txt


 As reported on the mailing list,
 {noformat}
 - I have a lot of schema updates (there are 2067 rows in the system.Schema 
 CF).
 - The live node loads migrations 1-1000, and sends them to the recovering 
 node (Migration.getLocalMigrations())
 - Soon afterwards, the live node checks the schema version on the recovering 
 node and finds it has moved by a little - say it has applied the first 3 
 migrations. It then loads migrations 3-1003, and sends them to the node.
 - This process is repeated very quickly (sends migrations 6-1006, 9-1009, 
 etc).
 {noformat}
 The source of the problem is that MigrationManager.onChange will send out a 
 full (up to 1000 migrations) replay, every time the target's schema version 
 changes.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-2714) Throttle migration replay

2011-05-26 Thread Gary Dusbabek (JIRA)

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

Gary Dusbabek commented on CASSANDRA-2714:
--

+1

 Throttle migration replay
 -

 Key: CASSANDRA-2714
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2714
 Project: Cassandra
  Issue Type: Improvement
Affects Versions: 0.7.0
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
Priority: Minor
 Fix For: 0.7.7, 0.8.1

 Attachments: 2714-v2.txt, 2714.txt


 As reported on the mailing list,
 {noformat}
 - I have a lot of schema updates (there are 2067 rows in the system.Schema 
 CF).
 - The live node loads migrations 1-1000, and sends them to the recovering 
 node (Migration.getLocalMigrations())
 - Soon afterwards, the live node checks the schema version on the recovering 
 node and finds it has moved by a little - say it has applied the first 3 
 migrations. It then loads migrations 3-1003, and sends them to the node.
 - This process is repeated very quickly (sends migrations 6-1006, 9-1009, 
 etc).
 {noformat}
 The source of the problem is that MigrationManager.onChange will send out a 
 full (up to 1000 migrations) replay, every time the target's schema version 
 changes.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


svn commit: r1128074 - in /cassandra/branches/cassandra-0.7: CHANGES.txt src/java/org/apache/cassandra/db/migration/Migration.java src/java/org/apache/cassandra/service/MigrationManager.java

2011-05-26 Thread jbellis
Author: jbellis
Date: Thu May 26 20:47:16 2011
New Revision: 1128074

URL: http://svn.apache.org/viewvc?rev=1128074view=rev
Log:
throttle migration replay
patch by jbellis; reviewed by gdusbabek for CASSANDRA-2714

Modified:
cassandra/branches/cassandra-0.7/CHANGES.txt

cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/migration/Migration.java

cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/MigrationManager.java

Modified: cassandra/branches/cassandra-0.7/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/CHANGES.txt?rev=1128074r1=1128073r2=1128074view=diff
==
--- cassandra/branches/cassandra-0.7/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.7/CHANGES.txt Thu May 26 20:47:16 2011
@@ -10,6 +10,7 @@
  * remove no-op HHOM.renameHints (CASSANDRA-2693)
  * clone super columns to avoid modifying them during flush (CASSANDRA-2675)
  * close scrub file handles (CASSANDRA-2669)
+ * throttle migration replay (CASSANDRA-2714)
 
 
 0.7.6

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/migration/Migration.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/migration/Migration.java?rev=1128074r1=1128073r2=1128074view=diff
==
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/migration/Migration.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/migration/Migration.java
 Thu May 26 20:47:16 2011
@@ -298,7 +298,12 @@ public abstract class Migration
 DecoratedKey dkey = 
StorageService.getPartitioner().decorateKey(MIGRATIONS_KEY);
 Table defs = Table.open(Table.SYSTEM_TABLE);
 ColumnFamilyStore cfStore = 
defs.getColumnFamilyStore(Migration.MIGRATIONS_CF);
-QueryFilter filter = QueryFilter.getSliceFilter(dkey, new 
QueryPath(MIGRATIONS_CF), ByteBuffer.wrap(UUIDGen.decompose(start)), 
ByteBuffer.wrap(UUIDGen.decompose(end)), false, 1000);   
+QueryFilter filter = QueryFilter.getSliceFilter(dkey,
+new 
QueryPath(MIGRATIONS_CF),
+
ByteBuffer.wrap(UUIDGen.decompose(start)),
+
ByteBuffer.wrap(UUIDGen.decompose(end)),
+false,
+100);
 ColumnFamily cf = cfStore.getColumnFamily(filter);
 return cf.getSortedColumns();
 }

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/MigrationManager.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/MigrationManager.java?rev=1128074r1=1128073r2=1128074view=diff
==
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/MigrationManager.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/MigrationManager.java
 Thu May 26 20:47:16 2011
@@ -24,8 +24,10 @@ import java.nio.ByteBuffer;
 import java.util.*;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
 
-import org.apache.cassandra.utils.ByteBufferUtil;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.MapMaker;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -35,16 +37,21 @@ import org.apache.cassandra.config.Confi
 import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.db.Column;
 import org.apache.cassandra.db.IColumn;
+import org.apache.cassandra.db.marshal.TimeUUIDType;
 import org.apache.cassandra.db.migration.Migration;
 import org.apache.cassandra.gms.*;
 import org.apache.cassandra.net.Message;
 import org.apache.cassandra.net.MessagingService;
+import org.apache.cassandra.utils.ByteBufferUtil;
 import org.apache.cassandra.utils.FBUtilities;
 
 public class MigrationManager implements IEndpointStateChangeSubscriber
 {
 private static final Logger logger = 
LoggerFactory.getLogger(MigrationManager.class);
-
+
+// avoids re-pushing migrations that we're waiting on target to apply 
already
+private static MapInetAddress,UUID lastPushed = new 
MapMaker().expiration(1, TimeUnit.MINUTES).makeMap();
+
 /** I'm not going to act here. */
 public void onJoin(InetAddress endpoint, EndpointState epState) { }
 
@@ -87,8 +94,16 @@ public class MigrationManager implements
 }
 else if (!StorageService.instance.isClientMode())
 {
-logger.debug(Their data definitions are old. Sending updates 
since {}, 

[jira] [Commented] (CASSANDRA-2714) Throttle migration replay

2011-05-26 Thread Hudson (JIRA)

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

Hudson commented on CASSANDRA-2714:
---

Integrated in Cassandra-0.7 #498 (See 
[https://builds.apache.org/hudson/job/Cassandra-0.7/498/])
throttle migration replay
patch by jbellis; reviewed by gdusbabek for CASSANDRA-2714

jbellis : 
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVNview=revrev=1128074
Files : 
* /cassandra/branches/cassandra-0.7/CHANGES.txt
* 
/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/migration/Migration.java
* 
/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/MigrationManager.java


 Throttle migration replay
 -

 Key: CASSANDRA-2714
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2714
 Project: Cassandra
  Issue Type: Improvement
Affects Versions: 0.7.0
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
Priority: Minor
 Fix For: 0.7.7, 0.8.1

 Attachments: 2714-v2.txt, 2714.txt


 As reported on the mailing list,
 {noformat}
 - I have a lot of schema updates (there are 2067 rows in the system.Schema 
 CF).
 - The live node loads migrations 1-1000, and sends them to the recovering 
 node (Migration.getLocalMigrations())
 - Soon afterwards, the live node checks the schema version on the recovering 
 node and finds it has moved by a little - say it has applied the first 3 
 migrations. It then loads migrations 3-1003, and sends them to the node.
 - This process is repeated very quickly (sends migrations 6-1006, 9-1009, 
 etc).
 {noformat}
 The source of the problem is that MigrationManager.onChange will send out a 
 full (up to 1000 migrations) replay, every time the target's schema version 
 changes.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-2716) avoid allocating a new serializer per ColumnFamily (row)

2011-05-26 Thread Jonathan Ellis (JIRA)
avoid allocating a new serializer per ColumnFamily (row)


 Key: CASSANDRA-2716
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2716
 Project: Cassandra
  Issue Type: Improvement
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
Priority: Trivial
 Fix For: 0.7.7, 0.8.1
 Attachments: 2716.txt

Column.serializer and Supercolumn.serializer both allocate new objects with 
each call. The most frequent offender is the ColumnFamily constructor.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2716) avoid allocating a new serializer per ColumnFamily (row)

2011-05-26 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-2716:
--

Attachment: 2716.txt

(patch is against 0.8, may require slight tweaks for 0.7)

 avoid allocating a new serializer per ColumnFamily (row)
 

 Key: CASSANDRA-2716
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2716
 Project: Cassandra
  Issue Type: Improvement
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
Priority: Trivial
 Fix For: 0.7.7, 0.8.1

 Attachments: 2716.txt


 Column.serializer and Supercolumn.serializer both allocate new objects with 
 each call. The most frequent offender is the ColumnFamily constructor.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2336) Extract SSTable.Builder/IndexWriter

2011-05-26 Thread Stu Hood (JIRA)

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

Stu Hood updated CASSANDRA-2336:


Attachment: (was: 0002-CASSANDRA-2336-Extract-Builder.txt)

 Extract SSTable.Builder/IndexWriter
 ---

 Key: CASSANDRA-2336
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2336
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Stu Hood
Assignee: Stu Hood
Priority: Minor
 Fix For: 1.0

 Attachments: 0001-CASSANDRA-2336-Extract-IndexWriter.txt, 
 0002-CASSANDRA-2336-Extract-Builder.txt, 
 0003-CASSANDRA-2336-Move-statistics-writing-into-IndexWrite.txt


 The Builder and IndexWriter classes in SSTableWriter are static, and 
 independently useful. Additionally, we need the ability to subclass them for 
 CASSANDRA-674 and CASSANDRA-2319.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2336) Extract SSTable.Builder/IndexWriter

2011-05-26 Thread Stu Hood (JIRA)

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

Stu Hood updated CASSANDRA-2336:


Attachment: 0003-CASSANDRA-2336-Move-statistics-writing-into-IndexWrite.txt
0002-CASSANDRA-2336-Extract-Builder.txt
0001-CASSANDRA-2336-Extract-IndexWriter.txt

 Extract SSTable.Builder/IndexWriter
 ---

 Key: CASSANDRA-2336
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2336
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Stu Hood
Assignee: Stu Hood
Priority: Minor
 Fix For: 1.0

 Attachments: 0001-CASSANDRA-2336-Extract-IndexWriter.txt, 
 0002-CASSANDRA-2336-Extract-Builder.txt, 
 0003-CASSANDRA-2336-Move-statistics-writing-into-IndexWrite.txt


 The Builder and IndexWriter classes in SSTableWriter are static, and 
 independently useful. Additionally, we need the ability to subclass them for 
 CASSANDRA-674 and CASSANDRA-2319.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2336) Extract SSTable.Builder/IndexWriter

2011-05-26 Thread Stu Hood (JIRA)

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

Stu Hood updated CASSANDRA-2336:


Attachment: (was: 0001-CASSANDRA-2336-Extract-IndexWriter.txt)

 Extract SSTable.Builder/IndexWriter
 ---

 Key: CASSANDRA-2336
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2336
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Stu Hood
Assignee: Stu Hood
Priority: Minor
 Fix For: 1.0

 Attachments: 0001-CASSANDRA-2336-Extract-IndexWriter.txt, 
 0002-CASSANDRA-2336-Extract-Builder.txt, 
 0003-CASSANDRA-2336-Move-statistics-writing-into-IndexWrite.txt


 The Builder and IndexWriter classes in SSTableWriter are static, and 
 independently useful. Additionally, we need the ability to subclass them for 
 CASSANDRA-674 and CASSANDRA-2319.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2336) Extract SSTable.Builder/IndexWriter

2011-05-26 Thread Stu Hood (JIRA)

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

Stu Hood updated CASSANDRA-2336:


Attachment: (was: 
0003-CASSANDRA-2336-Move-statistics-writing-into-IndexWrite.txt)

 Extract SSTable.Builder/IndexWriter
 ---

 Key: CASSANDRA-2336
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2336
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Stu Hood
Assignee: Stu Hood
Priority: Minor
 Fix For: 1.0

 Attachments: 0001-CASSANDRA-2336-Extract-IndexWriter.txt, 
 0002-CASSANDRA-2336-Extract-Builder.txt, 
 0003-CASSANDRA-2336-Move-statistics-writing-into-IndexWrite.txt


 The Builder and IndexWriter classes in SSTableWriter are static, and 
 independently useful. Additionally, we need the ability to subclass them for 
 CASSANDRA-674 and CASSANDRA-2319.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2405) should expose 'time since last successful repair' for easier aes monitoring

2011-05-26 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-2405:
--

Reviewer: slebresne  (was: jbellis)

 should expose 'time since last successful repair' for easier aes monitoring
 ---

 Key: CASSANDRA-2405
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2405
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Peter Schuller
Assignee: Pavel Yaskevich
Priority: Minor
 Fix For: 0.8.1

 Attachments: CASSANDRA-2405-v2.patch, CASSANDRA-2405.patch


 The practical implementation issues of actually ensuring repair runs is 
 somewhat of an undocumented/untreated issue.
 One hopefully low hanging fruit would be to at least expose the time since 
 last successful repair for a particular column family, to make it easier to 
 write a correct script to monitor for lack of repair in a non-buggy fashion.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-1472) Add bitmap secondary indexes

2011-05-26 Thread Feng (JIRA)

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

Feng commented on CASSANDRA-1472:
-

Stu,

Since the bitmap index isn't a good fit for rapidly changing data, is there any 
plan for implementing a b-tree index? Currently the lack of range scan for 
secondary indexes is only thing preventing me from using this otherwise 
fantastic product. Thanks.

 Add bitmap secondary indexes
 

 Key: CASSANDRA-1472
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1472
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Stu Hood
Assignee: Stu Hood
 Fix For: 1.0

 Attachments: 0.7-1472-v5.tgz, 0.7-1472-v6.tgz, 
 0001-CASSANDRA-1472-rebased-to-0.7-branch.txt, 
 0019-Rename-bugfixes-and-fileclose.txt, 1472-v3.tgz, 1472-v4.tgz, 
 1472-v5.tgz, anatomy.png, v4-bench-c32.txt


 Bitmap indexes are a very efficient structure for dealing with immutable 
 data. We can take advantage of the fact that SSTables are immutable by 
 attaching them directly to SSTables as a new component (supported by 
 CASSANDRA-1471).

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-2717) duplicate rows returned from SELECT where KEY term is duplicated

2011-05-26 Thread Aaron Morton (JIRA)
duplicate rows returned from SELECT where KEY term is duplicated


 Key: CASSANDRA-2717
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2717
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8.0 beta 2
Reporter: Aaron Morton
Assignee: Aaron Morton
Priority: Minor


Noticed while working on CASSANDRA-2268 when random keys generated during a 
mutli_get test contain duplicate keys. 

The thrift multiget_slice() returns only the unique rows because of the map 
generated for the result. 

CQL will return a row for each KEY term in the SELECT. 

I could make QueryProcessor.getSlice() only create commands for the unique keys 
if we wanted to. 

Not sure it's a bug and it's definitely not something that should come up to 
often, reporting it because it's different to the thrift mutli_get operation. 

Happy to close if it's by design. 



--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-2717) duplicate rows returned from SELECT where KEY term is duplicated

2011-05-26 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2717:
---

You mean when using OR?

A little confused b/c OR support was added to SELECT for 0.8.1 but this is 
tagged 0.8b2.

 duplicate rows returned from SELECT where KEY term is duplicated
 

 Key: CASSANDRA-2717
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2717
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8.0 beta 2
Reporter: Aaron Morton
Assignee: Aaron Morton
Priority: Minor
  Labels: cql

 Noticed while working on CASSANDRA-2268 when random keys generated during a 
 mutli_get test contain duplicate keys. 
 The thrift multiget_slice() returns only the unique rows because of the map 
 generated for the result. 
 CQL will return a row for each KEY term in the SELECT. 
 I could make QueryProcessor.getSlice() only create commands for the unique 
 keys if we wanted to. 
 Not sure it's a bug and it's definitely not something that should come up to 
 often, reporting it because it's different to the thrift mutli_get operation. 
 Happy to close if it's by design. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-2715) simplify schema reconciliation

2011-05-26 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-2715:
--

Attachment: 2715.txt

announce() becomes a direct send this migration to the rest of the cluster.

DefinitionsAnnnounceVerbHandler goes away, and DefinitionsUpdateResponse 
becomes DefinitionsUpdate.

 simplify schema reconciliation
 --

 Key: CASSANDRA-2715
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2715
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.7.0
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
Priority: Minor
 Fix For: 0.7.7, 0.8.1

 Attachments: 2715.txt


 Currently, schema migrations can be replayed from one node to another in any 
 of three ways:
 - a node processes a migration from a client, and pushes it to all live nodes 
 (Migration.announce on the source)
 - a node sees that another node's schema version is older than his 
 (MigrationManager.onChange on the source)
 - a node sees that his own schema version is older than another's and makes 
 an explicit request (MigrationManager.onChange on the target, 
 DefinitionsAnnounceVerbHandler on the source)
 The last of these is an optimization that isn't worth the extra complexity -- 
 under normal conditions, the initial announce from the coordinator updates 
 everyone, and in recovery situations the latency gain of #3 over #2 is only a 
 few seconds.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-2717) duplicate rows returned from SELECT where KEY term is duplicated

2011-05-26 Thread Aaron Morton (JIRA)

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

Aaron Morton commented on CASSANDRA-2717:
-

query was SELECT foo FROM my-cf WHERE KEY = 'bar' and KEY = 'bar';

Nothing a sane person would do, I was just using the randomly generated keys 
for the stress test the same way the thrift based one does. 


 duplicate rows returned from SELECT where KEY term is duplicated
 

 Key: CASSANDRA-2717
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2717
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8.0 beta 2
Reporter: Aaron Morton
Assignee: Aaron Morton
Priority: Minor
  Labels: cql

 Noticed while working on CASSANDRA-2268 when random keys generated during a 
 mutli_get test contain duplicate keys. 
 The thrift multiget_slice() returns only the unique rows because of the map 
 generated for the result. 
 CQL will return a row for each KEY term in the SELECT. 
 I could make QueryProcessor.getSlice() only create commands for the unique 
 keys if we wanted to. 
 Not sure it's a bug and it's definitely not something that should come up to 
 often, reporting it because it's different to the thrift mutli_get operation. 
 Happy to close if it's by design. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-2717) duplicate rows returned from SELECT where KEY term is duplicated

2011-05-26 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2717:
---

Definitely a bug.

(KEY=X and KEY=Y should result in zero rows, unless X=Y.)

 duplicate rows returned from SELECT where KEY term is duplicated
 

 Key: CASSANDRA-2717
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2717
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8.0 beta 2
Reporter: Aaron Morton
Assignee: Aaron Morton
Priority: Minor
  Labels: cql

 Noticed while working on CASSANDRA-2268 when random keys generated during a 
 mutli_get test contain duplicate keys. 
 The thrift multiget_slice() returns only the unique rows because of the map 
 generated for the result. 
 CQL will return a row for each KEY term in the SELECT. 
 I could make QueryProcessor.getSlice() only create commands for the unique 
 keys if we wanted to. 
 Not sure it's a bug and it's definitely not something that should come up to 
 often, reporting it because it's different to the thrift mutli_get operation. 
 Happy to close if it's by design. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Issue Comment Edited] (CASSANDRA-2717) duplicate rows returned from SELECT where KEY term is duplicated

2011-05-26 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis edited comment on CASSANDRA-2717 at 5/27/11 4:47 AM:


Definitely a bug.

(KEY=X and KEY=Y should result in zero rows, unless X=Y in which case it should 
be one, assuming X exists.)

  was (Author: jbellis):
Definitely a bug.

(KEY=X and KEY=Y should result in zero rows, unless X=Y.)
  
 duplicate rows returned from SELECT where KEY term is duplicated
 

 Key: CASSANDRA-2717
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2717
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8.0 beta 2
Reporter: Aaron Morton
Assignee: Aaron Morton
Priority: Minor
  Labels: cql

 Noticed while working on CASSANDRA-2268 when random keys generated during a 
 mutli_get test contain duplicate keys. 
 The thrift multiget_slice() returns only the unique rows because of the map 
 generated for the result. 
 CQL will return a row for each KEY term in the SELECT. 
 I could make QueryProcessor.getSlice() only create commands for the unique 
 keys if we wanted to. 
 Not sure it's a bug and it's definitely not something that should come up to 
 often, reporting it because it's different to the thrift mutli_get operation. 
 Happy to close if it's by design. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira