[jira] Commented: (CASSANDRA-2008) CLI help incorrect in places

2011-02-16 Thread Aaron Morton (JIRA)

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

Aaron Morton commented on CASSANDRA-2008:
-

I'm working on changing the cli help to be driven from a yaml file (in the jar) 
to make it easier to be updated. I've ported over the existing help and am in 
the process of re-writing the help to match cassandra.yaml and the wiki. 

Below is a (first draft) example, if anyone has feedback on the style let me 
know. I'm trying to keep the text  80 chars wide. I can also add simple 
pagination through the ConsoleReader we use if people think it would be handy.

{noformat}
[default@unknown] help create keyspace;
create keyspace keyspace;
create keyspace keyspace with att1=value1;
create keyspace keyspace with att1=value1 and att2=value2 ...;

Create a new keyspace with the specified values for the given set of 
attributes.

Parameters:
- keyspace: Requried name of the new keyspace, system is reserved for 
  Cassandra internals. Names must only contain letters, numbers and 
  underscores.

Attributes:
- replication_factor: Required number of replicas of each row. Applies 
  to SimpleStrategy and OldNetworkTopologyStrategy placement strategys, 
  the NetworkTopologyStrrategy uses additonal configuration.

- placement_strategy: Required class that determines how replicas
  are distributed among nodes. Contains both the class as well as
  configuration information.  Must extend AbstractReplicationStrategy.

  Out of the box, Cassandra provides 
- org.apache.cassandra.locator.SimpleStrategy 
- org.apache.cassandra.locator.NetworkTopologyStrategy
- org.apache.cassandra.locator.OldNetworkTopologyStrategy


  SimpleStrategy merely places the first replica at the node whose 
  token is closest to the key (as determined by the Partitioner), and 
  additional replicas on subsequent nodes along the ring in increasing 
  Token order.

  With NetworkTopologyStrategy, for each datacenter, you can specify 
  how many replicas you want on a per-keyspace basis. Replicas are 
  placed on different racks within each DC, if possible. 

  OldNetworkToplogyStrategy [formerly RackAwareStrategy] 
  places one replica in each of two datacenters, and the third on a
  different rack in in the first.  Additional datacenters are not
  guaranteed to get a replica.  Additional replicas after three are 
  placed in ring order after the third without regard to rack or 
  datacenter.

- strategy_options: Optional additional options for placement_strategy.
  Applies only to NetworkTopologyStrategy.

Examples:
create keyspace foo with
placement_strategy = 'org.apache.cassandra.locator.SimpleStrategy'
and replication_factor = 3;
create keyspace foo with
placement_strategy = 
'org.apache.cassandra.locator.NetworkTopologyStrategy'
and strategy_options=[{DC1:2, DC2:2}];
{noformat}

 CLI help incorrect in places
 

 Key: CASSANDRA-2008
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2008
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.7.0
Reporter: Aaron Morton
Assignee: Aaron Morton
Priority: Trivial
 Fix For: 0.7.2


 Found some errors in the CLI help, such as these for create column family.
 - memtable_operations: Flush memtables after this many operations
 - memtable_throughput: ... or after this many bytes have been written
 - memtable_flush_after: ... or after this many seconds
 Should be millions of ops, MB's written and minutes not seconds.  Have 
 confirmed thats how the values are used. Will check all the help. 

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




[jira] Commented: (CASSANDRA-1954) Double-check or replace RRW memtable lock

2011-02-16 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-1954:
-

Correct me if I am wrong but I think there is a 2 things:

* We need to ensure that we call the discard of the commmit context post-flush 
in the same order that we got the context pre-flush.

A lock is fine, especially if we diminish contention on it with double-checking 
or with an atomic boolean. That this block all writes however seems 
unnecessary. Why lock the read-lock during write (for that purpose I mean)?  As 
long as we get the commit log context and schedule the post-flush task before 
changing the active memtable, we should be right. We may have to replay a tiny 
bit more, since a few write will go into the being flushed memtable after we 
got the context, but we won't lose any.

On a related note, why I understand why we want to preserve this 
'pre-flush/post-flush' order er column family, I'm not sure I understand why it 
must be global since the commit log header distinguishes between the different 
CFs ?

* We need to keep writes out of being-flushed memtables.

For that, we can use per-memtable counters and make flush start by waiting on 
the counter to reach 0.


Am I missing something obvious here ?


As for the View structure proposed by Stu in the previous comment, this could 
actually be a quite reasonable solution for CASSANDRA-2105 so I'll probably 
give that a shot too in this context.


 Double-check or replace RRW memtable lock
 -

 Key: CASSANDRA-1954
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1954
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Stu Hood
Priority: Minor
 Attachments: 
 0001-Double-check-in-maybeSwitchMemtable-to-minimize-writeL.txt


 {quote}...when a Memtable reaches its threshold, up to (all) N write threads 
 will often notice, and race to acquire the writeLock in order to freeze the 
 memtable. This means that we do way more writeLock acquisitions than we need 
 to...{quote}
 See CASSANDRA-1930 for backstory, but adding double checking inside a read 
 lock before trying to re-entrantly acquire the writelock would eliminate most 
 of these excess writelock acquisitions.
 Alternatively, we should explore removing locking from these structures 
 entirely, and replacing the writeLock acquisition with a per-memtable counter 
 of active threads.

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




[jira] Commented: (CASSANDRA-1311) Support (asynchronous) triggers

2011-02-16 Thread T Jake Luciani (JIRA)

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

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

enforce trigger consistency via the commitlog the way 2ary indexes currently 
do

I agree we should mirror the 2ary index impl, which means it becomes a 
synchronous operation. Frankly I think that's ok since it's the only way to 
know the client will know the data was written AND the trigger was executed.  
If a user wants asynchronous behavior, then the trigger implementation can 
simply schedule a action in a local queue.

 Support (asynchronous) triggers
 ---

 Key: CASSANDRA-1311
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1311
 Project: Cassandra
  Issue Type: New Feature
  Components: Contrib
Reporter: Maxim Grinev
 Fix For: 0.8

 Attachments: HOWTO-PatchAndRunTriggerExample-update1.txt, 
 HOWTO-PatchAndRunTriggerExample.txt, ImplementationDetails-update1.pdf, 
 ImplementationDetails.pdf, trunk-967053.txt, trunk-984391-update1.txt, 
 trunk-984391-update2.txt


 Asynchronous triggers is a basic mechanism to implement various use cases of 
 asynchronous execution of application code at database side. For example to 
 support indexes and materialized views, online analytics, push-based data 
 propagation.
 Please find the motivation, triggers description and list of applications:
 http://maxgrinev.com/2010/07/23/extending-cassandra-with-asynchronous-triggers/
 An example of using triggers for indexing:
 http://maxgrinev.com/2010/07/23/managing-indexes-in-cassandra-using-async-triggers/
 Implementation details are attached.

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




[jira] Commented: (CASSANDRA-1311) Support (asynchronous) triggers

2011-02-16 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-1311:
---

Right. Asynchronous triggers in the coordinator has very little to recommend 
it over just do it in your app with the StorageProxy API (in which case your 
app is the coordinator, and you can easily run whatever coordinator-side logic 
you like).

 Support (asynchronous) triggers
 ---

 Key: CASSANDRA-1311
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1311
 Project: Cassandra
  Issue Type: New Feature
  Components: Contrib
Reporter: Maxim Grinev
 Fix For: 0.8

 Attachments: HOWTO-PatchAndRunTriggerExample-update1.txt, 
 HOWTO-PatchAndRunTriggerExample.txt, ImplementationDetails-update1.pdf, 
 ImplementationDetails.pdf, trunk-967053.txt, trunk-984391-update1.txt, 
 trunk-984391-update2.txt


 Asynchronous triggers is a basic mechanism to implement various use cases of 
 asynchronous execution of application code at database side. For example to 
 support indexes and materialized views, online analytics, push-based data 
 propagation.
 Please find the motivation, triggers description and list of applications:
 http://maxgrinev.com/2010/07/23/extending-cassandra-with-asynchronous-triggers/
 An example of using triggers for indexing:
 http://maxgrinev.com/2010/07/23/managing-indexes-in-cassandra-using-async-triggers/
 Implementation details are attached.

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




[jira] Commented: (CASSANDRA-1311) Support (asynchronous) triggers

2011-02-16 Thread Martin Hentschel (JIRA)

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

Martin Hentschel commented on CASSANDRA-1311:
-

Thanks for your comments. I don't want to advertise our approach and 
implementation but I want to give some hints on why we chose this pattern.

T Jake Luciani said that clients want to know when triggers are executed. In 
our approach the client can be sure that the trigger will be executed 
(at-least-once behavior) but not when. There are lots of use cases when a 
client doesn't need to know when the trigger was executed. For example, when 
you do a bank transaction, you usually submit the transaction and it is 
executed some time later. On Twitter, when you submit a tweet you usually do 
not care when your tweet is forwarded to your followers. In both cases, the 
execution of the bank transaction and forwarding the tweet to your followers, 
would be implemented by triggers.

Jonathan Ellis said that asynchronous behavior can be implemented on the client 
side. While this is true, it requires some effort by the programmer. The 
programmer would need to set up a queue, implement communication with the 
queue, ensure at-least-once behavior etc. Having all of this already present 
within Cassandra could help in the use cases mentioned above. 

In my opinion, having synchronous triggers has no advantages over implementing 
it synchronously at the client. Synchronously updating a table + an index can 
be done easily at the client side (without queues and fancy implementation). 
Therefore we wouldn't need triggers at all.

I guess I will join the dev list again, this seems to become a good discussion 
:-)

 Support (asynchronous) triggers
 ---

 Key: CASSANDRA-1311
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1311
 Project: Cassandra
  Issue Type: New Feature
  Components: Contrib
Reporter: Maxim Grinev
 Fix For: 0.8

 Attachments: HOWTO-PatchAndRunTriggerExample-update1.txt, 
 HOWTO-PatchAndRunTriggerExample.txt, ImplementationDetails-update1.pdf, 
 ImplementationDetails.pdf, trunk-967053.txt, trunk-984391-update1.txt, 
 trunk-984391-update2.txt


 Asynchronous triggers is a basic mechanism to implement various use cases of 
 asynchronous execution of application code at database side. For example to 
 support indexes and materialized views, online analytics, push-based data 
 propagation.
 Please find the motivation, triggers description and list of applications:
 http://maxgrinev.com/2010/07/23/extending-cassandra-with-asynchronous-triggers/
 An example of using triggers for indexing:
 http://maxgrinev.com/2010/07/23/managing-indexes-in-cassandra-using-async-triggers/
 Implementation details are attached.

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




[jira] Commented: (CASSANDRA-1311) Support (asynchronous) triggers

2011-02-16 Thread T Jake Luciani (JIRA)

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

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

I think Jonathan is referring to the server side ITrigger impl as the 
application.  The ITrigger is called synchronously for every write but the 
implementation of the trigger can be asynchronous, e.g. implement a linked 
blocking queue and thread pool to do the work asynchronously. 

 Support (asynchronous) triggers
 ---

 Key: CASSANDRA-1311
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1311
 Project: Cassandra
  Issue Type: New Feature
  Components: Contrib
Reporter: Maxim Grinev
 Fix For: 0.8

 Attachments: HOWTO-PatchAndRunTriggerExample-update1.txt, 
 HOWTO-PatchAndRunTriggerExample.txt, ImplementationDetails-update1.pdf, 
 ImplementationDetails.pdf, trunk-967053.txt, trunk-984391-update1.txt, 
 trunk-984391-update2.txt


 Asynchronous triggers is a basic mechanism to implement various use cases of 
 asynchronous execution of application code at database side. For example to 
 support indexes and materialized views, online analytics, push-based data 
 propagation.
 Please find the motivation, triggers description and list of applications:
 http://maxgrinev.com/2010/07/23/extending-cassandra-with-asynchronous-triggers/
 An example of using triggers for indexing:
 http://maxgrinev.com/2010/07/23/managing-indexes-in-cassandra-using-async-triggers/
 Implementation details are attached.

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




[jira] Commented: (CASSANDRA-1311) Support (asynchronous) triggers

2011-02-16 Thread Maxim Grinev (JIRA)

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

Maxim Grinev commented on CASSANDRA-1311:
-

Jonathan, Jake, if you just mean synchronous triggers we can easily add an 
option to make it synchronous. To make it synchronous we just need to switch 
off failover mechanism and don't reply to the client until the trigger is 
executed (it will be executed asynchronously but wait for results as Jake 
wrote). Is it what you mean or you mean something more? 

 Support (asynchronous) triggers
 ---

 Key: CASSANDRA-1311
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1311
 Project: Cassandra
  Issue Type: New Feature
  Components: Contrib
Reporter: Maxim Grinev
 Fix For: 0.8

 Attachments: HOWTO-PatchAndRunTriggerExample-update1.txt, 
 HOWTO-PatchAndRunTriggerExample.txt, ImplementationDetails-update1.pdf, 
 ImplementationDetails.pdf, trunk-967053.txt, trunk-984391-update1.txt, 
 trunk-984391-update2.txt


 Asynchronous triggers is a basic mechanism to implement various use cases of 
 asynchronous execution of application code at database side. For example to 
 support indexes and materialized views, online analytics, push-based data 
 propagation.
 Please find the motivation, triggers description and list of applications:
 http://maxgrinev.com/2010/07/23/extending-cassandra-with-asynchronous-triggers/
 An example of using triggers for indexing:
 http://maxgrinev.com/2010/07/23/managing-indexes-in-cassandra-using-async-triggers/
 Implementation details are attached.

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




[jira] Updated: (CASSANDRA-1954) Double-check or replace RRW memtable lock

2011-02-16 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-1954:


Attachment: 0001-Remove-flusherLock-readLock.patch

Attached patch implements what's hinted in my previous comment. Mainly it keeps 
the flusher lock to unsure we discard commit log segment in the order we read 
them, but remove the readLock on writes, so flush don't block writes anymore.

It passes unit test but that doesn't say much.

 Double-check or replace RRW memtable lock
 -

 Key: CASSANDRA-1954
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1954
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Stu Hood
Priority: Minor
 Attachments: 
 0001-Double-check-in-maybeSwitchMemtable-to-minimize-writeL.txt, 
 0001-Remove-flusherLock-readLock.patch


 {quote}...when a Memtable reaches its threshold, up to (all) N write threads 
 will often notice, and race to acquire the writeLock in order to freeze the 
 memtable. This means that we do way more writeLock acquisitions than we need 
 to...{quote}
 See CASSANDRA-1930 for backstory, but adding double checking inside a read 
 lock before trying to re-entrantly acquire the writelock would eliminate most 
 of these excess writelock acquisitions.
 Alternatively, we should explore removing locking from these structures 
 entirely, and replacing the writeLock acquisition with a per-memtable counter 
 of active threads.

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




[jira] Created: (CASSANDRA-2176) Add configuration setting to cap the number of Thrift connections

2011-02-16 Thread Jonathan Ellis (JIRA)
Add configuration setting to cap the number of Thrift connections
-

 Key: CASSANDRA-2176
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2176
 Project: Cassandra
  Issue Type: Bug
  Components: API
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
Priority: Minor
 Fix For: 0.7.3


At least until CASSANDRA-1405 is done, it's useful to have a connection cap to 
prevent misbehaving clients from DOSing the server.

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




[jira] Commented: (CASSANDRA-2158) memtable_throughput_in_mb can not support sizes over 2.2 gigs because of an integer overflow.

2011-02-16 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-2158:
-

+1

 memtable_throughput_in_mb can not support sizes over 2.2 gigs because of an 
 integer overflow.
 -

 Key: CASSANDRA-2158
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2158
 Project: Cassandra
  Issue Type: Bug
Reporter: Eddie
Assignee: Jonathan Ellis
 Fix For: 0.7.2

 Attachments: 2158.txt


 If memtable_throughput_in_mb is set past 2.2 gigs, no errors are thrown.  
 However, as soon as data starts being written it is almost immediately being 
 flushed.  Several hundred SSTables are created in minutes.  I am almost 
 positive that the problem is that when memtable_throughput_in_mb is being 
 converted into bytes the result is stored in an integer, which is overflowing.
 From memtable.java:
 private final int THRESHOLD;
 private final int THRESHOLD_COUNT;
 ...
 this.THRESHOLD = cfs.getMemtableThroughputInMB() * 1024 * 1024;
 this.THRESHOLD_COUNT = (int) (cfs.getMemtableOperationsInMillions() * 1024 * 
 1024);
 NOTE:
 I also think currentThroughput also needs to be changed from an int to a 
 long.  I'm not sure if it is as simple as this or if this also is used in 
 other places.

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




[jira] Updated: (CASSANDRA-2176) Add configuration setting to cap the number of Thrift connections

2011-02-16 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-2176:
--

  Reviewer: jbellis
  Assignee: T Jake Luciani  (was: Jonathan Ellis)
Issue Type: Improvement  (was: Bug)

 Add configuration setting to cap the number of Thrift connections
 -

 Key: CASSANDRA-2176
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2176
 Project: Cassandra
  Issue Type: Improvement
  Components: API
Reporter: Jonathan Ellis
Assignee: T Jake Luciani
Priority: Minor
 Fix For: 0.7.3


 At least until CASSANDRA-1405 is done, it's useful to have a connection cap 
 to prevent misbehaving clients from DOSing the server.

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




[jira] Commented: (CASSANDRA-2169) user created with debian packaging is unable to increase memlock

2011-02-16 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-2169:
-

What happens if you su to the cassandra user and check ulimit?

 user created with debian packaging is unable to increase memlock
 

 Key: CASSANDRA-2169
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2169
 Project: Cassandra
  Issue Type: Bug
  Components: Packaging
Reporter: Jeremy Hanna
Priority: Minor

 To reproduce:
 - Install a fresh copy of ubuntu 10.04.
 - Install sun's java6 jdk.
 - Install libjna-java 3.2.7 into /usr/share/java.
 - Install cassandra 0.7.0 from the apache debian packages.
 - Start cassandra using /etc/init.d/cassandra
 In the output.log there will be the following error:
 {quote}
 Unable to lock JVM memory (ENOMEM). This can result in part of the JVM being 
 swapped out, especially with mmapped I/O enabled. Increase RLIMIT_MEMLOCK or 
 run Cassandra as root.
 {quote}
 This shouldn't be as the debian package creates 
 /etc/security/limits.d/cassandra.conf and sets the cassandra user's memlock 
 limit to 'unlimited'.
 I tried a variety of things including making the memlock unlimited for all 
 users in /etc/security/limits.conf.  I was able to run cassandra using root 
 with jna symbolically linked into /usr/share/cassandra from /usr/share/java, 
 but I could never get the init.d script to work and get beyond that error.
 Based on all the trial and error, I think it might have to do with the 
 cassandra user itself, but my debian/ubuntu fu isn't as good as others'.

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




[jira] Commented: (CASSANDRA-2176) Add configuration setting to cap the number of Thrift connections

2011-02-16 Thread T Jake Luciani (JIRA)

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

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

If we just capped the thread pool it should be effectively the same correct?

 Add configuration setting to cap the number of Thrift connections
 -

 Key: CASSANDRA-2176
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2176
 Project: Cassandra
  Issue Type: Improvement
  Components: API
Reporter: Jonathan Ellis
Assignee: T Jake Luciani
Priority: Minor
 Fix For: 0.7.3


 At least until CASSANDRA-1405 is done, it's useful to have a connection cap 
 to prevent misbehaving clients from DOSing the server.

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




[jira] Commented: (CASSANDRA-2169) user created with debian packaging is unable to increase memlock

2011-02-16 Thread Jeremy Hanna (JIRA)

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

Jeremy Hanna commented on CASSANDRA-2169:
-

ulimit -l always returns 64.

I gave the cassandra user a shell so I can su to that user.  When I do, the 
memlock doesn't ever take - whether it's defined in /etc/security/limits.conf 
for the cassandra user, for all users (*), or in the 
/etc/security/limits.d/cassandra.conf.

 user created with debian packaging is unable to increase memlock
 

 Key: CASSANDRA-2169
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2169
 Project: Cassandra
  Issue Type: Bug
  Components: Packaging
Reporter: Jeremy Hanna
Priority: Minor

 To reproduce:
 - Install a fresh copy of ubuntu 10.04.
 - Install sun's java6 jdk.
 - Install libjna-java 3.2.7 into /usr/share/java.
 - Install cassandra 0.7.0 from the apache debian packages.
 - Start cassandra using /etc/init.d/cassandra
 In the output.log there will be the following error:
 {quote}
 Unable to lock JVM memory (ENOMEM). This can result in part of the JVM being 
 swapped out, especially with mmapped I/O enabled. Increase RLIMIT_MEMLOCK or 
 run Cassandra as root.
 {quote}
 This shouldn't be as the debian package creates 
 /etc/security/limits.d/cassandra.conf and sets the cassandra user's memlock 
 limit to 'unlimited'.
 I tried a variety of things including making the memlock unlimited for all 
 users in /etc/security/limits.conf.  I was able to run cassandra using root 
 with jna symbolically linked into /usr/share/cassandra from /usr/share/java, 
 but I could never get the init.d script to work and get beyond that error.
 Based on all the trial and error, I think it might have to do with the 
 cassandra user itself, but my debian/ubuntu fu isn't as good as others'.

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




[jira] Issue Comment Edited: (CASSANDRA-2169) user created with debian packaging is unable to increase memlock

2011-02-16 Thread Jeremy Hanna (JIRA)

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

Jeremy Hanna edited comment on CASSANDRA-2169 at 2/16/11 6:51 PM:
--

ulimit -l always returns 64.

I gave the cassandra user a shell so I can su to that user.  When I do, the 
memlock doesn't ever take - whether it's defined in /etc/security/limits.conf 
for the cassandra user, for all users '*', or in the 
/etc/security/limits.d/cassandra.conf.

  was (Author: jeromatron):
ulimit -l always returns 64.

I gave the cassandra user a shell so I can su to that user.  When I do, the 
memlock doesn't ever take - whether it's defined in /etc/security/limits.conf 
for the cassandra user, for all users (*), or in the 
/etc/security/limits.d/cassandra.conf.
  
 user created with debian packaging is unable to increase memlock
 

 Key: CASSANDRA-2169
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2169
 Project: Cassandra
  Issue Type: Bug
  Components: Packaging
Reporter: Jeremy Hanna
Priority: Minor

 To reproduce:
 - Install a fresh copy of ubuntu 10.04.
 - Install sun's java6 jdk.
 - Install libjna-java 3.2.7 into /usr/share/java.
 - Install cassandra 0.7.0 from the apache debian packages.
 - Start cassandra using /etc/init.d/cassandra
 In the output.log there will be the following error:
 {quote}
 Unable to lock JVM memory (ENOMEM). This can result in part of the JVM being 
 swapped out, especially with mmapped I/O enabled. Increase RLIMIT_MEMLOCK or 
 run Cassandra as root.
 {quote}
 This shouldn't be as the debian package creates 
 /etc/security/limits.d/cassandra.conf and sets the cassandra user's memlock 
 limit to 'unlimited'.
 I tried a variety of things including making the memlock unlimited for all 
 users in /etc/security/limits.conf.  I was able to run cassandra using root 
 with jna symbolically linked into /usr/share/cassandra from /usr/share/java, 
 but I could never get the init.d script to work and get beyond that error.
 Based on all the trial and error, I think it might have to do with the 
 cassandra user itself, but my debian/ubuntu fu isn't as good as others'.

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




[jira] Commented: (CASSANDRA-2169) user created with debian packaging is unable to increase memlock

2011-02-16 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-2169:
-

Just to be certain limits.conf is taking effect, have you tried rebooting the 
box since changing it?

 user created with debian packaging is unable to increase memlock
 

 Key: CASSANDRA-2169
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2169
 Project: Cassandra
  Issue Type: Bug
  Components: Packaging
Reporter: Jeremy Hanna
Priority: Minor

 To reproduce:
 - Install a fresh copy of ubuntu 10.04.
 - Install sun's java6 jdk.
 - Install libjna-java 3.2.7 into /usr/share/java.
 - Install cassandra 0.7.0 from the apache debian packages.
 - Start cassandra using /etc/init.d/cassandra
 In the output.log there will be the following error:
 {quote}
 Unable to lock JVM memory (ENOMEM). This can result in part of the JVM being 
 swapped out, especially with mmapped I/O enabled. Increase RLIMIT_MEMLOCK or 
 run Cassandra as root.
 {quote}
 This shouldn't be as the debian package creates 
 /etc/security/limits.d/cassandra.conf and sets the cassandra user's memlock 
 limit to 'unlimited'.
 I tried a variety of things including making the memlock unlimited for all 
 users in /etc/security/limits.conf.  I was able to run cassandra using root 
 with jna symbolically linked into /usr/share/cassandra from /usr/share/java, 
 but I could never get the init.d script to work and get beyond that error.
 Based on all the trial and error, I think it might have to do with the 
 cassandra user itself, but my debian/ubuntu fu isn't as good as others'.

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




[jira] Commented: (CASSANDRA-2169) user created with debian packaging is unable to increase memlock

2011-02-16 Thread Jeremy Hanna (JIRA)

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

Jeremy Hanna commented on CASSANDRA-2169:
-

I made sure it took effect for the user I originally logged in as - ubuntu for 
my ec2 instance and jeremy for my local vm.  It took effect for those users 
whenever I changed it.  I also tried rebooting.  That was the way it took 
effect for the ec2 server's ubuntu user iirc.  But it didn't take effect for 
the cassandra user.

 user created with debian packaging is unable to increase memlock
 

 Key: CASSANDRA-2169
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2169
 Project: Cassandra
  Issue Type: Bug
  Components: Packaging
Reporter: Jeremy Hanna
Priority: Minor

 To reproduce:
 - Install a fresh copy of ubuntu 10.04.
 - Install sun's java6 jdk.
 - Install libjna-java 3.2.7 into /usr/share/java.
 - Install cassandra 0.7.0 from the apache debian packages.
 - Start cassandra using /etc/init.d/cassandra
 In the output.log there will be the following error:
 {quote}
 Unable to lock JVM memory (ENOMEM). This can result in part of the JVM being 
 swapped out, especially with mmapped I/O enabled. Increase RLIMIT_MEMLOCK or 
 run Cassandra as root.
 {quote}
 This shouldn't be as the debian package creates 
 /etc/security/limits.d/cassandra.conf and sets the cassandra user's memlock 
 limit to 'unlimited'.
 I tried a variety of things including making the memlock unlimited for all 
 users in /etc/security/limits.conf.  I was able to run cassandra using root 
 with jna symbolically linked into /usr/share/cassandra from /usr/share/java, 
 but I could never get the init.d script to work and get beyond that error.
 Based on all the trial and error, I think it might have to do with the 
 cassandra user itself, but my debian/ubuntu fu isn't as good as others'.

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




[jira] Commented: (CASSANDRA-1427) Optimize loadbalance/move for moves within the current range

2011-02-16 Thread Nick Bailey (JIRA)

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

Nick Bailey commented on CASSANDRA-1427:


Some initial comments:
* This change disallows moving when RF = N. The call to 
calculateNaturalEndpoints fails when you use the tokenmetadata that doesn't 
include the moving node. 
* We need to sleep for RING_DELAY before we start any streaming. Similar to how 
decommission does. Basically the other nodes need to calculate their pending 
ranges so they can start sending writes to the appropriate nodes. Once that 
happens we can stream. It might be nice to bypass the sleep if nothing is going 
to be streamed. It would make setting up the ring before any data is in it 
easier. 
* The check to see if data is moving to this node needs to be done in a loop at 
the beginning of the move method. By the time you throw the exception in the 
current implementation you've already gossiped the move state and calculated a 
bunch of ranges and whatnot. 
* You never await the latch in streamRanges so that call returns immediately. 
* It looks like decom is broken. There is a latch in unbootstrap that is waited 
on but never counted down. 
* Also in regards to the above point: I think we should try to combine a lot of 
the logic for calculating ranges that we are fetching or streaming. Can we have 
decom and move call the same method to calculate ranges to send to then do the 
actual sending and the same for bootstrap/move? Right now that move method is 
pretty hairy and it seems like it would be good to have that logic in a single 
spot. 

Gonna post this comment so it doesn't get lost, but I'm gonna still do some 
more reviewing.

 Optimize loadbalance/move for moves within the current range
 

 Key: CASSANDRA-1427
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1427
 Project: Cassandra
  Issue Type: Sub-task
  Components: Core
Affects Versions: 0.7 beta 1
Reporter: Nick Bailey
Assignee: Pavel Yaskevich
 Fix For: 0.8

 Attachments: CASSANDRA-1427-v2.patch, CASSANDRA-1427-v3.patch, 
 CASSANDRA-1427-v4.patch, CASSANDRA-1427.patch

   Original Estimate: 42h
  Time Spent: 42h
  Remaining Estimate: 0h

 Currently our move/loadbalance operations only implement case 2 of the Ruhl 
 algorithm described at 
 https://issues.apache.org/jira/browse/CASSANDRA-192#action_12713079.
 We should add functionality to optimize moves that take/give ranges to a 
 node's direct neighbors.

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




[jira] Commented: (CASSANDRA-1828) Create a pig storefunc

2011-02-16 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-1828:
-

The way to rebuild pig is to edit ivy/libraries.properties and bump the jackson 
version to 1.4.0 then run ant.

 Create a pig storefunc
 --

 Key: CASSANDRA-1828
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1828
 Project: Cassandra
  Issue Type: New Feature
  Components: Contrib, Hadoop
Affects Versions: 0.7 beta 1
Reporter: Brandon Williams
Assignee: Brandon Williams
Priority: Minor
 Fix For: 0.7.2

 Attachments: 0001-add-storage-ability-to-pig-CassandraStorage.txt, 
 0002-Fix-build-bin-script.txt

   Original Estimate: 32h
  Remaining Estimate: 32h

 Now that we have a ColumnFamilyOutputFormat, we can write data back to 
 cassandra in mapreduce jobs, however we can only do this in java.  It would 
 be nice if pig could also output to cassandra.

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




[jira] Created: (CASSANDRA-2177) OPP + NTS + RF=2 reports wrong getRangeToEndpointMap

2011-02-16 Thread Mike Bulman (JIRA)
OPP + NTS + RF=2 reports wrong getRangeToEndpointMap


 Key: CASSANDRA-2177
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2177
 Project: Cassandra
  Issue Type: Bug
Reporter: Mike Bulman


OPP, 3 node cluster, RackInferringSnitch.

Ring:
[root@mb541 apache-cassandra-0.7.1]# bin/nodetool -h localhost ring
Address Status State   LoadOwnsToken
   
   zzz  
   
1.2.3.4 Up Normal  42.48 KB33.33%  aaa  
   
1.2.3.5 Up Normal  42.39 KB33.33%  rDwPSSIKSaXEwaaV 
   
1.2.3.6  Up Normal  42.5 KB33.33%  zzz 

getRangeToEndPointMap for KS using NTS with {'2':2} replication returns:
{
('aaa', 'zzz'): ('1.2.3.6', '1.2.3.5'),
('zzz', 'NVOt7oNr1UcCzCEU'): ('1.2.3.5', '1.2.3.6'), 
('NVOt7oNr1UcCzCEU', 'aaa'): ('1.2.3.4', '1.2.3.6')
}

node '4' is only represented once.

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




[jira] Commented: (CASSANDRA-2176) Add configuration setting to cap the number of Thrift connections

2011-02-16 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2176:
---

Probably.  I think what we want is for clients to get an immediate refusal 
rather than a timeout, and a warning but no tracebacks in the Cassandra log.

 Add configuration setting to cap the number of Thrift connections
 -

 Key: CASSANDRA-2176
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2176
 Project: Cassandra
  Issue Type: Improvement
  Components: API
Reporter: Jonathan Ellis
Assignee: T Jake Luciani
Priority: Minor
 Fix For: 0.7.3


 At least until CASSANDRA-1405 is done, it's useful to have a connection cap 
 to prevent misbehaving clients from DOSing the server.

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




[jira] Updated: (CASSANDRA-2069) Read repair causes tremendous GC pressure

2011-02-16 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-2069:
--

Fix Version/s: (was: 0.7.2)
   0.7.3

 Read repair causes tremendous GC pressure
 -

 Key: CASSANDRA-2069
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2069
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.7.1
Reporter: Brandon Williams
Assignee: Jonathan Ellis
 Fix For: 0.7.3

 Attachments: 2069-v10.txt, 2069-v2.txt, 2069-v3.txt, 2069-v4.txt, 
 2069-v5.txt, 2069-v6.txt, 2069-v7.txt, 2069-v8.txt, 2069-v9.txt, 2069.txt


 To reproduce: start a three node cluster, insert 1M rows with stress.java and 
 rf=2.  Take one down, delete its data, then bring it back up and issue 1M 
 reads against it.  After the run is done you will see at least 1 STW long 
 enough to mark the node as dead, often 4 or 5.

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




[jira] Updated: (CASSANDRA-2115) Keep endpoint state until aVeryLongTime

2011-02-16 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-2115:
--

Fix Version/s: (was: 0.7.2)
   0.7.3

 Keep endpoint state until aVeryLongTime
 ---

 Key: CASSANDRA-2115
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2115
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.7.1
Reporter: Brandon Williams
Assignee: Brandon Williams
Priority: Minor
 Fix For: 0.7.3

 Attachments: 2115.txt


 In CASSANDRA-2072 we changed the gossiper so it holds onto endpoint state 
 until QUARANTINE_DELAY has elapsed.  However, if node X is leaving and node Y 
 goes down and stays down longer than QUARANTINE_DELAY after X has left, Y 
 will return thinking X is still a member of the cluster.  Instead, let's hold 
 onto the endpoint state even longer, until aVeryLongTime which is currently 
 set to 3 days. 

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




[jira] Updated: (CASSANDRA-2174) saved caches written with BufferedRandomAccessFile cannot be read by ObjectInputStream

2011-02-16 Thread Matthew F. Dennis (JIRA)

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

Matthew F. Dennis updated CASSANDRA-2174:
-

Attachment: (was: 2174-cassandra-0.7.txt)

 saved caches written with BufferedRandomAccessFile cannot be read by 
 ObjectInputStream
 --

 Key: CASSANDRA-2174
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2174
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.7.1
Reporter: Matthew F. Dennis
Assignee: Matthew F. Dennis
 Fix For: 0.7.3


 The CacheWriter is currently writing with BufferedRandomAccessFile which is 
 incompatible with ObjectInputStream resulting in stack traces about corrupted 
 stream headers when loading a saved cache.

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




[jira] Updated: (CASSANDRA-2172) Saved-cache files are created for empty caches

2011-02-16 Thread Matthew F. Dennis (JIRA)

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

Matthew F. Dennis updated CASSANDRA-2172:
-

Reviewer: jbellis  (was: mdennis)

 Saved-cache files are created for empty caches
 --

 Key: CASSANDRA-2172
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2172
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.7.1
Reporter: Jonathan Ellis
Assignee: Matthew F. Dennis
Priority: Minor
 Fix For: 0.7.3

 Attachments: 2172-cassandra-0.7-v2.txt, 2172.txt


 This results in a harmless EOFException on startup.

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




[jira] Assigned: (CASSANDRA-2172) Saved-cache files are created for empty caches

2011-02-16 Thread Matthew F. Dennis (JIRA)

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

Matthew F. Dennis reassigned CASSANDRA-2172:


Assignee: Matthew F. Dennis  (was: Jonathan Ellis)

 Saved-cache files are created for empty caches
 --

 Key: CASSANDRA-2172
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2172
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.7.1
Reporter: Jonathan Ellis
Assignee: Matthew F. Dennis
Priority: Minor
 Fix For: 0.7.3

 Attachments: 2172-cassandra-0.7-v2.txt, 2172.txt


 This results in a harmless EOFException on startup.

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




[jira] Updated: (CASSANDRA-2174) saved caches written with BufferedRandomAccessFile cannot be read by ObjectInputStream

2011-02-16 Thread Matthew F. Dennis (JIRA)

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

Matthew F. Dennis updated CASSANDRA-2174:
-

Attachment: 2174-cassandra-0.7.txt

I neglected to see the skipCache flag and was intending to make the read/write 
code symmetric.

attached patch contains only CFS change from OIS to DIS. 

 saved caches written with BufferedRandomAccessFile cannot be read by 
 ObjectInputStream
 --

 Key: CASSANDRA-2174
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2174
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.7.1
Reporter: Matthew F. Dennis
Assignee: Matthew F. Dennis
 Fix For: 0.7.3

 Attachments: 2174-cassandra-0.7.txt


 The CacheWriter is currently writing with BufferedRandomAccessFile which is 
 incompatible with ObjectInputStream resulting in stack traces about corrupted 
 stream headers when loading a saved cache.

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




svn commit: r1071388 - in /cassandra/trunk: ./ conf/ contrib/ interface/thrift/gen-java/org/apache/cassandra/thrift/ src/java/org/apache/cassandra/config/ src/java/org/apache/cassandra/db/ src/java/or

2011-02-16 Thread jbellis
Author: jbellis
Date: Wed Feb 16 20:37:17 2011
New Revision: 1071388

URL: http://svn.apache.org/viewvc?rev=1071388view=rev
Log:
merge from 0.7

Added:
cassandra/trunk/test/long/org/apache/cassandra/db/LongTableTest.java
cassandra/trunk/test/unit/org/apache/cassandra/db/KeyCacheTest.java
Modified:
cassandra/trunk/   (props changed)
cassandra/trunk/CHANGES.txt
cassandra/trunk/conf/cassandra.yaml
cassandra/trunk/contrib/   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
   (props changed)
cassandra/trunk/src/java/org/apache/cassandra/config/Config.java
cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
cassandra/trunk/src/java/org/apache/cassandra/db/HintedHandOffManager.java
cassandra/trunk/src/java/org/apache/cassandra/io/sstable/CacheWriter.java

cassandra/trunk/src/java/org/apache/cassandra/io/util/MappedFileDataInput.java
cassandra/trunk/src/java/org/apache/cassandra/utils/ByteBufferUtil.java
cassandra/trunk/test/conf/cassandra.yaml
cassandra/trunk/test/unit/org/apache/cassandra/db/CompactionsPurgeTest.java
cassandra/trunk/test/unit/org/apache/cassandra/db/TableTest.java

Propchange: cassandra/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Feb 16 20:37:17 2011
@@ -1,5 +1,5 @@
-/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1068009,1068978
-/cassandra/branches/cassandra-0.7:1026516-1070530,1070977
+/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1071070
+/cassandra/branches/cassandra-0.7:1026516-1071380
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689
 /incubator/cassandra/branches/cassandra-0.3:774578-796573

Modified: cassandra/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/CHANGES.txt?rev=1071388r1=1071387r2=1071388view=diff
==
--- cassandra/trunk/CHANGES.txt (original)
+++ cassandra/trunk/CHANGES.txt Wed Feb 16 20:37:17 2011
@@ -10,11 +10,18 @@
  * check for null encryption in MessagingService (CASSANDRA-2152)
 
 
+0.7.3
+ * Keep endpoint state until aVeryLongTime (CASSANDRA-2115)
+ * lower-latency read repair (CASSANDRA-2069)
+ * add hinted_handoff_throttle_delay_in_ms option (CASSANDRA-2161)
+ * don't save empty caches (CASSANDRA-2172)
+
+
 0.7.2
  * copy DecoratedKey.key when inserting into caches to avoid retaining
a reference to the underlying buffer (CASSANDRA-2102)
  * format subcolumn names with subcomparator (CASSANDRA-2136)
- * lower-latency read repair (CASSANDRA-2069)
+ * fix column bloom filter deserialization (CASSANDRA-2165)
 
 
 0.7.1

Modified: cassandra/trunk/conf/cassandra.yaml
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/conf/cassandra.yaml?rev=1071388r1=1071387r2=1071388view=diff
==
--- cassandra/trunk/conf/cassandra.yaml (original)
+++ cassandra/trunk/conf/cassandra.yaml Wed Feb 16 20:37:17 2011
@@ -34,6 +34,8 @@ hinted_handoff_enabled: true
 # this defines the maximum amount of time a dead host will have hints
 # generated.  After it has been dead this long, hints will be dropped.
 max_hint_window_in_ms: 360 # one hour
+# Sleep this long after delivering each row or row fragment
+hinted_handoff_throttle_delay_in_ms: 50
 
 # authentication backend, implementing IAuthenticator; used to identify users
 authenticator: org.apache.cassandra.auth.AllowAllAuthenticator

Propchange: cassandra/trunk/contrib/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Feb 16 20:37:17 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/contrib:922689-1052356,1052358-1053452,1053454,1053456-1068009
-/cassandra/branches/cassandra-0.7/contrib:1026516-1070530,1070977
+/cassandra/branches/cassandra-0.7/contrib:1026516-1071380
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
 /cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689
 /incubator/cassandra/branches/cassandra-0.3/contrib:774578-796573

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed 

svn commit: r1071390 - in /cassandra/branches/cassandra-0.7: CHANGES.txt src/java/org/apache/cassandra/db/ColumnFamilyStore.java

2011-02-16 Thread jbellis
Author: jbellis
Date: Wed Feb 16 20:38:57 2011
New Revision: 1071390

URL: http://svn.apache.org/viewvc?rev=1071390view=rev
Log:
read saved caches with DataInputStream
patch by mdennis; reviewed by jbellis for CASSANDRA-2174

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

cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java

Modified: cassandra/branches/cassandra-0.7/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/CHANGES.txt?rev=1071390r1=1071389r2=1071390view=diff
==
--- cassandra/branches/cassandra-0.7/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.7/CHANGES.txt Wed Feb 16 20:38:57 2011
@@ -2,7 +2,7 @@
  * Keep endpoint state until aVeryLongTime (CASSANDRA-2115)
  * lower-latency read repair (CASSANDRA-2069)
  * add hinted_handoff_throttle_delay_in_ms option (CASSANDRA-2161)
- * don't save empty caches (CASSANDRA-2172)
+ * fixes for cache save/load (CASSANDRA-2172, -2174)
 
 
 0.7.2

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java?rev=1071390r1=1071389r2=1071390view=diff
==
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
 Wed Feb 16 20:38:57 2011
@@ -246,13 +246,13 @@ public class ColumnFamilyStore implement
 SetDecoratedKey keys = new TreeSetDecoratedKey();
 if (path.exists())
 {
-ObjectInputStream in = null;
+DataInputStream in = null;
 try
 {
 long start = System.currentTimeMillis();
 
 logger.info(String.format(reading saved cache %s, path));
-in = new ObjectInputStream(new BufferedInputStream(new 
FileInputStream(path)));
+in = new DataInputStream(new BufferedInputStream(new 
FileInputStream(path)));
 while (in.available()  0)
 {
 int size = in.readInt();




[jira] Commented: (CASSANDRA-1311) Support (asynchronous) triggers

2011-02-16 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-1311:
---

It's not the synchronicity per se that's interesting, so much as the part about 
making them per-replica rather than per-coordinator so we can guarantee 
consistency via the commitlog.

 Support (asynchronous) triggers
 ---

 Key: CASSANDRA-1311
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1311
 Project: Cassandra
  Issue Type: New Feature
  Components: Contrib
Reporter: Maxim Grinev
 Fix For: 0.8

 Attachments: HOWTO-PatchAndRunTriggerExample-update1.txt, 
 HOWTO-PatchAndRunTriggerExample.txt, ImplementationDetails-update1.pdf, 
 ImplementationDetails.pdf, trunk-967053.txt, trunk-984391-update1.txt, 
 trunk-984391-update2.txt


 Asynchronous triggers is a basic mechanism to implement various use cases of 
 asynchronous execution of application code at database side. For example to 
 support indexes and materialized views, online analytics, push-based data 
 propagation.
 Please find the motivation, triggers description and list of applications:
 http://maxgrinev.com/2010/07/23/extending-cassandra-with-asynchronous-triggers/
 An example of using triggers for indexing:
 http://maxgrinev.com/2010/07/23/managing-indexes-in-cassandra-using-async-triggers/
 Implementation details are attached.

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




[jira] Commented: (CASSANDRA-2169) user created with debian packaging is unable to increase memlock

2011-02-16 Thread Jeremy Hanna (JIRA)

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

Jeremy Hanna commented on CASSANDRA-2169:
-

Based on a suggestion from jake and brandon, I added {quote}session required 
pam_limits.so{quote} to /etc/pam.d/common-session and rebooted.  That made it 
so the memlock value was set correctly.  However, for some reason, using 
/etc/init.d/cassandra still gives the memory locking error.  I su to the 
cassandra user and run {quote}/usr/sbin/cassandra -f{quote} and it is able to 
lock the memory.

 user created with debian packaging is unable to increase memlock
 

 Key: CASSANDRA-2169
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2169
 Project: Cassandra
  Issue Type: Bug
  Components: Packaging
Reporter: Jeremy Hanna
Priority: Minor

 To reproduce:
 - Install a fresh copy of ubuntu 10.04.
 - Install sun's java6 jdk.
 - Install libjna-java 3.2.7 into /usr/share/java.
 - Install cassandra 0.7.0 from the apache debian packages.
 - Start cassandra using /etc/init.d/cassandra
 In the output.log there will be the following error:
 {quote}
 Unable to lock JVM memory (ENOMEM). This can result in part of the JVM being 
 swapped out, especially with mmapped I/O enabled. Increase RLIMIT_MEMLOCK or 
 run Cassandra as root.
 {quote}
 This shouldn't be as the debian package creates 
 /etc/security/limits.d/cassandra.conf and sets the cassandra user's memlock 
 limit to 'unlimited'.
 I tried a variety of things including making the memlock unlimited for all 
 users in /etc/security/limits.conf.  I was able to run cassandra using root 
 with jna symbolically linked into /usr/share/cassandra from /usr/share/java, 
 but I could never get the init.d script to work and get beyond that error.
 Based on all the trial and error, I think it might have to do with the 
 cassandra user itself, but my debian/ubuntu fu isn't as good as others'.

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




[jira] Issue Comment Edited: (CASSANDRA-2169) user created with debian packaging is unable to increase memlock

2011-02-16 Thread Jeremy Hanna (JIRA)

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

Jeremy Hanna edited comment on CASSANDRA-2169 at 2/16/11 9:18 PM:
--

Based on a suggestion from jake and brandon, I added {quote}session required 
pam_limits.so{quote} to /etc/pam.d/common-session and rebooted.  That made it 
so the memlock value was set correctly.  However, for some reason, using 
/etc/init.d/cassandra still gives the memory locking error.  I su to the 
cassandra user and run {quote}/usr/sbin/cassandra -f{quote} and it is able to 
lock the memory.

For the pam setting, see 
http://posidev.com/blog/2009/06/04/set-ulimit-parameters-on-ubuntu/

  was (Author: jeromatron):
Based on a suggestion from jake and brandon, I added {quote}session 
required pam_limits.so{quote} to /etc/pam.d/common-session and rebooted.  That 
made it so the memlock value was set correctly.  However, for some reason, 
using /etc/init.d/cassandra still gives the memory locking error.  I su to the 
cassandra user and run {quote}/usr/sbin/cassandra -f{quote} and it is able to 
lock the memory.
  
 user created with debian packaging is unable to increase memlock
 

 Key: CASSANDRA-2169
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2169
 Project: Cassandra
  Issue Type: Bug
  Components: Packaging
Reporter: Jeremy Hanna
Priority: Minor

 To reproduce:
 - Install a fresh copy of ubuntu 10.04.
 - Install sun's java6 jdk.
 - Install libjna-java 3.2.7 into /usr/share/java.
 - Install cassandra 0.7.0 from the apache debian packages.
 - Start cassandra using /etc/init.d/cassandra
 In the output.log there will be the following error:
 {quote}
 Unable to lock JVM memory (ENOMEM). This can result in part of the JVM being 
 swapped out, especially with mmapped I/O enabled. Increase RLIMIT_MEMLOCK or 
 run Cassandra as root.
 {quote}
 This shouldn't be as the debian package creates 
 /etc/security/limits.d/cassandra.conf and sets the cassandra user's memlock 
 limit to 'unlimited'.
 I tried a variety of things including making the memlock unlimited for all 
 users in /etc/security/limits.conf.  I was able to run cassandra using root 
 with jna symbolically linked into /usr/share/cassandra from /usr/share/java, 
 but I could never get the init.d script to work and get beyond that error.
 Based on all the trial and error, I think it might have to do with the 
 cassandra user itself, but my debian/ubuntu fu isn't as good as others'.

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




svn commit: r1071412 - in /cassandra/trunk: ./ contrib/ interface/thrift/gen-java/org/apache/cassandra/thrift/ src/java/org/apache/cassandra/db/

2011-02-16 Thread jbellis
Author: jbellis
Date: Wed Feb 16 21:39:15 2011
New Revision: 1071412

URL: http://svn.apache.org/viewvc?rev=1071412view=rev
Log:
merge from 0.7

Modified:
cassandra/trunk/   (props changed)
cassandra/trunk/CHANGES.txt
cassandra/trunk/contrib/   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
   (props changed)
cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java

Propchange: cassandra/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Feb 16 21:39:15 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1071070
-/cassandra/branches/cassandra-0.7:1026516-1071380
+/cassandra/branches/cassandra-0.7:1026516-1071411
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689
 /incubator/cassandra/branches/cassandra-0.3:774578-796573

Modified: cassandra/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/CHANGES.txt?rev=1071412r1=1071411r2=1071412view=diff
==
--- cassandra/trunk/CHANGES.txt (original)
+++ cassandra/trunk/CHANGES.txt Wed Feb 16 21:39:15 2011
@@ -14,7 +14,7 @@
  * Keep endpoint state until aVeryLongTime (CASSANDRA-2115)
  * lower-latency read repair (CASSANDRA-2069)
  * add hinted_handoff_throttle_delay_in_ms option (CASSANDRA-2161)
- * don't save empty caches (CASSANDRA-2172)
+ * fixes for cache save/load (CASSANDRA-2172, -2174)
 
 
 0.7.2

Propchange: cassandra/trunk/contrib/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Feb 16 21:39:15 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/contrib:922689-1052356,1052358-1053452,1053454,1053456-1068009
-/cassandra/branches/cassandra-0.7/contrib:1026516-1071380
+/cassandra/branches/cassandra-0.7/contrib:1026516-1071411
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
 /cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689
 /incubator/cassandra/branches/cassandra-0.3/contrib:774578-796573

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Feb 16 21:39:15 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-1052356,1052358-1053452,1053454,1053456-1071070
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1071380
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1071411
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1053690-1055654
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1051699-1053689
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/Cassandra.java:774578-796573

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Feb 16 21:39:15 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:922689-1052356,1052358-1053452,1053454,1053456-1071070
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1071380
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1071411
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1053690-1055654
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1051699-1053689
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/column_t.java:774578-792198

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo 

[Cassandra Wiki] Update of ArticlesAndPresentations by JonathanEllis

2011-02-16 Thread Apache Wiki
Dear Wiki user,

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

The ArticlesAndPresentations page has been changed by JonathanEllis.
http://wiki.apache.org/cassandra/ArticlesAndPresentations?action=diffrev1=115rev2=116

--

   * [[http://riptano.blip.tv/file/4015751/|Getting to know the Cassandra 
codebase]]
  
  = Case studies =
+  * 
[[http://www.edwardcapriolo.com/roller/edwardcapriolo/entry/hadoop_nyc_cassandra_talk|Cassandra
 in a realtime bidding infrastructure]]
   * 
[[http://highscalability.com/blog/2011/2/8/mollom-architecture-killing-over-373-million-spams-at-100-re.html|How
 Mollum replaced SSDs and an external cache with Cassandra]]
   * 
[[http://www.slideshare.net/kevinweil/rainbird-realtime-analytics-at-twitter-strata-2011|Rainbird:
 Realtime analytics at Twitter using Cassandra]]
   * [[http://www.ooyala.com/whitepapers/Cassandrawhitepaper.pdf|Online Video 
Analytics with Cassandra at Ooyala]]


[jira] Commented: (CASSANDRA-1427) Optimize loadbalance/move for moves within the current range

2011-02-16 Thread Nick Bailey (JIRA)

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

Nick Bailey commented on CASSANDRA-1427:


* In requestRanges, instead of passing a request count you should just use the 
same strategy that streamRanges uses for counting down the latch.
* Hmm, I didn't notice this before but the fact that the new token in 
loadbalance is calculated before the move changes things pretty significantly.  
The fact that it left the ring before calculating a new token meant that it 
would consider the load it was giving away when trying to pick a new token. 
Honestly maybe we should just get rid of loadbalance since this a major version 
change. If someone wants load balance they can manually decommission then 
bootstrap. We should probably get someone else's opinion here.
* I've got to wonder if there is a better way to test this kind of stuff. 
(Move/Remove/LeaveAndBootstrap)Test are all kind of ridiculous (It's sad that I 
wrote one of them). Maybe we just need a separate task for figuring that out. 
Also perhaps a ticket for making/updating the distributed test for this.

 Optimize loadbalance/move for moves within the current range
 

 Key: CASSANDRA-1427
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1427
 Project: Cassandra
  Issue Type: Sub-task
  Components: Core
Affects Versions: 0.7 beta 1
Reporter: Nick Bailey
Assignee: Pavel Yaskevich
 Fix For: 0.8

 Attachments: CASSANDRA-1427-v2.patch, CASSANDRA-1427-v3.patch, 
 CASSANDRA-1427-v4.patch, CASSANDRA-1427.patch

   Original Estimate: 42h
  Time Spent: 42h
  Remaining Estimate: 0h

 Currently our move/loadbalance operations only implement case 2 of the Ruhl 
 algorithm described at 
 https://issues.apache.org/jira/browse/CASSANDRA-192#action_12713079.
 We should add functionality to optimize moves that take/give ranges to a 
 node's direct neighbors.

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




[jira] Commented: (CASSANDRA-2008) CLI help incorrect in places

2011-02-16 Thread Jon Hermes (JIRA)

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

Jon Hermes commented on CASSANDRA-2008:
---

The problem is that it's yet another place to duplicate the config help. 

There should be one and only one definition of the config options and the 
sample config (conf/cassandra.yaml), the cli-help, and the wiki (and anything 
else that shows up) should all point to or read from that one definition like a 
bible. Adding more points of denormalization, while fine for c*, is bad for c* 
code.

No matter how good the effort for this helpfile is, as new knobs and buttons 
get added to the config, it will suffer rot.

Putting it in YAML wouldn't be my first choice as YAML is slowly getting 
deprecated, but that would suffice to make it parseable by the CLI and readable 
by the sample config at the same time.

-

Aside from the strategy for this bug, that help text looks pretty clean. I'd be 
sure to separate required from optional/defaulted (and give the defaults 
for these in a consistent way), and to sort the options. (The wiki sorts them 
alphabetically and groups them by related config, for example, and still not 
sure if that's ideal.)

 CLI help incorrect in places
 

 Key: CASSANDRA-2008
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2008
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.7.0
Reporter: Aaron Morton
Assignee: Aaron Morton
Priority: Trivial
 Fix For: 0.7.2


 Found some errors in the CLI help, such as these for create column family.
 - memtable_operations: Flush memtables after this many operations
 - memtable_throughput: ... or after this many bytes have been written
 - memtable_flush_after: ... or after this many seconds
 Should be millions of ops, MB's written and minutes not seconds.  Have 
 confirmed thats how the values are used. Will check all the help. 

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




svn commit: r1071428 - in /cassandra/trunk: src/java/org/apache/cassandra/db/ src/java/org/apache/cassandra/io/sstable/ src/java/org/apache/cassandra/io/util/ src/java/org/apache/cassandra/service/ te

2011-02-16 Thread jbellis
Author: jbellis
Date: Wed Feb 16 22:40:51 2011
New Revision: 1071428

URL: http://svn.apache.org/viewvc?rev=1071428view=rev
Log:
intern column names to save old-gen heap space
patch by jbellis; reviewed by stuhood for CASSANDRA-1255

Modified:
cassandra/trunk/src/java/org/apache/cassandra/db/Column.java
cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamily.java
cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilySerializer.java
cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
cassandra/trunk/src/java/org/apache/cassandra/db/ColumnSerializer.java
cassandra/trunk/src/java/org/apache/cassandra/db/CounterColumn.java
cassandra/trunk/src/java/org/apache/cassandra/db/CounterMutation.java
cassandra/trunk/src/java/org/apache/cassandra/db/CounterUpdateColumn.java
cassandra/trunk/src/java/org/apache/cassandra/db/DeletedColumn.java
cassandra/trunk/src/java/org/apache/cassandra/db/ExpiringColumn.java
cassandra/trunk/src/java/org/apache/cassandra/db/IColumn.java
cassandra/trunk/src/java/org/apache/cassandra/db/RowMutation.java
cassandra/trunk/src/java/org/apache/cassandra/db/SuperColumn.java
cassandra/trunk/src/java/org/apache/cassandra/db/Table.java

cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableIdentityIterator.java
cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
cassandra/trunk/src/java/org/apache/cassandra/io/util/ColumnSortedMap.java
cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java
cassandra/trunk/test/unit/org/apache/cassandra/db/CounterColumnTest.java

Modified: cassandra/trunk/src/java/org/apache/cassandra/db/Column.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/Column.java?rev=1071428r1=1071427r2=1071428view=diff
==
--- cassandra/trunk/src/java/org/apache/cassandra/db/Column.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/db/Column.java Wed Feb 16 
22:40:51 2011
@@ -215,9 +215,9 @@ public class Column implements IColumn
 return result;
 }
 
-public IColumn deepCopy()
+public IColumn localCopy(ColumnFamilyStore cfs)
 {
-return new Column(ByteBufferUtil.clone(name), 
ByteBufferUtil.clone(value), timestamp);
+return new Column(cfs.internOrCopy(name), ByteBufferUtil.clone(value), 
timestamp);
 }
 
 public String getString(AbstractType comparator)

Modified: cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamily.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamily.java?rev=1071428r1=1071427r2=1071428view=diff
==
--- cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamily.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamily.java Wed Feb 
16 22:40:51 2011
@@ -37,6 +37,7 @@ import org.apache.cassandra.config.Datab
 import org.apache.cassandra.db.filter.QueryPath;
 import org.apache.cassandra.db.marshal.AbstractCommutativeType;
 import org.apache.cassandra.db.marshal.AbstractType;
+import org.apache.cassandra.io.IColumnSerializer;
 import org.apache.cassandra.io.ICompactSerializer2;
 import org.apache.cassandra.io.util.IIterableColumns;
 import org.apache.cassandra.utils.FBUtilities;
@@ -72,7 +73,7 @@ public class ColumnFamily implements ICo
 private final Integer cfid;
 private final ColumnFamilyType type;
 
-private transient ICompactSerializer2IColumn columnSerializer;
+private transient IColumnSerializer columnSerializer;
 final AtomicLong markedForDeleteAt = new AtomicLong(Long.MIN_VALUE);
 final AtomicInteger localDeletionTime = new 
AtomicInteger(Integer.MIN_VALUE);
 private ConcurrentSkipListMapByteBuffer, IColumn columns;
@@ -137,7 +138,7 @@ public class ColumnFamily implements ICo
 /**
  * FIXME: Gross.
  */
-public ICompactSerializer2IColumn getColumnSerializer()
+public IColumnSerializer getColumnSerializer()
 {
 return columnSerializer;
 }
@@ -434,14 +435,4 @@ public class ColumnFamily implements ICo
 {
 return columns.values().iterator();
 }
-
-/**
- * Used to force copy an existing column
- * @param column column to copy
- */
-public void deepCopyColumn(IColumn column)
-{
-remove(column.name());
-addColumn(column.deepCopy());
-}
 }

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilySerializer.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilySerializer.java?rev=1071428r1=1071427r2=1071428view=diff
==
--- 
cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilySerializer.java 
(original)
+++ 

buildbot failure in ASF Buildbot on cassandra-trunk

2011-02-16 Thread buildbot
The Buildbot has detected a new failure of cassandra-trunk on ASF Buildbot.
Full details are available at:
 http://ci.apache.org/builders/cassandra-trunk/builds/1033

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

Buildslave for this Build: isis_ubuntu

Build Reason: 
Build Source Stamp: [branch cassandra/trunk] 1071428
Blamelist: jbellis

BUILD FAILED: failed compile

sincerely,
 -The Buildbot



[jira] Commented: (CASSANDRA-2008) CLI help incorrect in places

2011-02-16 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2008:
---

I am not a fan either of the cli somehow extracting yaml comments (don't most 
yaml parsers ignore comments?) or more fundamentally the assumption that 
comments explaining a config option are either appropriate or sufficient for 
the cli.  The two are fairly different beasts even when covering similar 
material.

 CLI help incorrect in places
 

 Key: CASSANDRA-2008
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2008
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.7.0
Reporter: Aaron Morton
Assignee: Aaron Morton
Priority: Trivial
 Fix For: 0.7.2


 Found some errors in the CLI help, such as these for create column family.
 - memtable_operations: Flush memtables after this many operations
 - memtable_throughput: ... or after this many bytes have been written
 - memtable_flush_after: ... or after this many seconds
 Should be millions of ops, MB's written and minutes not seconds.  Have 
 confirmed thats how the values are used. Will check all the help. 

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




[jira] Commented: (CASSANDRA-2174) saved caches written with BufferedRandomAccessFile cannot be read by ObjectInputStream

2011-02-16 Thread Hudson (JIRA)

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

Hudson commented on CASSANDRA-2174:
---

Integrated in Cassandra-0.7 #282 (See 
[https://hudson.apache.org/hudson/job/Cassandra-0.7/282/])
read saved caches with DataInputStream
patch by mdennis; reviewed by jbellis for CASSANDRA-2174


 saved caches written with BufferedRandomAccessFile cannot be read by 
 ObjectInputStream
 --

 Key: CASSANDRA-2174
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2174
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.7.1
Reporter: Matthew F. Dennis
Assignee: Matthew F. Dennis
 Fix For: 0.7.3

 Attachments: 2174-cassandra-0.7.txt


 The CacheWriter is currently writing with BufferedRandomAccessFile which is 
 incompatible with ObjectInputStream resulting in stack traces about corrupted 
 stream headers when loading a saved cache.

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




svn commit: r1071433 - /cassandra/trunk/src/java/org/apache/cassandra/io/IColumnSerializer.java

2011-02-16 Thread jbellis
Author: jbellis
Date: Wed Feb 16 22:57:18 2011
New Revision: 1071433

URL: http://svn.apache.org/viewvc?rev=1071433view=rev
Log:
add missing IColumnSerializer.java

Added:
cassandra/trunk/src/java/org/apache/cassandra/io/IColumnSerializer.java

Added: cassandra/trunk/src/java/org/apache/cassandra/io/IColumnSerializer.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/io/IColumnSerializer.java?rev=1071433view=auto
==
--- cassandra/trunk/src/java/org/apache/cassandra/io/IColumnSerializer.java 
(added)
+++ cassandra/trunk/src/java/org/apache/cassandra/io/IColumnSerializer.java Wed 
Feb 16 22:57:18 2011
@@ -0,0 +1,12 @@
+package org.apache.cassandra.io;
+
+import java.io.DataInput;
+import java.io.IOException;
+
+import org.apache.cassandra.db.ColumnFamilyStore;
+import org.apache.cassandra.db.IColumn;
+
+public interface IColumnSerializer extends ICompactSerializer2IColumn
+{
+public IColumn deserialize(DataInput in, ColumnFamilyStore interner) 
throws IOException;
+}




[jira] Updated: (CASSANDRA-1969) Use BB for row cache - To Improve GC performance.

2011-02-16 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-1969:
--

Attachment: (was: 0002-implement-SerializingCache.txt)

 Use BB for row cache - To Improve GC performance.
 -

 Key: CASSANDRA-1969
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1969
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
 Environment: Linux and Mac
Reporter: Vijay
Assignee: Vijay
Priority: Minor
 Attachments: 0001-Config-1969.txt, 0002-Update_existing-1965.txt, 
 0002-implement-SerializingCacheV2.txt, 0003-New_Cache_Providers-1969.txt, 
 0004-TestCase-1969.txt, BB_Cache-1945.png, JMX-Cache-1945.png, 
 Old_Cahce-1945.png, POC-0001-Config-1945.txt, 
 POC-0002-Update_existing-1945.txt, POC-0003-New_Cache_Providers-1945.txt


 Java BB.allocateDirect() will allocate native memory out of the JVM and will 
 help reducing the GC pressure in the JVM with a large Cache.
 From some of the basic tests it shows around 50% improvement than doing a 
 normal Object cache.
 In addition this patch provide the users an option to choose 
 BB.allocateDirect or store everything in the heap.

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




[jira] Updated: (CASSANDRA-1969) Use BB for row cache - To Improve GC performance.

2011-02-16 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-1969:
--

Attachment: (was: 
0001-introduce-ICache-InstrumentingCache-IRowCacheProvider.txt)

 Use BB for row cache - To Improve GC performance.
 -

 Key: CASSANDRA-1969
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1969
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
 Environment: Linux and Mac
Reporter: Vijay
Assignee: Vijay
Priority: Minor
 Attachments: 0001-Config-1969.txt, 0002-Update_existing-1965.txt, 
 0002-implement-SerializingCacheV2.txt, 0003-New_Cache_Providers-1969.txt, 
 0004-TestCase-1969.txt, BB_Cache-1945.png, JMX-Cache-1945.png, 
 Old_Cahce-1945.png, POC-0001-Config-1945.txt, 
 POC-0002-Update_existing-1945.txt, POC-0003-New_Cache_Providers-1945.txt


 Java BB.allocateDirect() will allocate native memory out of the JVM and will 
 help reducing the GC pressure in the JVM with a large Cache.
 From some of the basic tests it shows around 50% improvement than doing a 
 normal Object cache.
 In addition this patch provide the users an option to choose 
 BB.allocateDirect or store everything in the heap.

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




[jira] Updated: (CASSANDRA-1969) Use BB for row cache - To Improve GC performance.

2011-02-16 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-1969:
--

Attachment: (was: 0003-add-ICache.isCopying-method.txt)

 Use BB for row cache - To Improve GC performance.
 -

 Key: CASSANDRA-1969
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1969
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
 Environment: Linux and Mac
Reporter: Vijay
Assignee: Vijay
Priority: Minor
 Attachments: 0001-Config-1969.txt, 0002-Update_existing-1965.txt, 
 0002-implement-SerializingCacheV2.txt, 0003-New_Cache_Providers-1969.txt, 
 0004-TestCase-1969.txt, BB_Cache-1945.png, JMX-Cache-1945.png, 
 Old_Cahce-1945.png, POC-0001-Config-1945.txt, 
 POC-0002-Update_existing-1945.txt, POC-0003-New_Cache_Providers-1945.txt


 Java BB.allocateDirect() will allocate native memory out of the JVM and will 
 help reducing the GC pressure in the JVM with a large Cache.
 From some of the basic tests it shows around 50% improvement than doing a 
 normal Object cache.
 In addition this patch provide the users an option to choose 
 BB.allocateDirect or store everything in the heap.

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




[jira] Updated: (CASSANDRA-1969) Use BB for row cache - To Improve GC performance.

2011-02-16 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-1969:
--

Attachment: 0003-add-ICache.isCopying-method.txt
0002-implement-SerializingCache.txt
0001-introduce-ICache-InstrumentingCache-IRowCacheProvider.txt

 Use BB for row cache - To Improve GC performance.
 -

 Key: CASSANDRA-1969
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1969
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
 Environment: Linux and Mac
Reporter: Vijay
Assignee: Vijay
Priority: Minor
 Attachments: 0001-Config-1969.txt, 
 0001-introduce-ICache-InstrumentingCache-IRowCacheProvider.txt, 
 0002-Update_existing-1965.txt, 0002-implement-SerializingCache.txt, 
 0002-implement-SerializingCacheV2.txt, 0003-New_Cache_Providers-1969.txt, 
 0003-add-ICache.isCopying-method.txt, 0004-TestCase-1969.txt, 
 BB_Cache-1945.png, JMX-Cache-1945.png, Old_Cahce-1945.png, 
 POC-0001-Config-1945.txt, POC-0002-Update_existing-1945.txt, 
 POC-0003-New_Cache_Providers-1945.txt


 Java BB.allocateDirect() will allocate native memory out of the JVM and will 
 help reducing the GC pressure in the JVM with a large Cache.
 From some of the basic tests it shows around 50% improvement than doing a 
 normal Object cache.
 In addition this patch provide the users an option to choose 
 BB.allocateDirect or store everything in the heap.

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




[jira] Commented: (CASSANDRA-1969) Use BB for row cache - To Improve GC performance.

2011-02-16 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-1969:
---

Hmm, I can't apply 0002-V2 on top of either my 0001 + trunk from feb 5, or 
current trunk + rebased 0001.  And Eclipse generates the diff in a different 
order from git commandline, so I can't tell what's changed by eyeballing the 
diff either.

I've attached rebased-to-current-trunk versions of my 0001-0003, can you attach 
your fixes as a 0004 on top of those?

 Use BB for row cache - To Improve GC performance.
 -

 Key: CASSANDRA-1969
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1969
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
 Environment: Linux and Mac
Reporter: Vijay
Assignee: Vijay
Priority: Minor
 Attachments: 0001-Config-1969.txt, 
 0001-introduce-ICache-InstrumentingCache-IRowCacheProvider.txt, 
 0002-Update_existing-1965.txt, 0002-implement-SerializingCache.txt, 
 0002-implement-SerializingCacheV2.txt, 0003-New_Cache_Providers-1969.txt, 
 0003-add-ICache.isCopying-method.txt, 0004-TestCase-1969.txt, 
 BB_Cache-1945.png, JMX-Cache-1945.png, Old_Cahce-1945.png, 
 POC-0001-Config-1945.txt, POC-0002-Update_existing-1945.txt, 
 POC-0003-New_Cache_Providers-1945.txt


 Java BB.allocateDirect() will allocate native memory out of the JVM and will 
 help reducing the GC pressure in the JVM with a large Cache.
 From some of the basic tests it shows around 50% improvement than doing a 
 normal Object cache.
 In addition this patch provide the users an option to choose 
 BB.allocateDirect or store everything in the heap.

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




svn commit: r1071448 - /cassandra/tags/cassandra-0.7.2/

2011-02-16 Thread eevans
Author: eevans
Date: Wed Feb 16 23:53:16 2011
New Revision: 1071448

URL: http://svn.apache.org/viewvc?rev=1071448view=rev
Log:
tagging 0.7.2 release

Added:
cassandra/tags/cassandra-0.7.2/
  - copied from r1071063, cassandra/branches/cassandra-0.7.2/



[jira] Commented: (CASSANDRA-2008) CLI help incorrect in places

2011-02-16 Thread Aaron Morton (JIRA)

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

Aaron Morton commented on CASSANDRA-2008:
-

@jon I was combining this with CASSANDRA-2007 to move the demo keyspace out of 
cassandra.yaml and into a cli file. In the user groups we always tell people to 
use the cli to create a keyspace, but we don't have an example. My 
understanding was loading schema defs through JConsole was no longer the 
preferred method. I went with yaml as we already have it in the tree, can 
change if there is an agreed alternative. 

@jonathan Am using literals in the yaml file so newlines are preserved 
http://www.yaml.org/spec/1.2/spec.html#id2760844 The yaml looks something like 
commands:
  - name: NODE_ADD_KEYSPACE
help: |
blah blah

blah
  - name: NODE_UPDATE_KEYSPACE


I'll get the rest of the help sorted and then we can edit it if needed. It will 
not be a straight lift from cassandra.yaml, but there is more information in 
cassandra.yaml and I want to make most of that available in the cli. My main 
goal here is to cut out some of the simple support questions. 

 

 CLI help incorrect in places
 

 Key: CASSANDRA-2008
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2008
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.7.0
Reporter: Aaron Morton
Assignee: Aaron Morton
Priority: Trivial
 Fix For: 0.7.2


 Found some errors in the CLI help, such as these for create column family.
 - memtable_operations: Flush memtables after this many operations
 - memtable_throughput: ... or after this many bytes have been written
 - memtable_flush_after: ... or after this many seconds
 Should be millions of ops, MB's written and minutes not seconds.  Have 
 confirmed thats how the values are used. Will check all the help. 

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




[jira] Issue Comment Edited: (CASSANDRA-2008) CLI help incorrect in places

2011-02-16 Thread Aaron Morton (JIRA)

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

Aaron Morton edited comment on CASSANDRA-2008 at 2/17/11 12:16 AM:
---

@jon I was combining this with CASSANDRA-2007 to move the demo keyspace out of 
cassandra.yaml and into a cli file. In the user groups we always tell people to 
use the cli to create a keyspace, but we don't have an example. My 
understanding was loading schema defs through JConsole was no longer the 
preferred method. I went with yaml as we already have it in the tree, can 
change if there is an agreed alternative. 

@jonathan Am using literals in the yaml file so newlines are preserved 
http://www.yaml.org/spec/1.2/spec.html#id2760844 The yaml looks something like
{{noformat}} 
commands:
  - name: NODE_ADD_KEYSPACE
help: |
blah blah

blah
  - name: NODE_UPDATE_KEYSPACE
{{noformat}}

I'll get the rest of the help sorted and then we can edit it if needed. It will 
not be a straight lift from cassandra.yaml, but there is more information in 
cassandra.yaml and I want to make most of that available in the cli. My main 
goal here is to cut out some of the simple support questions. 

 

  was (Author: amorton):
@jon I was combining this with CASSANDRA-2007 to move the demo keyspace out 
of cassandra.yaml and into a cli file. In the user groups we always tell people 
to use the cli to create a keyspace, but we don't have an example. My 
understanding was loading schema defs through JConsole was no longer the 
preferred method. I went with yaml as we already have it in the tree, can 
change if there is an agreed alternative. 

@jonathan Am using literals in the yaml file so newlines are preserved 
http://www.yaml.org/spec/1.2/spec.html#id2760844 The yaml looks something like 
commands:
  - name: NODE_ADD_KEYSPACE
help: |
blah blah

blah
  - name: NODE_UPDATE_KEYSPACE


I'll get the rest of the help sorted and then we can edit it if needed. It will 
not be a straight lift from cassandra.yaml, but there is more information in 
cassandra.yaml and I want to make most of that available in the cli. My main 
goal here is to cut out some of the simple support questions. 

 
  
 CLI help incorrect in places
 

 Key: CASSANDRA-2008
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2008
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.7.0
Reporter: Aaron Morton
Assignee: Aaron Morton
Priority: Trivial
 Fix For: 0.7.2


 Found some errors in the CLI help, such as these for create column family.
 - memtable_operations: Flush memtables after this many operations
 - memtable_throughput: ... or after this many bytes have been written
 - memtable_flush_after: ... or after this many seconds
 Should be millions of ops, MB's written and minutes not seconds.  Have 
 confirmed thats how the values are used. Will check all the help. 

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




[jira] Issue Comment Edited: (CASSANDRA-2008) CLI help incorrect in places

2011-02-16 Thread Aaron Morton (JIRA)

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

Aaron Morton edited comment on CASSANDRA-2008 at 2/17/11 12:16 AM:
---

@jon I was combining this with CASSANDRA-2007 to move the demo keyspace out of 
cassandra.yaml and into a cli file. In the user groups we always tell people to 
use the cli to create a keyspace, but we don't have an example. My 
understanding was loading schema defs through JConsole was no longer the 
preferred method. I went with yaml as we already have it in the tree, can 
change if there is an agreed alternative. 

@jonathan Am using literals in the yaml file so newlines are preserved 
http://www.yaml.org/spec/1.2/spec.html#id2760844 The yaml looks something like
{noformat} 
commands:
  - name: NODE_ADD_KEYSPACE
help: |
blah blah

blah
  - name: NODE_UPDATE_KEYSPACE
{noformat}

I'll get the rest of the help sorted and then we can edit it if needed. It will 
not be a straight lift from cassandra.yaml, but there is more information in 
cassandra.yaml and I want to make most of that available in the cli. My main 
goal here is to cut out some of the simple support questions. 

 

  was (Author: amorton):
@jon I was combining this with CASSANDRA-2007 to move the demo keyspace out 
of cassandra.yaml and into a cli file. In the user groups we always tell people 
to use the cli to create a keyspace, but we don't have an example. My 
understanding was loading schema defs through JConsole was no longer the 
preferred method. I went with yaml as we already have it in the tree, can 
change if there is an agreed alternative. 

@jonathan Am using literals in the yaml file so newlines are preserved 
http://www.yaml.org/spec/1.2/spec.html#id2760844 The yaml looks something like
{{noformat}} 
commands:
  - name: NODE_ADD_KEYSPACE
help: |
blah blah

blah
  - name: NODE_UPDATE_KEYSPACE
{{noformat}}

I'll get the rest of the help sorted and then we can edit it if needed. It will 
not be a straight lift from cassandra.yaml, but there is more information in 
cassandra.yaml and I want to make most of that available in the cli. My main 
goal here is to cut out some of the simple support questions. 

 
  
 CLI help incorrect in places
 

 Key: CASSANDRA-2008
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2008
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.7.0
Reporter: Aaron Morton
Assignee: Aaron Morton
Priority: Trivial
 Fix For: 0.7.2


 Found some errors in the CLI help, such as these for create column family.
 - memtable_operations: Flush memtables after this many operations
 - memtable_throughput: ... or after this many bytes have been written
 - memtable_flush_after: ... or after this many seconds
 Should be millions of ops, MB's written and minutes not seconds.  Have 
 confirmed thats how the values are used. Will check all the help. 

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




[jira] Commented: (CASSANDRA-2008) CLI help incorrect in places

2011-02-16 Thread Aaron Morton (JIRA)

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

Aaron Morton commented on CASSANDRA-2008:
-

To be clear, I am not using conf/cassandra.yaml as the source of online help 
for cassandra-cli. 

I'm adding a file called o.a.c.cli.CliHelp.yaml to the cassandra jar as a non 
code resource. The sole purpose of this file is to store the online help for 
the cli. It is organised around the antlr nodes as defined in the grammer (as 
the existing code does). 

In the CliHelp.yaml file I'm using literal yaml strings to hold the help 
contents.  

 CLI help incorrect in places
 

 Key: CASSANDRA-2008
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2008
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.7.0
Reporter: Aaron Morton
Assignee: Aaron Morton
Priority: Trivial
 Fix For: 0.7.2


 Found some errors in the CLI help, such as these for create column family.
 - memtable_operations: Flush memtables after this many operations
 - memtable_throughput: ... or after this many bytes have been written
 - memtable_flush_after: ... or after this many seconds
 Should be millions of ops, MB's written and minutes not seconds.  Have 
 confirmed thats how the values are used. Will check all the help. 

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




svn commit: r1071464 - in /cassandra/site: publish/download/index.html publish/index.html src/settings.py

2011-02-16 Thread eevans
Author: eevans
Date: Thu Feb 17 00:53:29 2011
New Revision: 1071464

URL: http://svn.apache.org/viewvc?rev=1071464view=rev
Log:
update versioning for site

Modified:
cassandra/site/publish/download/index.html
cassandra/site/publish/index.html
cassandra/site/src/settings.py

Modified: cassandra/site/publish/download/index.html
URL: 
http://svn.apache.org/viewvc/cassandra/site/publish/download/index.html?rev=1071464r1=1071463r2=1071464view=diff
==
--- cassandra/site/publish/download/index.html (original)
+++ cassandra/site/publish/download/index.html Thu Feb 17 00:53:29 2011
@@ -73,31 +73,31 @@
   
 
   p
-  The latest stable release of Apache Cassandra is 0.7.1
-  (released on 2011-02-14).  iIf you're just
+  The latest stable release of Apache Cassandra is 0.7.2
+  (released on 2011-02-16).  iIf you're just
   starting out, download this one./i
   /p
 
   ul
 li
 a class=filename 
-   
href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/0.7.1/apache-cassandra-0.7.1-bin.tar.gz;
+   
href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/0.7.2/apache-cassandra-0.7.2-bin.tar.gz;
onclick=javascript: 
pageTracker._trackPageview('/clicks/binary_download');
-  apache-cassandra-0.7.1-bin.tar.gz
+  apache-cassandra-0.7.2-bin.tar.gz
 /a
-[a 
href=http://www.apache.org/dist/cassandra/0.7.1/apache-cassandra-0.7.1-bin.tar.gz.asc;PGP/a]
-[a 
href=http://www.apache.org/dist/cassandra/0.7.1/apache-cassandra-0.7.1-bin.tar.gz.md5;MD5/a]
-[a 
href=http://www.apache.org/dist/cassandra/0.7.1/apache-cassandra-0.7.1-bin.tar.gz.sha;SHA1/a]
+[a 
href=http://www.apache.org/dist/cassandra/0.7.2/apache-cassandra-0.7.2-bin.tar.gz.asc;PGP/a]
+[a 
href=http://www.apache.org/dist/cassandra/0.7.2/apache-cassandra-0.7.2-bin.tar.gz.md5;MD5/a]
+[a 
href=http://www.apache.org/dist/cassandra/0.7.2/apache-cassandra-0.7.2-bin.tar.gz.sha;SHA1/a]
 /li
 li
 a class=filename 
-   
href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/0.7.1/apache-cassandra-0.7.1-src.tar.gz;
+   
href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/0.7.2/apache-cassandra-0.7.2-src.tar.gz;
onclick=javascript: 
pageTracker._trackPageview('/clicks/source_download');
-  apache-cassandra-0.7.1-src.tar.gz
+  apache-cassandra-0.7.2-src.tar.gz
 /a
-[a 
href=http://www.apache.org/dist/cassandra/0.7.1/apache-cassandra-0.7.1-src.tar.gz.asc;PGP/a]
-[a 
href=http://www.apache.org/dist/cassandra/0.7.1/apache-cassandra-0.7.1-src.tar.gz.md5;MD5/a]
-[a 
href=http://www.apache.org/dist/cassandra/0.7.1/apache-cassandra-0.7.1-src.tar.gz.sha;SHA1/a]
+[a 
href=http://www.apache.org/dist/cassandra/0.7.2/apache-cassandra-0.7.2-src.tar.gz.asc;PGP/a]
+[a 
href=http://www.apache.org/dist/cassandra/0.7.2/apache-cassandra-0.7.2-src.tar.gz.md5;MD5/a]
+[a 
href=http://www.apache.org/dist/cassandra/0.7.2/apache-cassandra-0.7.2-src.tar.gz.sha;SHA1/a]
 /li
   /ul 
 
@@ -139,15 +139,15 @@ New users to Cassandra should be sure to
   h2Download/h2
   div class=inner rc
 p
-The latest release is b0.7.1/b
-span class=relnotes(a 
href=https://svn.apache.org/repos/asf/cassandra/tags/cassandra-0.7.1/CHANGES.txt;Changes/a)/span
+The latest release is b0.7.2/b
+span class=relnotes(a 
href=https://svn.apache.org/repos/asf/cassandra/tags/cassandra-0.7.2/CHANGES.txt;Changes/a)/span
 /p
 
 p
 a class=filename 
-   
href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/0.7.1/apache-cassandra-0.7.1-bin.tar.gz;
+   
href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/0.7.2/apache-cassandra-0.7.2-bin.tar.gz;
onclick=javascript: 
pageTracker._trackPageview('/clicks/binary_download');
-  apache-cassandra-0.7.1-bin.tar.gz
+  apache-cassandra-0.7.2-bin.tar.gz
 /a
 /p
 

Modified: cassandra/site/publish/index.html
URL: 
http://svn.apache.org/viewvc/cassandra/site/publish/index.html?rev=1071464r1=1071463r2=1071464view=diff
==
--- cassandra/site/publish/index.html (original)
+++ cassandra/site/publish/index.html Thu Feb 17 00:53:29 2011
@@ -82,15 +82,15 @@
   h2Download/h2
   div class=inner rc
 p
-The latest release is b0.7.1/b
-span class=relnotes(a 
href=https://svn.apache.org/repos/asf/cassandra/tags/cassandra-0.7.1/CHANGES.txt;Changes/a)/span
+The latest release is b0.7.2/b
+span class=relnotes(a 
href=https://svn.apache.org/repos/asf/cassandra/tags/cassandra-0.7.2/CHANGES.txt;Changes/a)/span
 /p
 
 p
 a class=filename 
-   
href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/0.7.1/apache-cassandra-0.7.1-bin.tar.gz;
+   
href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/0.7.2/apache-cassandra-0.7.2-bin.tar.gz;
onclick=javascript: 

svn commit: r1071467 - in /cassandra/trunk: drivers/py/cql/connection.py drivers/py/cql/errors.py drivers/py/cql/marshal.py drivers/py/test/test_query_preparation.py test/system/test_cql.py

2011-02-16 Thread eevans
Author: eevans
Date: Thu Feb 17 01:22:09 2011
New Revision: 1071467

URL: http://svn.apache.org/viewvc?rev=1071467view=rev
Log:
parameter substitution for python CQL driver

Patch by eevans for CASSANDRA-1711

Added:
cassandra/trunk/drivers/py/cql/marshal.py
cassandra/trunk/drivers/py/test/test_query_preparation.py
Modified:
cassandra/trunk/drivers/py/cql/connection.py
cassandra/trunk/drivers/py/cql/errors.py
cassandra/trunk/test/system/test_cql.py

Modified: cassandra/trunk/drivers/py/cql/connection.py
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/drivers/py/cql/connection.py?rev=1071467r1=1071466r2=1071467view=diff
==
--- cassandra/trunk/drivers/py/cql/connection.py (original)
+++ cassandra/trunk/drivers/py/cql/connection.py Thu Feb 17 01:22:09 2011
@@ -20,6 +20,7 @@ from thrift.transport import TTransport,
 from thrift.protocol import TBinaryProtocol
 from thrift.Thrift import TApplicationException
 from errors import CQLException, InvalidCompressionScheme
+from marshal import prepare
 import zlib
 
 try:
@@ -71,18 +72,22 @@ class Connection(object):
 if keyspace:
 self.execute('USE %s;' % keyspace)
 
-def execute(self, query, compression=None):
+def execute(self, query, *args, **kwargs):
 
 Execute a CQL query on a remote node.
 
 Params:
 * query .: CQL query string.
+* args ..: Query parameters.
 * compression ...: Query compression type (optional).
 
-compress = compression is None and DEFAULT_COMPRESSION \
-or compression.upper()
+if kwargs.has_key(compression):
+compress = kwargs.get(compression).upper()
+else:
+compress = DEFAULT_COMPRESSION
 
-compressed_query = Connection.compress_query(query, compress)
+compressed_query = Connection.compress_query(prepare(query, *args),
+ compress)
 request_compression = getattr(Compression, compress)
 
 try:

Modified: cassandra/trunk/drivers/py/cql/errors.py
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/drivers/py/cql/errors.py?rev=1071467r1=1071466r2=1071467view=diff
==
--- cassandra/trunk/drivers/py/cql/errors.py (original)
+++ cassandra/trunk/drivers/py/cql/errors.py Thu Feb 17 01:22:09 2011
@@ -15,7 +15,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-__all__ = ['InvalidCompressionScheme', 'CQLException']
+__all__ = ['InvalidCompressionScheme', 'CQLException', 'InvalidQueryFormat']
 
 class InvalidCompressionScheme(Exception): pass
+class InvalidQueryFormat(Exception): pass
 class CQLException(Exception): pass

Added: cassandra/trunk/drivers/py/cql/marshal.py
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/drivers/py/cql/marshal.py?rev=1071467view=auto
==
--- cassandra/trunk/drivers/py/cql/marshal.py (added)
+++ cassandra/trunk/drivers/py/cql/marshal.py Thu Feb 17 01:22:09 2011
@@ -0,0 +1,62 @@
+
+# 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.
+
+from uuid import UUID
+from StringIO import StringIO
+from errors import InvalidQueryFormat
+
+__all__ = ['prepare']
+
+def prepare(query, *args):
+result = StringIO()
+index = query.find('?')
+oldindex = 0
+count = 0
+
+while (index = 0):
+result.write(query[oldindex:index])
+try:
+result.write(marshal(args[count]))
+except IndexError:
+raise InvalidQueryFormat(not enough arguments in substitution)
+
+oldindex = index + 1
+index = query.find('?', index + 1)
+count += 1
+result.write(query[oldindex:])
+
+if count  len(args):
+raise InvalidQueryFormat(too many arguments in substitution)
+
+return result.getvalue()
+
+def marshal(term):
+if isinstance(term, long):
+return %dL % term
+elif isinstance(term, int):
+return %d % term
+elif 

svn commit: r1071468 - in /cassandra/trunk/src/java/org/apache/cassandra/cql: Cql.g CreateIndexStatement.java QueryProcessor.java StatementType.java

2011-02-16 Thread eevans
Author: eevans
Date: Thu Feb 17 01:23:28 2011
New Revision: 1071468

URL: http://svn.apache.org/viewvc?rev=1071468view=rev
Log:
CREATE INDEX implementation

Patch by eevans for CASSANDRA-1709

Added:
cassandra/trunk/src/java/org/apache/cassandra/cql/CreateIndexStatement.java
Modified:
cassandra/trunk/src/java/org/apache/cassandra/cql/Cql.g
cassandra/trunk/src/java/org/apache/cassandra/cql/QueryProcessor.java
cassandra/trunk/src/java/org/apache/cassandra/cql/StatementType.java

Modified: cassandra/trunk/src/java/org/apache/cassandra/cql/Cql.g
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/cql/Cql.g?rev=1071468r1=1071467r2=1071468view=diff
==
--- cassandra/trunk/src/java/org/apache/cassandra/cql/Cql.g (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/cql/Cql.g Thu Feb 17 01:23:28 
2011
@@ -64,6 +64,7 @@ query returns [CQLStatement stmnt]
 | deleteStatement   { $stmnt = new CQLStatement(StatementType.DELETE, 
$deleteStatement.expr); }
 | createKeyspaceStatement { $stmnt = new 
CQLStatement(StatementType.CREATE_KEYSPACE, $createKeyspaceStatement.expr); }
 | createColumnFamilyStatement { $stmnt = new 
CQLStatement(StatementType.CREATE_COLUMNFAMILY, 
$createColumnFamilyStatement.expr); }
+| createIndexStatement { $stmnt = new 
CQLStatement(StatementType.CREATE_INDEX, $createIndexStatement.expr); }
 ;
 
 // USE KEYSPACE;
@@ -242,6 +243,12 @@ createCfamKeywordArgument returns [Strin
 | value=( STRING_LITERAL | INTEGER | FLOAT ) { $arg = $value.text; }
 ;
 
+/** CREATE INDEX [indexName] ON columnFamily (columnName); */
+createIndexStatement returns [CreateIndexStatement expr]
+: K_CREATE K_INDEX (idxName=IDENT)? K_ON cf=IDENT '(' columnName=term ')' 
endStmnt
+  { $expr = new CreateIndexStatement($idxName.text, $cf.text, columnName); 
}
+;
+
 comparatorType
 : 'bytes' | 'ascii' | 'utf8' | 'int' | 'long' | 'uuid' | 'timeuuid'
 ;
@@ -323,6 +330,8 @@ K_IN:  I N;
 K_CREATE:  C R E A T E;
 K_KEYSPACE:K E Y S P A C E;
 K_COLUMNFAMILY: C O L U M N F A M I L Y;
+K_INDEX:   I N D E X;
+K_ON:  O N;
 
 // Case-insensitive alpha characters
 fragment A: ('a'|'A');

Added: 
cassandra/trunk/src/java/org/apache/cassandra/cql/CreateIndexStatement.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/cql/CreateIndexStatement.java?rev=1071468view=auto
==
--- cassandra/trunk/src/java/org/apache/cassandra/cql/CreateIndexStatement.java 
(added)
+++ cassandra/trunk/src/java/org/apache/cassandra/cql/CreateIndexStatement.java 
Thu Feb 17 01:23:28 2011
@@ -0,0 +1,54 @@
+/*
+ * 
+ * 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.cql;
+
+/** A codeCREATE INDEX/code statement parsed from a CQL query. */
+public class CreateIndexStatement
+{
+private final String columnFamily;
+private final String indexName;
+private final Term columnName;
+
+public CreateIndexStatement(String indexName, String columnFamily, Term 
columnName)
+{
+this.indexName = indexName;
+this.columnFamily = columnFamily;
+this.columnName = columnName;
+}
+
+/** Column family namespace. */
+public String getColumnFamily()
+{
+return columnFamily;
+}
+
+/** Column name to index. */
+public Term getColumnName()
+{
+return columnName;
+}
+
+/** Index name (or null). */
+public String getIndexName()
+{
+return indexName;
+}
+}

Modified: cassandra/trunk/src/java/org/apache/cassandra/cql/QueryProcessor.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/cql/QueryProcessor.java?rev=1071468r1=1071467r2=1071468view=diff
==
--- cassandra/trunk/src/java/org/apache/cassandra/cql/QueryProcessor.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/cql/QueryProcessor.java Thu 
Feb 17 01:23:28 2011
@@ -35,13 +35,18 @@ import 

svn commit: r1071469 - /cassandra/trunk/test/system/test_cql.py

2011-02-16 Thread eevans
Author: eevans
Date: Thu Feb 17 01:23:36 2011
New Revision: 1071469

URL: http://svn.apache.org/viewvc?rev=1071469view=rev
Log:
system tests for CREATE INDEX

Patch by eevans for CASSANDRA-1709

Modified:
cassandra/trunk/test/system/test_cql.py

Modified: cassandra/trunk/test/system/test_cql.py
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/test/system/test_cql.py?rev=1071469r1=1071468r2=1071469view=diff
==
--- cassandra/trunk/test/system/test_cql.py (original)
+++ cassandra/trunk/test/system/test_cql.py Thu Feb 17 01:23:36 2011
@@ -308,6 +308,29 @@ class TestCql(ThriftTester):
 for coldef in cfam.column_metadata:
 assert coldef.name in (a, b), Unknown column name
 assert coldef.validation_class.endswith(marshal.IntegerType)
+
+def test_create_indexs(self):
+creating column indexes
+conn = init()
+conn.execute(USE Keyspace1)
+conn.execute(CREATE COLUMNFAMILY CreateIndex1)
+conn.execute(CREATE INDEX namedIndex ON CreateIndex1 (\items\))
+conn.execute(CREATE INDEX ON CreateIndex1 (\stuff\))
+
+# TODO: temporary (until this can be done with CQL).
+ksdef = thrift_client.describe_keyspace(Keyspace1)
+cfam = [i for i in ksdef.cf_defs if i.name == CreateIndex1][0]
+items = [i for i in cfam.column_metadata if i.name == items][0]
+stuff = [i for i in cfam.column_metadata if i.name == stuff][0]
+assert items.index_name == namedIndex, missing index (or name)
+assert items.index_type == 0, missing index
+assert not stuff.index_name, \
+index_name should be unset, not %s % stuff.index_name
+assert stuff.index_type == 0, missing index
+
+assert_raises(CQLException,
+  conn.execute,
+  CREATE INDEX ON CreateIndex1 (\stuff\))
 
 def test_time_uuid(self):
 store and retrieve time-based (type 1) uuids




svn commit: r1071470 - in /cassandra/trunk/doc/cql: CQL.html CQL.textile

2011-02-16 Thread eevans
Author: eevans
Date: Thu Feb 17 01:23:44 2011
New Revision: 1071470

URL: http://svn.apache.org/viewvc?rev=1071470view=rev
Log:
documentation update for CREATE INDEX

Patch by eevans for CASSANDRA-1709

Modified:
cassandra/trunk/doc/cql/CQL.html
cassandra/trunk/doc/cql/CQL.textile

Modified: cassandra/trunk/doc/cql/CQL.html
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/doc/cql/CQL.html?rev=1071470r1=1071469r2=1071470view=diff
==
--- cassandra/trunk/doc/cql/CQL.html (original)
+++ cassandra/trunk/doc/cql/CQL.html Thu Feb 17 01:23:44 2011
@@ -1,4 +1,4 @@
-?xml version='1.0' encoding='utf-8' ?!DOCTYPE html PUBLIC -//W3C//DTD 
XHTML 1.0 Transitional//EN 
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd;html 
xmlns=http://www.w3.org/1999/xhtml;headmeta http-equiv=Content-Type 
content=text/html; charset=utf-8//headbodyh1 
id=CassandraQueryLanguageCQLv0.99.1Cassandra Query Language (CQL) 
v0.99.1/h1h2 id=TableofContentsTable of Contents/h2ol 
style=list-style: none;lia 
href=#CassandraQueryLanguageCQLv0.99.1Cassandra Query Language (CQL) 
v0.99.1/aol style=list-style: none;lia href=#TableofContentsTable 
of Contents/a/lilia href=#USEUSE/a/lilia 
href=#SELECTSELECT/aol style=list-style: none;lia 
href=#SpecifyingColumnsSpecifying Columns/a/lilia 
href=#ColumnFamilyColumn Family/a/lilia 
href=#ConsistencyLevelConsistency Level/a/lilia 
href=#FilteringrowsFiltering rows/a/lilia 
href=#LimitsLimits/a/li/ol/li
 lia href=#UPDATEUPDATE/aol style=list-style: none;lia 
href=#ColumnFamily2Column Family/a/lilia 
href=#ConsistencyLevel2Consistency Level/a/lilia 
href=#SpecifyingColumnsandRowSpecifying Columns and 
Row/a/li/ol/lilia href=#DELETEDELETE/aol style=list-style: 
none;lia href=#SpecifyingColumns2Specifying Columns/a/lilia 
href=#ColumnFamily3Column Family/a/lilia 
href=#ConsistencyLevel3Consistency Level/a/lilia 
href=#deleterowsSpecifying Rows/a/li/ol/lilia 
href=#TRUNCATETRUNCATE/a/lilia href=#CREATEKEYSPACECREATE 
KEYSPACE/a/lilia href=#CREATECOLUMNFAMILYCREATE COLUMNFAMILY/aol 
style=list-style: none;lia href=#columntypesSpecifying Column Type 
(optional)/a/lilia href=#ColumnFamilyOptionsoptionalColumn Family 
Options (optional)/a/li/ol/lilia href=#CommonIdiomsCommon 
Idioms/aol style=list-style: none;lia href=#consis
 tencySpecifying Consistency/a/lilia href=#termsTerm 
specification/aol style=list-style: none;lia 
href=#string_literalsString Literals/a/lilia 
href=#UnicodeUnicode/a/lilia href=#IntegerslongsIntegers / 
longs/a/lilia 
href=#UUIDsUUIDs/a/li/ol/li/ol/li/ol/li/olh2 
id=USEUSE/h2piSynopsis:/i/pprecodeUSE lt;KEYSPACEgt;;
+?xml version='1.0' encoding='utf-8' ?!DOCTYPE html PUBLIC -//W3C//DTD 
XHTML 1.0 Transitional//EN 
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd;html 
xmlns=http://www.w3.org/1999/xhtml;headmeta http-equiv=Content-Type 
content=text/html; charset=utf-8//headbodyh1 
id=CassandraQueryLanguageCQLv0.99.1Cassandra Query Language (CQL) 
v0.99.1/h1h2 id=TableofContentsTable of Contents/h2ol 
style=list-style: none;lia 
href=#CassandraQueryLanguageCQLv0.99.1Cassandra Query Language (CQL) 
v0.99.1/aol style=list-style: none;lia href=#TableofContentsTable 
of Contents/a/lilia href=#USEUSE/a/lilia 
href=#SELECTSELECT/aol style=list-style: none;lia 
href=#SpecifyingColumnsSpecifying Columns/a/lilia 
href=#ColumnFamilyColumn Family/a/lilia 
href=#ConsistencyLevelConsistency Level/a/lilia 
href=#FilteringrowsFiltering rows/a/lilia 
href=#LimitsLimits/a/li/ol/li
 lia href=#UPDATEUPDATE/aol style=list-style: none;lia 
href=#ColumnFamily2Column Family/a/lilia 
href=#ConsistencyLevel2Consistency Level/a/lilia 
href=#SpecifyingColumnsandRowSpecifying Columns and 
Row/a/li/ol/lilia href=#DELETEDELETE/aol style=list-style: 
none;lia href=#SpecifyingColumns2Specifying Columns/a/lilia 
href=#ColumnFamily3Column Family/a/lilia 
href=#ConsistencyLevel3Consistency Level/a/lilia 
href=#deleterowsSpecifying Rows/a/li/ol/lilia 
href=#TRUNCATETRUNCATE/a/lilia href=#CREATEKEYSPACECREATE 
KEYSPACE/a/lilia href=#CREATECOLUMNFAMILYCREATE COLUMNFAMILY/aol 
style=list-style: none;lia href=#columntypesSpecifying Column Type 
(optional)/a/lilia href=#ColumnFamilyOptionsoptionalColumn Family 
Options (optional)/a/li/ol/lilia href=#CREATEINDEXCREATE 
INDEX/a/lilia href=#CommonIdiomsCommon Idioms/ao
 l style=list-style: none;lia href=#consistencySpecifying 
Consistency/a/lilia href=#termsTerm specification/aol 
style=list-style: none;lia href=#string_literalsString 
Literals/a/lilia href=#UnicodeUnicode/a/lilia 
href=#IntegerslongsIntegers / longs/a/lilia 
href=#UUIDsUUIDs/a/li/ol/li/ol/li/ol/li/olh2 
id=USEUSE/h2piSynopsis:/i/pprecodeUSE lt;KEYSPACEgt;;
 /code/prepA codeUSE/code statement consists of the codeUSE/code 
keyword, followed by a valid keyspace name.  Its purpose is to assign the 
per-connection, current working keyspace.  All subsequent keyspace-specific 
actions will be performed in the context of the 

[Cassandra Wiki] Update of Operations_JP by MakiWatanabe

2011-02-16 Thread Apache Wiki
Dear Wiki user,

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

The Operations_JP page has been changed by MakiWatanabe.
http://wiki.apache.org/cassandra/Operations_JP?action=diffrev1=87rev2=88

--

  
  レプリケーションファクタを減らすのは簡単です。レプリケーションファクタを減らした後、余分なレプリカデータを削除するためにcleanupを実行して下さい。
  
- === Network topology ===
- Besides datacenters, you can also tell Cassandra which nodes are in the same 
rack within a datacenter.  Cassandra will use this to route both reads and data 
movement for Range changes to the nearest replicas.  This is configured by a 
user-pluggable !EndpointSnitch class in the configuration file.
+ === ネットワークトポロジー ===
+ 
レプリケーションストラテジーによってデータセンター間のレプリカ配置を制御できますが、これに加えてできますが、データセンター内でどのノードが同じラックに設置されているかをCassandraに認識させることができます。Cassandraはreadやレンジ変更のためのデータの移動の際にこの情報を使用して最も近いレプリカを使用します。近接ノード検出の挙動は設定ファイルで差し替え可能な!EndpointSnitchクラスで変更可能です。
  
- !EndpointSnitch is related to, but distinct from, replication strategy 
itself: !RackAwareStrategy needs a properly configured Snitch to place replicas 
correctly, but even absent a Strategy that cares about datacenters, the rest of 
Cassandra will still be location-sensitive.
+ 
!EndpointSnitchはレプリケーションストラテジーに関係していますが、レプリケーションストラテジーそのものとは異なるものです。!RackAwareStrategyが適切にレプリカを配置するには正しく構成されたSnitch
+ が必要です。しかしデータセンターを意識したレプリケーションストラテジーを使用しない場合もCassandraはノード間の近接情報を必要としています。
  
- There is an example of a custom Snitch implementation in 
http://svn.apache.org/repos/asf/cassandra/tags/cassandra-0.6.1/contrib/property_snitch/.
+ カスタムスニッチの実装例が次のリンクで紹介されています。 
http://svn.apache.org/repos/asf/cassandra/tags/cassandra-0.6.1/contrib/property_snitch/
  
  == Range changes ==
  === Bootstrap ===


[jira] Created: (CASSANDRA-2178) Memtable Flush writers doesn't actually flush in parallel

2011-02-16 Thread Chris Goffinet (JIRA)
Memtable Flush writers doesn't actually flush in parallel
-

 Key: CASSANDRA-2178
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2178
 Project: Cassandra
  Issue Type: Bug
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor


The flushWriter JMXEnabledThreadPoolExecutor sets the core pool min to 1, and 
sets the LBQ to DatabaseDescriptor.getFlushWriters(). Increasing 
memtable_flush_writers should allow us to flush more in parallel. The pool will 
not grow until LBQ fills up to DatabaseDescriptor.getFlushWriters(). 

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




[jira] Updated: (CASSANDRA-2178) Memtable Flush writers doesn't actually flush in parallel

2011-02-16 Thread Chris Goffinet (JIRA)

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

Chris Goffinet updated CASSANDRA-2178:
--

Affects Version/s: 0.8
   0.7.2
Fix Version/s: 0.8

 Memtable Flush writers doesn't actually flush in parallel
 -

 Key: CASSANDRA-2178
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2178
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.7.2, 0.8
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Fix For: 0.8

 Attachments: 
 0001-Set-the-core-min-pool-size-to-memtable_flush_writers.patch


 The flushWriter JMXEnabledThreadPoolExecutor sets the core pool min to 1, and 
 sets the LBQ to DatabaseDescriptor.getFlushWriters(). Increasing 
 memtable_flush_writers should allow us to flush more in parallel. The pool 
 will not grow until LBQ fills up to DatabaseDescriptor.getFlushWriters(). 

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




[jira] Updated: (CASSANDRA-2178) Memtable Flush writers doesn't actually flush in parallel

2011-02-16 Thread Chris Goffinet (JIRA)

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

Chris Goffinet updated CASSANDRA-2178:
--

Attachment: 0001-Set-the-core-min-pool-size-to-memtable_flush_writers.patch

 Memtable Flush writers doesn't actually flush in parallel
 -

 Key: CASSANDRA-2178
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2178
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.7.2, 0.8
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Fix For: 0.8

 Attachments: 
 0001-Set-the-core-min-pool-size-to-memtable_flush_writers.patch


 The flushWriter JMXEnabledThreadPoolExecutor sets the core pool min to 1, and 
 sets the LBQ to DatabaseDescriptor.getFlushWriters(). Increasing 
 memtable_flush_writers should allow us to flush more in parallel. The pool 
 will not grow until LBQ fills up to DatabaseDescriptor.getFlushWriters(). 

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




[jira] Commented: (CASSANDRA-2178) Memtable Flush writers doesn't actually flush in parallel

2011-02-16 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2178:
---

Wouldn't setting {core=1, max=flush_writers, queue=SynchronousQueue) be better 
since it allows the pool size to adjust as needed?

 Memtable Flush writers doesn't actually flush in parallel
 -

 Key: CASSANDRA-2178
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2178
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.7.2, 0.8
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Fix For: 0.8

 Attachments: 
 0001-Set-the-core-min-pool-size-to-memtable_flush_writers.patch


 The flushWriter JMXEnabledThreadPoolExecutor sets the core pool min to 1, and 
 sets the LBQ to DatabaseDescriptor.getFlushWriters(). Increasing 
 memtable_flush_writers should allow us to flush more in parallel. The pool 
 will not grow until LBQ fills up to DatabaseDescriptor.getFlushWriters(). 

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




[jira] Commented: (CASSANDRA-2008) CLI help incorrect in places

2011-02-16 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2008:
---

bq. My understanding was loading schema defs through JConsole was no longer the 
preferred method. I went with yaml as we already have it in the tree, can 
change if there is an agreed alternative. 

I'm okay with yaml since that's our import/export format in 0.7, but a sample 
script that can be run with cassandra-cli -f would be more future-proof.

 CLI help incorrect in places
 

 Key: CASSANDRA-2008
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2008
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.7.0
Reporter: Aaron Morton
Assignee: Aaron Morton
Priority: Trivial
 Fix For: 0.7.2


 Found some errors in the CLI help, such as these for create column family.
 - memtable_operations: Flush memtables after this many operations
 - memtable_throughput: ... or after this many bytes have been written
 - memtable_flush_after: ... or after this many seconds
 Should be millions of ops, MB's written and minutes not seconds.  Have 
 confirmed thats how the values are used. Will check all the help. 

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




svn commit: r1071479 - /cassandra/trunk/test/unit/org/apache/cassandra/db/DefsTest.java

2011-02-16 Thread jbellis
Author: jbellis
Date: Thu Feb 17 02:21:37 2011
New Revision: 1071479

URL: http://svn.apache.org/viewvc?rev=1071479view=rev
Log:
make DefsTest less fragile
patch by jbellis

Modified:
cassandra/trunk/test/unit/org/apache/cassandra/db/DefsTest.java

Modified: cassandra/trunk/test/unit/org/apache/cassandra/db/DefsTest.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/test/unit/org/apache/cassandra/db/DefsTest.java?rev=1071479r1=1071478r2=1071479view=diff
==
--- cassandra/trunk/test/unit/org/apache/cassandra/db/DefsTest.java (original)
+++ cassandra/trunk/test/unit/org/apache/cassandra/db/DefsTest.java Thu Feb 17 
02:21:37 2011
@@ -443,15 +443,16 @@ public class DefsTest extends CleanupHel
 assert !success : This mutation should have failed since the CF no 
longer exists.;
 
 // reads should fail too.
+boolean threw = false;
 try
 {
 Table.open(ks.name);
 }
 catch (Throwable th)
 {
-// this is what has historically happened when you try to open a 
table that doesn't exist.
-assert th instanceof NullPointerException;
+threw = true;
 }
+assert threw;
 }
 
 @Test
@@ -486,14 +487,17 @@ public class DefsTest extends CleanupHel
 assert DefsTable.getFiles(newKs.name, cfName).size()  0;
 
 // read on old should fail.
+// reads should fail too.
+boolean threw = false;
 try
 {
 Table.open(oldKs.name);
 }
 catch (Throwable th)
 {
-assert th instanceof NullPointerException;
+threw = true;
 }
+assert threw;
 
 // write on old should fail.
 rm = new RowMutation(oldKs.name, ByteBufferUtil.bytes(any key will 
do));




buildbot success in ASF Buildbot on cassandra-trunk

2011-02-16 Thread buildbot
The Buildbot has detected a restored build of cassandra-trunk on ASF Buildbot.
Full details are available at:
 http://ci.apache.org/builders/cassandra-trunk/builds/1037

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

Buildslave for this Build: isis_ubuntu

Build Reason: 
Build Source Stamp: [branch cassandra/trunk] 1071479
Blamelist: jbellis

Build succeeded!

sincerely,
 -The Buildbot



[jira] Updated: (CASSANDRA-2178) Memtable Flush writers doesn't actually flush in parallel

2011-02-16 Thread Chris Goffinet (JIRA)

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

Chris Goffinet updated CASSANDRA-2178:
--

Attachment: 
0001-Set-the-core-min-pool-size-to-memtable_flush_writers-v2.patch

Use a SynchronousQueue instead

 Memtable Flush writers doesn't actually flush in parallel
 -

 Key: CASSANDRA-2178
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2178
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.7.2, 0.8
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Fix For: 0.8

 Attachments: 
 0001-Set-the-core-min-pool-size-to-memtable_flush_writers-v2.patch, 
 0001-Set-the-core-min-pool-size-to-memtable_flush_writers.patch


 The flushWriter JMXEnabledThreadPoolExecutor sets the core pool min to 1, and 
 sets the LBQ to DatabaseDescriptor.getFlushWriters(). Increasing 
 memtable_flush_writers should allow us to flush more in parallel. The pool 
 will not grow until LBQ fills up to DatabaseDescriptor.getFlushWriters(). 

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




svn commit: r1071482 - /cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java

2011-02-16 Thread goffinet
Author: goffinet
Date: Thu Feb 17 02:41:04 2011
New Revision: 1071482

URL: http://svn.apache.org/viewvc?rev=1071482view=rev
Log:
Use a SynchronousQueue instead of LBQ so when memtable_flush_writers is  1, it 
will allow actual parallel flushes. 
patch by goffinet reviewed by jbellis for CASSANDRA-2178


Modified:

cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java?rev=1071482r1=1071481r2=1071482view=diff
==
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
 Thu Feb 17 02:41:04 2011
@@ -88,7 +88,7 @@ public class ColumnFamilyStore implement

DatabaseDescriptor.getFlushWriters(),
StageManager.KEEPALIVE,
TimeUnit.SECONDS,
-   new 
LinkedBlockingQueueRunnable(DatabaseDescriptor.getFlushWriters()),
+   new 
SynchronousQueueRunnable(),
new 
NamedThreadFactory(FlushWriter),
internal);
 public static final ExecutorService postFlushExecutor = new 
JMXEnabledThreadPoolExecutor(MemtablePostFlusher);




svn commit: r1071483 - in /cassandra/trunk: ./ contrib/ interface/thrift/gen-java/org/apache/cassandra/thrift/ src/java/org/apache/cassandra/db/

2011-02-16 Thread goffinet
Author: goffinet
Date: Thu Feb 17 02:42:02 2011
New Revision: 1071483

URL: http://svn.apache.org/viewvc?rev=1071483view=rev
Log:
Merge from 0.7


Modified:
cassandra/trunk/   (props changed)
cassandra/trunk/contrib/   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
   (props changed)
cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java

Propchange: cassandra/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Feb 17 02:42:02 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1071070
-/cassandra/branches/cassandra-0.7:1026516-1071411
+/cassandra/branches/cassandra-0.7:1026516-1071411,1071482
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689
 /incubator/cassandra/branches/cassandra-0.3:774578-796573

Propchange: cassandra/trunk/contrib/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Feb 17 02:42:02 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/contrib:922689-1052356,1052358-1053452,1053454,1053456-1068009
-/cassandra/branches/cassandra-0.7/contrib:1026516-1071411
+/cassandra/branches/cassandra-0.7/contrib:1026516-1071411,1071482
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
 /cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689
 /incubator/cassandra/branches/cassandra-0.3/contrib:774578-796573

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Feb 17 02:42:02 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-1052356,1052358-1053452,1053454,1053456-1071070
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1071411
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1071411,1071482
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1053690-1055654
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1051699-1053689
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/Cassandra.java:774578-796573

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Feb 17 02:42:02 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:922689-1052356,1052358-1053452,1053454,1053456-1071070
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1071411
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1071411,1071482
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1053690-1055654
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1051699-1053689
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/column_t.java:774578-792198

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Feb 17 02:42:02 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:922689-1052356,1052358-1053452,1053454,1053456-1071070
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1026516-1071411
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1026516-1071411,1071482
 

[jira] Commented: (CASSANDRA-2178) Memtable Flush writers doesn't actually flush in parallel

2011-02-16 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2178:
---

+1

 Memtable Flush writers doesn't actually flush in parallel
 -

 Key: CASSANDRA-2178
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2178
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.7.2, 0.8
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Fix For: 0.8

 Attachments: 
 0001-Set-the-core-min-pool-size-to-memtable_flush_writers-v2.patch, 
 0001-Set-the-core-min-pool-size-to-memtable_flush_writers.patch


 The flushWriter JMXEnabledThreadPoolExecutor sets the core pool min to 1, and 
 sets the LBQ to DatabaseDescriptor.getFlushWriters(). Increasing 
 memtable_flush_writers should allow us to flush more in parallel. The pool 
 will not grow until LBQ fills up to DatabaseDescriptor.getFlushWriters(). 

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




[jira] Commented: (CASSANDRA-2178) Memtable Flush writers doesn't actually flush in parallel

2011-02-16 Thread Chris Goffinet (JIRA)

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

Chris Goffinet commented on CASSANDRA-2178:
---

commited to 0.7 and merged into trunk

 Memtable Flush writers doesn't actually flush in parallel
 -

 Key: CASSANDRA-2178
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2178
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.7.2, 0.8
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Fix For: 0.8

 Attachments: 
 0001-Set-the-core-min-pool-size-to-memtable_flush_writers-v2.patch, 
 0001-Set-the-core-min-pool-size-to-memtable_flush_writers.patch


 The flushWriter JMXEnabledThreadPoolExecutor sets the core pool min to 1, and 
 sets the LBQ to DatabaseDescriptor.getFlushWriters(). Increasing 
 memtable_flush_writers should allow us to flush more in parallel. The pool 
 will not grow until LBQ fills up to DatabaseDescriptor.getFlushWriters(). 

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




[jira] Resolved: (CASSANDRA-2178) Memtable Flush writers doesn't actually flush in parallel

2011-02-16 Thread Chris Goffinet (JIRA)

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

Chris Goffinet resolved CASSANDRA-2178.
---

   Resolution: Fixed
Fix Version/s: 0.7.3

 Memtable Flush writers doesn't actually flush in parallel
 -

 Key: CASSANDRA-2178
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2178
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.7.2, 0.8
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Fix For: 0.7.3, 0.8

 Attachments: 
 0001-Set-the-core-min-pool-size-to-memtable_flush_writers-v2.patch, 
 0001-Set-the-core-min-pool-size-to-memtable_flush_writers.patch


 The flushWriter JMXEnabledThreadPoolExecutor sets the core pool min to 1, and 
 sets the LBQ to DatabaseDescriptor.getFlushWriters(). Increasing 
 memtable_flush_writers should allow us to flush more in parallel. The pool 
 will not grow until LBQ fills up to DatabaseDescriptor.getFlushWriters(). 

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




svn commit: r1071485 - /cassandra/branches/cassandra-0.7/CHANGES.txt

2011-02-16 Thread goffinet
Author: goffinet
Date: Thu Feb 17 02:49:26 2011
New Revision: 1071485

URL: http://svn.apache.org/viewvc?rev=1071485view=rev
Log:
Updated CHANGES.txt


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

Modified: cassandra/branches/cassandra-0.7/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/CHANGES.txt?rev=1071485r1=1071484r2=1071485view=diff
==
--- cassandra/branches/cassandra-0.7/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.7/CHANGES.txt Thu Feb 17 02:49:26 2011
@@ -3,7 +3,7 @@
  * lower-latency read repair (CASSANDRA-2069)
  * add hinted_handoff_throttle_delay_in_ms option (CASSANDRA-2161)
  * fixes for cache save/load (CASSANDRA-2172, -2174)
-
+ * Make memtable_flush_writers flush in parallel (CASSANDRA-2178)
 
 0.7.2
  * copy DecoratedKey.key when inserting into caches to avoid retaining




svn commit: r1071486 - in /cassandra/trunk: ./ contrib/ interface/thrift/gen-java/org/apache/cassandra/thrift/

2011-02-16 Thread goffinet
Author: goffinet
Date: Thu Feb 17 02:50:02 2011
New Revision: 1071486

URL: http://svn.apache.org/viewvc?rev=1071486view=rev
Log:
Merge from 0.7


Modified:
cassandra/trunk/   (props changed)
cassandra/trunk/CHANGES.txt
cassandra/trunk/contrib/   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
   (props changed)

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
   (props changed)

Propchange: cassandra/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Feb 17 02:50:02 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1071070
-/cassandra/branches/cassandra-0.7:1026516-1071411,1071482
+/cassandra/branches/cassandra-0.7:1026516-1071411,1071482,1071485
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689
 /incubator/cassandra/branches/cassandra-0.3:774578-796573

Modified: cassandra/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/CHANGES.txt?rev=1071486r1=1071485r2=1071486view=diff
==
--- cassandra/trunk/CHANGES.txt (original)
+++ cassandra/trunk/CHANGES.txt Thu Feb 17 02:50:02 2011
@@ -15,7 +15,7 @@
  * lower-latency read repair (CASSANDRA-2069)
  * add hinted_handoff_throttle_delay_in_ms option (CASSANDRA-2161)
  * fixes for cache save/load (CASSANDRA-2172, -2174)
-
+ * Make memtable_flush_writers flush in parallel (CASSANDRA-2178)
 
 0.7.2
  * copy DecoratedKey.key when inserting into caches to avoid retaining

Propchange: cassandra/trunk/contrib/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Feb 17 02:50:02 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/contrib:922689-1052356,1052358-1053452,1053454,1053456-1068009
-/cassandra/branches/cassandra-0.7/contrib:1026516-1071411,1071482
+/cassandra/branches/cassandra-0.7/contrib:1026516-1071411,1071482,1071485
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
 /cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689
 /incubator/cassandra/branches/cassandra-0.3/contrib:774578-796573

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Feb 17 02:50:02 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-1052356,1052358-1053452,1053454,1053456-1071070
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1071411,1071482
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1071411,1071482,1071485
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1053690-1055654
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1051699-1053689
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/Cassandra.java:774578-796573

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Feb 17 02:50:02 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:922689-1052356,1052358-1053452,1053454,1053456-1071070
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1071411,1071482
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1071411,1071482,1071485
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1053690-1055654
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1051699-1053689
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/column_t.java:774578-792198

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java

[Cassandra Wiki] Update of Operations_JP by MakiWatanabe

2011-02-16 Thread Apache Wiki
Dear Wiki user,

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

The Operations_JP page has been changed by MakiWatanabe.
http://wiki.apache.org/cassandra/Operations_JP?action=diffrev1=88rev2=89

--

  レプリケーションファクタを減らすのは簡単です。レプリケーションファクタを減らした後、余分なレプリカデータを削除するためにcleanupを実行して下さい。
  
  === ネットワークトポロジー ===
- 
レプリケーションストラテジーによってデータセンター間のレプリカ配置を制御できますが、これに加えてできますが、データセンター内でどのノードが同じラックに設置されているかをCassandraに認識させることができます。Cassandraはreadやレンジ変更のためのデータの移動の際にこの情報を使用して最も近いレプリカを使用します。近接ノード検出の挙動は設定ファイルで差し替え可能な!EndpointSnitchクラスで変更可能です。
+ 
レプリケーションストラテジーによってデータセンター間のレプリカ配置を制御できますが、これに加えてできますが、データセンター内でどのノードが同じラックに設置されているかをCassandraに認識させることができます。Cassandraはreadやトークン範囲変更のためのデータの移動の際にこの情報を使用して最も近いレプリカを使用します。近接ノード検出の挙動は設定ファイルで差し替え可能な!EndpointSnitchクラスで変更可能です。
  
  
!EndpointSnitchはレプリケーションストラテジーに関係していますが、レプリケーションストラテジーそのものとは異なるものです。!RackAwareStrategyが適切にレプリカを配置するには正しく構成されたSnitch
  が必要です。しかしデータセンターを意識したレプリケーションストラテジーを使用しない場合もCassandraはノード間の近接情報を必要としています。


[jira] Commented: (CASSANDRA-1711) Python driver for CQL

2011-02-16 Thread Hudson (JIRA)

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

Hudson commented on CASSANDRA-1711:
---

Integrated in Cassandra #734 (See 
[https://hudson.apache.org/hudson/job/Cassandra/734/])
parameter substitution for python CQL driver

Patch by eevans for CASSANDRA-1711


 Python driver for CQL
 -

 Key: CASSANDRA-1711
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1711
 Project: Cassandra
  Issue Type: Sub-task
  Components: API
Affects Versions: 0.8
Reporter: Eric Evans
Priority: Minor
  Labels: cql
 Fix For: 0.8

 Attachments: v1-0001-CASSANDRA-1711-parameter-substitution.txt

   Original Estimate: 0h
  Remaining Estimate: 0h

 In-tree CQL drivers should be reasonably consistent with one another 
 (wherever possible/practical), and implement a minimum of:
 * Query compression
 * Keyspace assignment on connection
 * Connection pooling / load-balancing
 The goal is not to supplant the idiomatic libraries, but to provide a 
 consistent, stable base for them to build upon.

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




[jira] Commented: (CASSANDRA-1709) CQL keyspace and column family management

2011-02-16 Thread Hudson (JIRA)

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

Hudson commented on CASSANDRA-1709:
---

Integrated in Cassandra #734 (See 
[https://hudson.apache.org/hudson/job/Cassandra/734/])
documentation update for CREATE INDEX

Patch by eevans for CASSANDRA-1709
system tests for CREATE INDEX

Patch by eevans for CASSANDRA-1709
CREATE INDEX implementation

Patch by eevans for CASSANDRA-1709


 CQL keyspace and column family management
 -

 Key: CASSANDRA-1709
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1709
 Project: Cassandra
  Issue Type: Sub-task
  Components: API
Affects Versions: 0.8
Reporter: Eric Evans
Assignee: Eric Evans
Priority: Minor
  Labels: cql
 Fix For: 0.8

 Attachments: v1-0001-CASSANDRA-1709-CREATE-INDEX-implementation.txt, 
 v1-0002-system-tests-for-CREATE-INDEX.txt, 
 v1-0003-documentation-update-for-CREATE-INDEX.txt

   Original Estimate: 0h
  Remaining Estimate: 0h

 CQL specification and implementation for schema management.
 This corresponds to the following RPC methods:
 * system_add_column_family()
 * system_add_keyspace()
 * system_drop_keyspace()
 * system_update_keyspace()
 * system_update_columnfamily()

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




[jira] Commented: (CASSANDRA-1255) Explore interning keys and column names

2011-02-16 Thread Hudson (JIRA)

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

Hudson commented on CASSANDRA-1255:
---

Integrated in Cassandra #734 (See 
[https://hudson.apache.org/hudson/job/Cassandra/734/])


 Explore interning keys and column names
 ---

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

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

   Original Estimate: 8h
  Remaining Estimate: 8h

 With multiple Memtables, key caches and row caches holding DecoratedKey 
 references, it could potentially be a huge memory savings (and relief to GC) 
 to intern DecoratedKeys. Taking the idea farther, for the skinny row pattern, 
 and for certain types of wide row patterns, interning of column names could 
 be very beneficial as well (although we would need to wrap the byte[]s in 
 something for hashCode/equals).
 This ticket should explore the benefits and overhead of interning.
 Google collections/guava MapMaker is a very convenient way to create this 
 type of cache: example call: 
 http://stackoverflow.com/questions/2865026/use-permgen-space-or-roll-my-own-intern-method/2865083#2865083

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




[jira] Created: (CASSANDRA-2179) Secondary indexing of columns with duplicate values does not return all row keys

2011-02-16 Thread Todd Nine (JIRA)
Secondary indexing of columns with duplicate values does not return all row keys


 Key: CASSANDRA-2179
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2179
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.7.1
 Environment: Java 1.6 64 bit Ubuntu
Reporter: Todd Nine


Create a CF test with a column value and holder.  Create an index on the 
Value column of type UTF8 and a Keys index.  Insert the following values into 
the cf

new UUID():{ value: test, holder: 0x00}
new UUID():{ value: test, holder: 0x00}
new UUID():{ value: test, holder: 0x00}

Query the secondary index where value EQ test and select column holder

You should be returned 3 rows.  Instead you are returned one.  It seems that 
the last row written with the column value is the only row that is returned 
when the column value contains duplicates.  I'll attempt to create a python 
client test that demonstrates the issue.

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




[jira] Commented: (CASSANDRA-2178) Memtable Flush writers doesn't actually flush in parallel

2011-02-16 Thread Hudson (JIRA)

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

Hudson commented on CASSANDRA-2178:
---

Integrated in Cassandra-0.7 #283 (See 
[https://hudson.apache.org/hudson/job/Cassandra-0.7/283/])
Use a SynchronousQueue instead of LBQ so when memtable_flush_writers is  
1, it will allow actual parallel flushes. 
patch by goffinet reviewed by jbellis for CASSANDRA-2178


 Memtable Flush writers doesn't actually flush in parallel
 -

 Key: CASSANDRA-2178
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2178
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.7.2, 0.8
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Fix For: 0.7.3, 0.8

 Attachments: 
 0001-Set-the-core-min-pool-size-to-memtable_flush_writers-v2.patch, 
 0001-Set-the-core-min-pool-size-to-memtable_flush_writers.patch


 The flushWriter JMXEnabledThreadPoolExecutor sets the core pool min to 1, and 
 sets the LBQ to DatabaseDescriptor.getFlushWriters(). Increasing 
 memtable_flush_writers should allow us to flush more in parallel. The pool 
 will not grow until LBQ fills up to DatabaseDescriptor.getFlushWriters(). 

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