[jira] Commented: (CASSANDRA-2008) CLI help incorrect in places
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
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.
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
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
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
[ 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
[ 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
[ 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/
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
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
[ 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
[ 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
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
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
[ 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
[ 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
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.
[ 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.
[ 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.
[ 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.
[ 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.
[ 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/
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
[ 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
[ 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
[ 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
[ 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
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
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
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
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
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
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
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
[ 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
[ 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
[ 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
[ 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
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
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
[ 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
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/
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
[ 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
[ 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
[ 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
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/
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
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
[ 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
[ 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
[ 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
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
[ 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