[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-tabpanel&focusedCommentId=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 ; create keyspace with =; create keyspace with = and = ...; 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-tabpanel&focusedCommentId=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-tabpanel&focusedCommentId=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-tabpanel&focusedCommentId=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-tabpanel&focusedCommentId=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-tabpanel&focusedCommentId=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-tabpanel&focusedCommentId=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-tabpanel&focusedCommentId=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-tabpanel&focusedCommentId=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-tabpanel&focusedCommentId=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-tabpanel&focusedCommentId=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-tabpanel&focusedCommentId=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-tabpanel&focusedCommentId=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-tabpanel&focusedCommentId=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-tabpanel&focusedCommentId=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-tabpanel&focusedCommentId=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-tabpanel&focusedCommentId=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=1071388&view=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=1071388&r1=1071387&r2=1071388&view=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=1071388&r1=1071387&r2=1071388&view=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:mergeinf
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=1071390&view=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=1071390&r1=1071389&r2=1071390&view=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=1071390&r1=1071389&r2=1071390&view=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 Set keys = new TreeSet(); 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-tabpanel&focusedCommentId=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-tabpanel&focusedCommentId=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-tabpanel&focusedCommentId=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=1071412&view=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=1071412&r1=1071411&r2=1071412&view=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:mergeinf
[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=diff&rev1=115&rev2=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-tabpanel&focusedCommentId=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-tabpanel&focusedCommentId=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=1071428&view=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=1071428&r1=1071427&r2=1071428&view=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=1071428&r1=1071427&r2=1071428&view=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 ICompactSerializer2 columnSerializer; +private transient IColumnSerializer columnSerializer; final AtomicLong markedForDeleteAt = new AtomicLong(Long.MIN_VALUE); final AtomicInteger localDeletionTime = new AtomicInteger(Integer.MIN_VALUE); private ConcurrentSkipListMap columns; @@ -137,7 +138,7 @@ public class ColumnFamily implements ICo /** * FIXME: Gross. */ -public ICompactSerializer2 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=1071428&r1=1071427&r2=1071428&view=diff == --- cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilySerializer.java (original) +++ cassandra/trunk/src/java/org/apa
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-tabpanel&focusedCommentId=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-tabpanel&focusedCommentId=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=1071433&view=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=1071433&view=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 ICompactSerializer2 +{ +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-tabpanel&focusedCommentId=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=1071448&view=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-tabpanel&focusedCommentId=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-tabpanel&focusedCommentId=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-tabpanel&focusedCommentId=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-tabpanel&focusedCommentId=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=1071464&view=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=1071464&r1=1071463&r2=1071464&view=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 @@ - The latest stable release of Apache Cassandra is 0.7.1 - (released on 2011-02-14). If you're just + The latest stable release of Apache Cassandra is 0.7.2 + (released on 2011-02-16). If you're just starting out, download this one. 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 -[http://www.apache.org/dist/cassandra/0.7.1/apache-cassandra-0.7.1-bin.tar.gz.asc";>PGP] -[http://www.apache.org/dist/cassandra/0.7.1/apache-cassandra-0.7.1-bin.tar.gz.md5";>MD5] -[http://www.apache.org/dist/cassandra/0.7.1/apache-cassandra-0.7.1-bin.tar.gz.sha";>SHA1] +[http://www.apache.org/dist/cassandra/0.7.2/apache-cassandra-0.7.2-bin.tar.gz.asc";>PGP] +[http://www.apache.org/dist/cassandra/0.7.2/apache-cassandra-0.7.2-bin.tar.gz.md5";>MD5] +[http://www.apache.org/dist/cassandra/0.7.2/apache-cassandra-0.7.2-bin.tar.gz.sha";>SHA1] 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 -[http://www.apache.org/dist/cassandra/0.7.1/apache-cassandra-0.7.1-src.tar.gz.asc";>PGP] -[http://www.apache.org/dist/cassandra/0.7.1/apache-cassandra-0.7.1-src.tar.gz.md5";>MD5] -[http://www.apache.org/dist/cassandra/0.7.1/apache-cassandra-0.7.1-src.tar.gz.sha";>SHA1] +[http://www.apache.org/dist/cassandra/0.7.2/apache-cassandra-0.7.2-src.tar.gz.asc";>PGP] +[http://www.apache.org/dist/cassandra/0.7.2/apache-cassandra-0.7.2-src.tar.gz.md5";>MD5] +[http://www.apache.org/dist/cassandra/0.7.2/apache-cassandra-0.7.2-src.tar.gz.sha";>SHA1] @@ -139,15 +139,15 @@ New users to Cassandra should be sure to Download -The latest release is 0.7.1 -(https://svn.apache.org/repos/asf/cassandra/tags/cassandra-0.7.1/CHANGES.txt";>Changes) +The latest release is 0.7.2 +(https://svn.apache.org/repos/asf/cassandra/tags/cassandra-0.7.2/CHANGES.txt";>Changes) 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 Modified: cassandra/site/publish/index.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/index.html?rev=1071464&r1=1071463&r2=1071464&view=diff == --- cassandra/site/publish/index.html (original) +++ cassandra/site/publish/index.html Thu Feb 17 00:53:29 2011 @@ -82,15 +82,15 @@ Download -The latest release is 0.7.1 -(https://svn.apache.org/repos/asf/cassandra/tags/cassandra-0.7.1/CHANGES.txt";>Changes) +The latest release is 0.7.2 +(https://svn.apache.org/repos/asf/cassandra/tags/cassandra-0.7.2/CHANGES.txt";>Changes) 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 Modified: cassandra/site/src/settings.py URL: http://svn.apache.org/viewvc/cassandra/site/src/settings.py?rev=1071464&r1=1071463&r2=1071464&view=diff == --- cassandra/site/src/settings.py (original) +++ cassandra/site/src/settings.py Thu Fe
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=1071467&view=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=1071467&r1=1071466&r2=1071467&view=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=1071467&r1=1071466&r2=1071467&view=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=1071467&view=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" %
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=1071468&view=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=1071468&r1=1071467&r2=1071468&view=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 ; @@ -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=1071468&view=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 CREATE INDEX 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=1071468&r1=1071467&r2=1071468&view=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 org.slf4j.
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=1071469&view=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=1071469&r1=1071468&r2=1071469&view=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=1071470&view=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=1071470&r1=1071469&r2=1071470&view=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 @@ -http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>http://www.w3.org/1999/xhtml";>Cassandra Query Language (CQL) v0.99.1Table of ContentsCassandra Query Language (CQL) v0.99.1Table of ContentsUSESELECTSpecifying ColumnsColumn FamilyConsistency LevelFiltering rowsLimits UPDATEColumn FamilyConsistency LevelSpecifying Columns and RowDELETESpecifying ColumnsColumn FamilyConsistency LevelSpecifying RowsTRUNCATECREATE KEYSPACECREATE COLUMNFAMILYSpecifying Column Type (optional)Column Family Options (optional)Common IdiomsSpecifying ConsistencyTerm specificationString LiteralsUnicodeIntegers / longsUUIDsUSESynopsis:USE; +http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>http://www.w3.org/1999/xhtml";>Cassandra Query Language (CQL) v0.99.1Table of ContentsCassandra Query Language (CQL) v0.99.1Table of ContentsUSESELECTSpecifying ColumnsColumn FamilyConsistency LevelFiltering rowsLimits UPDATEColumn FamilyConsistency LevelSpecifying Columns and RowDELETESpecifying ColumnsColumn FamilyConsistency LevelSpecifying RowsTRUNCATECREATE KEYSPACECREATE COLUMNFAMILYSpecifying Column Type (optional)Column Family Options (optional)CREATE INDEXCommon IdiomsSpecifying ConsistencyTerm specificationString LiteralsUnicodeIntegers / longsUUIDsUSESynopsis:USE ; A USE statement consists of the USE 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 supplied value.SELECTSynopsis:SELECT [FIRST N] [REVERSED]
[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=diff&rev1=87&rev2=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-tabpanel&focusedCommentId=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-tabpanel&focusedCommentId=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=1071479&view=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=1071479&r1=1071478&r2=1071479&view=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=1071482&view=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=1071482&r1=1071481&r2=1071482&view=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 LinkedBlockingQueue(DatabaseDescriptor.getFlushWriters()), + new SynchronousQueue(), 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=1071483&view=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 /cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1053690-10556
[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-tabpanel&focusedCommentId=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-tabpanel&focusedCommentId=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=1071485&view=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=1071485&r1=1071484&r2=1071485&view=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=1071486&view=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=1071486&r1=1071485&r2=1071486&view=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=diff&rev1=88&rev2=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-tabpanel&focusedCommentId=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-tabpanel&focusedCommentId=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-tabpanel&focusedCommentId=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-tabpanel&focusedCommentId=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