[Cassandra Wiki] Update of ArticlesAndPresentations b y yutuki
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 yutuki. http://wiki.apache.org/cassandra/ArticlesAndPresentations?action=diffrev1=107rev2=108 -- * [[http://ewh.ieee.org/r6/scv/computer//nfic/2009/IBM-Jun-Rao.pdf|IBM Research's scalable mail storage on Cassandra]] * [[http://vimeo.com/5185526|NOSQL meetup video]] - [[http://www.slideshare.net/Eweaver/cassandra-presentation-at-nosql|NOSQL Slides]]: More on Cassandra internals from Avinash Lakshman. * [[http://www.slideshare.net/jhammerb/data-presentations-cassandra-sigmod/|Cassandra presentation at sigmod]]: mostly the same slides as above - * [[http://www.slideshare.net/yutuki/cassandrah-baseno-sql|CassandraとHBaseの比較をして入門するNoSQL]] by Shusuke Shiina Sep 2010 + * [[http://www.slideshare.net/yutuki/cassandrah-baseno-sql|CassandraとHBaseの比較をして入門するNoSQL]] by Shusuke Shiina (Sep 2010 Japanese) = Podcasts =
svn commit: r1043985 - in /cassandra/branches/cassandra-0.7: src/java/org/apache/cassandra/db/marshal/ test/unit/org/apache/cassandra/db/marshal/
Author: gdusbabek Date: Thu Dec 9 14:38:50 2010 New Revision: 1043985 URL: http://svn.apache.org/viewvc?rev=1043985view=rev Log: validation that generates less garbage. patch by gdusbabek, reviewed by jbellis. CASSANDRA-1814 Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/AbstractType.java cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/AsciiType.java cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/BytesType.java cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/IntegerType.java cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/LexicalUUIDType.java cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/LocalByPartionerType.java cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/LongType.java cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/TimeUUIDType.java cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/UTF8Type.java cassandra/branches/cassandra-0.7/test/unit/org/apache/cassandra/db/marshal/TimeUUIDTypeTest.java Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/AbstractType.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/AbstractType.java?rev=1043985r1=1043984r2=1043985view=diff == --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/AbstractType.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/AbstractType.java Thu Dec 9 14:38:50 2010 @@ -48,10 +48,7 @@ public abstract class AbstractType imple } /* validate that the byte array is a valid sequence for the type we are supposed to be comparing */ -public void validate(ByteBuffer bytes) -{ -getString(bytes); -} +public abstract void validate(ByteBuffer bytes) throws MarshalException; public ComparatorByteBuffer getReverseComparator() { Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/AsciiType.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/AsciiType.java?rev=1043985r1=1043984r2=1043985view=diff == --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/AsciiType.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/AsciiType.java Thu Dec 9 14:38:50 2010 @@ -43,4 +43,15 @@ public class AsciiType extends BytesType { return ByteBuffer.wrap(source.getBytes(Charsets.US_ASCII)); } + +public void validate(ByteBuffer bytes) throws MarshalException +{ +// 0-127 +for (int i = 0; i bytes.remaining(); i++) +{ +byte b = bytes.array()[bytes.arrayOffset() + bytes.position() + i]; +if (b 0 || b 127) +throw new MarshalException(Invalid byte for ascii: + Byte.toString(b)); +} +} } Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/BytesType.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/BytesType.java?rev=1043985r1=1043984r2=1043985view=diff == --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/BytesType.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/BytesType.java Thu Dec 9 14:38:50 2010 @@ -51,4 +51,9 @@ public class BytesType extends AbstractT { return ByteBuffer.wrap(source.getBytes()); } + +public void validate(ByteBuffer bytes) throws MarshalException +{ +// all bytes are legal. +} } Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/IntegerType.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/IntegerType.java?rev=1043985r1=1043984r2=1043985view=diff == --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/IntegerType.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/IntegerType.java Thu Dec 9 14:38:50 2010 @@ -139,4 +139,9 @@ public final class IntegerType extends A return ByteBuffer.wrap(integerType.toByteArray()); } + +public void validate(ByteBuffer bytes) throws MarshalException +{ +// no invalid integers. +} } Modified:
svn commit: r1043986 - /cassandra/branches/cassandra-0.7/CHANGES.txt
Author: gdusbabek Date: Thu Dec 9 14:40:36 2010 New Revision: 1043986 URL: http://svn.apache.org/viewvc?rev=1043986view=rev Log: validation that generates less garbage. patch by gdusbabek, reviewed by jbellis. CASSANDRA-1814 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=1043986r1=1043985r2=1043986view=diff == --- cassandra/branches/cassandra-0.7/CHANGES.txt (original) +++ cassandra/branches/cassandra-0.7/CHANGES.txt Thu Dec 9 14:40:36 2010 @@ -1,6 +1,7 @@ dev * expose getNaturalEndpoints in StorageServiceMBean taking byte[] key; RMI cannot serialize ByteBuffer (CASSANDRA-1833) + * validation that generates less garbage (CASSANDRA-1814) 0.7.0-rc2 * fix live-column-count of slice ranges including tombstoned supercolumn
[jira] Updated: (CASSANDRA-1812) Allow per-CF compaction, repair, and cleanup
[ https://issues.apache.org/jira/browse/CASSANDRA-1812?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jon Hermes updated CASSANDRA-1812: -- Attachment: 1812-4.txt Rebased. Allow per-CF compaction, repair, and cleanup Key: CASSANDRA-1812 URL: https://issues.apache.org/jira/browse/CASSANDRA-1812 Project: Cassandra Issue Type: New Feature Components: Core Affects Versions: 0.6.8 Reporter: Tyler Hobbs Assignee: Jon Hermes Priority: Minor Fix For: 0.6.9, 0.7.0 Attachments: 1812-2.txt, 1812-3.txt, 1812-4.txt, 1812-all.txt, 1812-compact-2.txt, 1812-compact.txt It should be a pretty simple change to allow compaction, cleanup, or repair of only one CF. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (CASSANDRA-1838) Add ability to set TTL on columns in cassandra-cli
Add ability to set TTL on columns in cassandra-cli -- Key: CASSANDRA-1838 URL: https://issues.apache.org/jira/browse/CASSANDRA-1838 Project: Cassandra Issue Type: Improvement Components: Tools Affects Versions: 0.7.0 rc 1 Environment: Ubuntu 10.04 64bit Reporter: Eric Tamme Priority: Minor Currently the cassandra-cli does not have any mechanism to set the ttl attribute of a column. This would be a useful ability to have when working with the cli tool. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
svn commit: r1044034 - in /cassandra: branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java trunk/src/java/org/apache/cassandra/service/StorageService.java
Author: brandonwilliams Date: Thu Dec 9 16:57:42 2010 New Revision: 1044034 URL: http://svn.apache.org/viewvc?rev=1044034view=rev Log: Restore finishBootstrapping behavior to fix nodetool move. Patch by Nick Bailey, reviewed by brandonwilliams for CASSANDRA-1829 Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java?rev=1044034r1=1044033r2=1044034view=diff == --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java Thu Dec 9 16:57:42 2010 @@ -246,6 +246,7 @@ public class StorageService implements I public void finishBootstrapping() { isBootstrapMode = false; +setToken(getLocalToken()); logger_.info(Bootstrap/move completed! Now serving reads.); } @@ -256,6 +257,8 @@ public class StorageService implements I logger_.debug(Setting token to {}, token); SystemTable.updateToken(token); tokenMetadata_.updateNormalToken(token, FBUtilities.getLocalAddress()); +Gossiper.instance.addLocalApplicationState(ApplicationState.STATUS, valueFactory.normal(getLocalToken())); +setMode(Normal, false); } public StorageService() @@ -395,6 +398,7 @@ public class StorageService implements I logger_.info(This node will not auto bootstrap because it is configured to be a seed node.); Token token; +boolean bootstrapped = false; if (DatabaseDescriptor.isAutoBootstrap() !(DatabaseDescriptor.getSeeds().contains(FBUtilities.getLocalAddress()) || SystemTable.isBootstrapped())) { @@ -414,6 +418,8 @@ public class StorageService implements I { bootstrap(token); assert !isBootstrapMode; // bootstrap will block until finished +bootstrapped = true; +SystemTable.setBootstrapped(true); // first startup is only chance to bootstrap } // else nothing to do, go directly to participating in ring } @@ -440,10 +446,8 @@ public class StorageService implements I } } -SystemTable.setBootstrapped(true); // first startup is only chance to bootstrap -setToken(token); -Gossiper.instance.addLocalApplicationState(ApplicationState.STATUS, valueFactory.normal(getLocalToken())); -setMode(Normal, false); +if(!bootstrapped) +setToken(token); assert tokenMetadata_.sortedTokens().size() 0; } Modified: cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java?rev=1044034r1=1044033r2=1044034view=diff == --- cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java Thu Dec 9 16:57:42 2010 @@ -246,6 +246,7 @@ public class StorageService implements I public void finishBootstrapping() { isBootstrapMode = false; +setToken(getLocalToken()); logger_.info(Bootstrap/move completed! Now serving reads.); } @@ -256,6 +257,8 @@ public class StorageService implements I logger_.debug(Setting token to {}, token); SystemTable.updateToken(token); tokenMetadata_.updateNormalToken(token, FBUtilities.getLocalAddress()); +Gossiper.instance.addLocalApplicationState(ApplicationState.STATUS, valueFactory.normal(getLocalToken())); +setMode(Normal, false); } public StorageService() @@ -395,6 +398,7 @@ public class StorageService implements I logger_.info(This node will not auto bootstrap because it is configured to be a seed node.); Token token; +boolean bootstrapped = false; if (DatabaseDescriptor.isAutoBootstrap() !(DatabaseDescriptor.getSeeds().contains(FBUtilities.getLocalAddress()) || SystemTable.isBootstrapped())) { @@ -414,6 +418,8 @@ public class StorageService implements I { bootstrap(token); assert !isBootstrapMode; // bootstrap will block until finished +bootstrapped = true; +SystemTable.setBootstrapped(true); // first startup is only chance to bootstrap } //
[jira] Commented: (CASSANDRA-1838) Add ability to set TTL on columns in cassandra-cli
[ https://issues.apache.org/jira/browse/CASSANDRA-1838?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12969808#action_12969808 ] Sylvain Lebresne commented on CASSANDRA-1838: - nitpickingWouldn't 'with' (ttl=30) be better than 'and'./nitpicking Add ability to set TTL on columns in cassandra-cli -- Key: CASSANDRA-1838 URL: https://issues.apache.org/jira/browse/CASSANDRA-1838 Project: Cassandra Issue Type: Improvement Components: Tools Affects Versions: 0.7.0 rc 1 Environment: Ubuntu 10.04 64bit Reporter: Eric Tamme Assignee: Pavel Yaskevich Priority: Minor Fix For: 0.7.1 Currently the cassandra-cli does not have any mechanism to set the ttl attribute of a column. This would be a useful ability to have when working with the cli tool. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-1083) Improvement to CompactionManger's submitMinorIfNeeded
[ https://issues.apache.org/jira/browse/CASSANDRA-1083?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tyler Hobbs updated CASSANDRA-1083: --- Attachment: compaction_simulation.rb Modified the simulation to show what's going on a little more clearly. Improvement to CompactionManger's submitMinorIfNeeded - Key: CASSANDRA-1083 URL: https://issues.apache.org/jira/browse/CASSANDRA-1083 Project: Cassandra Issue Type: Improvement Reporter: Ryan King Assignee: Tyler Hobbs Priority: Minor Fix For: 0.7.1 Attachments: 1083-configurable-compaction-thresholds.patch, compaction_simulation.rb, compaction_simulation.rb We've discovered that we are unable to tune compaction the way we want for our production cluster. I think the current algorithm doesn't do this as well as it could, since it doesn't sort the sstables by size before doing the bucketing, which means the tuning parameters have unpredictable results. I looked at CASSANDRA-792, but it seems like overkill. Here's an alternative proposal: config operations: minimumCompactionThreshold maximumCompactionThreshold targetSSTableCount The first two would mean what they currently mean: the bounds on how many sstables to compact in one compaction operation. The 3rd is a target for how many SSTables you'd like to have. Pseudo code algorithm for determining whether or not to do a minor compaction: {noformat} if sstables.length + minimumCompactionThreshold -1 targetSSTableCount sort sstables from smallest to largest compact the up to maximumCompactionThreshold smallest tables {noformat} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-1838) Add ability to set TTL on columns in cassandra-cli
[ https://issues.apache.org/jira/browse/CASSANDRA-1838?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12969815#action_12969815 ] Pavel Yaskevich commented on CASSANDRA-1838: I agree with Sylvain, 'with' will be better. Add ability to set TTL on columns in cassandra-cli -- Key: CASSANDRA-1838 URL: https://issues.apache.org/jira/browse/CASSANDRA-1838 Project: Cassandra Issue Type: Improvement Components: Tools Affects Versions: 0.7.0 rc 1 Environment: Ubuntu 10.04 64bit Reporter: Eric Tamme Assignee: Pavel Yaskevich Priority: Minor Fix For: 0.7.1 Currently the cassandra-cli does not have any mechanism to set the ttl attribute of a column. This would be a useful ability to have when working with the cli tool. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Issue Comment Edited: (CASSANDRA-1083) Improvement to CompactionManger's submitMinorIfNeeded
[ https://issues.apache.org/jira/browse/CASSANDRA-1083?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12969817#action_12969817 ] Tyler Hobbs edited comment on CASSANDRA-1083 at 12/9/10 12:11 PM: -- Modified the compaction simulation to show what's going on a little more clearly. (This time without marking for inclusion). was (Author: thobbs): Modified the compaction simulation to show what's going on a little more clearly. Improvement to CompactionManger's submitMinorIfNeeded - Key: CASSANDRA-1083 URL: https://issues.apache.org/jira/browse/CASSANDRA-1083 Project: Cassandra Issue Type: Improvement Reporter: Ryan King Assignee: Tyler Hobbs Priority: Minor Fix For: 0.7.1 Attachments: 1083-configurable-compaction-thresholds.patch, compaction_simulation.rb, compaction_simulation.rb We've discovered that we are unable to tune compaction the way we want for our production cluster. I think the current algorithm doesn't do this as well as it could, since it doesn't sort the sstables by size before doing the bucketing, which means the tuning parameters have unpredictable results. I looked at CASSANDRA-792, but it seems like overkill. Here's an alternative proposal: config operations: minimumCompactionThreshold maximumCompactionThreshold targetSSTableCount The first two would mean what they currently mean: the bounds on how many sstables to compact in one compaction operation. The 3rd is a target for how many SSTables you'd like to have. Pseudo code algorithm for determining whether or not to do a minor compaction: {noformat} if sstables.length + minimumCompactionThreshold -1 targetSSTableCount sort sstables from smallest to largest compact the up to maximumCompactionThreshold smallest tables {noformat} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-1083) Improvement to CompactionManger's submitMinorIfNeeded
[ https://issues.apache.org/jira/browse/CASSANDRA-1083?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tyler Hobbs updated CASSANDRA-1083: --- Attachment: compaction_simulation.rb Modified the compaction simulation to show what's going on a little more clearly. Improvement to CompactionManger's submitMinorIfNeeded - Key: CASSANDRA-1083 URL: https://issues.apache.org/jira/browse/CASSANDRA-1083 Project: Cassandra Issue Type: Improvement Reporter: Ryan King Assignee: Tyler Hobbs Priority: Minor Fix For: 0.7.1 Attachments: 1083-configurable-compaction-thresholds.patch, compaction_simulation.rb, compaction_simulation.rb We've discovered that we are unable to tune compaction the way we want for our production cluster. I think the current algorithm doesn't do this as well as it could, since it doesn't sort the sstables by size before doing the bucketing, which means the tuning parameters have unpredictable results. I looked at CASSANDRA-792, but it seems like overkill. Here's an alternative proposal: config operations: minimumCompactionThreshold maximumCompactionThreshold targetSSTableCount The first two would mean what they currently mean: the bounds on how many sstables to compact in one compaction operation. The 3rd is a target for how many SSTables you'd like to have. Pseudo code algorithm for determining whether or not to do a minor compaction: {noformat} if sstables.length + minimumCompactionThreshold -1 targetSSTableCount sort sstables from smallest to largest compact the up to maximumCompactionThreshold smallest tables {noformat} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Issue Comment Edited: (CASSANDRA-1083) Improvement to CompactionManger's submitMinorIfNeeded
[ https://issues.apache.org/jira/browse/CASSANDRA-1083?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12969046#action_12969046 ] Tyler Hobbs edited comment on CASSANDRA-1083 at 12/9/10 12:15 PM: -- I should note that the ruby logic for this is correct, but the psuedocode seems wrong. This is the key ruby logic: {noformat} def minor_if_needed tables = SSTABLES.sort{|a, b| b[1] = a[1]} to_compact = [] while to_compact.length MAX_COMPACT tables.length TARGET_SSTABLES - 1 to_compact tables.pop[0] if to_compact.length = MIN_COMPACT compact(to_compact) {noformat} was (Author: thobbs): I should note that the ruby logic for this is correct, but the psuedocode seems wrong. This is the key ruby logic: {noformat} def minor_if_needed tables = SSTABLES.sort{|a, b| b[1] = a[1]} to_compact = [] while to_compact.length MAX_COMPACT tables.length TARGET_SSTABLES - 1 to_compact tables.pop[0] {noformat} Improvement to CompactionManger's submitMinorIfNeeded - Key: CASSANDRA-1083 URL: https://issues.apache.org/jira/browse/CASSANDRA-1083 Project: Cassandra Issue Type: Improvement Reporter: Ryan King Assignee: Tyler Hobbs Priority: Minor Fix For: 0.7.1 Attachments: 1083-configurable-compaction-thresholds.patch, compaction_simulation.rb, compaction_simulation.rb We've discovered that we are unable to tune compaction the way we want for our production cluster. I think the current algorithm doesn't do this as well as it could, since it doesn't sort the sstables by size before doing the bucketing, which means the tuning parameters have unpredictable results. I looked at CASSANDRA-792, but it seems like overkill. Here's an alternative proposal: config operations: minimumCompactionThreshold maximumCompactionThreshold targetSSTableCount The first two would mean what they currently mean: the bounds on how many sstables to compact in one compaction operation. The 3rd is a target for how many SSTables you'd like to have. Pseudo code algorithm for determining whether or not to do a minor compaction: {noformat} if sstables.length + minimumCompactionThreshold -1 targetSSTableCount sort sstables from smallest to largest compact the up to maximumCompactionThreshold smallest tables {noformat} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (CASSANDRA-1839) Keep a tombstone cache
Keep a tombstone cache -- Key: CASSANDRA-1839 URL: https://issues.apache.org/jira/browse/CASSANDRA-1839 Project: Cassandra Issue Type: New Feature Affects Versions: 0.3 Reporter: Brandon Williams Fix For: 0.7.1 There is a use case in production where the pattern is read-then-delete, where most of the keys read will not exist, but be attempted many times. If the key has never existed, the bloom filter makes this operation cheap, however if the key has exist, especially if it has been overwritten many times and thus spans multiple SSTables, the merge-on-read just to end up with a tombstone can be expensive. This can be mitigated with keycache and some rowcache currently, but this can be further optimized by storing a sentinel value in the keycache indicating that it's a tombstone, which we can invalidate on new writes to the row. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-1824) Schema only fully propagates from seeds
[ https://issues.apache.org/jira/browse/CASSANDRA-1824?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12969819#action_12969819 ] Gary Dusbabek commented on CASSANDRA-1824: -- can't reproduce. Tested on 3-node clusters in trunk, 0.7 and 0.7-rc1. Schema only fully propagates from seeds --- Key: CASSANDRA-1824 URL: https://issues.apache.org/jira/browse/CASSANDRA-1824 Project: Cassandra Issue Type: Bug Affects Versions: 0.7 beta 1 Reporter: Brandon Williams Assignee: Gary Dusbabek Fix For: 0.7.0 If you have nodes X, Y, and Z, and Y already has some schema, but X and Z do not, and X is the seed node for the cluster, X will pick up the schema from Y, but it will never propagate to Z. If X has the schema, it will propagate to both Y and Z. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-1839) Keep a tombstone cache
[ https://issues.apache.org/jira/browse/CASSANDRA-1839?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Brandon Williams updated CASSANDRA-1839: Description: There is a use case in production where the pattern is read-then-delete, where most of the keys read will not exist, but be attempted many times. If the key has never existed, the bloom filter makes this operation cheap, however if the key has existed, especially if it has been overwritten many times and thus spans multiple SSTables, the merge-on-read just to end up with a tombstone can be expensive. This can be mitigated with keycache and some rowcache currently, but this can be further optimized by storing a sentinel value in the keycache indicating that it's a tombstone, which we can invalidate on new writes to the row. (was: There is a use case in production where the pattern is read-then-delete, where most of the keys read will not exist, but be attempted many times. If the key has never existed, the bloom filter makes this operation cheap, however if the key has exist, especially if it has been overwritten many times and thus spans multiple SSTables, the merge-on-read just to end up with a tombstone can be expensive. This can be mitigated with keycache and some rowcache currently, but this can be further optimized by storing a sentinel value in the keycache indicating that it's a tombstone, which we can invalidate on new writes to the row.) Keep a tombstone cache -- Key: CASSANDRA-1839 URL: https://issues.apache.org/jira/browse/CASSANDRA-1839 Project: Cassandra Issue Type: New Feature Affects Versions: 0.3 Reporter: Brandon Williams Fix For: 0.7.1 There is a use case in production where the pattern is read-then-delete, where most of the keys read will not exist, but be attempted many times. If the key has never existed, the bloom filter makes this operation cheap, however if the key has existed, especially if it has been overwritten many times and thus spans multiple SSTables, the merge-on-read just to end up with a tombstone can be expensive. This can be mitigated with keycache and some rowcache currently, but this can be further optimized by storing a sentinel value in the keycache indicating that it's a tombstone, which we can invalidate on new writes to the row. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Assigned: (CASSANDRA-1837) Deleted columns are resurrected after a flush
[ https://issues.apache.org/jira/browse/CASSANDRA-1837?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Gary Dusbabek reassigned CASSANDRA-1837: Assignee: Gary Dusbabek Deleted columns are resurrected after a flush - Key: CASSANDRA-1837 URL: https://issues.apache.org/jira/browse/CASSANDRA-1837 Project: Cassandra Issue Type: Bug Components: Core Affects Versions: 0.7.0 rc 1 Reporter: Brandon Williams Assignee: Gary Dusbabek Priority: Blocker Fix For: 0.7.0 Easily reproduced with the cli: {noformat} [defa...@unknown] create keyspace testks; 2785d67c-02df-11e0-ac09-e700f669bcfc [defa...@unknown] use testks; Authenticated to keyspace: testks [defa...@testks] create column family testcf; 2fbad20d-02df-11e0-ac09-e700f669bcfc [defa...@testks] set testcf['test']['foo'] = 'foo'; Value inserted. [defa...@testks] set testcf['test']['bar'] = 'bar'; Value inserted. [defa...@testks] list testcf; Using default limit of 100 --- RowKey: test = (column=626172, value=626172, timestamp=129182186912) = (column=666f6f, value=666f6f, timestamp=129182185732) 1 Row Returned. [defa...@testks] del testcf['test']; row removed. [defa...@testks] list testcf; Using default limit of 100 --- RowKey: test 1 Row Returned. {noformat} Now flush testks and look again: {noformat} [defa...@testks] list testcf; Using default limit of 100 --- RowKey: test = (column=626172, value=626172, timestamp=129182186912) = (column=666f6f, value=666f6f, timestamp=129182185732) 1 Row Returned. {noformat} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-1083) Improvement to CompactionManger's submitMinorIfNeeded
[ https://issues.apache.org/jira/browse/CASSANDRA-1083?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12969829#action_12969829 ] Ryan King commented on CASSANDRA-1083: -- To be honest, I'm not sure this is the best approach anymore. I think the fundamental problem is that its driven by the write traffic, not the read traffic. Improvement to CompactionManger's submitMinorIfNeeded - Key: CASSANDRA-1083 URL: https://issues.apache.org/jira/browse/CASSANDRA-1083 Project: Cassandra Issue Type: Improvement Reporter: Ryan King Assignee: Tyler Hobbs Priority: Minor Fix For: 0.7.1 Attachments: 1083-configurable-compaction-thresholds.patch, compaction_simulation.rb, compaction_simulation.rb We've discovered that we are unable to tune compaction the way we want for our production cluster. I think the current algorithm doesn't do this as well as it could, since it doesn't sort the sstables by size before doing the bucketing, which means the tuning parameters have unpredictable results. I looked at CASSANDRA-792, but it seems like overkill. Here's an alternative proposal: config operations: minimumCompactionThreshold maximumCompactionThreshold targetSSTableCount The first two would mean what they currently mean: the bounds on how many sstables to compact in one compaction operation. The 3rd is a target for how many SSTables you'd like to have. Pseudo code algorithm for determining whether or not to do a minor compaction: {noformat} if sstables.length + minimumCompactionThreshold -1 targetSSTableCount sort sstables from smallest to largest compact the up to maximumCompactionThreshold smallest tables {noformat} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
svn commit: r1044109 - in /cassandra/branches/cassandra-0.6: CHANGES.txt src/java/org/apache/cassandra/db/Table.java
Author: jbellis Date: Thu Dec 9 19:48:55 2010 New Revision: 1044109 URL: http://svn.apache.org/viewvc?rev=1044109view=rev Log: cleanup smallest CFs first to increase free temp space for larger ones patch by Jon Hermes and jbellis for CASSANDRA-1811 Modified: cassandra/branches/cassandra-0.6/CHANGES.txt cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/Table.java Modified: cassandra/branches/cassandra-0.6/CHANGES.txt URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/CHANGES.txt?rev=1044109r1=1044108r2=1044109view=diff == --- cassandra/branches/cassandra-0.6/CHANGES.txt (original) +++ cassandra/branches/cassandra-0.6/CHANGES.txt Thu Dec 9 19:48:55 2010 @@ -14,6 +14,8 @@ * fix range queries against wrapped range (CASSANDRA-1781) * add support for per-CF compaction (CASSANDRA-1812) * reduce fat client timeout (CASSANDRA-1730) + * cleanup smallest CFs first to increase free temp space for larger ones + (CASSANDRA-1811) 0.6.8 Modified: cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/Table.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/Table.java?rev=1044109r1=1044108r2=1044109view=diff == --- cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/Table.java (original) +++ cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/Table.java Thu Dec 9 19:48:55 2010 @@ -226,15 +226,28 @@ public class Table public void forceCleanup() { if (name.equals(SYSTEM_TABLE)) -throw new RuntimeException(Cleanup of the system table is neither necessary nor wise); +throw new UnsupportedOperationException(Cleanup of the system table is neither necessary nor wise); -SetString columnFamilies = tableMetadata.getColumnFamilies(); -for ( String columnFamily : columnFamilies ) +// Sort the column families in order of SSTable size, so cleanup of smaller CFs +// can free up space for larger ones +ListColumnFamilyStore sortedColumnFamilies = new ArrayListColumnFamilyStore(columnFamilyStores.values()); +Collections.sort(sortedColumnFamilies, new ComparatorColumnFamilyStore() { -ColumnFamilyStore cfStore = columnFamilyStores.get( columnFamily ); -if ( cfStore != null ) -cfStore.forceCleanup(); -} +// Compare first on size and, if equal, sort by name (arbitrary deterministic). +public int compare(ColumnFamilyStore cf1, ColumnFamilyStore cf2) +{ +long diff = (cf1.getTotalDiskSpaceUsed() - cf2.getTotalDiskSpaceUsed()); +if (diff 0) +return 1; +if (diff 0) +return -1; +return cf1.columnFamily_.compareTo(cf2.columnFamily_); +} +}); + +// Cleanup in sorted order to free up space for the larger ones +for (ColumnFamilyStore cfs : sortedColumnFamilies) +cfs.forceCleanup(); }
[jira] Commented: (CASSANDRA-1791) Return name of snapshot directory after creating it
[ https://issues.apache.org/jira/browse/CASSANDRA-1791?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12969899#action_12969899 ] Nick Bailey commented on CASSANDRA-1791: Good point, I didn't think about taking a full cluster snapshot, which is already available in clustertool Return name of snapshot directory after creating it --- Key: CASSANDRA-1791 URL: https://issues.apache.org/jira/browse/CASSANDRA-1791 Project: Cassandra Issue Type: New Feature Components: Core Environment: Debian Squeeze Reporter: paul cannon Assignee: Nick Bailey Priority: Minor Fix For: 0.7.1 Attachments: 0001-Use-same-timestamp-for-full-snapshots-and-return-sna.patch When making a snapshot, the new directory is created with a timestamp and, optionally, a user-supplied tag. For the sake of automated snapshot-creating tools, it would be helpful to know unequivocally what the new snapshot directory was named (otherwise, the tool must search for a directory similar what it expects the name to be, which could be both error-prone and maybe susceptible to attack). Recommend making takeSnapshot and takeAllSnapshot return a string, which is the base component of the new snapshot's directory name. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-1788) reduce copies on read, write paths
[ https://issues.apache.org/jira/browse/CASSANDRA-1788?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis updated CASSANDRA-1788: -- Attachment: 0002-remove-copies-from-network-path.txt 0001-setup.txt reduce copies on read, write paths -- Key: CASSANDRA-1788 URL: https://issues.apache.org/jira/browse/CASSANDRA-1788 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Jonathan Ellis Assignee: Jonathan Ellis Priority: Minor Fix For: 0.7.1 Attachments: 0001-setup.txt, 0002-remove-copies-from-network-path.txt, 1788-v2.txt, 1788-v3.txt, 1788-v4.txt, 1788.txt Currently, we do _three_ unnecessary copies (that is, writing to the socket is necessary; any other copies made are overhead) for each message: - constructing the Message body byte[] (this is typically a call to a ICompactSerializer[2] serialize method, but sometimes we cheat e.g. in SchemaCheckVerbHandler's reply) - which is copied to a buffer containing the entire Message (i.e. including Header) when sendOneWay calls Message.serializer.serialize() - which is copied to a newly-allocated ByteBuffer when sendOneWay calls packIt - which is what we write to the socket For deserialize we perform a similar orgy of copies: - IncomingTcpConnection reads the Message length, allocates a byte[], and reads the serialized Message into it - ITcpC then calls Message.serializer().deserialize, which allocates a new byte[] for the body and copies that part - finally, the verbHandler (determined by the now-deserialized Message header) deserializes the actual object represented by the body Most of these are out of scope for 0.7 but I think we can at least elide the last copy on the write path and the first on the read. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-1788) reduce copies on read, write paths
[ https://issues.apache.org/jira/browse/CASSANDRA-1788?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12969912#action_12969912 ] Jonathan Ellis commented on CASSANDRA-1788: --- Rebooted v4 by first adding MessageSerializerTest with a bytesToHex string of the old-style bytes-on-wire to make sure I'm not breaking it. Then when I add the new code I'm testing that new code can read old bytes, as well as old code reading new bytes. Everything comes up clean. I think I need another set of eyes on this. (01 is large because I encapculated MS.instance in a getter to break an initialization-cycle problem.) reduce copies on read, write paths -- Key: CASSANDRA-1788 URL: https://issues.apache.org/jira/browse/CASSANDRA-1788 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Jonathan Ellis Assignee: Jonathan Ellis Priority: Minor Fix For: 0.7.1 Attachments: 0001-setup.txt, 0002-remove-copies-from-network-path.txt, 1788-v2.txt, 1788-v3.txt, 1788-v4.txt, 1788.txt Currently, we do _three_ unnecessary copies (that is, writing to the socket is necessary; any other copies made are overhead) for each message: - constructing the Message body byte[] (this is typically a call to a ICompactSerializer[2] serialize method, but sometimes we cheat e.g. in SchemaCheckVerbHandler's reply) - which is copied to a buffer containing the entire Message (i.e. including Header) when sendOneWay calls Message.serializer.serialize() - which is copied to a newly-allocated ByteBuffer when sendOneWay calls packIt - which is what we write to the socket For deserialize we perform a similar orgy of copies: - IncomingTcpConnection reads the Message length, allocates a byte[], and reads the serialized Message into it - ITcpC then calls Message.serializer().deserialize, which allocates a new byte[] for the body and copies that part - finally, the verbHandler (determined by the now-deserialized Message header) deserializes the actual object represented by the body Most of these are out of scope for 0.7 but I think we can at least elide the last copy on the write path and the first on the read. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-1824) Schema only fully propagates from seeds
[ https://issues.apache.org/jira/browse/CASSANDRA-1824?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12969922#action_12969922 ] Brandon Williams commented on CASSANDRA-1824: - It takes me a few tries, but the procedure is: 1) start a non-seed, load schema 2) start other non-seed 3) start seed Usually I can reproduce in 10 tries or less. Schema only fully propagates from seeds --- Key: CASSANDRA-1824 URL: https://issues.apache.org/jira/browse/CASSANDRA-1824 Project: Cassandra Issue Type: Bug Affects Versions: 0.7 beta 1 Reporter: Brandon Williams Assignee: Gary Dusbabek Fix For: 0.7.0 If you have nodes X, Y, and Z, and Y already has some schema, but X and Z do not, and X is the seed node for the cluster, X will pick up the schema from Y, but it will never propagate to Z. If X has the schema, it will propagate to both Y and Z. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-1470) use direct io for compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-1470?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12969969#action_12969969 ] Jonathan Ellis commented on CASSANDRA-1470: --- bq. see http://chbits.blogspot.com/2010/06/lucene-and-fadvisemadvise.html for why posix_fadvise won't work [for writes] use direct io for compaction Key: CASSANDRA-1470 URL: https://issues.apache.org/jira/browse/CASSANDRA-1470 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Jonathan Ellis Assignee: Pavel Yaskevich Fix For: 0.7.1 Attachments: 1470-v2.txt, 1470.txt, CASSANDRA-1470-for-0.6.patch, CASSANDRA-1470-v10-for-0.7.patch, CASSANDRA-1470-v11-for-0.7.patch, CASSANDRA-1470-v12-0.7.patch, CASSANDRA-1470-v2.patch, CASSANDRA-1470-v3-0.7-with-LastErrorException-support.patch, CASSANDRA-1470-v4-for-0.7.patch, CASSANDRA-1470-v5-for-0.7.patch, CASSANDRA-1470-v6-for-0.7.patch, CASSANDRA-1470-v7-for-0.7.patch, CASSANDRA-1470-v8-for-0.7.patch, CASSANDRA-1470-v9-for-0.7.patch, CASSANDRA-1470.patch, use.DirectIORandomAccessFile.for.commitlog.against.1022235.patch When compaction scans through a group of sstables, it forces the data in the os buffer cache being used for hot reads, which can have a dramatic negative effect on performance. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-1470) use direct io for compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-1470?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12969973#action_12969973 ] Jonathan Ellis commented on CASSANDRA-1470: --- Also: sounds like we should have an executor in charge of doing the write, so the compaction thread can start filling the next buffer immediately use direct io for compaction Key: CASSANDRA-1470 URL: https://issues.apache.org/jira/browse/CASSANDRA-1470 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Jonathan Ellis Assignee: Pavel Yaskevich Fix For: 0.7.1 Attachments: 1470-v2.txt, 1470.txt, CASSANDRA-1470-for-0.6.patch, CASSANDRA-1470-v10-for-0.7.patch, CASSANDRA-1470-v11-for-0.7.patch, CASSANDRA-1470-v12-0.7.patch, CASSANDRA-1470-v2.patch, CASSANDRA-1470-v3-0.7-with-LastErrorException-support.patch, CASSANDRA-1470-v4-for-0.7.patch, CASSANDRA-1470-v5-for-0.7.patch, CASSANDRA-1470-v6-for-0.7.patch, CASSANDRA-1470-v7-for-0.7.patch, CASSANDRA-1470-v8-for-0.7.patch, CASSANDRA-1470-v9-for-0.7.patch, CASSANDRA-1470.patch, use.DirectIORandomAccessFile.for.commitlog.against.1022235.patch When compaction scans through a group of sstables, it forces the data in the os buffer cache being used for hot reads, which can have a dramatic negative effect on performance. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-1470) use direct io for compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-1470?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12969979#action_12969979 ] Pavel Yaskevich commented on CASSANDRA-1470: I have tried to play with buffer size from 4Kb to 4Mb that does not give any improvement. Using separate thread for write in this point won't give any thing because read mutex lock is set on the file during write to avoid inconsistency. Please someone who have read linux kernel source correct me if I'm wrong about this... use direct io for compaction Key: CASSANDRA-1470 URL: https://issues.apache.org/jira/browse/CASSANDRA-1470 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Jonathan Ellis Assignee: Pavel Yaskevich Fix For: 0.7.1 Attachments: 1470-v2.txt, 1470.txt, CASSANDRA-1470-for-0.6.patch, CASSANDRA-1470-v10-for-0.7.patch, CASSANDRA-1470-v11-for-0.7.patch, CASSANDRA-1470-v12-0.7.patch, CASSANDRA-1470-v2.patch, CASSANDRA-1470-v3-0.7-with-LastErrorException-support.patch, CASSANDRA-1470-v4-for-0.7.patch, CASSANDRA-1470-v5-for-0.7.patch, CASSANDRA-1470-v6-for-0.7.patch, CASSANDRA-1470-v7-for-0.7.patch, CASSANDRA-1470-v8-for-0.7.patch, CASSANDRA-1470-v9-for-0.7.patch, CASSANDRA-1470.patch, use.DirectIORandomAccessFile.for.commitlog.against.1022235.patch When compaction scans through a group of sstables, it forces the data in the os buffer cache being used for hot reads, which can have a dramatic negative effect on performance. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-1408) nodetool drain attempts to delete a deleted file
[ https://issues.apache.org/jira/browse/CASSANDRA-1408?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Brandon Williams updated CASSANDRA-1408: Fix Version/s: 0.6.9 nodetool drain attempts to delete a deleted file Key: CASSANDRA-1408 URL: https://issues.apache.org/jira/browse/CASSANDRA-1408 Project: Cassandra Issue Type: Bug Environment: sun-jdk-1.6/Ubuntu 10.04 Reporter: Jon Hermes Assignee: Jonathan Ellis Priority: Minor Fix For: 0.6.9, 0.7 beta 2 Attachments: 1408.txt Running `nodetool drain` presented me with a pretty stack-trace. The drain itself finished successfully and nothing showed up in the system.log. {noformat} $ bin/nodetool -h 127.0.0.1 -p 8080 drain Exception in thread main java.lang.AssertionError: attempted to delete non-existing file CommitLog-1282166457787.log at org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:40) at org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:178) at org.apache.cassandra.service.StorageService.drain(StorageService.java:1653) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27) at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208) at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:120) at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1427) at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1360) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305) at sun.rmi.transport.Transport$1.run(Transport.java:159) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:155) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) {noformat} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-1408) nodetool drain attempts to delete a deleted file
[ https://issues.apache.org/jira/browse/CASSANDRA-1408?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Brandon Williams updated CASSANDRA-1408: Attachment: 1408-0.6.txt nodetool drain attempts to delete a deleted file Key: CASSANDRA-1408 URL: https://issues.apache.org/jira/browse/CASSANDRA-1408 Project: Cassandra Issue Type: Bug Environment: sun-jdk-1.6/Ubuntu 10.04 Reporter: Jon Hermes Assignee: Jonathan Ellis Priority: Minor Fix For: 0.6.9, 0.7 beta 2 Attachments: 1408-0.6.txt, 1408.txt Running `nodetool drain` presented me with a pretty stack-trace. The drain itself finished successfully and nothing showed up in the system.log. {noformat} $ bin/nodetool -h 127.0.0.1 -p 8080 drain Exception in thread main java.lang.AssertionError: attempted to delete non-existing file CommitLog-1282166457787.log at org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:40) at org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:178) at org.apache.cassandra.service.StorageService.drain(StorageService.java:1653) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27) at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208) at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:120) at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1427) at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1360) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305) at sun.rmi.transport.Transport$1.run(Transport.java:159) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:155) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) {noformat} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Assigned: (CASSANDRA-1408) nodetool drain attempts to delete a deleted file
[ https://issues.apache.org/jira/browse/CASSANDRA-1408?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Brandon Williams reassigned CASSANDRA-1408: --- Assignee: Brandon Williams (was: Jonathan Ellis) nodetool drain attempts to delete a deleted file Key: CASSANDRA-1408 URL: https://issues.apache.org/jira/browse/CASSANDRA-1408 Project: Cassandra Issue Type: Bug Environment: sun-jdk-1.6/Ubuntu 10.04 Reporter: Jon Hermes Assignee: Brandon Williams Priority: Minor Fix For: 0.6.9, 0.7 beta 2 Attachments: 1408-0.6.txt, 1408.txt Running `nodetool drain` presented me with a pretty stack-trace. The drain itself finished successfully and nothing showed up in the system.log. {noformat} $ bin/nodetool -h 127.0.0.1 -p 8080 drain Exception in thread main java.lang.AssertionError: attempted to delete non-existing file CommitLog-1282166457787.log at org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:40) at org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:178) at org.apache.cassandra.service.StorageService.drain(StorageService.java:1653) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27) at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208) at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:120) at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1427) at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1360) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305) at sun.rmi.transport.Transport$1.run(Transport.java:159) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:155) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) {noformat} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-1470) use direct io for compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-1470?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12969998#action_12969998 ] Jonathan Ellis commented on CASSANDRA-1470: --- bq. Using separate thread for write in this point won't give any thing sure it will bq. because read mutex lock is set on the file during write to avoid inconsistency. locks on the file don't stop us from filling *another* buffer while writing the last. so instead of {code} compaction thread: fill buffer 1 write 1 fill buffer 2 write 2 {code} you have {code} compaction thread: write thread: fill buffer 1 fill buffer 2 write 1 write 2 {code} use direct io for compaction Key: CASSANDRA-1470 URL: https://issues.apache.org/jira/browse/CASSANDRA-1470 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Jonathan Ellis Assignee: Pavel Yaskevich Fix For: 0.7.1 Attachments: 1470-v2.txt, 1470.txt, CASSANDRA-1470-for-0.6.patch, CASSANDRA-1470-v10-for-0.7.patch, CASSANDRA-1470-v11-for-0.7.patch, CASSANDRA-1470-v12-0.7.patch, CASSANDRA-1470-v2.patch, CASSANDRA-1470-v3-0.7-with-LastErrorException-support.patch, CASSANDRA-1470-v4-for-0.7.patch, CASSANDRA-1470-v5-for-0.7.patch, CASSANDRA-1470-v6-for-0.7.patch, CASSANDRA-1470-v7-for-0.7.patch, CASSANDRA-1470-v8-for-0.7.patch, CASSANDRA-1470-v9-for-0.7.patch, CASSANDRA-1470.patch, use.DirectIORandomAccessFile.for.commitlog.against.1022235.patch When compaction scans through a group of sstables, it forces the data in the os buffer cache being used for hot reads, which can have a dramatic negative effect on performance. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-1470) use direct io for compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-1470?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=1296#action_1296 ] Pavel Yaskevich commented on CASSANDRA-1470: Agree, it will be possible is lock is set on the region in the file which we won't be reading. Let me try and implement the scheme you suggest here, thanks! use direct io for compaction Key: CASSANDRA-1470 URL: https://issues.apache.org/jira/browse/CASSANDRA-1470 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Jonathan Ellis Assignee: Pavel Yaskevich Fix For: 0.7.1 Attachments: 1470-v2.txt, 1470.txt, CASSANDRA-1470-for-0.6.patch, CASSANDRA-1470-v10-for-0.7.patch, CASSANDRA-1470-v11-for-0.7.patch, CASSANDRA-1470-v12-0.7.patch, CASSANDRA-1470-v2.patch, CASSANDRA-1470-v3-0.7-with-LastErrorException-support.patch, CASSANDRA-1470-v4-for-0.7.patch, CASSANDRA-1470-v5-for-0.7.patch, CASSANDRA-1470-v6-for-0.7.patch, CASSANDRA-1470-v7-for-0.7.patch, CASSANDRA-1470-v8-for-0.7.patch, CASSANDRA-1470-v9-for-0.7.patch, CASSANDRA-1470.patch, use.DirectIORandomAccessFile.for.commitlog.against.1022235.patch When compaction scans through a group of sstables, it forces the data in the os buffer cache being used for hot reads, which can have a dramatic negative effect on performance. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
svn commit: r1044161 - /cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java
Author: jbellis Date: Thu Dec 9 23:17:16 2010 New Revision: 1044161 URL: http://svn.apache.org/viewvc?rev=1044161view=rev Log: fix regression from CASSANDRA-1829 patch by jbellis Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java?rev=1044161r1=1044160r2=1044161view=diff == --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java Thu Dec 9 23:17:16 2010 @@ -398,7 +398,6 @@ public class StorageService implements I logger_.info(This node will not auto bootstrap because it is configured to be a seed node.); Token token; -boolean bootstrapped = false; if (DatabaseDescriptor.isAutoBootstrap() !(DatabaseDescriptor.getSeeds().contains(FBUtilities.getLocalAddress()) || SystemTable.isBootstrapped())) { @@ -418,8 +417,6 @@ public class StorageService implements I { bootstrap(token); assert !isBootstrapMode; // bootstrap will block until finished -bootstrapped = true; -SystemTable.setBootstrapped(true); // first startup is only chance to bootstrap } // else nothing to do, go directly to participating in ring } @@ -446,8 +443,8 @@ public class StorageService implements I } } -if(!bootstrapped) -setToken(token); +SystemTable.setBootstrapped(true); // first startup is only chance to bootstrap +setToken(token); assert tokenMetadata_.sortedTokens().size() 0; } @@ -580,7 +577,7 @@ public class StorageService implements I * STATE_NORMAL,token * ready to serve reads and writes. * STATE_NORMAL,token,REMOVE_TOKEN,token - * specialized normal state in which this node acts as a proxy to tell the cluster about a dead node whose + * specialized normal state in which this node acts as a proxy to tell the cluster about a dead node whose * token is being removed. this value becomes the permanent state of this node (unless it coordinates another * removetoken in the future). * STATE_LEAVING,token
[jira] Commented: (CASSANDRA-1829) Nodetool move is broken
[ https://issues.apache.org/jira/browse/CASSANDRA-1829?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12970003#action_12970003 ] Jonathan Ellis commented on CASSANDRA-1829: --- committed r1044161 to fix regression of setBootstrapped treatment Nodetool move is broken --- Key: CASSANDRA-1829 URL: https://issues.apache.org/jira/browse/CASSANDRA-1829 Project: Cassandra Issue Type: Bug Components: Core Affects Versions: 0.7.0 rc 1 Reporter: Nick Bailey Assignee: Nick Bailey Priority: Blocker Fix For: 0.7.0 Attachments: 0001-Update-token-after-bootstrapping.patch The code from finishBootstrapping that finishes a move was removed. This means a move will leave a node stuck in a bootstrapping state forever. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-1470) use direct io for compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-1470?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12970004#action_12970004 ] Jonathan Ellis commented on CASSANDRA-1470: --- bq. the region in the file which we won't be reading Isn't it primarily the write path that we see the slowdown on? Or am I misunderstanding those benchmark numbers above? use direct io for compaction Key: CASSANDRA-1470 URL: https://issues.apache.org/jira/browse/CASSANDRA-1470 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Jonathan Ellis Assignee: Pavel Yaskevich Fix For: 0.7.1 Attachments: 1470-v2.txt, 1470.txt, CASSANDRA-1470-for-0.6.patch, CASSANDRA-1470-v10-for-0.7.patch, CASSANDRA-1470-v11-for-0.7.patch, CASSANDRA-1470-v12-0.7.patch, CASSANDRA-1470-v2.patch, CASSANDRA-1470-v3-0.7-with-LastErrorException-support.patch, CASSANDRA-1470-v4-for-0.7.patch, CASSANDRA-1470-v5-for-0.7.patch, CASSANDRA-1470-v6-for-0.7.patch, CASSANDRA-1470-v7-for-0.7.patch, CASSANDRA-1470-v8-for-0.7.patch, CASSANDRA-1470-v9-for-0.7.patch, CASSANDRA-1470.patch, use.DirectIORandomAccessFile.for.commitlog.against.1022235.patch When compaction scans through a group of sstables, it forces the data in the os buffer cache being used for hot reads, which can have a dramatic negative effect on performance. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-1470) use direct io for compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-1470?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12970006#action_12970006 ] Pavel Yaskevich commented on CASSANDRA-1470: Yeah, you are correct about it. You misunderstand my previous comment but nevermind, I understand what you mean here. use direct io for compaction Key: CASSANDRA-1470 URL: https://issues.apache.org/jira/browse/CASSANDRA-1470 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Jonathan Ellis Assignee: Pavel Yaskevich Fix For: 0.7.1 Attachments: 1470-v2.txt, 1470.txt, CASSANDRA-1470-for-0.6.patch, CASSANDRA-1470-v10-for-0.7.patch, CASSANDRA-1470-v11-for-0.7.patch, CASSANDRA-1470-v12-0.7.patch, CASSANDRA-1470-v2.patch, CASSANDRA-1470-v3-0.7-with-LastErrorException-support.patch, CASSANDRA-1470-v4-for-0.7.patch, CASSANDRA-1470-v5-for-0.7.patch, CASSANDRA-1470-v6-for-0.7.patch, CASSANDRA-1470-v7-for-0.7.patch, CASSANDRA-1470-v8-for-0.7.patch, CASSANDRA-1470-v9-for-0.7.patch, CASSANDRA-1470.patch, use.DirectIORandomAccessFile.for.commitlog.against.1022235.patch When compaction scans through a group of sstables, it forces the data in the os buffer cache being used for hot reads, which can have a dramatic negative effect on performance. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
svn commit: r1044188 - /cassandra/tags/cassandra-0.7.0-rc2/
Author: eevans Date: Fri Dec 10 01:11:10 2010 New Revision: 1044188 URL: http://svn.apache.org/viewvc?rev=1044188view=rev Log: tagging 0.7.0 rc2 Added: cassandra/tags/cassandra-0.7.0-rc2/ - copied from r1042731, cassandra/branches/cassandra-0.7/
[Cassandra Wiki] Update of CassandraCli by JingguoYao
Dear Wiki user, You have subscribed to a wiki page or wiki category on Cassandra Wiki for change notification. The CassandraCli page has been changed by JingguoYao. http://wiki.apache.org/cassandra/CassandraCli?action=diffrev1=21rev2=22 -- cassandra }}} - If you are using SimpleAuthenticator (instead of AllowAllAuthenticator) you can specify the username, password and keyspace by adding the following options to cassandra-cli: -username username -password password -keyspace keyspace): + If you are using SimpleAuthenticator (instead of !AllowAllAuthenticator) you can specify the username, password and keyspace by adding the following options to cassandra-cli: -username username -password password -keyspace keyspace): {{{ tbl...@quasar:~/dev/workspaces/cassandra$ bin/cassandra-cli -host localhost -port 9160 -username todd -keyspace Keyspace1 -password blah
svn commit: r1044195 - in /cassandra/site: publish/download/index.html src/settings.py
Author: eevans Date: Fri Dec 10 01:57:50 2010 New Revision: 1044195 URL: http://svn.apache.org/viewvc?rev=1044195view=rev Log: update versioning for 0.7.0 rc2 release Modified: cassandra/site/publish/download/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=1044195r1=1044194r2=1044195view=diff == --- cassandra/site/publish/download/index.html (original) +++ cassandra/site/publish/download/index.html Fri Dec 10 01:57:50 2010 @@ -77,22 +77,22 @@ p - The latest development release is 0.7.0-rc1 (released on - 2010-11-24). + The latest development release is 0.7.0-rc2 (released on + 2010-12-09). /p ul li -a class=filename href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/0.7.0/apache-cassandra-0.7.0-rc1-bin.tar.gz;apache-cassandra-0.7.0-rc1-bin.tar.gz/a -[a href=http://www.apache.org/dist/cassandra/0.7.0/apache-cassandra-0.7.0-rc1-bin.tar.gz.asc;PGP/a] -[a href=http://www.apache.org/dist/cassandra/0.7.0/apache-cassandra-0.7.0-rc1-bin.tar.gz.md5;MD5/a] -[a href=http://www.apache.org/dist/cassandra/0.7.0/apache-cassandra-0.7.0-rc1-bin.tar.gz.sha;SHA1/a] +a class=filename href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/0.7.0/apache-cassandra-0.7.0-rc2-bin.tar.gz;apache-cassandra-0.7.0-rc2-bin.tar.gz/a +[a href=http://www.apache.org/dist/cassandra/0.7.0/apache-cassandra-0.7.0-rc2-bin.tar.gz.asc;PGP/a] +[a href=http://www.apache.org/dist/cassandra/0.7.0/apache-cassandra-0.7.0-rc2-bin.tar.gz.md5;MD5/a] +[a href=http://www.apache.org/dist/cassandra/0.7.0/apache-cassandra-0.7.0-rc2-bin.tar.gz.sha;SHA1/a] /li li -a class=filename href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/0.7.0/apache-cassandra-0.7.0-rc1-src.tar.gz;apache-cassandra-0.7.0-rc1-src.tar.gz/a -[a href=http://www.apache.org/dist/cassandra/0.7.0/apache-cassandra-0.7.0-rc1-src.tar.gz.asc;PGP/a] -[a href=http://www.apache.org/dist/cassandra/0.7.0/apache-cassandra-0.7.0-rc1-src.tar.gz.md5;MD5/a] -[a href=http://www.apache.org/dist/cassandra/0.7.0/apache-cassandra-0.7.0-rc1-src.tar.gz.sha;SHA1/a] +a class=filename href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/0.7.0/apache-cassandra-0.7.0-rc2-src.tar.gz;apache-cassandra-0.7.0-rc2-src.tar.gz/a +[a href=http://www.apache.org/dist/cassandra/0.7.0/apache-cassandra-0.7.0-rc2-src.tar.gz.asc;PGP/a] +[a href=http://www.apache.org/dist/cassandra/0.7.0/apache-cassandra-0.7.0-rc2-src.tar.gz.md5;MD5/a] +[a href=http://www.apache.org/dist/cassandra/0.7.0/apache-cassandra-0.7.0-rc2-src.tar.gz.sha;SHA1/a] /li /ul Modified: cassandra/site/src/settings.py URL: http://svn.apache.org/viewvc/cassandra/site/src/settings.py?rev=1044195r1=1044194r2=1044195view=diff == --- cassandra/site/src/settings.py (original) +++ cassandra/site/src/settings.py Fri Dec 10 01:57:50 2010 @@ -94,8 +94,8 @@ SITE_POST_PROCESSORS = { class CassandraDef(object): stable_version = '0.6.8' stable_release_date = '2010-11-12' -devel_version = '0.7.0-rc1' -devel_release_date = '2010-11-24' +devel_version = '0.7.0-rc2' +devel_release_date = '2010-12-09' devel_exists = True _apache_base_url = 'http://www.apache.org' _svn_base_url = 'https://svn.apache.org/repos/asf'
svn commit: r1044206 - /cassandra/branches/cassandra-0.7/CHANGES.txt
Author: jbellis Date: Fri Dec 10 03:25:36 2010 New Revision: 1044206 URL: http://svn.apache.org/viewvc?rev=1044206view=rev Log: r/m whitespace 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=1044206r1=1044205r2=1044206view=diff == --- cassandra/branches/cassandra-0.7/CHANGES.txt (original) +++ cassandra/branches/cassandra-0.7/CHANGES.txt Fri Dec 10 03:25:36 2010 @@ -60,8 +60,6 @@ dev * reduce fat client timeout (CASSANDRA-1730) * cleanup smallest CFs first to increase free temp space for larger ones (CASSANDRA-1811) - - * Update windows .bat files to work outside of main Cassandra directory (CASSANDRA-1713) * fix read repair regression from 0.6.7 (CASSANDRA-1727)
[jira] Updated: (CASSANDRA-1791) Return name of snapshot directory after creating it
[ https://issues.apache.org/jira/browse/CASSANDRA-1791?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Nick Bailey updated CASSANDRA-1791: --- Attachment: (was: 0001-Use-same-timestamp-for-full-snapshots-and-return-sna.patch) Return name of snapshot directory after creating it --- Key: CASSANDRA-1791 URL: https://issues.apache.org/jira/browse/CASSANDRA-1791 Project: Cassandra Issue Type: New Feature Components: Core Environment: Debian Squeeze Reporter: paul cannon Assignee: Nick Bailey Priority: Minor Fix For: 0.7.1 When making a snapshot, the new directory is created with a timestamp and, optionally, a user-supplied tag. For the sake of automated snapshot-creating tools, it would be helpful to know unequivocally what the new snapshot directory was named (otherwise, the tool must search for a directory similar what it expects the name to be, which could be both error-prone and maybe susceptible to attack). Recommend making takeSnapshot and takeAllSnapshot return a string, which is the base component of the new snapshot's directory name. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-1791) Return name of snapshot directory after creating it
[ https://issues.apache.org/jira/browse/CASSANDRA-1791?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Nick Bailey updated CASSANDRA-1791: --- Attachment: 0001-Require-user-specified-snapshot-names.patch Require a user specified tag. Nodetool and clustertool will default to a timestamp. We will want to indicate that this change can possibly break any automated backup solutions people have. If you have a cron job to snapshot and it provides a snapshot name, it will fail after this change because there will be no timestamp appended and the snapshot will complain the snapshot already exists. Return name of snapshot directory after creating it --- Key: CASSANDRA-1791 URL: https://issues.apache.org/jira/browse/CASSANDRA-1791 Project: Cassandra Issue Type: New Feature Components: Core Environment: Debian Squeeze Reporter: paul cannon Assignee: Nick Bailey Priority: Minor Fix For: 0.7.1 Attachments: 0001-Require-user-specified-snapshot-names.patch When making a snapshot, the new directory is created with a timestamp and, optionally, a user-supplied tag. For the sake of automated snapshot-creating tools, it would be helpful to know unequivocally what the new snapshot directory was named (otherwise, the tool must search for a directory similar what it expects the name to be, which could be both error-prone and maybe susceptible to attack). Recommend making takeSnapshot and takeAllSnapshot return a string, which is the base component of the new snapshot's directory name. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.