[jira] [Updated] (CASSANDRA-2156) Compaction Throttling

2011-04-11 Thread Stu Hood (JIRA)

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

Stu Hood updated CASSANDRA-2156:


Attachment: (was: 
0006-Throttle-total-compaction-to-a-configurable-throughput.txt)

 Compaction Throttling
 -

 Key: CASSANDRA-2156
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2156
 Project: Cassandra
  Issue Type: New Feature
Reporter: Stu Hood
Assignee: Stu Hood
 Fix For: 0.8

 Attachments: 
 for-0.6-0001-Throttle-compaction-to-a-fixed-throughput.txt, 
 for-0.6-0002-Make-compaction-throttling-configurable.txt


 Compaction is currently relatively bursty: we compact as fast as we can, and 
 then we wait for the next compaction to be possible (hurry up and wait).
 Instead, to properly amortize compaction, you'd like to compact exactly as 
 fast as you need to to keep the sstable count under control.
 For every new level of compaction, you need to increase the rate that you 
 compact at: a rule of thumb that we're testing on our clusters is to 
 determine the maximum number of buckets a node can support (aka, if the 15th 
 bucket holds 750 GB, we're not going to have more than 15 buckets), and then 
 multiply the flush throughput by the number of buckets to get a minimum 
 compaction throughput to maintain your sstable count.
 Full explanation: for a min compaction threshold of {{T}}, the bucket at 
 level {{N}} can contain {{SsubN = T^N}} 'units' (unit == memtable's worth of 
 data on disk). Every time a new unit is added, it has a {{1/SsubN}} chance of 
 causing the bucket at level N to fill. If the bucket at level N fills, it 
 causes {{SsubN}} units to be compacted. So, for each active level in your 
 system you have {{SubN * 1 / SsubN}}, or {{1}} amortized unit to compact any 
 time a new unit is added.

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


[jira] [Updated] (CASSANDRA-2156) Compaction Throttling

2011-04-11 Thread Stu Hood (JIRA)

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

Stu Hood updated CASSANDRA-2156:


Attachment: 0007-Throttle-total-compaction-to-a-configurable-throughput.txt

 Compaction Throttling
 -

 Key: CASSANDRA-2156
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2156
 Project: Cassandra
  Issue Type: New Feature
Reporter: Stu Hood
Assignee: Stu Hood
 Fix For: 0.8

 Attachments: 
 0007-Throttle-total-compaction-to-a-configurable-throughput.txt, 
 for-0.6-0001-Throttle-compaction-to-a-fixed-throughput.txt, 
 for-0.6-0002-Make-compaction-throttling-configurable.txt


 Compaction is currently relatively bursty: we compact as fast as we can, and 
 then we wait for the next compaction to be possible (hurry up and wait).
 Instead, to properly amortize compaction, you'd like to compact exactly as 
 fast as you need to to keep the sstable count under control.
 For every new level of compaction, you need to increase the rate that you 
 compact at: a rule of thumb that we're testing on our clusters is to 
 determine the maximum number of buckets a node can support (aka, if the 15th 
 bucket holds 750 GB, we're not going to have more than 15 buckets), and then 
 multiply the flush throughput by the number of buckets to get a minimum 
 compaction throughput to maintain your sstable count.
 Full explanation: for a min compaction threshold of {{T}}, the bucket at 
 level {{N}} can contain {{SsubN = T^N}} 'units' (unit == memtable's worth of 
 data on disk). Every time a new unit is added, it has a {{1/SsubN}} chance of 
 causing the bucket at level N to fill. If the bucket at level N fills, it 
 causes {{SsubN}} units to be compacted. So, for each active level in your 
 system you have {{SubN * 1 / SsubN}}, or {{1}} amortized unit to compact any 
 time a new unit is added.

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


[jira] [Updated] (CASSANDRA-2191) Multithread across compaction buckets

2011-04-11 Thread Stu Hood (JIRA)

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

Stu Hood updated CASSANDRA-2191:


Attachment: (was: 
0005-Add-a-harness-to-allow-compaction-tasks-that-need-to-a.txt)

 Multithread across compaction buckets
 -

 Key: CASSANDRA-2191
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2191
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Stu Hood
Assignee: Stu Hood
Priority: Critical
  Labels: compaction
 Fix For: 0.8


 This ticket overlaps with CASSANDRA-1876 to a degree, but the approaches and 
 reasoning are different enough to open a separate issue.
 The problem with compactions currently is that they compact the set of 
 sstables that existed the moment the compaction started. This means that for 
 longer running compactions (even when running as fast as possible on the 
 hardware), a very large number of new sstables might be created in the 
 meantime. We have observed this proliferation of sstables killing performance 
 during major/high-bucketed compactions.
 One approach would be to pause compactions in upper buckets (containing 
 larger files) when compactions in lower buckets become possible. While this 
 would likely solve the problem with read performance, it does not actually 
 help us perform compaction any faster, which is a reasonable requirement for 
 other situations.
 Instead, we need to be able to perform any compactions that are currently 
 required in parallel, independent of what bucket they might be in.

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


[jira] [Updated] (CASSANDRA-2191) Multithread across compaction buckets

2011-04-11 Thread Stu Hood (JIRA)

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

Stu Hood updated CASSANDRA-2191:


Attachment: (was: 0001-Add-a-compacting-set-to-DataTracker.txt)

 Multithread across compaction buckets
 -

 Key: CASSANDRA-2191
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2191
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Stu Hood
Assignee: Stu Hood
Priority: Critical
  Labels: compaction
 Fix For: 0.8


 This ticket overlaps with CASSANDRA-1876 to a degree, but the approaches and 
 reasoning are different enough to open a separate issue.
 The problem with compactions currently is that they compact the set of 
 sstables that existed the moment the compaction started. This means that for 
 longer running compactions (even when running as fast as possible on the 
 hardware), a very large number of new sstables might be created in the 
 meantime. We have observed this proliferation of sstables killing performance 
 during major/high-bucketed compactions.
 One approach would be to pause compactions in upper buckets (containing 
 larger files) when compactions in lower buckets become possible. While this 
 would likely solve the problem with read performance, it does not actually 
 help us perform compaction any faster, which is a reasonable requirement for 
 other situations.
 Instead, we need to be able to perform any compactions that are currently 
 required in parallel, independent of what bucket they might be in.

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


[jira] [Updated] (CASSANDRA-2191) Multithread across compaction buckets

2011-04-11 Thread Stu Hood (JIRA)

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

Stu Hood updated CASSANDRA-2191:


Attachment: (was: 0004-Allow-multithread-compaction-to-be-disabled.txt)

 Multithread across compaction buckets
 -

 Key: CASSANDRA-2191
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2191
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Stu Hood
Assignee: Stu Hood
Priority: Critical
  Labels: compaction
 Fix For: 0.8


 This ticket overlaps with CASSANDRA-1876 to a degree, but the approaches and 
 reasoning are different enough to open a separate issue.
 The problem with compactions currently is that they compact the set of 
 sstables that existed the moment the compaction started. This means that for 
 longer running compactions (even when running as fast as possible on the 
 hardware), a very large number of new sstables might be created in the 
 meantime. We have observed this proliferation of sstables killing performance 
 during major/high-bucketed compactions.
 One approach would be to pause compactions in upper buckets (containing 
 larger files) when compactions in lower buckets become possible. While this 
 would likely solve the problem with read performance, it does not actually 
 help us perform compaction any faster, which is a reasonable requirement for 
 other situations.
 Instead, we need to be able to perform any compactions that are currently 
 required in parallel, independent of what bucket they might be in.

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


[jira] [Updated] (CASSANDRA-2191) Multithread across compaction buckets

2011-04-11 Thread Stu Hood (JIRA)

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

Stu Hood updated CASSANDRA-2191:


Attachment: (was: 
0003-Expose-multiple-compactions-via-JMX-and-a-concrete-ser.txt)

 Multithread across compaction buckets
 -

 Key: CASSANDRA-2191
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2191
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Stu Hood
Assignee: Stu Hood
Priority: Critical
  Labels: compaction
 Fix For: 0.8


 This ticket overlaps with CASSANDRA-1876 to a degree, but the approaches and 
 reasoning are different enough to open a separate issue.
 The problem with compactions currently is that they compact the set of 
 sstables that existed the moment the compaction started. This means that for 
 longer running compactions (even when running as fast as possible on the 
 hardware), a very large number of new sstables might be created in the 
 meantime. We have observed this proliferation of sstables killing performance 
 during major/high-bucketed compactions.
 One approach would be to pause compactions in upper buckets (containing 
 larger files) when compactions in lower buckets become possible. While this 
 would likely solve the problem with read performance, it does not actually 
 help us perform compaction any faster, which is a reasonable requirement for 
 other situations.
 Instead, we need to be able to perform any compactions that are currently 
 required in parallel, independent of what bucket they might be in.

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


[jira] [Updated] (CASSANDRA-2191) Multithread across compaction buckets

2011-04-11 Thread Stu Hood (JIRA)

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

Stu Hood updated CASSANDRA-2191:


Attachment: (was: 
0002-Use-the-compacting-set-of-sstables-to-schedule-multith.txt)

 Multithread across compaction buckets
 -

 Key: CASSANDRA-2191
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2191
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Stu Hood
Assignee: Stu Hood
Priority: Critical
  Labels: compaction
 Fix For: 0.8


 This ticket overlaps with CASSANDRA-1876 to a degree, but the approaches and 
 reasoning are different enough to open a separate issue.
 The problem with compactions currently is that they compact the set of 
 sstables that existed the moment the compaction started. This means that for 
 longer running compactions (even when running as fast as possible on the 
 hardware), a very large number of new sstables might be created in the 
 meantime. We have observed this proliferation of sstables killing performance 
 during major/high-bucketed compactions.
 One approach would be to pause compactions in upper buckets (containing 
 larger files) when compactions in lower buckets become possible. While this 
 would likely solve the problem with read performance, it does not actually 
 help us perform compaction any faster, which is a reasonable requirement for 
 other situations.
 Instead, we need to be able to perform any compactions that are currently 
 required in parallel, independent of what bucket they might be in.

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


[jira] [Updated] (CASSANDRA-2191) Multithread across compaction buckets

2011-04-11 Thread Stu Hood (JIRA)

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

Stu Hood updated CASSANDRA-2191:


Attachment: 0006-Prevent-cache-saves-from-occuring-concurrently.txt
0005-Acquire-the-writeLock-for-major-cleanup-scrub-in-order.txt
0004-Allow-multithread-compaction-to-be-disabled.txt
0003-Expose-multiple-compactions-via-JMX-and-a-concrete-ser.txt
0002-Use-the-compacting-set-of-sstables-to-schedule-multith.txt
0001-Add-a-compacting-set-to-DataTracker.txt

* Inlined stopTheWorld in 0005. Yes, I agree that the name sucked, but whether 
or not it is possible for a lock acquisition to fail on a server that is not 
already screwed, and whether an abstraction is in order here is still up for 
debate
* Removed the 'forceMajor' parameter: will open a ticket post-commit to allow 
for guaranteeing that a manually triggered compaction is major
* Moved ksname/cfname into getters. I didn't do this initially because the CFS 
is sometimes null, but I guess you'd get the NPE in either case
* Added an AtomicBoolean to AutoSavingCache in 0006. I reeeally think this 
should go to the flush stage, since the tasks have almost identical lifetimes, 
and we don't really need progress for either of them
* Wrapped the IdentityHashMap into an IdentityHashSet
* Returned printCompactionStats to its former glory
* Removed OperationType from SSTableWriter.Builder's task type

Thanks! CASSANDRA-2156 has been rebased as well.

 Multithread across compaction buckets
 -

 Key: CASSANDRA-2191
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2191
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Stu Hood
Assignee: Stu Hood
Priority: Critical
  Labels: compaction
 Fix For: 0.8

 Attachments: 0001-Add-a-compacting-set-to-DataTracker.txt, 
 0002-Use-the-compacting-set-of-sstables-to-schedule-multith.txt, 
 0003-Expose-multiple-compactions-via-JMX-and-a-concrete-ser.txt, 
 0004-Allow-multithread-compaction-to-be-disabled.txt, 
 0005-Acquire-the-writeLock-for-major-cleanup-scrub-in-order.txt, 
 0006-Prevent-cache-saves-from-occuring-concurrently.txt


 This ticket overlaps with CASSANDRA-1876 to a degree, but the approaches and 
 reasoning are different enough to open a separate issue.
 The problem with compactions currently is that they compact the set of 
 sstables that existed the moment the compaction started. This means that for 
 longer running compactions (even when running as fast as possible on the 
 hardware), a very large number of new sstables might be created in the 
 meantime. We have observed this proliferation of sstables killing performance 
 during major/high-bucketed compactions.
 One approach would be to pause compactions in upper buckets (containing 
 larger files) when compactions in lower buckets become possible. While this 
 would likely solve the problem with read performance, it does not actually 
 help us perform compaction any faster, which is a reasonable requirement for 
 other situations.
 Instead, we need to be able to perform any compactions that are currently 
 required in parallel, independent of what bucket they might be in.

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


[Cassandra Wiki] Update of API07 by AhmetEkremSaban

2011-04-11 Thread Apache Wiki
Dear Wiki user,

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

The API07 page has been changed by AhmetEkremSaban.
The comment on this change is: Started a new page for API 0.7.
http://wiki.apache.org/cassandra/API07

--

New page:
## page was copied from API
== Overview ==
The Cassandra Thrift API changed between [[API03|0.3]], [[API04|0.4]], 
[[API|0.5]] and [[API|0.6]]; this document explains the 0.7 version.

Cassandra's client API is built entirely on top of Thrift. It should be noted 
that these documents mention default values, but these are not generated in all 
of the languages that Thrift supports.  Full examples of using Cassandra from 
Thrift, including setup boilerplate, are found on ThriftExamples.  Higher-level 
clients are linked from ClientOptions.

'''WARNING:''' Some SQL/RDBMS terms are used in this documentation for analogy 
purposes. They should be thought of as just that; analogies. There are few 
similarities between how data is managed in a traditional RDBMS and Cassandra. 
Please see DataModel for more information.

'''This article is a stub for the Apache Cassandra API 0.7'''


[Cassandra Wiki] Trivial Update of ClientOptions by AhmetEkremSaban

2011-04-11 Thread Apache Wiki
Dear Wiki user,

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

The ClientOptions page has been changed by AhmetEkremSaban.
The comment on this change is: Ordered entries alphabetically.
http://wiki.apache.org/cassandra/ClientOptions?action=diffrev1=124rev2=125

--

  If no high-level client exists for your environment, you may be able to 
update an [[ClientOptions06|older client]]; failing that, you'll have to use 
the raw Thrift [[API]].
  
   * Python:
+   * Pycassa: http://github.com/pycassa/pycassa
* Telephus: http://github.com/driftx/Telephus (Twisted)
-   * Pycassa: http://github.com/pycassa/pycassa
   * Java:
+   * Datanucleus JDO: http://github.com/tnine/Datanucleus-Cassandra-Plugin
* Hector: http://github.com/rantav/hector (Examples 
https://github.com/zznate/hector-examples )
+   * Kundera http://code.google.com/p/kundera/
* Pelops: http://github.com/s7/scale7-pelops
-   * Kundera http://code.google.com/p/kundera/
-   * Datanucleus JDO: http://github.com/tnine/Datanucleus-Cassandra-Plugin
   * Grails:
* grails-cassandra: https://github.com/wolpert/grails-cassandra
   * .NET:
+   * Aquiles: http://aquiles.codeplex.com/
* FluentCassandra: http://github.com/managedfusion/fluentcassandra
-   * Aquiles: http://aquiles.codeplex.com/
   * Ruby:
* Cassandra: http://github.com/fauna/cassandra
   * PHP:


svn commit: r1090979 - in /cassandra/trunk: ./ conf/ src/java/org/apache/cassandra/config/ src/java/org/apache/cassandra/db/ src/java/org/apache/cassandra/io/ src/java/org/apache/cassandra/service/ sr

2011-04-11 Thread slebresne
Author: slebresne
Date: Mon Apr 11 08:45:07 2011
New Revision: 1090979

URL: http://svn.apache.org/viewvc?rev=1090979view=rev
Log:
Compaction throttling
patch by stuhood; reviewed by slebresne for CASSANDRA-2156

Modified:
cassandra/trunk/CHANGES.txt
cassandra/trunk/conf/cassandra.yaml
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/CompactionManager.java
cassandra/trunk/src/java/org/apache/cassandra/io/CompactionIterator.java
cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java

cassandra/trunk/src/java/org/apache/cassandra/service/StorageServiceMBean.java
cassandra/trunk/src/java/org/apache/cassandra/tools/NodeCmd.java
cassandra/trunk/src/java/org/apache/cassandra/tools/NodeProbe.java

Modified: cassandra/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/CHANGES.txt?rev=1090979r1=1090978r2=1090979view=diff
==
--- cassandra/trunk/CHANGES.txt (original)
+++ cassandra/trunk/CHANGES.txt Mon Apr 11 08:45:07 2011
@@ -20,7 +20,7 @@
  * push replication_factor into strategy_options (CASSANDRA-1263)
  * give snapshots the same name on each node (CASSANDRA-1791)
  * multithreaded compaction (CASSANDRA-2191)
-
+ * compaction throttling (CASSANDRA-2156)
 
 0.7.5
  * Avoid seeking when sstable2json exports the entire file (CASSANDRA-2318)

Modified: cassandra/trunk/conf/cassandra.yaml
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/conf/cassandra.yaml?rev=1090979r1=1090978r2=1090979view=diff
==
--- cassandra/trunk/conf/cassandra.yaml (original)
+++ cassandra/trunk/conf/cassandra.yaml Mon Apr 11 08:45:07 2011
@@ -250,9 +250,17 @@ column_index_size_in_kb: 64
 in_memory_compaction_limit_in_mb: 64
 
 # Enables multiple compactions to execute at once. This is highly recommended
-# for preserving read performance in a mixed read/write workload.
+# for preserving read performance in a mixed read/write workload as this
+# avoids sstables from accumulating during long running compactions.
 compaction_multithreading: true
 
+# Throttles compaction to the given total throughput across the entire
+# system. The faster you insert data, the faster you need to compact in
+# order to keep the sstable count down, but in general, setting this to
+# 16 to 32 times the rate you are inserting data is more than sufficient.
+# Setting this to 0 disables throttling.
+compaction_throughput_mb_per_sec: 16
+
 # Track cached row keys during compaction, and re-cache their new
 # positions in the compacted sstable.  Disable if you use really large
 # key caches.

Modified: cassandra/trunk/src/java/org/apache/cassandra/config/Config.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/config/Config.java?rev=1090979r1=1090978r2=1090979view=diff
==
--- cassandra/trunk/src/java/org/apache/cassandra/config/Config.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/config/Config.java Mon Apr 11 
08:45:07 2011
@@ -83,6 +83,7 @@ public class Config
 public Integer column_index_size_in_kb = 64;
 public Integer in_memory_compaction_limit_in_mb = 256;
 public Boolean compaction_multithreading = true;
+public Integer compaction_throughput_mb_per_sec = 16;
 
 public String[] data_file_directories;
 

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java?rev=1090979r1=1090978r2=1090979view=diff
==
--- 
cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java 
(original)
+++ 
cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java 
Mon Apr 11 08:45:07 2011
@@ -344,6 +344,9 @@ public class DatabaseDescriptor
 if (conf.compaction_multithreading == null)
 conf.compaction_multithreading = true;
 
+if (conf.compaction_throughput_mb_per_sec == null)
+conf.compaction_throughput_mb_per_sec = 16;
+
 /* data file and commit log directories. they get created later, 
when they're needed. */
 if (conf.commitlog_directory != null  conf.data_file_directories 
!= null  conf.saved_caches_directory != null)
 {
@@ -731,6 +734,16 @@ public class DatabaseDescriptor
 return conf.compaction_multithreading;
 }
 
+public static int getCompactionThroughputMbPerSec()
+{
+return conf.compaction_throughput_mb_per_sec;
+}
+
+public static void setCompactionThroughputMbPerSec(int value)
+

[jira] [Commented] (CASSANDRA-2191) Multithread across compaction buckets

2011-04-11 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-2191:
-

For the record:

bq. Inlined stopTheWorld in 0005. Yes, I agree that the name sucked, but 
whether or not it is possible for a lock acquisition to fail on a server that 
is not already screwed, and whether an abstraction is in order here is still up 
for debate

I do like the inlined version much more. I did not pretended that the previous 
version wasn't working. It was just hard to check that the umarking was 
happening correctly and even though I agree lock acquisition is unlikely to 
fail, it would have been easy for someone else to add lines inside stopTheWorld 
at the wrong place that could fail. And the name sucked :)

bq. Added an AtomicBoolean to AutoSavingCache in 0006. I reeeally think this 
should go to the flush stage, since the tasks have almost identical lifetimes, 
and we don't really need progress for either of them

I just don't want for cache saving to block flush too long. So I'm not saying 
it should not go to flush stage ever, but I'm inconfortable putting it there 
without some proper testing of its impact. We could make the flush stage 
multithreaded (with throttling), then I would have no problem with moving cache 
saving there (but then we would still have to make sure only one saving happen 
at a time).

 Multithread across compaction buckets
 -

 Key: CASSANDRA-2191
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2191
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Stu Hood
Assignee: Stu Hood
Priority: Critical
  Labels: compaction
 Fix For: 0.8

 Attachments: 0001-Add-a-compacting-set-to-DataTracker.txt, 
 0002-Use-the-compacting-set-of-sstables-to-schedule-multith.txt, 
 0003-Expose-multiple-compactions-via-JMX-and-a-concrete-ser.txt, 
 0004-Allow-multithread-compaction-to-be-disabled.txt, 
 0005-Acquire-the-writeLock-for-major-cleanup-scrub-in-order.txt, 
 0006-Prevent-cache-saves-from-occuring-concurrently.txt


 This ticket overlaps with CASSANDRA-1876 to a degree, but the approaches and 
 reasoning are different enough to open a separate issue.
 The problem with compactions currently is that they compact the set of 
 sstables that existed the moment the compaction started. This means that for 
 longer running compactions (even when running as fast as possible on the 
 hardware), a very large number of new sstables might be created in the 
 meantime. We have observed this proliferation of sstables killing performance 
 during major/high-bucketed compactions.
 One approach would be to pause compactions in upper buckets (containing 
 larger files) when compactions in lower buckets become possible. While this 
 would likely solve the problem with read performance, it does not actually 
 help us perform compaction any faster, which is a reasonable requirement for 
 other situations.
 Instead, we need to be able to perform any compactions that are currently 
 required in parallel, independent of what bucket they might be in.

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


[jira] [Commented] (CASSANDRA-2156) Compaction Throttling

2011-04-11 Thread Hudson (JIRA)

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

Hudson commented on CASSANDRA-2156:
---

Integrated in Cassandra #848 (See 
[https://hudson.apache.org/hudson/job/Cassandra/848/])
Compaction throttling
patch by stuhood; reviewed by slebresne for CASSANDRA-2156


 Compaction Throttling
 -

 Key: CASSANDRA-2156
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2156
 Project: Cassandra
  Issue Type: New Feature
Reporter: Stu Hood
Assignee: Stu Hood
 Fix For: 0.8

 Attachments: 
 0007-Throttle-total-compaction-to-a-configurable-throughput.txt, 
 for-0.6-0001-Throttle-compaction-to-a-fixed-throughput.txt, 
 for-0.6-0002-Make-compaction-throttling-configurable.txt


 Compaction is currently relatively bursty: we compact as fast as we can, and 
 then we wait for the next compaction to be possible (hurry up and wait).
 Instead, to properly amortize compaction, you'd like to compact exactly as 
 fast as you need to to keep the sstable count under control.
 For every new level of compaction, you need to increase the rate that you 
 compact at: a rule of thumb that we're testing on our clusters is to 
 determine the maximum number of buckets a node can support (aka, if the 15th 
 bucket holds 750 GB, we're not going to have more than 15 buckets), and then 
 multiply the flush throughput by the number of buckets to get a minimum 
 compaction throughput to maintain your sstable count.
 Full explanation: for a min compaction threshold of {{T}}, the bucket at 
 level {{N}} can contain {{SsubN = T^N}} 'units' (unit == memtable's worth of 
 data on disk). Every time a new unit is added, it has a {{1/SsubN}} chance of 
 causing the bucket at level N to fill. If the bucket at level N fills, it 
 causes {{SsubN}} units to be compacted. So, for each active level in your 
 system you have {{SubN * 1 / SsubN}}, or {{1}} amortized unit to compact any 
 time a new unit is added.

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


[jira] [Commented] (CASSANDRA-2191) Multithread across compaction buckets

2011-04-11 Thread Hudson (JIRA)

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

Hudson commented on CASSANDRA-2191:
---

Integrated in Cassandra #848 (See 
[https://hudson.apache.org/hudson/job/Cassandra/848/])
Multithreaded compactions
patch by stuhood; reviewed by slebresne for CASSANDRA-2191


 Multithread across compaction buckets
 -

 Key: CASSANDRA-2191
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2191
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Stu Hood
Assignee: Stu Hood
Priority: Critical
  Labels: compaction
 Fix For: 0.8

 Attachments: 0001-Add-a-compacting-set-to-DataTracker.txt, 
 0002-Use-the-compacting-set-of-sstables-to-schedule-multith.txt, 
 0003-Expose-multiple-compactions-via-JMX-and-a-concrete-ser.txt, 
 0004-Allow-multithread-compaction-to-be-disabled.txt, 
 0005-Acquire-the-writeLock-for-major-cleanup-scrub-in-order.txt, 
 0006-Prevent-cache-saves-from-occuring-concurrently.txt


 This ticket overlaps with CASSANDRA-1876 to a degree, but the approaches and 
 reasoning are different enough to open a separate issue.
 The problem with compactions currently is that they compact the set of 
 sstables that existed the moment the compaction started. This means that for 
 longer running compactions (even when running as fast as possible on the 
 hardware), a very large number of new sstables might be created in the 
 meantime. We have observed this proliferation of sstables killing performance 
 during major/high-bucketed compactions.
 One approach would be to pause compactions in upper buckets (containing 
 larger files) when compactions in lower buckets become possible. While this 
 would likely solve the problem with read performance, it does not actually 
 help us perform compaction any faster, which is a reasonable requirement for 
 other situations.
 Instead, we need to be able to perform any compactions that are currently 
 required in parallel, independent of what bucket they might be in.

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


[jira] [Commented] (CASSANDRA-2441) Cassandra crashes with segmentation fault on Debian 5.0 and Ubuntu 10.10

2011-04-11 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-2441:


+1

 Cassandra crashes with segmentation fault on Debian 5.0 and Ubuntu 10.10
 

 Key: CASSANDRA-2441
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2441
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8
 Environment: Both servers have identical hardware configuration: 
 Quad-Core AMD Opteron(tm) Processor 2374 HE, 4 GB RAM (rackspace servers)
 Java version 1.6.0_20
 OpenJDK Runtime Environment (IcedTea6 1.9.7) (6b20-1.9.7-0ubuntu1)
 OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)
Reporter: Pavel Yaskevich
Assignee: Jonathan Ellis
Priority: Critical

 Last working commit is c8d1984bf17cab58f40069e522d074c7b0077bc1 (merge from 
 0.7), branch: trunk.
 What I did is cloned git://git.apache.org/cassandra.git and did git reset 
 each commit with `ant clean  ant  ./bin/cassandra -f` until I got 
 cassandra started

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


[jira] [Assigned] (CASSANDRA-2420) row cache / streaming aren't aware of each other

2011-04-11 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne reassigned CASSANDRA-2420:
---

Assignee: Sylvain Lebresne

 row cache / streaming aren't aware of each other
 

 Key: CASSANDRA-2420
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2420
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.6
Reporter: Matthew F. Dennis
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 0.7.5


 SSTableWriter.Builder.build() takes tables that resulted from streaming, 
 repair, bootstrapping, et cetera and builds the indexes and bloom filters 
 before adding it so the current node is aware of it.
 However, if there is data present in the cache for a row that is also present 
 in the streamed table the row cache can over shadow the data in the newly 
 built table.  In other words, until the row in row cache is removed from the 
 cache (e.g. because it's pushed out because of size, the node is restarted, 
 the cache is manually cleared) the data in the newly built table will never 
 be returned to clients.
 The solution that seems most reasonable at this point is to have 
 SSTableWriter.Builder.build() (or something below it) update the row cache if 
 the row key in the table being built is also present in the cache.

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


[jira] [Commented] (CASSANDRA-2326) stress.java indexed range slicing is broken

2011-04-11 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-2326:


We can maybe offer users to provide list of the values for indexes range 
slices, don't have any other solution right now...

 stress.java indexed range slicing is broken
 ---

 Key: CASSANDRA-2326
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2326
 Project: Cassandra
  Issue Type: Bug
  Components: Contrib
Reporter: Brandon Williams
Assignee: Pavel Yaskevich
Priority: Trivial

 I probably broke it when I fixed the build that CASSANDRA-2312 broke.  Now it 
 compiles, but never works.

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


[jira] [Commented] (CASSANDRA-1740) Nodetool commands to query and stop compaction, repair, cleanup and scrub

2011-04-11 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-1740:


Stu Hood: do you want to be in charge of this one since your changes in 
compaction mechanism?

 Nodetool commands to query and stop compaction, repair, cleanup and scrub
 -

 Key: CASSANDRA-1740
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1740
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Chip Salzenberg
Assignee: Pavel Yaskevich
Priority: Minor
 Fix For: 0.7.5

 Attachments: CASSANDRA-1740.patch

   Original Estimate: 24h
  Remaining Estimate: 24h

 The only way to stop compaction, repair, cleanup, or scrub in progress is to 
 stop and restart the entire Cassandra server.  Please provide nodetool 
 commands to query whether such things are running, and stop them if they are.

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


[jira] [Commented] (CASSANDRA-1740) Nodetool commands to query and stop compaction, repair, cleanup and scrub

2011-04-11 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-1740:
-

I committed CASSANDRA-2191 so as stu said, this will need some rebasing to 
handle it.

For repair, let's just create another ticket. If stu wants/have time to do it, 
fine, otherwise I may do it.

 Nodetool commands to query and stop compaction, repair, cleanup and scrub
 -

 Key: CASSANDRA-1740
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1740
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Chip Salzenberg
Assignee: Pavel Yaskevich
Priority: Minor
 Fix For: 0.7.5

 Attachments: CASSANDRA-1740.patch

   Original Estimate: 24h
  Remaining Estimate: 24h

 The only way to stop compaction, repair, cleanup, or scrub in progress is to 
 stop and restart the entire Cassandra server.  Please provide nodetool 
 commands to query whether such things are running, and stop them if they are.

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


[jira] [Commented] (CASSANDRA-1740) Nodetool commands to query and stop compaction, repair, cleanup and scrub

2011-04-11 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-1740:
-

As for handling the multi-threaded compactions, the hashcode would more or less 
work but since it's not totally safe I would prefer assigning a name to each 
compaction which could be:
  * a uuid assigned to each compaction when created
  * a simple (atomically) increasing number
  * a simple (atomically) increasing number for each type of compaction, the 
name being something like major-42 or minor-3012. Nice thing is it tells you 
how many minor, major, validata, ... compaction you have run already.

 Nodetool commands to query and stop compaction, repair, cleanup and scrub
 -

 Key: CASSANDRA-1740
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1740
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Chip Salzenberg
Assignee: Pavel Yaskevich
Priority: Minor
 Fix For: 0.7.5

 Attachments: CASSANDRA-1740.patch

   Original Estimate: 24h
  Remaining Estimate: 24h

 The only way to stop compaction, repair, cleanup, or scrub in progress is to 
 stop and restart the entire Cassandra server.  Please provide nodetool 
 commands to query whether such things are running, and stop them if they are.

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


[jira] [Commented] (CASSANDRA-1740) Nodetool commands to query and stop compaction, repair, cleanup and scrub

2011-04-11 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-1740:


I like the last option!

 Nodetool commands to query and stop compaction, repair, cleanup and scrub
 -

 Key: CASSANDRA-1740
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1740
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Chip Salzenberg
Assignee: Pavel Yaskevich
Priority: Minor
 Fix For: 0.7.5

 Attachments: CASSANDRA-1740.patch

   Original Estimate: 24h
  Remaining Estimate: 24h

 The only way to stop compaction, repair, cleanup, or scrub in progress is to 
 stop and restart the entire Cassandra server.  Please provide nodetool 
 commands to query whether such things are running, and stop them if they are.

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


[jira] [Updated] (CASSANDRA-2056) Need a way of flattening schemas.

2011-04-11 Thread Gary Dusbabek (JIRA)

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

Gary Dusbabek updated CASSANDRA-2056:
-

Attachment: 
v2-0003-a-way-to-upgrade-schema-when-protocol-version-changes.txt

v2-0002-bail-on-migrations-originating-from-newer-protocol-ver.txt
v2-0001-convert-MigrationManager-into-a-singleton.txt

 Need a way of flattening schemas.
 -

 Key: CASSANDRA-2056
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2056
 Project: Cassandra
  Issue Type: Improvement
Reporter: Gary Dusbabek
Assignee: Gary Dusbabek
 Fix For: 0.8

 Attachments: v2-0001-convert-MigrationManager-into-a-singleton.txt, 
 v2-0002-bail-on-migrations-originating-from-newer-protocol-ver.txt, 
 v2-0003-a-way-to-upgrade-schema-when-protocol-version-changes.txt


 For all of our trying not to, we still managed to screw this up.  Schema 
 updates currently contain a serialized RowMutation stored as a column value.  
 When a node needs updated schema, it requests these values, deserializes them 
 and applies them.  As the serialization scheme for RowMutation changes over 
 time (this is inevitable), those old migrations will become incompatible with 
 newer implementations of the RowMutation deserializer.  This means that when 
 new nodes come online, they'll get migration messages that they have trouble 
 deserializing.  (Remember, we've only made the promise that we'll be 
 backwards compatible for one version--see CASSANDRA-1015--even though we'd 
 eventually have this problem without that guarantee.)
 What I propose is a cluster command to flatten the schema prior to upgrading. 
  This would basically purge the old schema updates and replace them with a 
 single serialized migration (serialized in the current protocol version).

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


[jira] [Commented] (CASSANDRA-2056) Need a way of flattening schemas.

2011-04-11 Thread Gary Dusbabek (JIRA)

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

Gary Dusbabek commented on CASSANDRA-2056:
--

Attached rebased v2. CliTest fails though, so not committing yet.

 Need a way of flattening schemas.
 -

 Key: CASSANDRA-2056
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2056
 Project: Cassandra
  Issue Type: Improvement
Reporter: Gary Dusbabek
Assignee: Gary Dusbabek
 Fix For: 0.8

 Attachments: v2-0001-convert-MigrationManager-into-a-singleton.txt, 
 v2-0002-bail-on-migrations-originating-from-newer-protocol-ver.txt, 
 v2-0003-a-way-to-upgrade-schema-when-protocol-version-changes.txt


 For all of our trying not to, we still managed to screw this up.  Schema 
 updates currently contain a serialized RowMutation stored as a column value.  
 When a node needs updated schema, it requests these values, deserializes them 
 and applies them.  As the serialization scheme for RowMutation changes over 
 time (this is inevitable), those old migrations will become incompatible with 
 newer implementations of the RowMutation deserializer.  This means that when 
 new nodes come online, they'll get migration messages that they have trouble 
 deserializing.  (Remember, we've only made the promise that we'll be 
 backwards compatible for one version--see CASSANDRA-1015--even though we'd 
 eventually have this problem without that guarantee.)
 What I propose is a cluster command to flatten the schema prior to upgrading. 
  This would basically purge the old schema updates and replace them with a 
 single serialized migration (serialized in the current protocol version).

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


[jira] [Updated] (CASSANDRA-2056) Need a way of flattening schemas.

2011-04-11 Thread Gary Dusbabek (JIRA)

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

Gary Dusbabek updated CASSANDRA-2056:
-

Attachment: (was: v1-0001-convert-MigrationManager-into-a-singleton.txt)

 Need a way of flattening schemas.
 -

 Key: CASSANDRA-2056
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2056
 Project: Cassandra
  Issue Type: Improvement
Reporter: Gary Dusbabek
Assignee: Gary Dusbabek
 Fix For: 0.8

 Attachments: v2-0001-convert-MigrationManager-into-a-singleton.txt, 
 v2-0002-bail-on-migrations-originating-from-newer-protocol-ver.txt, 
 v2-0003-a-way-to-upgrade-schema-when-protocol-version-changes.txt


 For all of our trying not to, we still managed to screw this up.  Schema 
 updates currently contain a serialized RowMutation stored as a column value.  
 When a node needs updated schema, it requests these values, deserializes them 
 and applies them.  As the serialization scheme for RowMutation changes over 
 time (this is inevitable), those old migrations will become incompatible with 
 newer implementations of the RowMutation deserializer.  This means that when 
 new nodes come online, they'll get migration messages that they have trouble 
 deserializing.  (Remember, we've only made the promise that we'll be 
 backwards compatible for one version--see CASSANDRA-1015--even though we'd 
 eventually have this problem without that guarantee.)
 What I propose is a cluster command to flatten the schema prior to upgrading. 
  This would basically purge the old schema updates and replace them with a 
 single serialized migration (serialized in the current protocol version).

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


[jira] [Updated] (CASSANDRA-2056) Need a way of flattening schemas.

2011-04-11 Thread Gary Dusbabek (JIRA)

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

Gary Dusbabek updated CASSANDRA-2056:
-

Attachment: (was: 
v1-0002-bail-on-migrations-originating-from-newer-protocol-ver.txt)

 Need a way of flattening schemas.
 -

 Key: CASSANDRA-2056
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2056
 Project: Cassandra
  Issue Type: Improvement
Reporter: Gary Dusbabek
Assignee: Gary Dusbabek
 Fix For: 0.8

 Attachments: v2-0001-convert-MigrationManager-into-a-singleton.txt, 
 v2-0002-bail-on-migrations-originating-from-newer-protocol-ver.txt, 
 v2-0003-a-way-to-upgrade-schema-when-protocol-version-changes.txt


 For all of our trying not to, we still managed to screw this up.  Schema 
 updates currently contain a serialized RowMutation stored as a column value.  
 When a node needs updated schema, it requests these values, deserializes them 
 and applies them.  As the serialization scheme for RowMutation changes over 
 time (this is inevitable), those old migrations will become incompatible with 
 newer implementations of the RowMutation deserializer.  This means that when 
 new nodes come online, they'll get migration messages that they have trouble 
 deserializing.  (Remember, we've only made the promise that we'll be 
 backwards compatible for one version--see CASSANDRA-1015--even though we'd 
 eventually have this problem without that guarantee.)
 What I propose is a cluster command to flatten the schema prior to upgrading. 
  This would basically purge the old schema updates and replace them with a 
 single serialized migration (serialized in the current protocol version).

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


[jira] [Updated] (CASSANDRA-2056) Need a way of flattening schemas.

2011-04-11 Thread Gary Dusbabek (JIRA)

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

Gary Dusbabek updated CASSANDRA-2056:
-

Attachment: (was: 
v1-0003-a-way-to-upgrade-schema-when-protocol-version-changes.txt)

 Need a way of flattening schemas.
 -

 Key: CASSANDRA-2056
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2056
 Project: Cassandra
  Issue Type: Improvement
Reporter: Gary Dusbabek
Assignee: Gary Dusbabek
 Fix For: 0.8

 Attachments: v2-0001-convert-MigrationManager-into-a-singleton.txt, 
 v2-0002-bail-on-migrations-originating-from-newer-protocol-ver.txt, 
 v2-0003-a-way-to-upgrade-schema-when-protocol-version-changes.txt


 For all of our trying not to, we still managed to screw this up.  Schema 
 updates currently contain a serialized RowMutation stored as a column value.  
 When a node needs updated schema, it requests these values, deserializes them 
 and applies them.  As the serialization scheme for RowMutation changes over 
 time (this is inevitable), those old migrations will become incompatible with 
 newer implementations of the RowMutation deserializer.  This means that when 
 new nodes come online, they'll get migration messages that they have trouble 
 deserializing.  (Remember, we've only made the promise that we'll be 
 backwards compatible for one version--see CASSANDRA-1015--even though we'd 
 eventually have this problem without that guarantee.)
 What I propose is a cluster command to flatten the schema prior to upgrading. 
  This would basically purge the old schema updates and replace them with a 
 single serialized migration (serialized in the current protocol version).

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


[Cassandra Wiki] Trivial Update of Operations_JP by MakiWatanabe

2011-04-11 Thread Apache Wiki
Dear Wiki user,

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

The Operations_JP page has been changed by MakiWatanabe.
The comment on this change is: fix typo.
http://wiki.apache.org/cassandra/Operations_JP?action=diffrev1=104rev2=105

--

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


svn commit: r1091080 - in /cassandra/branches/cassandra-0.8: ./ interface/ interface/thrift/gen-java/org/apache/cassandra/thrift/ src/avro/ src/java/org/apache/cassandra/config/ src/java/org/apache/ca

2011-04-11 Thread jbellis
Author: jbellis
Date: Mon Apr 11 14:11:23 2011
New Revision: 1091080

URL: http://svn.apache.org/viewvc?rev=1091080view=rev
Log:
add optional key alias to CFMetaData
patch by jhermes; reviewed by jbellis for CASSANDRA-2396

Modified:
cassandra/branches/cassandra-0.8/CHANGES.txt
cassandra/branches/cassandra-0.8/interface/cassandra.thrift

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java

cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Constants.java
cassandra/branches/cassandra-0.8/src/avro/internode.genavro

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/config/CFMetaData.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/CassandraServer.java

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1091080r1=1091079r2=1091080view=diff
==
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Mon Apr 11 14:11:23 2011
@@ -18,7 +18,7 @@
  * purge tombstones from row cache (CASSANDRA-2305)
  * push replication_factor into strategy_options (CASSANDRA-1263)
  * give snapshots the same name on each node (CASSANDRA-1791)
- * add key type information (CASSANDRA-2311)
+ * add key type information and alias (CASSANDRA-2311, 2396)
 
 
 0.7.5

Modified: cassandra/branches/cassandra-0.8/interface/cassandra.thrift
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/interface/cassandra.thrift?rev=1091080r1=1091079r2=1091080view=diff
==
--- cassandra/branches/cassandra-0.8/interface/cassandra.thrift (original)
+++ cassandra/branches/cassandra-0.8/interface/cassandra.thrift Mon Apr 11 
14:11:23 2011
@@ -46,7 +46,7 @@ namespace rb CassandraThrift
 #   for every edit that doesn't result in a change to major/minor.
 #
 # See the Semantic Versioning Specification (SemVer) http://semver.org.
-const string VERSION = 20.0.0
+const string VERSION = 20.1.0
 
 
 #
@@ -394,6 +394,7 @@ struct CfDef {
 25: optional double merge_shards_chance,
 26: optional string key_validation_class,
 27: optional string 
row_cache_provider=org.apache.cassandra.cache.ConcurrentLinkedHashCacheProvider,
+28: optional binary key_alias,
 }
 
 /* describes a keyspace. */

Modified: 
cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java?rev=1091080r1=1091079r2=1091080view=diff
==
--- 
cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java
 Mon Apr 11 14:11:23 2011
@@ -69,6 +69,7 @@ public class CfDef implements org.apache
   private static final org.apache.thrift.protocol.TField 
MERGE_SHARDS_CHANCE_FIELD_DESC = new 
org.apache.thrift.protocol.TField(merge_shards_chance, 
org.apache.thrift.protocol.TType.DOUBLE, (short)25);
   private static final org.apache.thrift.protocol.TField 
KEY_VALIDATION_CLASS_FIELD_DESC = new 
org.apache.thrift.protocol.TField(key_validation_class, 
org.apache.thrift.protocol.TType.STRING, (short)26);
   private static final org.apache.thrift.protocol.TField 
ROW_CACHE_PROVIDER_FIELD_DESC = new 
org.apache.thrift.protocol.TField(row_cache_provider, 
org.apache.thrift.protocol.TType.STRING, (short)27);
+  private static final org.apache.thrift.protocol.TField KEY_ALIAS_FIELD_DESC 
= new org.apache.thrift.protocol.TField(key_alias, 
org.apache.thrift.protocol.TType.STRING, (short)28);
 
   public String keyspace;
   public String name;
@@ -94,6 +95,7 @@ public class CfDef implements org.apache
   public double merge_shards_chance;
   public String key_validation_class;
   public String row_cache_provider;
+  public ByteBuffer key_alias;
 
   /** The set of fields this struct contains, along with convenience methods 
for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -120,7 +122,8 @@ public class CfDef implements org.apache
 REPLICATE_ON_WRITE((short)24, replicate_on_write),
 MERGE_SHARDS_CHANCE((short)25, merge_shards_chance),
 KEY_VALIDATION_CLASS((short)26, key_validation_class),
-ROW_CACHE_PROVIDER((short)27, row_cache_provider);
+ROW_CACHE_PROVIDER((short)27, row_cache_provider),
+KEY_ALIAS((short)28, key_alias);
 
 private static final MapString, _Fields byName = new HashMapString, 
_Fields();
 
@@ -183,6 +186,8 @@ public class CfDef implements org.apache
  

svn commit: r1091087 [1/3] - in /cassandra/branches/cassandra-0.8/drivers: py/cql/cassandra/constants.py py/cql/cassandra/ttypes.py txpy/txcql/cassandra/Cassandra.py txpy/txcql/cassandra/constants.py

2011-04-11 Thread jbellis
Author: jbellis
Date: Mon Apr 11 14:23:30 2011
New Revision: 1091087

URL: http://svn.apache.org/viewvc?rev=1091087view=rev
Log:
update generated .py code

Modified:
cassandra/branches/cassandra-0.8/drivers/py/cql/cassandra/constants.py
cassandra/branches/cassandra-0.8/drivers/py/cql/cassandra/ttypes.py
cassandra/branches/cassandra-0.8/drivers/txpy/txcql/cassandra/Cassandra.py
cassandra/branches/cassandra-0.8/drivers/txpy/txcql/cassandra/constants.py
cassandra/branches/cassandra-0.8/drivers/txpy/txcql/cassandra/ttypes.py

Modified: cassandra/branches/cassandra-0.8/drivers/py/cql/cassandra/constants.py
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/drivers/py/cql/cassandra/constants.py?rev=1091087r1=1091086r2=1091087view=diff
==
--- cassandra/branches/cassandra-0.8/drivers/py/cql/cassandra/constants.py 
(original)
+++ cassandra/branches/cassandra-0.8/drivers/py/cql/cassandra/constants.py Mon 
Apr 11 14:23:30 2011
@@ -7,4 +7,4 @@
 from thrift.Thrift import *
 from ttypes import *
 
-VERSION = 20.0.0
+VERSION = 20.1.0

Modified: cassandra/branches/cassandra-0.8/drivers/py/cql/cassandra/ttypes.py
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/drivers/py/cql/cassandra/ttypes.py?rev=1091087r1=1091086r2=1091087view=diff
==
--- cassandra/branches/cassandra-0.8/drivers/py/cql/cassandra/ttypes.py 
(original)
+++ cassandra/branches/cassandra-0.8/drivers/py/cql/cassandra/ttypes.py Mon Apr 
11 14:23:30 2011
@@ -2324,6 +2324,7 @@ class CfDef:
- merge_shards_chance
- key_validation_class
- row_cache_provider
+   - key_alias
   
 
   thrift_spec = (
@@ -2355,9 +2356,10 @@ class CfDef:
 (25, TType.DOUBLE, 'merge_shards_chance', None, None, ), # 25
 (26, TType.STRING, 'key_validation_class', None, None, ), # 26
 (27, TType.STRING, 'row_cache_provider', None, 
org.apache.cassandra.cache.ConcurrentLinkedHashCacheProvider, ), # 27
+(28, TType.STRING, 'key_alias', None, None, ), # 28
   )
 
-  def __init__(self, keyspace=None, name=None, column_type=thrift_spec[3][4], 
comparator_type=thrift_spec[5][4], subcomparator_type=None, comment=None, 
row_cache_size=thrift_spec[9][4], key_cache_size=thrift_spec[11][4], 
read_repair_chance=thrift_spec[12][4], column_metadata=None, 
gc_grace_seconds=None, default_validation_class=None, id=None, 
min_compaction_threshold=None, max_compaction_threshold=None, 
row_cache_save_period_in_seconds=None, key_cache_save_period_in_seconds=None, 
memtable_flush_after_mins=None, memtable_throughput_in_mb=None, 
memtable_operations_in_millions=None, replicate_on_write=None, 
merge_shards_chance=None, key_validation_class=None, 
row_cache_provider=thrift_spec[27][4],):
+  def __init__(self, keyspace=None, name=None, column_type=thrift_spec[3][4], 
comparator_type=thrift_spec[5][4], subcomparator_type=None, comment=None, 
row_cache_size=thrift_spec[9][4], key_cache_size=thrift_spec[11][4], 
read_repair_chance=thrift_spec[12][4], column_metadata=None, 
gc_grace_seconds=None, default_validation_class=None, id=None, 
min_compaction_threshold=None, max_compaction_threshold=None, 
row_cache_save_period_in_seconds=None, key_cache_save_period_in_seconds=None, 
memtable_flush_after_mins=None, memtable_throughput_in_mb=None, 
memtable_operations_in_millions=None, replicate_on_write=None, 
merge_shards_chance=None, key_validation_class=None, 
row_cache_provider=thrift_spec[27][4], key_alias=None,):
 self.keyspace = keyspace
 self.name = name
 self.column_type = column_type
@@ -2382,6 +2384,7 @@ class CfDef:
 self.merge_shards_chance = merge_shards_chance
 self.key_validation_class = key_validation_class
 self.row_cache_provider = row_cache_provider
+self.key_alias = key_alias
 
   def read(self, iprot):
 if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and 
isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is 
not None and fastbinary is not None:
@@ -2518,6 +2521,11 @@ class CfDef:
   self.row_cache_provider = iprot.readString();
 else:
   iprot.skip(ftype)
+  elif fid == 28:
+if ftype == TType.STRING:
+  self.key_alias = iprot.readString();
+else:
+  iprot.skip(ftype)
   else:
 iprot.skip(ftype)
   iprot.readFieldEnd()
@@ -2627,6 +2635,10 @@ class CfDef:
   oprot.writeFieldBegin('row_cache_provider', TType.STRING, 27)
   oprot.writeString(self.row_cache_provider)
   oprot.writeFieldEnd()
+if self.key_alias != None:
+  oprot.writeFieldBegin('key_alias', TType.STRING, 28)
+  oprot.writeString(self.key_alias)
+  oprot.writeFieldEnd()
 oprot.writeFieldStop()
 oprot.writeStructEnd()
 def validate(self):




svn commit: r1091087 [3/3] - in /cassandra/branches/cassandra-0.8/drivers: py/cql/cassandra/constants.py py/cql/cassandra/ttypes.py txpy/txcql/cassandra/Cassandra.py txpy/txcql/cassandra/constants.py

2011-04-11 Thread jbellis
Modified: 
cassandra/branches/cassandra-0.8/drivers/txpy/txcql/cassandra/constants.py
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/drivers/txpy/txcql/cassandra/constants.py?rev=1091087r1=1091086r2=1091087view=diff
==
--- cassandra/branches/cassandra-0.8/drivers/txpy/txcql/cassandra/constants.py 
(original)
+++ cassandra/branches/cassandra-0.8/drivers/txpy/txcql/cassandra/constants.py 
Mon Apr 11 14:23:30 2011
@@ -7,4 +7,4 @@
 from thrift.Thrift import *
 from ttypes import *
 
-VERSION = 20.0.0
+VERSION = 20.1.0

Modified: 
cassandra/branches/cassandra-0.8/drivers/txpy/txcql/cassandra/ttypes.py
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/drivers/txpy/txcql/cassandra/ttypes.py?rev=1091087r1=1091086r2=1091087view=diff
==
--- cassandra/branches/cassandra-0.8/drivers/txpy/txcql/cassandra/ttypes.py 
(original)
+++ cassandra/branches/cassandra-0.8/drivers/txpy/txcql/cassandra/ttypes.py Mon 
Apr 11 14:23:30 2011
@@ -2324,6 +2324,7 @@ class CfDef:
- merge_shards_chance
- key_validation_class
- row_cache_provider
+   - key_alias
   
 
   thrift_spec = (
@@ -2355,9 +2356,10 @@ class CfDef:
 (25, TType.DOUBLE, 'merge_shards_chance', None, None, ), # 25
 (26, TType.STRING, 'key_validation_class', None, None, ), # 26
 (27, TType.STRING, 'row_cache_provider', None, 
org.apache.cassandra.cache.ConcurrentLinkedHashCacheProvider, ), # 27
+(28, TType.STRING, 'key_alias', None, None, ), # 28
   )
 
-  def __init__(self, keyspace=None, name=None, column_type=thrift_spec[3][4], 
comparator_type=thrift_spec[5][4], subcomparator_type=None, comment=None, 
row_cache_size=thrift_spec[9][4], key_cache_size=thrift_spec[11][4], 
read_repair_chance=thrift_spec[12][4], column_metadata=None, 
gc_grace_seconds=None, default_validation_class=None, id=None, 
min_compaction_threshold=None, max_compaction_threshold=None, 
row_cache_save_period_in_seconds=None, key_cache_save_period_in_seconds=None, 
memtable_flush_after_mins=None, memtable_throughput_in_mb=None, 
memtable_operations_in_millions=None, replicate_on_write=None, 
merge_shards_chance=None, key_validation_class=None, 
row_cache_provider=thrift_spec[27][4],):
+  def __init__(self, keyspace=None, name=None, column_type=thrift_spec[3][4], 
comparator_type=thrift_spec[5][4], subcomparator_type=None, comment=None, 
row_cache_size=thrift_spec[9][4], key_cache_size=thrift_spec[11][4], 
read_repair_chance=thrift_spec[12][4], column_metadata=None, 
gc_grace_seconds=None, default_validation_class=None, id=None, 
min_compaction_threshold=None, max_compaction_threshold=None, 
row_cache_save_period_in_seconds=None, key_cache_save_period_in_seconds=None, 
memtable_flush_after_mins=None, memtable_throughput_in_mb=None, 
memtable_operations_in_millions=None, replicate_on_write=None, 
merge_shards_chance=None, key_validation_class=None, 
row_cache_provider=thrift_spec[27][4], key_alias=None,):
 self.keyspace = keyspace
 self.name = name
 self.column_type = column_type
@@ -2382,6 +2384,7 @@ class CfDef:
 self.merge_shards_chance = merge_shards_chance
 self.key_validation_class = key_validation_class
 self.row_cache_provider = row_cache_provider
+self.key_alias = key_alias
 
   def read(self, iprot):
 if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and 
isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is 
not None and fastbinary is not None:
@@ -2518,6 +2521,11 @@ class CfDef:
   self.row_cache_provider = iprot.readString();
 else:
   iprot.skip(ftype)
+  elif fid == 28:
+if ftype == TType.STRING:
+  self.key_alias = iprot.readString();
+else:
+  iprot.skip(ftype)
   else:
 iprot.skip(ftype)
   iprot.readFieldEnd()
@@ -2627,6 +2635,10 @@ class CfDef:
   oprot.writeFieldBegin('row_cache_provider', TType.STRING, 27)
   oprot.writeString(self.row_cache_provider)
   oprot.writeFieldEnd()
+if self.key_alias != None:
+  oprot.writeFieldBegin('key_alias', TType.STRING, 28)
+  oprot.writeString(self.key_alias)
+  oprot.writeFieldEnd()
 oprot.writeFieldStop()
 oprot.writeStructEnd()
 def validate(self):




[Cassandra Wiki] Update of MultinodeCluster by MakiWatanabe

2011-04-11 Thread Apache Wiki
Dear Wiki user,

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

The MultinodeCluster page has been changed by MakiWatanabe.
The comment on this change is: update for 0.7 format.
http://wiki.apache.org/cassandra/MultinodeCluster?action=diffrev1=5rev2=6

--

+ Prior to the 0.7 release, Cassandra storage configuration is described by the 
''conf/storage-conf.xml'' file. As of 0.7, it is described by the  
''conf/cassandra.yaml'' file. Please refer to MultinodeCluster06 for about 
pre-0.7 configuration.
+ 
  = Creating a multinode cluster =
  
- The default storage-conf.xml provided with cassandra is great for getting up 
and running on a single node.  However, it is inappropriate for use in a 
multi-node cluster.  The configuration and process here are the ''simplest'' 
way to create a multi-node cluster, but may not be the ''best'' way in 
production deployments.
+ The default cassandra.yaml provided with cassandra is great for getting up 
and running on a single node.  However, it is inappropriate for use in a 
multi-node cluster.  The configuration and process here are the ''simplest'' 
way to create a multi-node cluster, but may not be the ''best'' way in 
production deployments.
  
  == Preparing the first node ==
  
- The default storage-conf.xml uses the local, loopback address as its listen 
(inter-node) and Thrift (client access) addresses:
+ The default cassandra.yaml uses the local, loopback address as its listen 
(inter-node) and Thrift (client access) addresses:
  
  {{{
- ListenAddresslocalhost/ListenAddress
+ listen_address: localhost
  
- ThriftAddresslocalhost/ThriftAddress
+ rpc_address: localhost
  }}}
  
  As the listen address is used for intra-cluster communication, it must be 
changed to a routable address so the other nodes can reach it.  For example, 
assuming you have an Ethernet interface with address 192.168.1.1, you would 
change the listen address like so:
  
  {{{
- ListenAddress192.168.1.1/ListenAddress
+ listen_address: 192.168.1.1
  }}}
  
  The Thrift interface can be configured using either a specified address, like 
the listen address, or using the wildcard 0.0.0.0, which causes cassandra to 
listen for clients on all available interfaces.  Update it as either:
  
  {{{
- ThriftAddress192.168.1.1/ThriftAddress
+ rpc_address: 192.168.1.1
  }}}
  
  Or:
  
  {{{
- ThriftAddress0.0.0.0/ThriftAddress
+ rpc_address: 0.0.0.0
  }}}
  
  If the DNS entry for your host is correct, it is safe to use a hostname 
instead of an IP address.  Similarly, the seed information should be changed 
from the loopback address:
  
  {{{
- Seeds
-   Seed127.0.0.1/Seed
- /Seeds
+ seeds:
+   - 127.0.0.1
+ 
  }}}
  
  Becomes:
  
  {{{
- Seeds
-   Seed192.168.1.1/Seed
- /Seeds
+ seeds:
+   - 192.168.1.1
+ 
  }}}
  
  Once these changes are made, simply restart cassandra on this node.  Use 
netstat to verify cassandra is listening on the right address.  Look for a line 
like this:
  
  {{{tcp4   0  0  192.168.1.1.7000 *.*
LISTEN}}}
  
- If netstat still shows cassandra listening on 127.0.0.1.7000, then either the 
previous cassandra process was not properly killed or you are not editing the 
storage-conf.xml file cassandra is actually using.
+ If netstat still shows cassandra listening on 127.0.0.1.7000, then either the 
previous cassandra process was not properly killed or you are not editing the 
cassandra.yaml file cassandra is actually using.
  
  
  == Preparing the rest of the nodes ==
  
- The other nodes in the ring will use a storage-conf.xml almost identical to 
the one on your first node, so use that configuration as the base for these 
changes rather than the default storage-conf.xml.  The first change is to turn 
on automatic bootstrapping.  This will cause the node to join the ring and 
attempt to take control of a range of the token space:
+ The other nodes in the ring will use a cassandra.yaml almost identical to the 
one on your first node, so use that configuration as the base for these changes 
rather than the default cassandra.yaml.  The first change is to turn on 
automatic bootstrapping.  This will cause the node to join the ring and attempt 
to take control of a range of the token space:
  
  {{{
- AutoBootstraptrue/AutoBootstrap
+ auto_bootstrap: true
  }}}
  
  The second change is to the listen address, as it must also not be the 
loopback and cannot be the same as any other node.  Assuming your second node 
has an Ethernet interface with the address 192.168.2.34, set its listen address 
with:
  
  {{{
- ListenAddress192.168.2.34/ListenAddress
+ listen_address: 192.168.2.34
  }}}
  
  Finally, update the the Thrift address to accept client connections, as with 
the first node, either with a specific address or the wildcard:
  
  {{{
- ThriftAddress192.168.2.34/ThriftAddress
+ rpc_address: 192.168.2.34
  }}}
  
  Or:
  
  {{{
- 

[Cassandra Wiki] Update of MultinodeCluster06_JP by MakiWatanabe

2011-04-11 Thread Apache Wiki
Dear Wiki user,

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

The MultinodeCluster06_JP page has been changed by MakiWatanabe.
http://wiki.apache.org/cassandra/MultinodeCluster06_JP?action=diffrev1=12rev2=13

--

  ## page was copied from MultinodeCluster_JP
  ## page was copied from MultinodeCluster
  
- 
'''0.7より前のバージョンではストレージ設定はconf/storage-conf.xmlに記述されていましたが、0.7ではconf/cassandra.yamlに記述されます。詳しくはStorageConfigurationを参照してください。'''
+ 
'''0.7より前のバージョンではストレージ設定はconf/storage-conf.xmlに記述されていましたが、0.7ではconf/cassandra.yamlに記述されます。詳しくはStorageConfiguration_JPを参照してください。'''
  
  
  = マルチノードクラスタの作成 =


svn commit: r1091090 - in /cassandra/branches/cassandra-0.8: ./ contrib/ interface/thrift/gen-java/org/apache/cassandra/thrift/ src/java/org/apache/cassandra/service/

2011-04-11 Thread jbellis
Author: jbellis
Date: Mon Apr 11 14:32:45 2011
New Revision: 1091090

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

Modified:
cassandra/branches/cassandra-0.8/   (props changed)
cassandra/branches/cassandra-0.8/CHANGES.txt
cassandra/branches/cassandra-0.8/contrib/   (props changed)

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

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

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

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

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

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java

Propchange: cassandra/branches/cassandra-0.8/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Apr 11 14:32:45 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7:1026516-1090647
+/cassandra/branches/cassandra-0.7:1026516-1091087
 /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/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1091090r1=1091089r2=1091090view=diff
==
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Mon Apr 11 14:32:45 2011
@@ -45,7 +45,9 @@
index (CASSANDRA-2376)
  * fix race condition that could leave orphaned data files when
dropping CF or KS (CASSANDRA-2381)
+ * convert mmap assertion to if/throw so scrub can catch it (CASSANDRA-2417)
  * Try harder to close files after compaction (CASSANDRA-2431)
+ * re-set bootstrapped flag after move finishes (CASSANDRA-2435)
 
 
 0.7.4

Propchange: cassandra/branches/cassandra-0.8/contrib/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Apr 11 14:32:45 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-1090647
+/cassandra/branches/cassandra-0.7/contrib:1026516-1091087
 /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/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Apr 11 14:32:45 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-1081914,1083000
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1090647
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1091087
 
/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/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Apr 11 14:32:45 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-1081914,1083000
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1090647
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1091087
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1053690-1055654
 

[Cassandra Wiki] Update of MultinodeCluster06_JP by MakiWatanabe

2011-04-11 Thread Apache Wiki
Dear Wiki user,

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

The MultinodeCluster06_JP page has been changed by MakiWatanabe.
http://wiki.apache.org/cassandra/MultinodeCluster06_JP?action=diffrev1=13rev2=14

--

  ## page was copied from MultinodeCluster_JP
  ## page was copied from MultinodeCluster
  
- 
'''0.7より前のバージョンではストレージ設定はconf/storage-conf.xmlに記述されていましたが、0.7ではconf/cassandra.yamlに記述されます。詳しくはStorageConfiguration_JPを参照してください。'''
+ 
'''0.7より前のバージョンではストレージ設定はconf/storage-conf.xmlに記述されていましたが、0.7ではconf/cassandra.yamlに記述されます。詳しくは[[StorageConfiguration|StorageConfiguration_JP]]を参照してください。'''
  
  
  = マルチノードクラスタの作成 =
@@ -14, +14 @@

  
  
標準のstorage-conf.xmlはloopbackアドレスをlistenアドレス(ノード間通信用)及びThriftアドレス(クライアントアクセス用)に使用しています:
  
- 0.7より前のバージョン
  {{{
  ListenAddresslocalhost/ListenAddress
  ThriftAddresslocalhost/ThriftAddress
  }}}
  
- 0.7
- {{{
- listen_address: localhost
- rpc_address: localhost
- }}}
  
  listenアドレスはノード間通信に使用されるので、他のノードからアクセス可能なアドレスに変更する必要があります。
  例えば、そのノードが192.168.1.1のEthernetインターフェースを持っている場合、listenアドレスを次のように変更すればいいでしょう:
  
- 0.7より前のバージョン
  {{{
  ListenAddress192.168.1.1/ListenAddress
- }}}
- 
- 0.7
- {{{
- listen_address: 192.168.1.1
  }}}
  
  
  
Thriftインターフェースには特定のIPアドレス、あるいはワイルドカードアドレス0.0.0.0を指定できます。ワイルドカードアドレスを指定すると、cassandraは使用可能なすべてのインターフェースでクライアントからの要求を受け付けます。Thrfitアドレスを次のように指定して下さい:
  
- 0.7より前のバージョン
  {{{
  ThriftAddress192.168.1.1/ThriftAddress
  }}}
  
- 0.7
- {{{
- rpc_address: 192.168.1.1
- }}}
- 
  あるいは:
  
- 0.7より前のバージョン
  {{{
  ThriftAddress0.0.0.0/ThriftAddress
  }}}
  
- 0.7
- {{{
- rpc_address: 0.0.0.0
- }}}
- 
  
そのホストのDNSエントリが正しければ、IPアドレスよりホスト名を使った方が安全です。同様に、seed情報もloopbackアドレスから変更する必要があります:
  
- 0.7より前のバージョン
  {{{
  Seeds
Seed127.0.0.1/Seed
  /Seeds
  }}}
  
- 0.7
- {{{
- seeds:
- - 127.0.0.1
- }}}
- 
  これを次のように変更:
  
- 0.7より前のバージョン
  {{{
  Seeds
Seed192.168.1.1/Seed
  /Seeds
  }}}
  
- 0.7
- {{{
- seeds:
- - 192.168.1.1
- }}}
  
  
これらの変更が済んだら、cassandraをリスタートしてください。netstatを使用してcassandraが正しいアドレスをlistenしていることを確認してください。
  設定が正しければ次のように表示されるはです:
@@ -105, +68 @@

  
  
Ring内の他のノードでは最初のノードで設定したstorage-conf.xmlとほぼ同一のものを使用します。従って最初のノードで編集したstorage-conf.xmlをベースに変更を加えていくことにしましょう。最初の変更は、自動ブートストラップを有効にすることです。この設定により、ノードはRingに参加し、トークン空間における一定範囲を担当範囲にすることを試みます:
  
- 0.7より前のバージョン
  {{{
  AutoBootstraptrue/AutoBootstrap
  }}}
  
- 0.7
- {{{
- auto_bootstrap: true
- }}}
- 
  
二つ目の変更はlistenアドレスです。listenアドレスはloopbackアドレスでもなく、また他のノードと重複してもいけません。二つ目のノードが192.168.2.34のEthernetインターフェースを持っている場合、listenアドレスを次のように設定します:
  
- 0.7より前のバージョン
  {{{
  ListenAddress192.168.2.34/ListenAddress
  }}}
  
- 0.7
- {{{
- listen_address: 192.168.2.34
- }}}
- 
  最後に、Thriftアドレスを変更し、クライアントアクセスを受け付け可能にします。最初のノードと同様に、特定のアドレス、もしくはワイルドカードを指定します:
  
- 0.7より前のバージョン
  {{{
  ThriftAddress192.168.2.34/ThriftAddress
  }}}
  
- 0.7
- {{{
- rpc_address: 192.168.2.34
- }}}
- 
  または:
  
- 0.7より前のバージョン
  {{{
  ThriftAddress0.0.0.0/ThriftAddress
  }}}
  
- 0.7
- {{{
- rpc_address: 0.0.0.0
- }}}
  
  
設定のSeedsセクションをそのまま残さなければいけないことに注意してください。この設定は追加するノードがブートストラップで最初のノードを参照するために必要です。これらの設定変更が済んだら、新しいノードでcassandraを起動してください。新しいノードは自動的にRingに参加し、初期トークンを自分自身に割り当て、要求待ちになります。
  


[Cassandra Wiki] Trivial Update of MultinodeCluster06_JP by MakiWatanabe

2011-04-11 Thread Apache Wiki
Dear Wiki user,

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

The MultinodeCluster06_JP page has been changed by MakiWatanabe.
http://wiki.apache.org/cassandra/MultinodeCluster06_JP?action=diffrev1=14rev2=15

--

  ## page was copied from MultinodeCluster_JP
  ## page was copied from MultinodeCluster
  
- 
'''0.7より前のバージョンではストレージ設定はconf/storage-conf.xmlに記述されていましたが、0.7ではconf/cassandra.yamlに記述されます。詳しくは[[StorageConfiguration|StorageConfiguration_JP]]を参照してください。'''
+ 
'''0.7より前のバージョンではストレージ設定はconf/storage-conf.xmlに記述されていましたが、0.7ではconf/cassandra.yamlに記述されます。詳しくは[[StorageConfiguration_JP|StorageConfiguration]]を参照してください。'''
  
  
  = マルチノードクラスタの作成 =


[Cassandra Wiki] Update of MultinodeCluster_JP by MakiWatanabe

2011-04-11 Thread Apache Wiki
Dear Wiki user,

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

The MultinodeCluster_JP page has been changed by MakiWatanabe.
The comment on this change is: update for 0.7 format.
http://wiki.apache.org/cassandra/MultinodeCluster_JP?action=diffrev1=11rev2=12

--

  ## page was copied from MultinodeCluster
  
- 
'''0.7より前のバージョンではストレージ設定はconf/storage-conf.xmlに記述されていましたが、0.7ではconf/cassandra.yamlに記述されます。詳しくはStorageConfigurationを参照してください。'''
+ 
'''0.7より前のバージョンではストレージ設定はconf/storage-conf.xmlに記述されていましたが、0.7ではconf/cassandra.yamlに記述されます。
+ 0.6以前のバージョンの設定方法については[[MultinodeCluster06_JP|MultinodeCluster06]]を参照してください。
+ パラメータの詳細については[[StorageConfiguration_JP]]を参照してください。'''
  
  
  = マルチノードクラスタの作成 =
  
- 
Cassandraパッケージに含まれている標準のstorage-conf.xmlはシングルノード環境を構築するには便利ですが、マルチノードクラスタの構築には適当ではありません。ここではマルチノードクラスタを構築するための最も簡単な手順と設定を説明します。ただし、ここで述べる方法は本番環境の構築においては必ずしも最善ではないでしょう。
+ 
Cassandraパッケージに含まれている標準のcassandra.yamlはシングルノード環境を構築するには便利ですが、マルチノードクラスタの構築には適当ではありません。ここではマルチノードクラスタを構築するための最も簡単な手順と設定を説明します。ただし、ここで述べる方法は本番環境の構築においては必ずしも最善ではないでしょう。
  
  == 最初のノードの準備 ==
  
- 
標準のstorage-conf.xmlはloopbackアドレスをlistenアドレス(ノード間通信用)及びThriftアドレス(クライアントアクセス用)に使用しています:
+ 
標準のcassandra.yamlはloopbackアドレスをlistenアドレス(ノード間通信用)及びThriftアドレス(クライアントアクセス用)に使用しています:
  
- 0.7より前のバージョン
- {{{
- ListenAddresslocalhost/ListenAddress
- ThriftAddresslocalhost/ThriftAddress
- }}}
- 
- 0.7
  {{{
  listen_address: localhost
  rpc_address: localhost
@@ -28, +23 @@

  listenアドレスはノード間通信に使用されるので、他のノードからアクセス可能なアドレスに変更する必要があります。
  例えば、そのノードが192.168.1.1のEthernetインターフェースを持っている場合、listenアドレスを次のように変更すればいいでしょう:
  
- 0.7より前のバージョン
- {{{
- ListenAddress192.168.1.1/ListenAddress
- }}}
- 
- 0.7
  {{{
  listen_address: 192.168.1.1
  }}}
@@ -41, +30 @@

  
  
Thriftインターフェースには特定のIPアドレス、あるいはワイルドカードアドレス0.0.0.0を指定できます。ワイルドカードアドレスを指定すると、cassandraは使用可能なすべてのインターフェースでクライアントからの要求を受け付けます。Thrfitアドレスを次のように指定して下さい:
  
- 0.7より前のバージョン
- {{{
- ThriftAddress192.168.1.1/ThriftAddress
- }}}
- 
- 0.7
  {{{
  rpc_address: 192.168.1.1
  }}}
  
  あるいは:
  
- 0.7より前のバージョン
- {{{
- ThriftAddress0.0.0.0/ThriftAddress
- }}}
- 
- 0.7
  {{{
  rpc_address: 0.0.0.0
  }}}
  
  
そのホストのDNSエントリが正しければ、IPアドレスよりホスト名を使った方が安全です。同様に、seed情報もloopbackアドレスから変更する必要があります:
  
- 0.7より前のバージョン
- {{{
- Seeds
-   Seed127.0.0.1/Seed
- /Seeds
- }}}
- 
- 0.7
  {{{
  seeds:
  - 127.0.0.1
@@ -80, +49 @@

  
  これを次のように変更:
  
- 0.7より前のバージョン
- {{{
- Seeds
-   Seed192.168.1.1/Seed
- /Seeds
- }}}
- 
- 0.7
  {{{
  seeds:
  - 192.168.1.1
@@ -98, +59 @@

  
  {{{tcp4   0  0  192.168.1.1.7000 *.*
LISTEN}}}
  
- 
cassandraが依然として127.0.0.1.7000をlistenしているなら、前のcassandraプロセスが正常にkillされなかったか、あなたが編集したstorage-conf.xmlをcassandraが参照していないかのいずれかでしょう。
+ 
cassandraが依然として127.0.0.1.7000をlistenしているなら、前のcassandraプロセスが正常にkillされなかったか、あなたが編集したcassandra.yamlをcassandraが参照していないかのいずれかでしょう。
  
  == 残りのノードの準備 ==
  
- 
Ring内の他のノードでは最初のノードで設定したstorage-conf.xmlとほぼ同一のものを使用します。従って最初のノードで編集したstorage-conf.xmlをベースに変更を加えていくことにしましょう。最初の変更は、自動ブートストラップを有効にすることです。この設定により、ノードはRingに参加し、トークン空間における一定範囲を担当範囲にすることを試みます:
+ 
Ring内の他のノードでは最初のノードで設定したcassandra.yamlとほぼ同一のものを使用します。従って最初のノードで編集したcassandra.yamlをベースに変更を加えていくことにしましょう。最初の変更は、自動ブートストラップを有効にすることです。この設定により、ノードはRingに参加し、トークン空間における一定範囲を担当範囲にすることを試みます:
  
- 0.7より前のバージョン
- {{{
- AutoBootstraptrue/AutoBootstrap
- }}}
- 
- 0.7
  {{{
  auto_bootstrap: true
  }}}
  
  
二つ目の変更はlistenアドレスです。listenアドレスはloopbackアドレスでもなく、また他のノードと重複してもいけません。二つ目のノードが192.168.2.34のEthernetインターフェースを持っている場合、listenアドレスを次のように設定します:
  
- 0.7より前のバージョン
- {{{
- ListenAddress192.168.2.34/ListenAddress
- }}}
- 
- 0.7
  {{{
  listen_address: 192.168.2.34
  }}}
  
  最後に、Thriftアドレスを変更し、クライアントアクセスを受け付け可能にします。最初のノードと同様に、特定のアドレス、もしくはワイルドカードを指定します:
  
- 0.7より前のバージョン
- {{{
- ThriftAddress192.168.2.34/ThriftAddress
- }}}
- 
- 0.7
  {{{
  rpc_address: 192.168.2.34
  }}}
  
  または:
  
- 0.7より前のバージョン
- {{{
- ThriftAddress0.0.0.0/ThriftAddress
- }}}
- 
- 0.7
  {{{
  rpc_address: 0.0.0.0
  }}}


[jira] [Updated] (CASSANDRA-2342) Add range slice support for counters

2011-04-11 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-2342:


Attachment: 0001-Range-slice-support-for-counters.patch

CASSANDRA-2440 almost fixed that, this patch really only remove the check that 
rejects range_slice query on counter CF (and fix the cli and add a system test).

 Add range slice support for counters
 

 Key: CASSANDRA-2342
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2342
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.8
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 0.8

 Attachments: 0001-Range-slice-support-for-counters.patch


 There is no equivalent for get_range_slice() for counters right now.

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


[Cassandra Wiki] Trivial Update of Operations_JP by MakiWatanabe

2011-04-11 Thread Apache Wiki
Dear Wiki user,

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

The Operations_JP page has been changed by MakiWatanabe.
The comment on this change is: typo.
http://wiki.apache.org/cassandra/Operations_JP?action=diffrev1=105rev2=106

--

  
  * !RackUnawareStrategy: レプリカはトークンを昇順で並べた場合の「次のN-1個のノード」に配置されます。
  
- * !RackAwareStrategy: 
二つめのレプリカはリングを順次辿る上でで最初に見つかる「別のデータセンターに設置されているノード」に配置されます。残りのN-2個のレプリカはできる限り一つめのレプリカが格納されたノードと同一のラックに設置されているノードに配置されます。
+ * !RackAwareStrategy: 
二つめのレプリカはリングを順次辿る上で最初に見つかる「別のデータセンターに設置されているノード」に配置されます。残りのN-2個のレプリカはできる限り一つめのレプリカが格納されたノードと同一のラックに設置されているノードに配置されます。
  
  
!RackAwareStrategyを使用する際はデータ配置の偏りを避けるため、リング上で隣接するノードは異なるデータセンターに配置するべきであることに注意してください。例えばノードA、B、C、Dからなるリングがあり、この順番でトークンが設定されているとします。ここでノードA、Bがデータセンター1.、ノードC、Dがデータセンター2に配置されている場合、ノードA、Cは常に「他のデータセンターで最初に見つかるノード」になります。このためノードA、CにはB、Dより多くのデータが蓄積されるでしょう。
  


[jira] [Created] (CASSANDRA-2447) Remove auto-bootstrap option

2011-04-11 Thread Jonathan Ellis (JIRA)
Remove auto-bootstrap option


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


We already optimize auto-bootstrap to be no-op if there are no non-system 
tables.

Given that, the only penalty imposed by autobootstrap is a 30s sleep waiting 
for gossip.  Feels worth it to avoid the confusion this option causes, and the 
problems if you don't turn it on when it should be.

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


[jira] [Commented] (CASSANDRA-2191) Multithread across compaction buckets

2011-04-11 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-2191:
-

Forgot the magical +1 (better late than never)

 Multithread across compaction buckets
 -

 Key: CASSANDRA-2191
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2191
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Stu Hood
Assignee: Stu Hood
Priority: Critical
  Labels: compaction
 Fix For: 0.8

 Attachments: 0001-Add-a-compacting-set-to-DataTracker.txt, 
 0002-Use-the-compacting-set-of-sstables-to-schedule-multith.txt, 
 0003-Expose-multiple-compactions-via-JMX-and-a-concrete-ser.txt, 
 0004-Allow-multithread-compaction-to-be-disabled.txt, 
 0005-Acquire-the-writeLock-for-major-cleanup-scrub-in-order.txt, 
 0006-Prevent-cache-saves-from-occuring-concurrently.txt


 This ticket overlaps with CASSANDRA-1876 to a degree, but the approaches and 
 reasoning are different enough to open a separate issue.
 The problem with compactions currently is that they compact the set of 
 sstables that existed the moment the compaction started. This means that for 
 longer running compactions (even when running as fast as possible on the 
 hardware), a very large number of new sstables might be created in the 
 meantime. We have observed this proliferation of sstables killing performance 
 during major/high-bucketed compactions.
 One approach would be to pause compactions in upper buckets (containing 
 larger files) when compactions in lower buckets become possible. While this 
 would likely solve the problem with read performance, it does not actually 
 help us perform compaction any faster, which is a reasonable requirement for 
 other situations.
 Instead, we need to be able to perform any compactions that are currently 
 required in parallel, independent of what bucket they might be in.

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


[Cassandra Wiki] Update of FAQ by jab_doa

2011-04-11 Thread Apache Wiki
Dear Wiki user,

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

The FAQ page has been changed by jab_doa.
The comment on this change is: big commit log.
http://wiki.apache.org/cassandra/FAQ?action=diffrev1=112rev2=113

--

   * [[#mmap|Why does top report that Cassandra is using a lot more memory than 
the Java heap max?]]
   * [[#jna|I'm getting java.io.IOException: Cannot run program ln when 
trying to snapshot or update a keyspace]]
   * [[#replicaplacement|How does Cassandra decide which nodes have what data?]]
-  * [[#cachehitrateunits| I have a row or key cache hit rate of 0.XX123456789. 
 Is that XX% or 0.XX% ?]]
+  * [[#cachehitrateunits|I have a row or key cache hit rate of 0.XX123456789.  
Is that XX% or 0.XX% ?]]
+  * [[#bigcommitlog|Commit Log gets very big. Cassandra does not delete old 
commit logs. Why?]]
  
  Anchor(cant_listen_on_ip_any)
  
@@ -408, +409 @@

  Anchor(replicaplacement)
  
  == How does Cassandra decide which nodes have what data? ==
- 
  The set of nodes (a single node, or several) responsible for any given piece 
of data is determined by:
  
   * The row key (data is partitioned on row key)
@@ -422, +422 @@

  Anchor(cachehitrateunits)
  
  == I have a row or key cache hit rate of 0.XX123456789 reported by JMX.  Is 
that XX% or 0.XX% ? ==
- 
  XX%
  
+ Anchor(bigcommitlog)
+ 
+ == Commit Log gets very big. Cassandra does not delete old commit logs. 
Why? ==
+ You probably got a few Column Families with very low throughput than others. 
They will not get flushed very frequently and the commit log doesnt get 
deleted. There is one option to work around the problem: You can set the 
per-cf-option memtable_flush_after_min. This will flush your CF at least every 
x minutes. 60 minutes i a good value to start. To set this via cassandra-cli 
use:
+ 
+ update column family XXX with memtable_flush_after=60;
+ 


[Cassandra Wiki] Update of FAQ by jab_doa

2011-04-11 Thread Apache Wiki
Dear Wiki user,

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

The FAQ page has been changed by jab_doa.
http://wiki.apache.org/cassandra/FAQ?action=diffrev1=113rev2=114

--

  Anchor(bigcommitlog)
  
  == Commit Log gets very big. Cassandra does not delete old commit logs. 
Why? ==
- You probably got a few Column Families with very low throughput than others. 
They will not get flushed very frequently and the commit log doesnt get 
deleted. There is one option to work around the problem: You can set the 
per-cf-option memtable_flush_after_min. This will flush your CF at least every 
x minutes. 60 minutes i a good value to start. To set this via cassandra-cli 
use:
+ You probably got a few Column Families with very low throughput. They will 
not get flushed very frequently and the commit log doesnt get deleted. There is 
one option to work around the problem: You can set the per-cf-option 
memtable_flush_after_min. This will flush your CF at least every x minutes. 60 
minutes i a good value to start. To set this via cassandra-cli use:
  
  update column family XXX with memtable_flush_after=60;
  


[jira] [Resolved] (CASSANDRA-1585) Support renaming columnfamilies and keyspaces

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-1585.
---

Resolution: Later

 Support renaming columnfamilies and keyspaces
 -

 Key: CASSANDRA-1585
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1585
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Stu Hood
Priority: Minor

 Renames were briefly supported but were race-prone.

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


[jira] [Resolved] (CASSANDRA-785) Improve load balancing when using rack aware or DC strategy

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-785.
--

   Resolution: Won't Fix
Fix Version/s: (was: 0.8)

there is pretty general agreement now that node-at-a-time loadbalance is a dead 
end.

 Improve load balancing when using rack aware or DC strategy
 ---

 Key: CASSANDRA-785
 URL: https://issues.apache.org/jira/browse/CASSANDRA-785
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.5
Reporter: Jaakko Laine
 Attachments: 785.patch


 Current load balancing functionality does not consider data centers. This may 
 result in new nodes bootstrapping in wrong place if most loaded node is in 
 another DC than the bootstrapping node. Explore possibilities to make load 
 balance work better in multi-DC configuration without making load balancing 
 complicated.

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


[jira] [Resolved] (CASSANDRA-974) SASL authentication support

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-974.
--

   Resolution: Later
Fix Version/s: (was: 0.8)

Tabling this for now. If CQL is the future, and we write a new transport for 
it, we'll need to retarget for that.

 SASL authentication support
 ---

 Key: CASSANDRA-974
 URL: https://issues.apache.org/jira/browse/CASSANDRA-974
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Jonathan Ellis

 Looking at 
 http://java.sun.com/j2se/1.5.0/docs/guide/security/sasl/sasl-refguide.html I 
 am skeptical that we can make this work with Thrift.
 Someone please tell me how I am wrong. :)

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


[Cassandra Wiki] Trivial Update of FrontPage_ZH by JavenWang

2011-04-11 Thread Apache Wiki
Dear Wiki user,

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

The FrontPage_ZH page has been changed by JavenWang.
The comment on this change is: Threshold 应该翻译成阈值, 据我所知中文里面没有阀值这个词..
http://wiki.apache.org/cassandra/FrontPage_ZH?action=diffrev1=8rev2=9

--

  
   * [[GettingStarted_ZH| Cassandra起步]]
   * [[RunningCassandra|运行Cassandra]]
-  * [[MemtableThresholds|内存表阀值]]
+  * [[MemtableThresholds|内存表阈值]]
   * [[StorageConfiguration|存储配置]]
   * [[ArchitectureOverview|架构总览]]
   * [[FAQ|常见问题]]


[jira] [Resolved] (CASSANDRA-1825) Separation of Data (Cached/Non-Cached)

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-1825.
---

   Resolution: Later
Fix Version/s: (was: 0.8)

 Separation of Data (Cached/Non-Cached)
 --

 Key: CASSANDRA-1825
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1825
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Chris Goffinet

 At the moment Cassandra goes through the ROW-READ stage to fetch data from 
 the page cache, and if it's not in the page cache, it goes to disk.
 Data that is currently hot (in page cache) will block if all I/O threads are 
 busy reading from disk. We should seriously look at implementing a buffer 
 pool similar to MySQL for storing data in-memory, and our I/O threads be 
 dedicated to just going to disk.  I suggest studying how InnoDB does 
 scheduling as well, they have good lessons to learn from.
 Scaling I/O by thread's isn't going to be a good solution here either. I 
 would argue that going past 64 threads for I/O is just going to hurt overall 
 performance based on context switching.

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


[jira] [Resolved] (CASSANDRA-1980) Add support for client-side encryption

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-1980.
---

   Resolution: Later
Fix Version/s: (was: 0.8)

as with CASSANDRA-974, let's table this until we see how the CQL transport 
evolves

 Add support for client-side encryption
 --

 Key: CASSANDRA-1980
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1980
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Jeremy Hanna

 With thrift-106 in place coming in thrift version 0.6, it will be necessary 
 to add a way for making the server aware of that.  We could allow the option 
 in the server configuration (cassandra.yaml) to use encrypted or 
 non-encrypted client connections.  However if they choose encrypted, the only 
 clients able to connect would be java clients at this point.  It might be 
 better to take some more time and look at how to enable accepting both 
 encrypted and unencrypted connections at the same time.

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


[jira] [Commented] (CASSANDRA-1473) Implement a Cassandra aware Hadoop mapreduce.Partitioner

2011-04-11 Thread Jeremy Hanna (JIRA)

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

Jeremy Hanna commented on CASSANDRA-1473:
-

This still seems relevant in order to optimize for output for hadoop related 
tasks.  If people are seriously using a portion of their cluster for analytics, 
this seems like a good cost/benefit type of ticket so that their cluster isn't 
as saturated just because of inefficiencies in output.  It would be nice to 
know about magnitude of the gain, but personally I think this is worthwhile.

 Implement a Cassandra aware Hadoop mapreduce.Partitioner
 

 Key: CASSANDRA-1473
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1473
 Project: Cassandra
  Issue Type: Improvement
  Components: Hadoop
Reporter: Stu Hood
 Fix For: 0.8


 When using a IPartitioner that does not sort data in byte order 
 (RandomPartitioner for example) with Cassandra's Hadoop integration, Hadoop 
 is unaware of the output order of the data.
 We can make Hadoop aware of the proper order of the output data by 
 implementing Hadoop's mapreduce.Partitioner interface: then Hadoop will 
 handle sorting all of the data according to Cassandra's IPartitioner, and the 
 writing clients will be able to connect to smaller numbers of Cassandra nodes.

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


[Cassandra Wiki] Update of HowToPublishToMavenCentral by StephenConnolly

2011-04-11 Thread Apache Wiki
Dear Wiki user,

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

The HowToPublishToMavenCentral page has been changed by StephenConnolly.
http://wiki.apache.org/cassandra/HowToPublishToMavenCentral?action=diffrev1=7rev2=8

--

  
  == Prerequisites ==
  
-  1. You need to have a GPG signature set-up. (Open issue: Is there a place in 
Cassandra SVN for storing the official GPG keys of committers to allow third 
parties to verify that the releases are officical?  I would suggest somewhere 
like http://svn.apache.org/repos/asf/cassandra/site/src/content/keys.html so 
that it can be part of the Cassandra website)
+  1. You need to have a GPG private key set-up and listed in the list of 
offical keys: http://www.apache.org/dist/cassandra/KEYS
   1. You have a Subversion 1.5+ client installed and on your shell's path. See 
http://subversion.apache.org/. (Note: Ideally you would use a Subversion 1.6+ 
client but the minimum is 1.5+)
   1. You have JDK 6 installed and on your shell's path.
   1. If you receive an OutOfMemoryError during the build, make sure to have 
set the environment variable ANT_OPTS=-Xmx512m
   1. Follow the environment configuration steps outlined at: 
[[http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env|Publishing 
Maven Artifacts]].
+  1. You need to have a minimal {{{~/.m2/settings.xml}}} file which at least 
defines the following 
+   {{{
+ settings
+   servers
+ server
+   idapache.snapshots.https/id
+   username!-- your apache ldap username --/username
+   password!-- your apache ldap password --/password
+ /server
+ server
+   idapache.releases.https/id
+   username!-- your apache ldap username --/username
+   password!-- your apache ldap password --/password
+ /server
+   /servers
+   profiles
+ profile
+   idapache-release/id
+   properties
+ gpg.keyname!-- enough of the key id to id it --/gpg.keyname
+ !-- either you feel comfortable with the passphrase on disk --
+ gpg.passphrase!-- your passphrase for your gpg key goes 
here--/gpg.passphrase
+ !-- or you use an agent--
+ gpg.useagenttrue/gpg.useagent
+   /properties
+ /profile
+   /profiles
+ /settings
+ }}}
  
  == Using repository.apache.org ==
  


[jira] [Resolved] (CASSANDRA-2103) expiring counter columns

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-2103.
---

   Resolution: Won't Fix
Fix Version/s: (was: 0.8)
 Assignee: (was: Ryan King)

 expiring counter columns
 

 Key: CASSANDRA-2103
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2103
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Affects Versions: 0.8
Reporter: Kelvin Kakugawa
 Attachments: 0001-CASSANDRA-2103-expiring-counters-logic-tests.patch


 add ttl functionality to counter columns.

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


[Cassandra Wiki] Update of HowToPublishToMavenCentral by StephenConnolly

2011-04-11 Thread Apache Wiki
Dear Wiki user,

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

The HowToPublishToMavenCentral page has been changed by StephenConnolly.
http://wiki.apache.org/cassandra/HowToPublishToMavenCentral?action=diffrev1=8rev2=9

--

{{{
  settings
servers
+ !-- once you have got things working you can encrypt the passwords for 
the servers --
  server
idapache.snapshots.https/id
username!-- your apache ldap username --/username
@@ -33, +34 @@

idapache-release/id
properties
  gpg.keyname!-- enough of the key id to id it --/gpg.keyname
+ 
+ !-- pick one of the following --
+ 
  !-- either you feel comfortable with the passphrase on disk --
  gpg.passphrase!-- your passphrase for your gpg key goes 
here--/gpg.passphrase
+ 
  !-- or you use an agent--
  gpg.useagenttrue/gpg.useagent
+ 
/properties
  /profile
/profiles


[jira] [Updated] (CASSANDRA-2220) It would be nice to be able to rollback to a specific schema version.

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-2220:
--

Priority: Minor  (was: Major)
  Labels: ponies  (was: )

 It would be nice to be able to rollback to a specific schema version.
 -

 Key: CASSANDRA-2220
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2220
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Gary Dusbabek
Assignee: Gary Dusbabek
Priority: Minor
  Labels: ponies
 Fix For: 0.8




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


[jira] [Resolved] (CASSANDRA-815) Generalize RackAwareStrategy to support writing to N of M datacenters

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-815.
--

   Resolution: Duplicate
Fix Version/s: (was: 0.8)

This feels like a ConsistencyLevel problem, not a Strategy one. (CASSANDRA-2338)

 Generalize RackAwareStrategy to support writing to N of M datacenters
 -

 Key: CASSANDRA-815
 URL: https://issues.apache.org/jira/browse/CASSANDRA-815
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Jonathan Ellis
Priority: Minor

 As requested on the mailing list, and at PyCon.

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


[jira] [Resolved] (CASSANDRA-1037) Improve load balancing to take into account load in terms of operations

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-1037.
---

   Resolution: Won't Fix
Fix Version/s: (was: 0.8)

node-at-a-time loadbalance feels like a dead end.

 Improve load balancing to take into account load in terms of operations
 ---

 Key: CASSANDRA-1037
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1037
 Project: Cassandra
  Issue Type: Improvement
Reporter: Jeremy Hanna
Priority: Minor

 Currently in cassandra, the load balancing takes into account disk space.  
 When using an order-preserving partitioner, there can be hot spots in the 
 various ranges of tokens in terms of operations.  We would like to propose 
 improving the load balancing so that it takes that the number of operations 
 into account.
 There are two places where this can be handled:
 1. when the cluster decides on which nodes need to be balanced out.
 2. how to balance an individual node - where to split
 For number 1, the number of operations that a node performed could be 
 factored in to how important it is to balance that node.
 For number 2, we are already using a midpoint in the node when trying to load 
 balance with respect to space.  We would propose adding a weight to the 
 midpoint to lean towards splitting so that the operational load could be 
 better handled, not just space.

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


[jira] [Commented] (CASSANDRA-2013) Add CL.TWO, CL.THREE; tweak CL documentation

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2013:
---

Planning to supercede these in CASSANDRA-2338

 Add CL.TWO, CL.THREE; tweak CL documentation
 

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

 Attachments: 2013-assert.txt, 2013.txt


 Attaching draft patch to add CL.TWO and CL.THREE.
 Motivation for adding is that having to select between either ONE or QUORUM 
 is too narrow a choice for clusters with RF  3. In such a case, it makes 
 particular sense to want to do writes at e.g. CL.TWO for durability purposes 
 even though you are not looking to get strong consistency with QUORUM. 
 CL.THREE is the same argument. TWO and THREE felt reasonable; there is no 
 objective reason why stopping at THREE is the obvious choice.
 Technically one would want to specify an arbitrary number, but that is a much 
 more significant change. 
 Two open questions:
 (1) I adjusted the documentation of ConsistencyLevel to be more consistent 
 and also to reflect what I believe to be reality (for example, as far as I 
 can tell QUORUM doesn't send requests to all nodes as claimed in the .thrift 
 file). I'm not terribly confident that I have not missed something though.
 (2) There is at least one unresolved issue, which is this assertion check 
 WriteResponseHandler:
 assert 1 = blockFor  blockFor = 2 * 
 Table.open(table).getReplicationStrategy().getReplicationFactor()
 : String.format(invalid response count %d for replication factor 
 %d,
 blockFor, 
 Table.open(table).getReplicationStrategy().getReplicationFactor());
 At THREE, this causes an assertion failure on keyspace with RF=1. I would, as 
 a user, expect UnavailableException. However I am uncertain as to what to do 
 about this assertion. I think this highlights one TWO/THREE are different 
 from previously existing CL:s, in that they essentially hard-code replicate 
 counts rather than expressing them in terms that can by definition be served 
 by the cluster at any RF.
 Given that with THREE (and not TWO, but that is only due to the 
 implementation detail that bootstrapping is involved) implies a replicate 
 count that is independent of the replication factor, there is essentially a 
 new failure mode. It is suddenly possible for a consistency level to be 
 fundamentally incompatible with the RF. My gut reaction is to want 
 UnavailableException still, and that the assertion check can essentially be 
 removed (other than the = 1 part).
 If a different failure mode is desired, presumably it would not be an 
 assertion failure (which should indicate a Cassandra bug).  Maybe 
 UnstisfiableConsistencyLevel? I propose just adjusting the assertion (which 
 has no equivalent in ReadCallback btw); giving a friendlier error message in 
 case of a CL/RF mismatch would be good, but doesn't feel worth introducing 
 extra complexity to deal with it.
 'ant test' passes. I have tested w/ py_stress with a three-node cluster and 
 an RF=3 keyspace and with 1 and 2 nodes down, and get expected behavior 
 (available or unavailable as a function of nodes that are up).

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


[jira] [Resolved] (CASSANDRA-1159) For contrib modules that use Java, have a consistent build mechanism

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-1159.
---

   Resolution: Duplicate
Fix Version/s: (was: 0.8)

See CASSANDRA-1805 for refactoring contrib.

 For contrib modules that use Java, have a consistent build mechanism
 

 Key: CASSANDRA-1159
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1159
 Project: Cassandra
  Issue Type: Improvement
  Components: Contrib
Reporter: Jeremy Hanna
Priority: Minor

 Contrib modules have a habit of periodically not working for some reason.  To 
 some extent that's expected - they are optional contrib modules.  However, I 
 think it's reasonable to at least have some way to perform a periodic sanity 
 check on them if we can.
 This improvement would make sure there is a consistent build mechanism - 
 build.xml - for each of the contrib modules that use Java.  That way, there 
 could be a hudson build perhaps nightly or weekly, that could inform the devs 
 if the contrib modules are not even compiling.  It's not like it would be a 
 huge priority to fix immediately, but they would at least be aware that 
 changes in the code/config have broken a contrib module.

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


[jira] [Resolved] (CASSANDRA-1283) Make the row cache pluggable

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-1283.
---

   Resolution: Duplicate
Fix Version/s: (was: 0.8)

Done in CASSANDRA-1969

 Make the row cache pluggable 
 -

 Key: CASSANDRA-1283
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1283
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Daniel Kluesing
Priority: Minor
 Attachments: trunk-pluggableCache.txt




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


[Cassandra Wiki] Update of 首页 by JavenWang

2011-04-11 Thread Apache Wiki
Dear Wiki user,

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

The 首页 page has been changed by JavenWang.
The comment on this change is: should use 首页 as the FrontPage rather than 
FrontPage_ZH.
http://wiki.apache.org/cassandra/%E9%A6%96%E9%A1%B5?action=diffrev1=1rev2=2

--

  ## Please edit system and help pages ONLY in the moinmaster wiki! For more
  ## information, please see MoinMaster:MoinPagesEditorGroup.
  ##master-page:FrontPage
- ##master-date:2004-11-21 15:15:01
  #format wiki
  #language zh
  #pragma section-numbers off
+ = Cassandra Wiki =
  
- = 维基链接名 维基 =
+ 
Cassandra是一套高度可扩展、最终一致、分布式的结构化键值存储系统。Cassandra结合了[[http://s3.amazonaws.com/AllThingsDistributed/sosp/amazon-dynamo-sosp2007.pdf|Dynamo]]的分布技术和GOOGLE的[[http://labs.google.com/papers/bigtable-osdi06.pdf|BigTable]]数据模型。
 
Cassandra具有Dynamo的[[http://www.allthingsdistributed.com/2008/12/eventually_consistent.html|最终一致性]];
 同时Cassandra相比典型的键/值数据存储数据模型更为丰富,它提供与Google的Bigtable相似的、基于ColumnFamily的数据模型。
  
+ Cassandra最初由Avinash Lakshman (Amazon's Dynamo的作者之一) 和 Prashant Malik ( 
Facebook工程师)在Facebook设计开发,在2008年Facebook把它贡献给了开源社区。 
在很多的地方你可以把Cassandra看成是Dynamo的升级版本2.0或者是Dynamo与!BigTable的结合。Cassandra在Facebook投入实际应用运行,但仍然处于大量开发进展阶段。
- 这个维基是有关什么的?
- 
- 您也许可以从这些连接开始:
-  * [最新改动]: 谁最近改动了什么
-  * [维基沙盘演练]: 您可以随意改动编辑,热身演练
-  * [查找网页]: 用多种方法搜索浏览这个站点
-  * [语法参考]: 维基语法简便参考 
-  * [站点导航]: 本站点内容概要
  
  
- == 如何使用这个站点 ==
+ == 通用信息 ==
  
+  * [[http://cassandra.apache.org/|Cassandra官方站点]] 下载,问题追踪,邮件列表,等等
+  * [[ArticlesAndPresentations| Cassandra相关文章与演示 ]]
+  * [[DataModel|数据模型]]
+  * [[CassandraLimitations|Cassandra的局限性]]: 什么场合不适用Cassandra
- 维基(wiki)是一种协同合作网站,任何人都可以参与网站的建立、编辑和维护并分享网站的内容:
-  * 点击每个网页页眉或页尾中的'''GetText(Edit)'''就可以随意编辑改动这个网页。
-  * 
创建一个链接简单的不能再简单了:您可以使用连在一起的,每个单词第一个字母大写,但不用空格分隔的词组(比如WikiSandBox),也可以用{{{[quoted
 words in brackets]}}}。简体中文的链接可以使用后者,比如{{{[维基沙盘演练]}}}。
-  * 每页的页眉中的搜索框可以用来将进行网页标题搜索或者进行全文检索。
-  * 新手可以参阅[帮助-新手入门],如需要详尽的帮助,参阅[帮助目录]。
  
- 如需要更多有关[维基网]的信息,请参考[维基好坏说]和MoinMoin:WikiNature 
(英文)。也请参考MoinMoin:WikiWikiWebFaq (英文)。
+ == 用户文档 ==
  
- 本维基使用[简体中文MoinMoin]系统。[简体中文MoinMoin]是MoinMoin的简体中文版本。
+  * [[GettingStarted_ZH| Cassandra起步]]
+  * [[RunningCassandra|运行Cassandra]]
+  * [[MemtableThresholds|内存表阈值]]
+  * [[StorageConfiguration|存储配置]]
+  * [[ArchitectureOverview|架构总览]]
+  * [[FAQ|常见问题]]
+  * [[API|Thrift API文档]] (完善中)
+  * [[Operations | Cassandra的维护]]
+  * [[Embedding | 嵌入式Cassandra ]]
+  * [[CassandraHardware_ZH|Cassandra硬件]]
  
- 此页的英文版本:FrontPage
+ == 开发者文档 ==
  
+  * [[ArchitectureInternals_ZH | 内部构架]]
+  * [[CLI Design | 客户端应用设计]]
+  * [[HowToContribute|怎么为Cassandra做自己的贡献?]]
+  * [[HowToCommit|补丁提交流程]]
+ 
+ == 邮件列表 ==
+  * 用户: u...@cassandra.apache.org 
[[mailto:user-subscr...@cassandra.apache.org|(subscribe)]] 
[[http://mail-archives.apache.org/mod_mbox/incubator-cassandra-user/|(archives)]]
+  * 开发者: d...@cassandra.apache.org 
[[mailto:dev-subscr...@cassandra.apache.org|(subscribe)]] 
[[http://mail-archives.apache.org/mod_mbox/incubator-cassandra-dev/|(archives)]]
+  * 代码提交者: commits@cassandra.apache.org 
[[mailto:commits-subscr...@cassandra.apache.org|(subscribe)]]
+ 
+ == 相关信息 ==
+ 
+  * [[http://incubator.apache.org/thrift|Cassandra客户端连接依赖的Thrift项目]]
+ 
+ == Google SoC 2010 Page ==
+  * [[GoogleSoc2010|Google SoC]]
+ 
+ This wiki is powered by MoinMoin.  With the exception of a few immutable 
pages, anyone
+ can edit it. Try SyntaxReference if you need help on wiki markup, and
+ FindPage or SiteNavigation to search for existing pages before creating a
+ new one. If you aren't sure where to begin, checkout RecentChanges to see
+ what others have been working on, or RandomPage if you are feeling lucky.
+ 
+ == 其他语言 ==
+  * [[FrontPage|English 英文版]]
+  * [[FrontPage_JP|Japanese 日文版]]
+ 


[jira] [Commented] (CASSANDRA-2371) Removed/Dead Node keeps reappearing

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2371:
---

bq. The problem with adding it, however, is that SS.handleStateLeft gets called 
every gossip round and runs through the hint removal process

But it only runs hint removal once per node, right?  Or is onChange not an 
accurate method name?

bq. One option may be to check if the node is locally persisted and if not, 
just ignore the message since we never knew about it anyway.

Locally persisted... with a token in SystemTable?  Ignore the ... hint message?

bq. Another is to just not remove hints when we see the LEFT state

We should issue a delete to the hints row, but we should not force a major 
compaction. The rule of thumb is, avoiding inflicting a performance hit on the 
cluster trumps immediate disk space cleanup.

 Removed/Dead Node keeps reappearing
 ---

 Key: CASSANDRA-2371
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2371
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Affects Versions: 0.7.3, 0.7.4
 Environment: Large Amazon EC2 instances. Ubuntu 10.04.2 
Reporter: techlabs
Assignee: Brandon Williams
Priority: Minor
 Fix For: 0.7.5

 Attachments: 2371.txt


 The removetoken option does not seem to work. The original node 10.240.50.63 
 comes back into the ring, even after the EC2 instance is no longer in 
 existence. Originally I tried to add a new node 10.214.103.224 with the same 
 token, but there were some complications with that. I have pasted below all 
 the INFO log entries found with greping the system log files.
 Seems to be a similar issue seen with 
 http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Ghost-node-showing-up-in-the-ring-td6198180.html
  
 INFO [GossipStage:1] 2011-03-16 00:54:31,590 StorageService.java (line 745) 
 Nodes /10.214.103.224 and /10.240.50.63 have the same token 
 957044156965139000.  /10.214.103.224 is the new owner
  INFO [GossipStage:1] 2011-03-16 17:26:51,083 StorageService.java (line 865) 
 Removing token 957044156965139000 for /10.214.103.224
  INFO [GossipStage:1] 2011-03-19 17:27:24,767 StorageService.java (line 865) 
 Removing token 957044156965139000 for /10.214.103.224
  INFO [GossipStage:1] 2011-03-19 17:29:30,191 StorageService.java (line 865) 
 Removing token 957044156965139000 for /10.214.103.224
  INFO [GossipStage:1] 2011-03-19 17:31:35,609 StorageService.java (line 865) 
 Removing token 957044156965139000 for /10.214.103.224
  INFO [GossipStage:1] 2011-03-19 17:33:39,440 StorageService.java (line 865) 
 Removing token 957044156965139000 for /10.214.103.224
  INFO [GossipStage:1] 2011-03-23 17:22:55,520 StorageService.java (line 865) 
 Removing token 957044156965139000 for /10.240.50.63
  INFO [GossipStage:1] 2011-03-10 03:52:37,299 Gossiper.java (line 608) Node 
 /10.240.50.63 is now part of the cluster
  INFO [GossipStage:1] 2011-03-10 03:52:37,545 Gossiper.java (line 600) 
 InetAddress /10.240.50.63 is now UP
  INFO [HintedHandoff:1] 2011-03-10 03:53:36,168 HintedHandOffManager.java 
 (line 304) Started hinted handoff for endpoint /10.240.50.63
  INFO [HintedHandoff:1] 2011-03-10 03:53:36,169 HintedHandOffManager.java 
 (line 360) Finished hinted handoff of 0 rows to endpoint /10.240.50.63
  INFO [GossipStage:1] 2011-03-15 23:23:43,770 Gossiper.java (line 623) Node 
 /10.240.50.63 has restarted, now UP again
  INFO [GossipStage:1] 2011-03-15 23:23:43,771 StorageService.java (line 726) 
 Node /10.240.50.63 state jump to normal
  INFO [HintedHandoff:1] 2011-03-15 23:28:48,957 HintedHandOffManager.java 
 (line 304) Started hinted handoff for endpoint /10.240.50.63
  INFO [HintedHandoff:1] 2011-03-15 23:28:48,958 HintedHandOffManager.java 
 (line 360) Finished hinted handoff of 0 rows to endpoint /10.240.50.63
  INFO [ScheduledTasks:1] 2011-03-15 23:37:25,071 Gossiper.java (line 226) 
 InetAddress /10.240.50.63 is now dead.
  INFO [GossipStage:1] 2011-03-16 00:54:31,590 StorageService.java (line 745) 
 Nodes /10.214.103.224 and /10.240.50.63 have the same token 
 957044156965139000.  /10.214.103.224 is the new owner
  WARN [GossipStage:1] 2011-03-16 00:54:31,590 TokenMetadata.java (line 115) 
 Token 957044156965139000 changing ownership from 
 /10.240.50.63 to /10.214.103.224
  INFO [GossipStage:1] 2011-03-18 23:37:09,158 Gossiper.java (line 610) Node 
 /10.240.50.63 is now part of the cluster
  INFO [GossipStage:1] 2011-03-21 23:37:10,421 Gossiper.java (line 610) Node 
 /10.240.50.63 is now part of the cluster
  

[Cassandra Wiki] Update of FrontPage by JavenWang

2011-04-11 Thread Apache Wiki
Dear Wiki user,

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

The FrontPage page has been changed by JavenWang.
The comment on this change is: should use 首页 as the FrontPage rather than 
FrontPage_ZH.
http://wiki.apache.org/cassandra/FrontPage?action=diffrev1=59rev2=60

--

  This wiki is powered by MoinMoin.  With the exception of a few immutable 
pages, anyone can edit it. Try SyntaxReference if you need help on wiki markup, 
and FindPage or SiteNavigation to search for existing pages before creating a 
new one. If you aren't sure where to begin, checkout RecentChanges to see what 
others have been working on, or RandomPage if you are feeling lucky.
  
  == Other Languages ==
-  * [[FrontPage_ZH|SimpleChinese 简体中文]]
+  * [[首页|SimpleChinese 简体中文]]
   * [[FrontPage_JP|Japanese 日本語]]
  


svn commit: r1091113 - in /cassandra/branches/cassandra-0.8: ./ conf/ contrib/ interface/thrift/gen-java/org/apache/cassandra/thrift/ src/java/org/apache/cassandra/config/ src/java/org/apache/cassandr

2011-04-11 Thread slebresne
Author: slebresne
Date: Mon Apr 11 16:28:38 2011
New Revision: 1091113

URL: http://svn.apache.org/viewvc?rev=1091113view=rev
Log:
Merge CASSANDRA-2156 from trunk

Modified:
cassandra/branches/cassandra-0.8/   (props changed)
cassandra/branches/cassandra-0.8/CHANGES.txt
cassandra/branches/cassandra-0.8/conf/cassandra.yaml
cassandra/branches/cassandra-0.8/contrib/   (props changed)

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

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

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

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

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

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/config/Config.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/config/DatabaseDescriptor.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/CompactionManager.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/io/CompactionIterator.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageServiceMBean.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeProbe.java

Propchange: cassandra/branches/cassandra-0.8/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Apr 11 16:28:38 2011
@@ -2,7 +2,7 @@
 /cassandra/branches/cassandra-0.7:1026516-1091087
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689
-/cassandra/trunk:1090978
+/cassandra/trunk:1090978-1090979
 /incubator/cassandra/branches/cassandra-0.3:774578-796573
 /incubator/cassandra/branches/cassandra-0.4:810145-834239,834349-834350
 /incubator/cassandra/branches/cassandra-0.5:72-915439

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1091113r1=1091112r2=1091113view=diff
==
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Mon Apr 11 16:28:38 2011
@@ -20,7 +20,7 @@
  * give snapshots the same name on each node (CASSANDRA-1791)
  * add key type information and alias (CASSANDRA-2311, 2396)
  * multithreaded compaction (CASSANDRA-2191)
-
+ * compaction throttling (CASSANDRA-2156)
 
 0.7.5
  * Avoid seeking when sstable2json exports the entire file (CASSANDRA-2318)

Modified: cassandra/branches/cassandra-0.8/conf/cassandra.yaml
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/conf/cassandra.yaml?rev=1091113r1=1091112r2=1091113view=diff
==
--- cassandra/branches/cassandra-0.8/conf/cassandra.yaml (original)
+++ cassandra/branches/cassandra-0.8/conf/cassandra.yaml Mon Apr 11 16:28:38 
2011
@@ -250,9 +250,17 @@ column_index_size_in_kb: 64
 in_memory_compaction_limit_in_mb: 64
 
 # Enables multiple compactions to execute at once. This is highly recommended
-# for preserving read performance in a mixed read/write workload.
+# for preserving read performance in a mixed read/write workload as this
+# avoids sstables from accumulating during long running compactions.
 compaction_multithreading: true
 
+# Throttles compaction to the given total throughput across the entire
+# system. The faster you insert data, the faster you need to compact in
+# order to keep the sstable count down, but in general, setting this to
+# 16 to 32 times the rate you are inserting data is more than sufficient.
+# Setting this to 0 disables throttling.
+compaction_throughput_mb_per_sec: 16
+
 # Track cached row keys during compaction, and re-cache their new
 # positions in the compacted sstable.  Disable if you use really large
 # key caches.

Propchange: cassandra/branches/cassandra-0.8/contrib/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Apr 11 16:28:38 2011
@@ -2,7 +2,7 @@
 /cassandra/branches/cassandra-0.7/contrib:1026516-1091087
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
 /cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689
-/cassandra/trunk/contrib:1090978
+/cassandra/trunk/contrib:1090978-1090979
 

[jira] [Updated] (CASSANDRA-2448) Remove loadbalance command

2011-04-11 Thread Nick Bailey (JIRA)

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

Nick Bailey updated CASSANDRA-2448:
---

Attachment: 0001-Remove-loadbalance-command-from-nodetool.patch

 Remove loadbalance command
 --

 Key: CASSANDRA-2448
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2448
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Affects Versions: 0.8
Reporter: Nick Bailey
Assignee: Nick Bailey
Priority: Minor
 Fix For: 0.8

 Attachments: 0001-Remove-loadbalance-command-from-nodetool.patch


 With the update to how the move command works, the loadbalance command is 
 even less useful that it was previously.  The loadbalance command now 
 calculates the token it is going to move to before it leaves which means it 
 isn't considering the load it is giving away. Given that, I think we should 
 just remove the loadbalance command entirely. Anyone who wants to do an old 
 style loadbalance can just do decommission then bootstrap.
 This is a minor change, and honestly I think it might count as a 'bug' so I 
 think we should squeeze it into 0.8, post-freeze. 

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


svn commit: r1091139 - in /cassandra/branches/cassandra-0.8: ./ src/java/org/apache/cassandra/service/ src/java/org/apache/cassandra/tools/

2011-04-11 Thread jbellis
Author: jbellis
Date: Mon Apr 11 17:35:42 2011
New Revision: 1091139

URL: http://svn.apache.org/viewvc?rev=1091139view=rev
Log:
r/m nodetool loadbalance
patch by Nick Bailey; reviewed by jbellis for CASSANDRA-2448

Modified:
cassandra/branches/cassandra-0.8/CHANGES.txt
cassandra/branches/cassandra-0.8/NEWS.txt

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageServiceMBean.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeCmd.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/tools/NodeProbe.java

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1091139r1=1091138r2=1091139view=diff
==
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Mon Apr 11 17:35:42 2011
@@ -19,9 +19,11 @@
  * push replication_factor into strategy_options (CASSANDRA-1263)
  * give snapshots the same name on each node (CASSANDRA-1791)
  * add key type information and alias (CASSANDRA-2311, 2396)
+ * remove nodetool loadbalance (CASSANDRA-2448)
  * multithreaded compaction (CASSANDRA-2191)
  * compaction throttling (CASSANDRA-2156)
 
+
 0.7.5
  * Avoid seeking when sstable2json exports the entire file (CASSANDRA-2318)
  * fix tombstone handling in repair and sstable2json (CASSANDRA-2279)

Modified: cassandra/branches/cassandra-0.8/NEWS.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/NEWS.txt?rev=1091139r1=1091138r2=1091139view=diff
==
--- cassandra/branches/cassandra-0.8/NEWS.txt (original)
+++ cassandra/branches/cassandra-0.8/NEWS.txt Mon Apr 11 17:35:42 2011
@@ -1,5 +1,5 @@
-Whatever
-
+0.8
+===
 
 Upgrading
 -
@@ -10,6 +10,9 @@ Upgrading
Upgrading from version 0.7.1 or later can be done with a rolling 
restart,
one node at a time.  You do not need to bring down the whole cluster.
 
+The loadbalance command has been removed from nodetool.  For similar
+behavior, decommission then rebootstrap with empty initial_token.
+
 Other
 -
 In the past, sstable2json would write column names and values as hex

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java?rev=1091139r1=1091138r2=1091139view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java
 Mon Apr 11 17:35:42 2011
@@ -815,10 +815,9 @@ public class StorageService implements I
 }
 
 /**
- * Handle node leaving the ring. This can be either because of 
decommission or loadbalance
+ * Handle node leaving the ring. This will happen when a node is 
decommissioned
  *
- * @param endpoint If reason for leaving is decommission or loadbalance
- * endpoint is the leaving node.
+ * @param endpoint If reason for leaving is decommission, endpoint is the 
leaving node.
  * @param pieces STATE_LEFT,token
  */
 private void handleStateLeft(InetAddress endpoint, String[] pieces)
@@ -1800,15 +1799,6 @@ public class StorageService implements I
 }
 
 /**
- * Generates balanced token and calls load balance operation to move 
current node to that token
- * @throws IOException on any I/O operation error
- */
-public void loadBalance() throws IOException
-{
-move(BootStrapper.getBalancedToken(tokenMetadata_, 
StorageLoadBalancer.instance.getLoadInfo()));
-}
-
-/**
  * move the node to new token or find a new token to boot to according to 
load
  *
  * @param newToken new token to boot to, or if null, find balanced token 
to boot to

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageServiceMBean.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageServiceMBean.java?rev=1091139r1=1091138r2=1091139view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageServiceMBean.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageServiceMBean.java
 Mon Apr 11 17:35:42 2011
@@ -198,13 +198,6 @@ public interface StorageServiceMBean
 public void move(String newToken) throws IOException, InterruptedException;
 

[jira] [Commented] (CASSANDRA-2167) Add a deserialize(ByteBuffer) method to ColumnFamilySerializer

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2167:
---

Revisiting this, I don't think it's actually a valid optimization -- if we free 
the backing Memory object before shipping the read buffers off over the 
network, we'll segfault. No?

 Add a deserialize(ByteBuffer) method to ColumnFamilySerializer
 --

 Key: CASSANDRA-2167
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2167
 Project: Cassandra
  Issue Type: Sub-task
  Components: Core
Affects Versions: 0.8
Reporter: Vijay
Assignee: Vijay
Priority: Minor
 Fix For: 0.8

 Attachments: 0001-Reduce-Byte-Copy-Streams.txt, 
 0002-Reduce-Byte-Copy-BBUtil.txt, 0003-Reduce-BB-Copy.txt


 by adding deserialize bytebuffer in the columnFamilySerializer we might be 
 able to avoid copying of the bytes[] while deserializing the CF.
 This can be done using
 ByteBuffer buff = ByteBuffer.wrap(bb.array(), bb.position(), length);
 This is an improvement on 
 https://issues.apache.org/jira/browse/CASSANDRA-1969; Plz see jonathan's 
 comment.

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


[jira] [Commented] (CASSANDRA-2342) Add range slice support for counters

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2342:
---

+1

 Add range slice support for counters
 

 Key: CASSANDRA-2342
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2342
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.8
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 0.8

 Attachments: 0001-Range-slice-support-for-counters.patch


 There is no equivalent for get_range_slice() for counters right now.

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


svn commit: r1091148 - in /cassandra/branches/cassandra-0.8: CHANGES.txt src/java/org/apache/cassandra/cli/CliClient.java src/java/org/apache/cassandra/thrift/CassandraServer.java test/system/test_thr

2011-04-11 Thread slebresne
Author: slebresne
Date: Mon Apr 11 17:52:13 2011
New Revision: 1091148

URL: http://svn.apache.org/viewvc?rev=1091148view=rev
Log:
Fix range slice for counters
patch by slebresne; reviewed by jbellis for CASSANDRA-2342

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

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/CassandraServer.java
cassandra/branches/cassandra-0.8/test/system/test_thrift_server.py

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1091148r1=1091147r2=1091148view=diff
==
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Mon Apr 11 17:52:13 2011
@@ -1,7 +1,7 @@
 0.8-dev
  * remove Avro RPC support (CASSANDRA-926)
  * adds support for columns that act as incr/decr counters 
-   (CASSANDRA-1072, 1937, 1944, 1936, 2101, 2093, 2288, 2105, 2384, 2236)
+   (CASSANDRA-1072, 1937, 1944, 1936, 2101, 2093, 2288, 2105, 2384, 2236, 2342)
  * CQL (CASSANDRA-1703, 1704, 1705, 1706, 1707, 1708, 1710, 1711, 1940, 
2124, 2302, 2277)
  * avoid double RowMutation serialization on write path (CASSANDRA-1800)

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java?rev=1091148r1=1091147r2=1091148view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java
 Mon Apr 11 17:52:13 2011
@@ -2206,6 +2206,24 @@ public class CliClient extends CliUserHe
 
 sessionState.out.println());
 }
+else if (columnOrSuperColumn.counter_column != null)
+{
+CounterColumn col = columnOrSuperColumn.counter_column;
+
+sessionState.out.printf(= (counter=%s, value=%s)%n, 
formatColumnName(keySpace, columnFamilyName, col.name), col.value);
+}
+else if (columnOrSuperColumn.counter_super_column != null)
+{
+CounterSuperColumn superCol = 
columnOrSuperColumn.counter_super_column;
+sessionState.out.printf(= (super_column=%s,, 
formatColumnName(keySpace, columnFamilyName, superCol.name));
+
+for (CounterColumn col : superCol.columns)
+{
+sessionState.out.printf(%n (counter=%s, 
value=%s), formatSubcolumnName(keySpace, columnFamilyName, col.name), 
col.value);
+}
+
+sessionState.out.println());
+}
 }
 }
 

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/CassandraServer.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/CassandraServer.java?rev=1091148r1=1091147r2=1091148view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/CassandraServer.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/CassandraServer.java
 Mon Apr 11 17:52:13 2011
@@ -575,7 +575,7 @@ public class CassandraServer implements 
 String keyspace = state().getKeyspace();
 state().hasColumnFamilyAccess(column_parent.column_family, 
Permission.READ);
 
-CFMetaData metadata = ThriftValidation.validateColumnFamily(keyspace, 
column_parent.column_family, false);
+CFMetaData metadata = ThriftValidation.validateColumnFamily(keyspace, 
column_parent.column_family);
 ThriftValidation.validateColumnParent(metadata, column_parent);
 ThriftValidation.validatePredicate(metadata, column_parent, predicate);
 ThriftValidation.validateKeyRange(range);

Modified: cassandra/branches/cassandra-0.8/test/system/test_thrift_server.py
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/test/system/test_thrift_server.py?rev=1091148r1=1091147r2=1091148view=diff
==
--- cassandra/branches/cassandra-0.8/test/system/test_thrift_server.py 
(original)
+++ cassandra/branches/cassandra-0.8/test/system/test_thrift_server.py Mon Apr 
11 17:52:13 2011
@@ -105,6 +105,12 @@ def _insert_range():
 client.insert('key1', ColumnParent('Standard1'), Column('c3', 'value3', 
0), ConsistencyLevel.ONE)
 time.sleep(0.1)
 
+def _insert_counter_range():
+client.add('key1', 

svn commit: r1091151 - in /cassandra/trunk: ./ contrib/ interface/thrift/gen-java/org/apache/cassandra/thrift/ src/java/org/apache/cassandra/cli/ src/java/org/apache/cassandra/thrift/ test/system/

2011-04-11 Thread slebresne
Author: slebresne
Date: Mon Apr 11 18:00:23 2011
New Revision: 1091151

URL: http://svn.apache.org/viewvc?rev=1091151view=rev
Log:
Merge CASSANDRA-2342 from 0.8.

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/cli/CliClient.java
cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraServer.java
cassandra/trunk/test/system/test_thrift_server.py

Propchange: cassandra/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Apr 11 18:00:23 2011
@@ -1,6 +1,7 @@
 
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
 /cassandra/branches/cassandra-0.7:1026516-1090647
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
+/cassandra/branches/cassandra-0.8:1091148
 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689
 /incubator/cassandra/branches/cassandra-0.3:774578-796573
 /incubator/cassandra/branches/cassandra-0.4:810145-834239,834349-834350

Modified: cassandra/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/CHANGES.txt?rev=1091151r1=1091150r2=1091151view=diff
==
--- cassandra/trunk/CHANGES.txt (original)
+++ cassandra/trunk/CHANGES.txt Mon Apr 11 18:00:23 2011
@@ -1,16 +1,16 @@
 0.8-dev
  * remove Avro RPC support (CASSANDRA-926)
- * avoid double RowMutation serialization on write path (CASSANDRA-1800)
  * adds support for columns that act as incr/decr counters 
-   (CASSANDRA-1072, 1937, 1944, 1936, 2101, 2093, 2288, 2105, 2384)
+   (CASSANDRA-1072, 1937, 1944, 1936, 2101, 2093, 2288, 2105, 2384, 2236, 2342)
+ * CQL (CASSANDRA-1703, 1704, 1705, 1706, 1707, 1708, 1710, 1711, 1940, 
+   2124, 2302, 2277)
+ * avoid double RowMutation serialization on write path (CASSANDRA-1800)
  * make NetworkTopologyStrategy the default (CASSANDRA-1960)
  * configurable internode encryption (CASSANDRA-1567)
  * human readable column names in sstable2json output (CASSANDRA-1933)
  * change default JMX port to 7199 (CASSANDRA-2027)
  * backwards compatible internal messaging (CASSANDRA-1015)
  * check for null encryption in MessagingService (CASSANDRA-2152)
- * Fix for Cli to support updating replicate_on_write (CASSANDRA-2236)
- * JDBC driver for CQL (CASSANDRA-2124, 2302, 2277)
  * atomic switch of memtables and sstables (CASSANDRA-2284)
  * add pluggable SeedProvider (CASSANDRA-1669)
  * Fix clustertool to not throw exception when calling get_endpoints 
(CASSANDRA-2437)

Propchange: cassandra/trunk/contrib/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Apr 11 18:00:23 2011
@@ -1,6 +1,7 @@
 
/cassandra/branches/cassandra-0.6/contrib:922689-1052356,1052358-1053452,1053454,1053456-1068009
 /cassandra/branches/cassandra-0.7/contrib:1026516-1090647
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
+/cassandra/branches/cassandra-0.8/contrib:1091148
 /cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689
 /incubator/cassandra/branches/cassandra-0.3/contrib:774578-796573
 /incubator/cassandra/branches/cassandra-0.4/contrib:810145-834239,834349-834350

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Apr 11 18:00:23 2011
@@ -1,6 +1,7 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
 
/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1090647
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1053690-1055654
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1091148
 
/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
 

buildbot failure in ASF Buildbot on cassandra-trunk

2011-04-11 Thread buildbot
The Buildbot has detected a new failure on builder cassandra-trunk while 
building ASF Buildbot.
Full details are available at:
 http://ci.apache.org/builders/cassandra-trunk/builds/1263

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

Buildslave for this Build: isis_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch cassandra/trunk] 1091151
Blamelist: slebresne

BUILD FAILED: failed compile

sincerely,
 -The Buildbot



[jira] [Created] (CASSANDRA-2449) Deprecate or modify per-cf memtable sizes in favor of the global threshold

2011-04-11 Thread Stu Hood (JIRA)
Deprecate or modify per-cf memtable sizes in favor of the global threshold
--

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


The new memtable_total_space_in_mb setting is an excellent way to cap memory 
usage for memtables, and one could argue that it should replace the per-cf 
memtable sizes entirely. On the other hand, people may still want a knob to 
tune to flush certain cfs less frequently.

I think a best of both worlds approach might be to deprecate the 
memtable_(throughput|operations) settings, and replace them with a preference 
value, which controls the relative memory usage of one CF versus another (all 
CFs at 1 would mean equal preference). For backwards compatibility, we could 
continue to read from the _throughput value and treat it as the preference 
value, while logging a warning.

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


[jira] [Commented] (CASSANDRA-2448) Remove loadbalance command

2011-04-11 Thread Nick Bailey (JIRA)

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

Nick Bailey commented on CASSANDRA-2448:


this should also be applied to trunk

 Remove loadbalance command
 --

 Key: CASSANDRA-2448
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2448
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Affects Versions: 0.8
Reporter: Nick Bailey
Assignee: Nick Bailey
Priority: Minor
 Fix For: 0.8

 Attachments: 0001-Remove-loadbalance-command-from-nodetool.patch


 With the update to how the move command works, the loadbalance command is 
 even less useful that it was previously.  The loadbalance command now 
 calculates the token it is going to move to before it leaves which means it 
 isn't considering the load it is giving away. Given that, I think we should 
 just remove the loadbalance command entirely. Anyone who wants to do an old 
 style loadbalance can just do decommission then bootstrap.
 This is a minor change, and honestly I think it might count as a 'bug' so I 
 think we should squeeze it into 0.8, post-freeze. 

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


[jira] [Updated] (CASSANDRA-2252) off-heap memtables

2011-04-11 Thread Stu Hood (JIRA)

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

Stu Hood updated CASSANDRA-2252:


Attachment: (was: merged-2252.tgz)

 off-heap memtables
 --

 Key: CASSANDRA-2252
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2252
 Project: Cassandra
  Issue Type: Improvement
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
 Fix For: 1.0

 Attachments: 0001-add-MemtableAllocator.txt, 
 0002-add-off-heap-MemtableAllocator-support.txt

   Original Estimate: 0.4h
  Remaining Estimate: 0.4h

 The memtable design practically actively fights Java's GC design.  Todd 
 Lipcon gave a good explanation over on HBASE-3455.

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


[jira] [Updated] (CASSANDRA-2252) off-heap memtables

2011-04-11 Thread Stu Hood (JIRA)

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

Stu Hood updated CASSANDRA-2252:


Attachment: (was: 2252-alternate-v2.tgz)

 off-heap memtables
 --

 Key: CASSANDRA-2252
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2252
 Project: Cassandra
  Issue Type: Improvement
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
 Fix For: 1.0

 Attachments: 0001-add-MemtableAllocator.txt, 
 0002-add-off-heap-MemtableAllocator-support.txt

   Original Estimate: 0.4h
  Remaining Estimate: 0.4h

 The memtable design practically actively fights Java's GC design.  Todd 
 Lipcon gave a good explanation over on HBASE-3455.

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


[jira] [Updated] (CASSANDRA-2252) off-heap memtables

2011-04-11 Thread Stu Hood (JIRA)

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

Stu Hood updated CASSANDRA-2252:


Attachment: merged-2252.tgz

Rebased for trunk. I took the easy way out and just included the Allocator's 
allocation count in the memtable live size: this will overcount, but it 
accounts for fragmentation due to updates. I've started a patch for JAMM to add 
a mode that will allow us to ignore shared buffers: see 
[jamm/buffer-behavior|https://github.com/stuhood/jamm/commits/buffer-behavior].

 off-heap memtables
 --

 Key: CASSANDRA-2252
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2252
 Project: Cassandra
  Issue Type: Improvement
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
 Fix For: 1.0

 Attachments: 0001-add-MemtableAllocator.txt, 
 0002-add-off-heap-MemtableAllocator-support.txt, merged-2252.tgz

   Original Estimate: 0.4h
  Remaining Estimate: 0.4h

 The memtable design practically actively fights Java's GC design.  Todd 
 Lipcon gave a good explanation over on HBASE-3455.

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


svn commit: r1091176 - /cassandra/branches/cassandra-0.8/tools/stress/src/org/apache/cassandra/stress/Session.java

2011-04-11 Thread jbellis
Author: jbellis
Date: Mon Apr 11 19:27:03 2011
New Revision: 1091176

URL: http://svn.apache.org/viewvc?rev=1091176view=rev
Log:
update stress.java for replication_factor-to-strategy_options change

Modified:

cassandra/branches/cassandra-0.8/tools/stress/src/org/apache/cassandra/stress/Session.java

Modified: 
cassandra/branches/cassandra-0.8/tools/stress/src/org/apache/cassandra/stress/Session.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/tools/stress/src/org/apache/cassandra/stress/Session.java?rev=1091176r1=1091175r2=1091176view=diff
==
--- 
cassandra/branches/cassandra-0.8/tools/stress/src/org/apache/cassandra/stress/Session.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/tools/stress/src/org/apache/cassandra/stress/Session.java
 Mon Apr 11 19:27:03 2011
@@ -414,7 +414,9 @@ public class Session
 
 keyspace.setName(Keyspace1);
 keyspace.setStrategy_class(replicationStrategy);
-keyspace.setReplication_factor(replicationFactor);
+MapString,String options = new HashMapString, String();
+options.put(replication_factor, String.valueOf(replicationFactor));
+keyspace.setStrategy_options(options);
 
 if (!replicationStrategyOptions.isEmpty())
 {




[jira] [Updated] (CASSANDRA-2441) Cassandra crashes with segmentation fault on Debian 5.0 and Ubuntu 10.10

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-2441:
--

Attachment: 2441.txt

 Cassandra crashes with segmentation fault on Debian 5.0 and Ubuntu 10.10
 

 Key: CASSANDRA-2441
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2441
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8
 Environment: Both servers have identical hardware configuration: 
 Quad-Core AMD Opteron(tm) Processor 2374 HE, 4 GB RAM (rackspace servers)
 Java version 1.6.0_20
 OpenJDK Runtime Environment (IcedTea6 1.9.7) (6b20-1.9.7-0ubuntu1)
 OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)
Reporter: Pavel Yaskevich
Assignee: Jonathan Ellis
Priority: Critical
 Attachments: 2441.txt


 Last working commit is c8d1984bf17cab58f40069e522d074c7b0077bc1 (merge from 
 0.7), branch: trunk.
 What I did is cloned git://git.apache.org/cassandra.git and did git reset 
 each commit with `ant clean  ant  ./bin/cassandra -f` until I got 
 cassandra started

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


[jira] [Updated] (CASSANDRA-2441) Cassandra crashes with segmentation fault on Debian 5.0 and Ubuntu 10.10

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-2441:
--

Attachment: jamm-0.2.1.jar

attached.  (requires jamm 0.2.1 in lib/, also attached.)

(most of the patch is svn deleting the 0.2 jar.  silly svn.)

 Cassandra crashes with segmentation fault on Debian 5.0 and Ubuntu 10.10
 

 Key: CASSANDRA-2441
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2441
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8
 Environment: Both servers have identical hardware configuration: 
 Quad-Core AMD Opteron(tm) Processor 2374 HE, 4 GB RAM (rackspace servers)
 Java version 1.6.0_20
 OpenJDK Runtime Environment (IcedTea6 1.9.7) (6b20-1.9.7-0ubuntu1)
 OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)
Reporter: Pavel Yaskevich
Assignee: Jonathan Ellis
Priority: Critical
 Attachments: 2441.txt, jamm-0.2.1.jar


 Last working commit is c8d1984bf17cab58f40069e522d074c7b0077bc1 (merge from 
 0.7), branch: trunk.
 What I did is cloned git://git.apache.org/cassandra.git and did git reset 
 each commit with `ant clean  ant  ./bin/cassandra -f` until I got 
 cassandra started

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


[jira] [Created] (CASSANDRA-2450) incompatibility w/ 0.7 schemas

2011-04-11 Thread Jonathan Ellis (JIRA)
incompatibility w/ 0.7 schemas
--

 Key: CASSANDRA-2450
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2450
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8
Reporter: Jonathan Ellis
Assignee: Jon Hermes
 Fix For: 0.8


If you create a SimpleStrategy keyspace under 0.7, then switch to 0.8, you will 
get this error on startup:

{noformat}
ERROR 14:31:41,725 Exception encountered during startup.
java.lang.RuntimeException: org.apache.cassandra.config.ConfigurationException: 
SimpleStrategy requires a replication_factor strategy option.
at org.apache.cassandra.db.Table.init(Table.java:277)
at org.apache.cassandra.db.Table.open(Table.java:109)
at 
org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:160)
at 
org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:314)
at 
org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:80)
Caused by: org.apache.cassandra.config.ConfigurationException: SimpleStrategy 
requires a replication_factor strategy option.
at 
org.apache.cassandra.locator.SimpleStrategy.validateOptions(SimpleStrategy.java:75)
at 
org.apache.cassandra.locator.AbstractReplicationStrategy.createReplicationStrategy(AbstractReplicationStrategy.java:262)
at 
org.apache.cassandra.db.Table.createReplicationStrategy(Table.java:327)
at org.apache.cassandra.db.Table.init(Table.java:273)
... 4 more
{noformat}

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


[jira] [Commented] (CASSANDRA-2449) Deprecate or modify per-cf memtable sizes in favor of the global threshold

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2449:
---

bq. replace them with a preference value, which controls the relative memory 
usage of one CF versus another

I'm not a fan of adding additional complexity here.  At best, you'll get 
substantially the current behavior; at worst (when you tell it to prefer 
keeping the largest CF in memory), you'll create a flush storm of smaller CFs.

 Deprecate or modify per-cf memtable sizes in favor of the global threshold
 --

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


 The new memtable_total_space_in_mb setting is an excellent way to cap memory 
 usage for memtables, and one could argue that it should replace the per-cf 
 memtable sizes entirely. On the other hand, people may still want a knob to 
 tune to flush certain cfs less frequently.
 I think a best of both worlds approach might be to deprecate the 
 memtable_(throughput|operations) settings, and replace them with a preference 
 value, which controls the relative memory usage of one CF versus another (all 
 CFs at 1 would mean equal preference). For backwards compatibility, we could 
 continue to read from the _throughput value and treat it as the preference 
 value, while logging a warning.

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


[jira] [Commented] (CASSANDRA-2448) Remove loadbalance command

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2448:
---

merging to trunk is asynchronous but will happen

 Remove loadbalance command
 --

 Key: CASSANDRA-2448
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2448
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Affects Versions: 0.8
Reporter: Nick Bailey
Assignee: Nick Bailey
Priority: Minor
 Fix For: 0.8

 Attachments: 0001-Remove-loadbalance-command-from-nodetool.patch


 With the update to how the move command works, the loadbalance command is 
 even less useful that it was previously.  The loadbalance command now 
 calculates the token it is going to move to before it leaves which means it 
 isn't considering the load it is giving away. Given that, I think we should 
 just remove the loadbalance command entirely. Anyone who wants to do an old 
 style loadbalance can just do decommission then bootstrap.
 This is a minor change, and honestly I think it might count as a 'bug' so I 
 think we should squeeze it into 0.8, post-freeze. 

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


[jira] [Commented] (CASSANDRA-2167) Add a deserialize(ByteBuffer) method to ColumnFamilySerializer

2011-04-11 Thread Vijay (JIRA)

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

Vijay commented on CASSANDRA-2167:
--

Initial assumption was that, it will be handled with by the Memory.free 
seems like it is not so we should add some kind of locks before it frees up 
the memory? as a separate thread (mem.free)? or is it too much overhead? if we 
agree on lock... i can add some code to do so.

 Add a deserialize(ByteBuffer) method to ColumnFamilySerializer
 --

 Key: CASSANDRA-2167
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2167
 Project: Cassandra
  Issue Type: Sub-task
  Components: Core
Affects Versions: 0.8
Reporter: Vijay
Assignee: Vijay
Priority: Minor
 Fix For: 1.0

 Attachments: 0001-Reduce-Byte-Copy-Streams.txt, 
 0002-Reduce-Byte-Copy-BBUtil.txt, 0003-Reduce-BB-Copy.txt


 by adding deserialize bytebuffer in the columnFamilySerializer we might be 
 able to avoid copying of the bytes[] while deserializing the CF.
 This can be done using
 ByteBuffer buff = ByteBuffer.wrap(bb.array(), bb.position(), length);
 This is an improvement on 
 https://issues.apache.org/jira/browse/CASSANDRA-1969; Plz see jonathan's 
 comment.

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


[jira] [Updated] (CASSANDRA-2420) row cache / streaming aren't aware of each other

2011-04-11 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-2420:


Attachment: 0001-Handle-the-row-cache-for-streamed-row.patch

There is a very simple patch for this issue. It consists in invalidating the 
cache for each key we index. The downside is that this will invalidate all key 
that gets repaired, but updating the cache (instead of invalidating) implies 
reading on disk so doing this during the indexing or at the next read may not 
matter much. In any case, this is better that the current situation and after 
all .

I however attached a patch (against trunk for now) that 'do the right thing' 
and will update the cache in the case of repair instead of invalidating. I 
mentioned the first solution in case we consider that the 'right one' is too 
disruptive for 0.7 for instance (not that the patch is very complicated).

Note that the patch fixes a tiny unrelated issue: the writeStat are not updated 
during a write if the used cache has 'isPutCopying' (this could be fixed 
separately).


 row cache / streaming aren't aware of each other
 

 Key: CASSANDRA-2420
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2420
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.6
Reporter: Matthew F. Dennis
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 0.7.5

 Attachments: 0001-Handle-the-row-cache-for-streamed-row.patch


 SSTableWriter.Builder.build() takes tables that resulted from streaming, 
 repair, bootstrapping, et cetera and builds the indexes and bloom filters 
 before adding it so the current node is aware of it.
 However, if there is data present in the cache for a row that is also present 
 in the streamed table the row cache can over shadow the data in the newly 
 built table.  In other words, until the row in row cache is removed from the 
 cache (e.g. because it's pushed out because of size, the node is restarted, 
 the cache is manually cleared) the data in the newly built table will never 
 be returned to clients.
 The solution that seems most reasonable at this point is to have 
 SSTableWriter.Builder.build() (or something below it) update the row cache if 
 the row key in the table being built is also present in the cache.

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


[jira] [Created] (CASSANDRA-2451) Make clean compactions cleanup the row cache

2011-04-11 Thread Sylvain Lebresne (JIRA)
Make clean compactions cleanup the row cache


 Key: CASSANDRA-2451
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2451
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.7.0
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
Priority: Minor


We uselessly keep in cache keys that are cleanup, which is not a big deal 
because they will get expunged eventually but there is no point in wasting the 
memory in the meantime.

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


[jira] [Created] (CASSANDRA-2452) EC2 Snitch to friendly to public ip and natively support for EC2 mult-region.

2011-04-11 Thread Vijay (JIRA)
EC2 Snitch to friendly to public ip and natively support for EC2 mult-region.
-

 Key: CASSANDRA-2452
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2452
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.8
 Environment: JVM
Reporter: Vijay
Assignee: Vijay
Priority: Minor


Make cassandra talk identify itself using the public ip (To avoid any future 
conflicts of private ips).

1) Split the logic of identification vs listen Address in the code.
2) Move the logic to assign IP address to the node into EndPointSnitch.
3) Make EC2 Snitch query for its public ip and use it for identification.
4) Make EC2 snitch to use InetAddress.getLocal to listen to the private ip.

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


[jira] [Updated] (CASSANDRA-2441) Cassandra crashes with segmentation fault on Debian 5.0 and Ubuntu 10.10

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-2441:
--

Attachment: (was: 2441.txt)

 Cassandra crashes with segmentation fault on Debian 5.0 and Ubuntu 10.10
 

 Key: CASSANDRA-2441
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2441
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8
 Environment: Both servers have identical hardware configuration: 
 Quad-Core AMD Opteron(tm) Processor 2374 HE, 4 GB RAM (rackspace servers)
 Java version 1.6.0_20
 OpenJDK Runtime Environment (IcedTea6 1.9.7) (6b20-1.9.7-0ubuntu1)
 OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)
Reporter: Pavel Yaskevich
Assignee: Jonathan Ellis
Priority: Critical
 Fix For: 0.8

 Attachments: jamm-0.2.1.jar


 Last working commit is c8d1984bf17cab58f40069e522d074c7b0077bc1 (merge from 
 0.7), branch: trunk.
 What I did is cloned git://git.apache.org/cassandra.git and did git reset 
 each commit with `ant clean  ant  ./bin/cassandra -f` until I got 
 cassandra started

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


[jira] [Updated] (CASSANDRA-2451) Make clean compactions cleanup the row cache

2011-04-11 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-2451:


Attachment: 0001-Cleanup-cache-during-cleanup-compaction.patch

Patch is again 0.7

 Make clean compactions cleanup the row cache
 

 Key: CASSANDRA-2451
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2451
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.7.0
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 0.7.5

 Attachments: 0001-Cleanup-cache-during-cleanup-compaction.patch

   Original Estimate: 1h
  Remaining Estimate: 1h

 We uselessly keep in cache keys that are cleanup, which is not a big deal 
 because they will get expunged eventually but there is no point in wasting 
 the memory in the meantime.

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


[jira] [Updated] (CASSANDRA-2441) Cassandra crashes with segmentation fault on Debian 5.0 and Ubuntu 10.10

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-2441:
--

Attachment: 2441.txt

On Brandon's advice I moved the entire warning into the log4j call, even though 
this makes it unwieldy and we don't have perfect information as to what the 
cause is at that point.

 Cassandra crashes with segmentation fault on Debian 5.0 and Ubuntu 10.10
 

 Key: CASSANDRA-2441
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2441
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8
 Environment: Both servers have identical hardware configuration: 
 Quad-Core AMD Opteron(tm) Processor 2374 HE, 4 GB RAM (rackspace servers)
 Java version 1.6.0_20
 OpenJDK Runtime Environment (IcedTea6 1.9.7) (6b20-1.9.7-0ubuntu1)
 OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)
Reporter: Pavel Yaskevich
Assignee: Jonathan Ellis
Priority: Critical
 Fix For: 0.8

 Attachments: 2441.txt, jamm-0.2.1.jar


 Last working commit is c8d1984bf17cab58f40069e522d074c7b0077bc1 (merge from 
 0.7), branch: trunk.
 What I did is cloned git://git.apache.org/cassandra.git and did git reset 
 each commit with `ant clean  ant  ./bin/cassandra -f` until I got 
 cassandra started

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


[jira] [Commented] (CASSANDRA-1278) Make bulk loading into Cassandra less crappy, more pluggable

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-1278:
---

go ahead and use git to split this up into logical pieces (e.g., internals 
changes, proxy server, tests).

where does throughput max out in rows/s as you add clients (proxy nodes), vs 
stress-against-plain-cassandra?

 Make bulk loading into Cassandra less crappy, more pluggable
 

 Key: CASSANDRA-1278
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1278
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Jeremy Hanna
Assignee: Matthew F. Dennis
 Fix For: 0.7.5

 Attachments: 1278-cassandra-0.7-v2.txt, 1278-cassandra-0.7.1.txt, 
 1278-cassandra-0.7.txt

   Original Estimate: 40h
  Time Spent: 40h 40m
  Remaining Estimate: 0h

 Currently bulk loading into Cassandra is a black art.  People are either 
 directed to just do it responsibly with thrift or a higher level client, or 
 they have to explore the contrib/bmt example - 
 http://wiki.apache.org/cassandra/BinaryMemtable  That contrib module requires 
 delving into the code to find out how it works and then applying it to the 
 given problem.  Using either method, the user also needs to keep in mind that 
 overloading the cluster is possible - which will hopefully be addressed in 
 CASSANDRA-685
 This improvement would be to create a contrib module or set of documents 
 dealing with bulk loading.  Perhaps it could include code in the Core to make 
 it more pluggable for external clients of different types.
 It is just that this is something that many that are new to Cassandra need to 
 do - bulk load their data into Cassandra.

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


[jira] [Commented] (CASSANDRA-2441) Cassandra crashes with segmentation fault on Debian 5.0 and Ubuntu 10.10

2011-04-11 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-2441:


Can you please re-attach git apply and patch both say that patch is corrupted 
at line 90?..

 Cassandra crashes with segmentation fault on Debian 5.0 and Ubuntu 10.10
 

 Key: CASSANDRA-2441
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2441
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8
 Environment: Both servers have identical hardware configuration: 
 Quad-Core AMD Opteron(tm) Processor 2374 HE, 4 GB RAM (rackspace servers)
 Java version 1.6.0_20
 OpenJDK Runtime Environment (IcedTea6 1.9.7) (6b20-1.9.7-0ubuntu1)
 OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)
Reporter: Pavel Yaskevich
Assignee: Jonathan Ellis
Priority: Critical
 Fix For: 0.8

 Attachments: 2441.txt, jamm-0.2.1.jar


 Last working commit is c8d1984bf17cab58f40069e522d074c7b0077bc1 (merge from 
 0.7), branch: trunk.
 What I did is cloned git://git.apache.org/cassandra.git and did git reset 
 each commit with `ant clean  ant  ./bin/cassandra -f` until I got 
 cassandra started

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


[jira] [Commented] (CASSANDRA-2420) row cache / streaming aren't aware of each other

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2420:
---

I would be more comfortable having LCR throw UnsupportedOperation if asked for 
full row, since You Shouldn't Do That.

Would prefer the updateCache case to be AES: ... default: invalidate and break; 
it's more obvious looking at it what the point is, and unnecessary invalidate 
calls will be harmless.

 row cache / streaming aren't aware of each other
 

 Key: CASSANDRA-2420
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2420
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.6
Reporter: Matthew F. Dennis
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 0.7.5

 Attachments: 0001-Handle-the-row-cache-for-streamed-row.patch


 SSTableWriter.Builder.build() takes tables that resulted from streaming, 
 repair, bootstrapping, et cetera and builds the indexes and bloom filters 
 before adding it so the current node is aware of it.
 However, if there is data present in the cache for a row that is also present 
 in the streamed table the row cache can over shadow the data in the newly 
 built table.  In other words, until the row in row cache is removed from the 
 cache (e.g. because it's pushed out because of size, the node is restarted, 
 the cache is manually cleared) the data in the newly built table will never 
 be returned to clients.
 The solution that seems most reasonable at this point is to have 
 SSTableWriter.Builder.build() (or something below it) update the row cache if 
 the row key in the table being built is also present in the cache.

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


[jira] [Updated] (CASSANDRA-2441) Cassandra crashes with segmentation fault on Debian 5.0 and Ubuntu 10.10

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-2441:
--

Attachment: 2441.txt

manually ripped the binary portion out of the patch.

 Cassandra crashes with segmentation fault on Debian 5.0 and Ubuntu 10.10
 

 Key: CASSANDRA-2441
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2441
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8
 Environment: Both servers have identical hardware configuration: 
 Quad-Core AMD Opteron(tm) Processor 2374 HE, 4 GB RAM (rackspace servers)
 Java version 1.6.0_20
 OpenJDK Runtime Environment (IcedTea6 1.9.7) (6b20-1.9.7-0ubuntu1)
 OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)
Reporter: Pavel Yaskevich
Assignee: Jonathan Ellis
Priority: Critical
 Fix For: 0.8

 Attachments: 2441.txt, 2441.txt, jamm-0.2.1.jar


 Last working commit is c8d1984bf17cab58f40069e522d074c7b0077bc1 (merge from 
 0.7), branch: trunk.
 What I did is cloned git://git.apache.org/cassandra.git and did git reset 
 each commit with `ant clean  ant  ./bin/cassandra -f` until I got 
 cassandra started

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


[jira] [Commented] (CASSANDRA-2451) Make clean compactions cleanup the row cache

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2451:
---

+1

 Make clean compactions cleanup the row cache
 

 Key: CASSANDRA-2451
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2451
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.7.0
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 0.7.5

 Attachments: 0001-Cleanup-cache-during-cleanup-compaction.patch

   Original Estimate: 1h
  Remaining Estimate: 1h

 We uselessly keep in cache keys that are cleanup, which is not a big deal 
 because they will get expunged eventually but there is no point in wasting 
 the memory in the meantime.

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


[jira] [Commented] (CASSANDRA-2441) Cassandra crashes with segmentation fault on Debian 5.0 and Ubuntu 10.10

2011-04-11 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-2441:


+1

 Cassandra crashes with segmentation fault on Debian 5.0 and Ubuntu 10.10
 

 Key: CASSANDRA-2441
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2441
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8
 Environment: Both servers have identical hardware configuration: 
 Quad-Core AMD Opteron(tm) Processor 2374 HE, 4 GB RAM (rackspace servers)
 Java version 1.6.0_20
 OpenJDK Runtime Environment (IcedTea6 1.9.7) (6b20-1.9.7-0ubuntu1)
 OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)
Reporter: Pavel Yaskevich
Assignee: Jonathan Ellis
Priority: Critical
 Fix For: 0.8

 Attachments: 2441.txt, 2441.txt, jamm-0.2.1.jar


 Last working commit is c8d1984bf17cab58f40069e522d074c7b0077bc1 (merge from 
 0.7), branch: trunk.
 What I did is cloned git://git.apache.org/cassandra.git and did git reset 
 each commit with `ant clean  ant  ./bin/cassandra -f` until I got 
 cassandra started

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


[jira] [Created] (CASSANDRA-2453) node.js cql driver

2011-04-11 Thread Gary Dusbabek (JIRA)
node.js cql driver
--

 Key: CASSANDRA-2453
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2453
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Gary Dusbabek
Assignee: Gary Dusbabek
Priority: Minor
 Fix For: 0.8




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


[jira] [Created] (CASSANDRA-2454) Possible deadlock for counter mutations

2011-04-11 Thread Stu Hood (JIRA)
Possible deadlock for counter mutations
---

 Key: CASSANDRA-2454
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2454
 Project: Cassandra
  Issue Type: Bug
Reporter: Stu Hood
 Fix For: 0.8


{{StorageProxy.applyCounterMutation}} is executed on the mutation stage, but it 
also submits tasks to the mutation stage, and then blocks for them. If there 
are more than a few concurrent mutations, this can lead to deadlock.

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


[jira] [Updated] (CASSANDRA-2454) Possible deadlock for counter mutations

2011-04-11 Thread Stu Hood (JIRA)

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

Stu Hood updated CASSANDRA-2454:


Attachment: 0001-Don-t-re-submit-to-the-mutation-stage.txt

Patch. (credit to Kelvin Kakugawa)

 Possible deadlock for counter mutations
 ---

 Key: CASSANDRA-2454
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2454
 Project: Cassandra
  Issue Type: Bug
Reporter: Stu Hood
 Fix For: 0.8

 Attachments: 0001-Don-t-re-submit-to-the-mutation-stage.txt


 {{StorageProxy.applyCounterMutation}} is executed on the mutation stage, but 
 it also submits tasks to the mutation stage, and then blocks for them. If 
 there are more than a few concurrent mutations, this can lead to deadlock.

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


[jira] [Resolved] (CASSANDRA-494) add remove_slice to the api

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-494.
--

Resolution: Later

 add remove_slice to the api
 ---

 Key: CASSANDRA-494
 URL: https://issues.apache.org/jira/browse/CASSANDRA-494
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Dan Di Spaltro
Priority: Minor

 It would be nice to mimic how get_slice works for removing values.

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


[jira] [Resolved] (CASSANDRA-571) API for requesting sub-slices of a range of supercolumns

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-571.
--

Resolution: Won't Fix

As we've figured out best practices around supercolumns, this isn't really 
necessary.  (Supercolumns are best used for denormalizing data that is accessed 
at the same time.)

 API for requesting sub-slices of a range of supercolumns
 

 Key: CASSANDRA-571
 URL: https://issues.apache.org/jira/browse/CASSANDRA-571
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Jonathan Ellis
Priority: Minor

 Suhail Doshi wrote in a comment to CASSANDRA-570 (a different issue):
 Ability to slice a column and specify an exact super column key, for example:
 column_1 {
sc1: {}
 }
 column_2 {
sc1: {}
sc2: {}
 }
 Be able to slice by column_1 to column_2 but instead of grabbing every 
 column, grab only super column sc1 from each? The reasoning is that it's 
 terrible to have to slice by column and get *every* super column and have it 
 held in memory for the client application.

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


[jira] [Resolved] (CASSANDRA-940) Allow multiple fat clients to connect from the same host

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-940.
--

Resolution: Later

 Allow multiple fat clients to connect from the same host
 --

 Key: CASSANDRA-940
 URL: https://issues.apache.org/jira/browse/CASSANDRA-940
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Johan Oskarsson
Priority: Minor

 Currently no more then one so called fat client can access Cassandra from 
 the same machine due to assumptions being made about the port used for 
 communication. 
 It would be useful in many scenarios such as reading data using Hadoop to 
 allow many clients to connect from the same node, even from the same machine 
 that Cassandra is running on.

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


[jira] [Resolved] (CASSANDRA-941) Replace InetAddress usage with EndPoint

2011-04-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-941.
--

Resolution: Later

 Replace InetAddress usage with EndPoint
 ---

 Key: CASSANDRA-941
 URL: https://issues.apache.org/jira/browse/CASSANDRA-941
 Project: Cassandra
  Issue Type: Sub-task
  Components: Core
Reporter: Johan Oskarsson
 Attachments: CASSANDRA-941.patch, CASSANDRA-941.patch, 
 CASSANDRA-941.patch, CASSANDRA-941.patch


 An end point should be represented by both address and port instead of port. 
 Create an EndPoint class that takes an InetAddress and port and use this 
 where needed.

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


  1   2   >