svn commit: r1091922 - in /cassandra/branches/cassandra-0.6: build.xml debian/changelog

2011-04-13 Thread eevans
Author: eevans
Date: Wed Apr 13 21:13:43 2011
New Revision: 1091922

URL: http://svn.apache.org/viewvc?rev=1091922&view=rev
Log:
versioning update for 6.13 point release

Modified:
cassandra/branches/cassandra-0.6/build.xml
cassandra/branches/cassandra-0.6/debian/changelog

Modified: cassandra/branches/cassandra-0.6/build.xml
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/build.xml?rev=1091922&r1=1091921&r2=1091922&view=diff
==
--- cassandra/branches/cassandra-0.6/build.xml (original)
+++ cassandra/branches/cassandra-0.6/build.xml Wed Apr 13 21:13:43 2011
@@ -42,7 +42,7 @@
 
 
 
-
+
 
 
 http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/debian/changelog?rev=1091922&r1=1091921&r2=1091922&view=diff
==
--- cassandra/branches/cassandra-0.6/debian/changelog (original)
+++ cassandra/branches/cassandra-0.6/debian/changelog Wed Apr 13 21:13:43 2011
@@ -1,3 +1,9 @@
+cassandra (0.6.13) unstable; urgency=low
+
+  * New stable point release.
+
+ -- Eric Evans   Wed, 13 Apr 2011 16:11:19 -0500
+
 cassandra (0.6.12) unstable; urgency=low
 
   * New stable point release.




[jira] [Updated] (CASSANDRA-2088) Clean up after failed (repair) streaming operation

2011-04-13 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-2088:
--

 Reviewer: jbellis
  Description: (was: From separate reports, compaction and repair are 
currently missing opportunities to clean up tmp files after failures.)
 Priority: Minor  (was: Major)
Fix Version/s: (was: 0.8)
   0.7.5
 Assignee: Sylvain Lebresne  (was: Aaron Morton)
  Summary: Clean up after failed (repair) streaming operation  (was: 
Temp files for failed compactions/streaming not cleaned up)

Created CASSANDRA-2468 for compaction cleanup. Will close this one for 
streaming.

> Clean up after failed (repair) streaming operation
> --
>
> Key: CASSANDRA-2088
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2088
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Stu Hood
>Assignee: Sylvain Lebresne
>Priority: Minor
> Fix For: 0.7.5
>
> Attachments: 
> 0001-Better-detect-failures-from-the-other-side-in-Incomi.patch, 
> 0001-detect-streaming-failures-and-cleanup-temp-files.patch, 
> 0002-delete-partial-sstable-if-compaction-error.patch
>
>


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


[jira] [Created] (CASSANDRA-2468) Clean up after failed compaction

2011-04-13 Thread Jonathan Ellis (JIRA)
Clean up after failed compaction


 Key: CASSANDRA-2468
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2468
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Jonathan Ellis
Assignee: Aaron Morton
Priority: Minor
 Fix For: 0.8


(Started in CASSANDRA-2088.)

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


[Cassandra Wiki] Trivial Update of "HowToCommit" by StuHood

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

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

The "HowToCommit" page has been changed by StuHood.
http://wiki.apache.org/cassandra/HowToCommit?action=diff&rev1=2&rev2=3

--

   1. Include the Jira issue id in the commit message, along with a short 
description of the change and the name of the contributor if it is not you.  Be 
sure to get the issue id right, as this causes Jira to link to the change in 
Subversion (use the issue's "All" tab to see these).
   1. Resolve the issue as fixed, thanking the contributor. Always set the "Fix 
Version" at this point, but please only set a single fix version, the earliest 
release in which the change will appear.
  
+ == Committers ==
+ 
+ The current Committers are [[Committers|listed in the wiki]].
+ 


svn commit: r1091911 - in /cassandra/branches/cassandra-0.7/contrib/stress/src/org/apache/cassandra/contrib/stress: Session.java operations/IndexedRangeSlicer.java util/Operation.java

2011-04-13 Thread brandonwilliams
Author: brandonwilliams
Date: Wed Apr 13 20:36:41 2011
New Revision: 1091911

URL: http://svn.apache.org/viewvc?rev=1091911&view=rev
Log:
Use old value generation behavior by default in stress.java to allow
indexed range slices to work.
Patch by Pavel Yaskevich, reviewed by brandonwilliams for CASSANDRA-2326

Modified:

cassandra/branches/cassandra-0.7/contrib/stress/src/org/apache/cassandra/contrib/stress/Session.java

cassandra/branches/cassandra-0.7/contrib/stress/src/org/apache/cassandra/contrib/stress/operations/IndexedRangeSlicer.java

cassandra/branches/cassandra-0.7/contrib/stress/src/org/apache/cassandra/contrib/stress/util/Operation.java

Modified: 
cassandra/branches/cassandra-0.7/contrib/stress/src/org/apache/cassandra/contrib/stress/Session.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/contrib/stress/src/org/apache/cassandra/contrib/stress/Session.java?rev=1091911&r1=1091910&r2=1091911&view=diff
==
--- 
cassandra/branches/cassandra-0.7/contrib/stress/src/org/apache/cassandra/contrib/stress/Session.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/contrib/stress/src/org/apache/cassandra/contrib/stress/Session.java
 Wed Apr 13 20:36:41 2011
@@ -72,6 +72,7 @@ public class Session
 availableOptions.addOption("x",  "create-index", true,   "Type 
of index to create on needed column families (KEYS)");
 availableOptions.addOption("R",  "replication-strategy", true,   
"Replication strategy to use (only on insert if keyspace does not exist), 
default:org.apache.cassandra.locator.SimpleStrategy");
 availableOptions.addOption("O",  "strategy-properties",  true,   
"Replication strategy properties in the following format 
:,:,...");
+availableOptions.addOption("V",  "average-size-values",  false,  
"Generate column values of average rather than specific size");
 }
 
 private int numKeys  = 1000 * 1000;
@@ -101,6 +102,7 @@ public class Session
 private String replicationStrategy = 
"org.apache.cassandra.locator.SimpleStrategy";
 private Map replicationStrategyOptions = new 
HashMap();
 
+public final boolean averageSizeValues;
 
 // required by Gaussian distribution.
 protected int   mean;
@@ -247,6 +249,8 @@ public class Session
 replicationStrategyOptions.put(keyAndValue[0], 
keyAndValue[1]);
 }
 }
+
+averageSizeValues = cmd.hasOption("V");
 }
 catch (ParseException e)
 {

Modified: 
cassandra/branches/cassandra-0.7/contrib/stress/src/org/apache/cassandra/contrib/stress/operations/IndexedRangeSlicer.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/contrib/stress/src/org/apache/cassandra/contrib/stress/operations/IndexedRangeSlicer.java?rev=1091911&r1=1091910&r2=1091911&view=diff
==
--- 
cassandra/branches/cassandra-0.7/contrib/stress/src/org/apache/cassandra/contrib/stress/operations/IndexedRangeSlicer.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/contrib/stress/src/org/apache/cassandra/contrib/stress/operations/IndexedRangeSlicer.java
 Wed Apr 13 20:36:41 2011
@@ -48,8 +48,8 @@ public class IndexedRangeSlicer extends 
 
 int received = 0;
 
-String startOffset = "0";
-ByteBuffer value = values.get(index % values.size());
+String startOffset = String.format(format, 0);
+ByteBuffer value = values.get(1); // only C1 column is indexed
 
 IndexExpression expression = new IndexExpression(columnName, 
IndexOperator.EQ, value);
 

Modified: 
cassandra/branches/cassandra-0.7/contrib/stress/src/org/apache/cassandra/contrib/stress/util/Operation.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/contrib/stress/src/org/apache/cassandra/contrib/stress/util/Operation.java?rev=1091911&r1=1091910&r2=1091911&view=diff
==
--- 
cassandra/branches/cassandra-0.7/contrib/stress/src/org/apache/cassandra/contrib/stress/util/Operation.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/contrib/stress/src/org/apache/cassandra/contrib/stress/util/Operation.java
 Wed Apr 13 20:36:41 2011
@@ -55,11 +55,33 @@ public abstract class Operation
 
 // Utility methods
 
+protected List generateValues()
+{
+if (session.averageSizeValues)
+{
+return generateRandomizedValues();
+}
+
+List values = new ArrayList();
+
+for (int i = 0; i < session.getCardinality(); i++)
+{
+String hash = getMD5(Integer.toString(i));
+int times = session.getColumnSize() / hash.length();
+int sumReminder = session.getColumnSize() % hash.length();
+
+String value = new StringBuilder(multiplyString(hash, 
times)).append

[jira] [Commented] (CASSANDRA-2467) key validator not getting set when adding a keyspace

2011-04-13 Thread Gary Dusbabek (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-2467?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13019504#comment-13019504
 ] 

Gary Dusbabek commented on CASSANDRA-2467:
--

todo: we could use a system test to verify that non-default CF and KS options 
are actually applied.

> key validator not getting set when adding a keyspace
> 
>
> Key: CASSANDRA-2467
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2467
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Gary Dusbabek
>Assignee: Gary Dusbabek
>Priority: Minor
> Fix For: 0.8
>
> Attachments: 
> v1-0001-set-requested-key-validator-when-creating-a-keyspace.txt
>
>
> needs to be applied CassandraServer.convertToCFMetaData()

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


[jira] [Updated] (CASSANDRA-2467) key validator not getting set when adding a keyspace

2011-04-13 Thread Gary Dusbabek (JIRA)

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

Gary Dusbabek updated CASSANDRA-2467:
-

Attachment: v1-0001-set-requested-key-validator-when-creating-a-keyspace.txt

> key validator not getting set when adding a keyspace
> 
>
> Key: CASSANDRA-2467
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2467
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Gary Dusbabek
>Assignee: Gary Dusbabek
>Priority: Minor
> Fix For: 0.8
>
> Attachments: 
> v1-0001-set-requested-key-validator-when-creating-a-keyspace.txt
>
>
> needs to be applied CassandraServer.convertToCFMetaData()

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


[jira] [Created] (CASSANDRA-2467) key validator not getting set when adding a keyspace

2011-04-13 Thread Gary Dusbabek (JIRA)
key validator not getting set when adding a keyspace


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


needs to be applied CassandraServer.convertToCFMetaData()

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


[jira] [Commented] (CASSANDRA-2466) bloom filters should avoid huge array allocations to avoid fragmentation concerns

2011-04-13 Thread Peter Schuller (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-2466?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13019491#comment-13019491
 ] 

Peter Schuller commented on CASSANDRA-2466:
---

Yes, it's not decreasing the total amount. The idea is that with small values, 
at least you're now left with a tweakable situation where a suitable heap size 
and a suitable initial occupancy trigger should be sufficient to avoid 
concurrent mode failures, as long as you're avoiding the fragmentation induced 
promotion failures (pragmatically, even if theoretically unclean, one can also 
help CMS along by inserting some minor application level pauses during 
allocations of many chunks as part of a larger allocation). But the memory 
pressure remains.

Regarding off-heap: I didn't suggest it because I'd personally like to avoid 
JNI/JNA if possible for "safety" reasons, and I would also like to avoid adding 
further dependencies on CMS sweeps for external resources (files, off-heap mem, 
etc) for the usual reasons. But maybe I'm more paranoid about that than most.

It would be really nice to just have an explicitly managed pool of fixed-size 
off-heap buffers of a reasonable size (say, a meg a piece, mmap():ed). I'm 
thinking maybe the bloom filters can be explicitly managed more easily than the 
mmaps/brafs for data reading; for example by accepting that for the few 
requests that race with the removal of an sstable, the bloom filter would just 
pretend all bits are set.

Hmmm...



> bloom filters should avoid huge array allocations to avoid fragmentation 
> concerns
> -
>
> Key: CASSANDRA-2466
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2466
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Peter Schuller
>Priority: Minor
>
> The fact that bloom filters are backed by single large arrays of longs is 
> expected to interact badly with promotion of objects into old gen with CMS, 
> due to fragmentation concerns (as discussed in CASSANDRA-2463).
> It should be less of an issue than CASSANDRA-2463 in the sense that you need 
> to have a lot of rows before the array sizes become truly huge. For 
> comparison, the ~ 143 million row key limit implied by the use of 'int' in 
> BitSet prior to the switch to OpenBitSet translates roughly to 238 MB 
> (assuming the limitation factor there was the addressability of the bits with 
> a 32 bit int, which is my understanding).
> Having a preliminary look at OpenBitSet with an eye towards replacing the 
> single long[] with multiple arrays, it seems that if we're willing to drop 
> some of the functionality that is not used for bloom filter purposes, the 
> bits[i] indexing should be pretty easy to augment with modulo to address an 
> appropriate smaller array. Locality is not an issue since the bloom filter 
> case is the worst possible case for locality anyway, and it doesn't matter 
> whether it's one huge array or a number of ~ 64k arrays.
> Callers may be affected like BloomFilterSerializer which cares about the 
> underlying bit array.
> If the full functionality of OpenBitSet is to be maintained (e.g., xorCount) 
> some additional acrobatics would be necessary and presumably at a noticable 
> performance cost if such operations were to be used in performance critical 
> places.
> An argument against touching OpenBitSet is that it seems to be pretty 
> carefully written and tested and has some non-trivial details and people have 
> seemingly benchmarked it quite carefully. On the other hand, the improvement 
> would then apply to other things as well, such as the bitsets used to keep 
> track of in-core pages (off the cuff for scale, a 64 gig sstable should imply 
> a 2 mb bit set, with one bit per 4k page).

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


svn commit: r1091886 - in /cassandra/trunk: ./ contrib/ interface/thrift/gen-java/org/apache/cassandra/thrift/ src/java/org/apache/cassandra/io/sstable/

2011-04-13 Thread goffinet
Author: goffinet
Date: Wed Apr 13 18:49:40 2011
New Revision: 1091886

URL: http://svn.apache.org/viewvc?rev=1091886&view=rev
Log:
Merge 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/io/sstable/SSTableWriter.java

Propchange: cassandra/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Apr 13 18:49:40 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7:1026516-1091087,1091503,1091542
+/cassandra/branches/cassandra-0.7:1026516-1091087,1091503,1091542,1091654
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
-/cassandra/branches/cassandra-0.8:1090935-1091782
+/cassandra/branches/cassandra-0.8:1090935-1091782,1091884
 /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=1091886&r1=1091885&r2=1091886&view=diff
==
--- cassandra/trunk/CHANGES.txt (original)
+++ cassandra/trunk/CHANGES.txt Wed Apr 13 18:49:40 2011
@@ -52,6 +52,7 @@
  * 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)
+ * use 64KB flush buffer instead of in_memory_compaction_limit (CASSANDRA-2463)
 
 
 0.7.4

Propchange: cassandra/trunk/contrib/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Apr 13 18:49:40 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/contrib:922689-1052356,1052358-1053452,1053454,1053456-1068009
-/cassandra/branches/cassandra-0.7/contrib:1026516-1091087,1091503,1091542
+/cassandra/branches/cassandra-0.7/contrib:1026516-1091087,1091503,1091542,1091654
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
-/cassandra/branches/cassandra-0.8/contrib:1090935-1091782
+/cassandra/branches/cassandra-0.8/contrib:1090935-1091782,1091884
 /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-810987,810994-834239,834349-834350

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Apr 13 18:49:40 2011
@@ -1,7 +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-1091087,1091503,1091542
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1091087,1091503,1091542,1091654
 
/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:1090935-1091782
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090935-1091782,1091884
 
/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
 
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/Cassandra.java:810145-834239,834349-834350

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Apr 13 18:49:40 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/interface

svn commit: r1091884 - in /cassandra/branches/cassandra-0.8: ./ contrib/ interface/thrift/gen-java/org/apache/cassandra/thrift/ src/java/org/apache/cassandra/io/sstable/

2011-04-13 Thread goffinet
Author: goffinet
Date: Wed Apr 13 18:49:01 2011
New Revision: 1091884

URL: http://svn.apache.org/viewvc?rev=1091884&view=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/io/sstable/SSTableWriter.java

Propchange: cassandra/branches/cassandra-0.8/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Apr 13 18:49:01 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7:1026516-1091087,1091503,1091542
+/cassandra/branches/cassandra-0.7:1026516-1091087,1091503,1091542,1091654
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689
 /cassandra/trunk:1090978-1090979

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1091884&r1=1091883&r2=1091884&view=diff
==
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Wed Apr 13 18:49:01 2011
@@ -52,6 +52,7 @@
  * 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)
+ * use 64KB flush buffer instead of in_memory_compaction_limit (CASSANDRA-2463)
 
 
 0.7.4

Propchange: cassandra/branches/cassandra-0.8/contrib/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Apr 13 18:49:01 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-1091087,1091503,1091542
+/cassandra/branches/cassandra-0.7/contrib:1026516-1091087,1091503,1091542,1091654
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
 /cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689
 /cassandra/trunk/contrib:1090978-1090979

Propchange: 
cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Apr 13 18:49:01 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-1091087,1091503,1091542
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1091087,1091503,1091542,1091654
 
/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
 
/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090978-1090979

Propchange: 
cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Apr 13 18:49:01 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-1091087,1091503,1091542
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1091087,1091503,1091542,1091654
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1053690-1055654
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift

[jira] [Updated] (CASSANDRA-2464) Distributed test for read repair

2011-04-13 Thread Stu Hood (JIRA)

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

Stu Hood updated CASSANDRA-2464:


Attachment: (was: 0001-Distributed-test-for-read-repair.txt)

> Distributed test for read repair
> 
>
> Key: CASSANDRA-2464
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2464
> Project: Cassandra
>  Issue Type: Test
>Reporter: Stu Hood
>Assignee: Stu Hood
>  Labels: test
> Fix For: 0.8
>
> Attachments: 0001-Distributed-test-for-read-repair.txt
>
>
> See title.

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


[jira] [Updated] (CASSANDRA-2464) Distributed test for read repair

2011-04-13 Thread Stu Hood (JIRA)

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

Stu Hood updated CASSANDRA-2464:


Attachment: 0001-Distributed-test-for-read-repair.txt

> Distributed test for read repair
> 
>
> Key: CASSANDRA-2464
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2464
> Project: Cassandra
>  Issue Type: Test
>Reporter: Stu Hood
>Assignee: Stu Hood
>  Labels: test
> Fix For: 0.8
>
> Attachments: 0001-Distributed-test-for-read-repair.txt
>
>
> See title.

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


[jira] [Commented] (CASSANDRA-2466) bloom filters should avoid huge array allocations to avoid fragmentation concerns

2011-04-13 Thread Ryan King (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-2466?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13019457#comment-13019457
 ] 

Ryan King commented on CASSANDRA-2466:
--

Moving to smaller arrays would make the allocation easier, but wouldn't reduce 
the raw amount of memory needed for a large bloom filter.

Would it be worth moving these off-heap completely?

> bloom filters should avoid huge array allocations to avoid fragmentation 
> concerns
> -
>
> Key: CASSANDRA-2466
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2466
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Peter Schuller
>Priority: Minor
>
> The fact that bloom filters are backed by single large arrays of longs is 
> expected to interact badly with promotion of objects into old gen with CMS, 
> due to fragmentation concerns (as discussed in CASSANDRA-2463).
> It should be less of an issue than CASSANDRA-2463 in the sense that you need 
> to have a lot of rows before the array sizes become truly huge. For 
> comparison, the ~ 143 million row key limit implied by the use of 'int' in 
> BitSet prior to the switch to OpenBitSet translates roughly to 238 MB 
> (assuming the limitation factor there was the addressability of the bits with 
> a 32 bit int, which is my understanding).
> Having a preliminary look at OpenBitSet with an eye towards replacing the 
> single long[] with multiple arrays, it seems that if we're willing to drop 
> some of the functionality that is not used for bloom filter purposes, the 
> bits[i] indexing should be pretty easy to augment with modulo to address an 
> appropriate smaller array. Locality is not an issue since the bloom filter 
> case is the worst possible case for locality anyway, and it doesn't matter 
> whether it's one huge array or a number of ~ 64k arrays.
> Callers may be affected like BloomFilterSerializer which cares about the 
> underlying bit array.
> If the full functionality of OpenBitSet is to be maintained (e.g., xorCount) 
> some additional acrobatics would be necessary and presumably at a noticable 
> performance cost if such operations were to be used in performance critical 
> places.
> An argument against touching OpenBitSet is that it seems to be pretty 
> carefully written and tested and has some non-trivial details and people have 
> seemingly benchmarked it quite carefully. On the other hand, the improvement 
> would then apply to other things as well, such as the bitsets used to keep 
> track of in-core pages (off the cuff for scale, a 64 gig sstable should imply 
> a 2 mb bit set, with one bit per 4k page).

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


svn commit: r1091857 - /cassandra/branches/cassandra-0.7/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java

2011-04-13 Thread brandonwilliams
Author: brandonwilliams
Date: Wed Apr 13 17:42:15 2011
New Revision: 1091857

URL: http://svn.apache.org/viewvc?rev=1091857&view=rev
Log:
Allow pig to use multiple schemas, fix BytesTypes cast during storage.
Patch by Jeremy Hanna, reviewed by brandonwilliams for CASSANDRA-2465

Modified:

cassandra/branches/cassandra-0.7/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java

Modified: 
cassandra/branches/cassandra-0.7/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java?rev=1091857&r1=1091856&r2=1091857&view=diff
==
--- 
cassandra/branches/cassandra-0.7/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/contrib/pig/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java
 Wed Apr 13 17:42:15 2011
@@ -68,7 +68,7 @@ public class CassandraStorage extends Lo
 public final static String PIG_INITIAL_ADDRESS = "PIG_INITIAL_ADDRESS";
 public final static String PIG_PARTITIONER = "PIG_PARTITIONER";
 
-private static String UDFCONTEXT_SCHEMA_KEY = "cassandra.schema";
+private static String UDFCONTEXT_SCHEMA_KEY_PREFIX = "cassandra.schema";
 
 private final static ByteBuffer BOUND = ByteBufferUtil.EMPTY_BYTE_BUFFER;
 private static final Log logger = 
LogFactory.getLog(CassandraStorage.class);
@@ -169,7 +169,7 @@ public class CassandraStorage extends Lo
 {
 UDFContext context = UDFContext.getUDFContext();
 Properties property = context.getUDFProperties(CassandraStorage.class);
-return cfdefFromString(property.getProperty(UDFCONTEXT_SCHEMA_KEY));
+return cfdefFromString(property.getProperty(getSchemaContextKey()));
 }
 
 private List getDefaultMarshallers(CfDef cfDef) throws 
IOException
@@ -226,7 +226,7 @@ public class CassandraStorage extends Lo
 this.reader = reader;
 }
 
- private void setLocationFromUri(String location) throws IOException
+private void setLocationFromUri(String location) throws IOException
 {
 // parse uri into keyspace and columnfamily
 String names[];
@@ -396,7 +396,7 @@ public class CassandraStorage extends Lo
if (validators.get(column.name) == null)
// Have to special case BytesType to convert 
DataByteArray into ByteBuffer
if (marshallers.get(1) instanceof BytesType)
-   column.value = ByteBuffer.wrap(((DataByteArray) 
pair.get(1)).get());
+   column.value = objToBB(pair.get(1));
else
column.value = 
marshallers.get(1).decompose(pair.get(1));
else
@@ -446,9 +446,10 @@ public class CassandraStorage extends Lo
 {
 UDFContext context = UDFContext.getUDFContext();
 Properties property = context.getUDFProperties(CassandraStorage.class);
-
+
+String schemaContextKey = getSchemaContextKey();
 // Only get the schema if we haven't already gotten it
-if (!property.containsKey(UDFCONTEXT_SCHEMA_KEY))
+if (!property.containsKey(schemaContextKey))
 {
 Cassandra.Client client = null;
 try
@@ -466,7 +467,7 @@ public class CassandraStorage extends Lo
 break;
 }
 }
-property.setProperty(UDFCONTEXT_SCHEMA_KEY, 
cfdefToString(cfDef));
+property.setProperty(schemaContextKey, cfdefToString(cfDef));
 }
 catch (TException e)
 {
@@ -532,4 +533,14 @@ public class CassandraStorage extends Lo
 }
 return cfDef;
 }
+
+private String getSchemaContextKey()
+{
+StringBuilder sb = new StringBuilder(UDFCONTEXT_SCHEMA_KEY_PREFIX);
+sb.append('.');
+sb.append(keyspace);
+sb.append('.');
+sb.append(column_family);
+return sb.toString();
+}
 }




[jira] [Commented] (CASSANDRA-1329) make multiget take a set of keys instead of a list

2011-04-13 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-1329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13019443#comment-13019443
 ] 

Jonathan Ellis commented on CASSANDRA-1329:
---

Some clients will be fine (pycassa only really cares that it gets an iterable) 
but you're right, let's leave this alone.

> make multiget take a set of keys instead of a list
> --
>
> Key: CASSANDRA-1329
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1329
> Project: Cassandra
>  Issue Type: Task
>  Components: Core
>Reporter: Jonathan Ellis
>Priority: Minor
> Attachments: 1329-rebase.txt, 1329-stresspy-multiget.txt, 1329.txt, 
> multiget.test, multigetsmall.test
>
>
> this more correctly sets the expectation that the order of keys in that list 
> doesn't matter, and duplicates don't make sense

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


[jira] [Commented] (CASSANDRA-1329) make multiget take a set of keys instead of a list

2011-04-13 Thread Ryan King (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-1329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13019440#comment-13019440
 ] 

Ryan King commented on CASSANDRA-1329:
--

I don't know if this change is worth the breakage is causes (I assume that all 
clients will have to be updated).

> make multiget take a set of keys instead of a list
> --
>
> Key: CASSANDRA-1329
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1329
> Project: Cassandra
>  Issue Type: Task
>  Components: Core
>Reporter: Jonathan Ellis
>Priority: Minor
> Attachments: 1329-rebase.txt, 1329-stresspy-multiget.txt, 1329.txt, 
> multiget.test, multigetsmall.test
>
>
> this more correctly sets the expectation that the order of keys in that list 
> doesn't matter, and duplicates don't make sense

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


[jira] [Commented] (CASSANDRA-2460) Make scrub validate deserialized columns

2011-04-13 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-2460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13019439#comment-13019439
 ] 

Jonathan Ellis commented on CASSANDRA-2460:
---

I'd kind of like to push the validation into SSTIdentityIterator, so it gets 
done in a single place. Is that reasonable?

> Make scrub validate deserialized columns
> 
>
> Key: CASSANDRA-2460
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2460
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Sylvain Lebresne
>Assignee: Sylvain Lebresne
> Fix For: 0.7.5
>
> Attachments: 0001-Make-scrub-check-column-fields.patch
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> Right now, scrub deserialize the columns but don't validate the fields, and 
> such there is a number of errors it could fix (or at least corrupted rows it 
> could skip) but don't.
> This ticket proposes to handle those errors.

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


[jira] [Issue Comment Edited] (CASSANDRA-2460) Make scrub validate deserialized columns

2011-04-13 Thread Sylvain Lebresne (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-2460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13019268#comment-13019268
 ] 

Sylvain Lebresne edited comment on CASSANDRA-2460 at 4/13/11 5:16 PM:
--

Attaching patch against 0.7 branch to validate as much of the column fields I 
can think of during scrub.

Note that I didn't do it but it may be worth merging the forceDeserialization 
and validateColumns for {Pre|Lazy}CompactedRow.

The 0.8 patch will probably be a little bit different, first because it may be 
cleaner to move the validation in CompactionController and because we will need 
to handle correctly CounterColumns. I'll write the patch separately when I have 
some feedback on this one.

  was (Author: slebresne):
Attaching patch against 0.7 branch to validate as much of the column fields 
I can think of during scrub.

Note that I didn't do it but it may be worst merging the forceDeserialization 
and validateColumns for {Pre|Lazy}CompactedRow.

The 0.8 patch will probably be a little bit different, first because it may be 
cleaner to move the validation in CompactionController and because we will need 
to handle correctly CounterColumns. I'll write the patch separately when I have 
some feedback on this one.
  
> Make scrub validate deserialized columns
> 
>
> Key: CASSANDRA-2460
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2460
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Sylvain Lebresne
>Assignee: Sylvain Lebresne
> Fix For: 0.7.5
>
> Attachments: 0001-Make-scrub-check-column-fields.patch
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> Right now, scrub deserialize the columns but don't validate the fields, and 
> such there is a number of errors it could fix (or at least corrupted rows it 
> could skip) but don't.
> This ticket proposes to handle those errors.

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


[jira] [Commented] (CASSANDRA-2231) Add CompositeType comparer to the comparers provided in org.apache.cassandra.db.marshal

2011-04-13 Thread Ed Anuff (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-2231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13019419#comment-13019419
 ] 

Ed Anuff commented on CASSANDRA-2231:
-

If you can add the -1, 0, 1 e-o-c suggestion, then I'm good with this.  We've 
been using a preview version of your patch that we put up at 
https://github.com/riptano/hector-composite to make sure it works. So far it 
seems to meet every use case, with the exception of the previous questions from 
April 4 which you correctly pointed out couldn't be solved the way we were 
suggesting.  So, I'm all for getting this out as soon as possible.  

> Add CompositeType comparer to the comparers provided in 
> org.apache.cassandra.db.marshal
> ---
>
> Key: CASSANDRA-2231
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2231
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Contrib
>Affects Versions: 0.7.3
>Reporter: Ed Anuff
>Assignee: Sylvain Lebresne
>Priority: Minor
> Fix For: 0.7.5
>
> Attachments: CompositeType-and-DynamicCompositeType.patch, 
> edanuff-CassandraCompositeType-1e253c4.zip
>
>
> CompositeType is a custom comparer that makes it possible to create 
> comparable composite values out of the basic types that Cassandra currently 
> supports, such as Long, UUID, etc.  This is very useful in both the creation 
> of custom inverted indexes using columns in a skinny row, where each column 
> name is a composite value, and also when using Cassandra's built-in secondary 
> index support, where it can be used to encode the values in the columns that 
> Cassandra indexes.  One scenario for the usage of these is documented here: 
> http://www.anuff.com/2010/07/secondary-indexes-in-cassandra.html.  Source for 
> contribution is attached and has been previously maintained on github here: 
> https://github.com/edanuff/CassandraCompositeType

--
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-13 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-2420:
-

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

Updated patch defines getFullColumnFamily() only for AbstractCompactedRow. 
However I think it would be a bad idea to fail in the Builder, so the Builder 
now simply invalidate the cache if he is facing a big row (hence not fitting it 
in memory) and log a warning since if that happens "you're doing it wrong".

I've also changed the switch case in updateCache.

> 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-v2.patch, 
> 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-2420) row cache / streaming aren't aware of each other

2011-04-13 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-v2.patch

> 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-v2.patch, 
> 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] [Commented] (CASSANDRA-2231) Add CompositeType comparer to the comparers provided in org.apache.cassandra.db.marshal

2011-04-13 Thread Sylvain Lebresne (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-2231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13019397#comment-13019397
 ] 

Sylvain Lebresne commented on CASSANDRA-2231:
-

So I don't know where you guys are with your JPA implementation, but I for one 
would be keen on getting this out because I do think this is broadly useful. 
However it is worth making sure this do handle your needs (once this is out, it 
will be harder to make changes). So how far is this from those needs ? I agree 
with the change of using -1, 0, 1 for the e-o-c (as this allows 'strictly 
greater-than' kind of queries; I don't think the attached patch have that 
already but I'll add the change next time I rebase this, just want to know if 
there anything else needed first) and you didn't follow up yet on my last 
comment. Is there something else ?

> Add CompositeType comparer to the comparers provided in 
> org.apache.cassandra.db.marshal
> ---
>
> Key: CASSANDRA-2231
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2231
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Contrib
>Affects Versions: 0.7.3
>Reporter: Ed Anuff
>Assignee: Sylvain Lebresne
>Priority: Minor
> Fix For: 0.7.5
>
> Attachments: CompositeType-and-DynamicCompositeType.patch, 
> edanuff-CassandraCompositeType-1e253c4.zip
>
>
> CompositeType is a custom comparer that makes it possible to create 
> comparable composite values out of the basic types that Cassandra currently 
> supports, such as Long, UUID, etc.  This is very useful in both the creation 
> of custom inverted indexes using columns in a skinny row, where each column 
> name is a composite value, and also when using Cassandra's built-in secondary 
> index support, where it can be used to encode the values in the columns that 
> Cassandra indexes.  One scenario for the usage of these is documented here: 
> http://www.anuff.com/2010/07/secondary-indexes-in-cassandra.html.  Source for 
> contribution is attached and has been previously maintained on github here: 
> https://github.com/edanuff/CassandraCompositeType

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


svn commit: r1091812 - in /cassandra/branches/cassandra-0.8/drivers/py: cql/errors.py cqlsh

2011-04-13 Thread jbellis
Author: jbellis
Date: Wed Apr 13 15:02:00 2011
New Revision: 1091812

URL: http://svn.apache.org/viewvc?rev=1091812&view=rev
Log:
update cqlsh for python dbapi driver

Modified:
cassandra/branches/cassandra-0.8/drivers/py/cql/errors.py
cassandra/branches/cassandra-0.8/drivers/py/cqlsh

Modified: cassandra/branches/cassandra-0.8/drivers/py/cql/errors.py
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/drivers/py/cql/errors.py?rev=1091812&r1=1091811&r2=1091812&view=diff
==
--- cassandra/branches/cassandra-0.8/drivers/py/cql/errors.py (original)
+++ cassandra/branches/cassandra-0.8/drivers/py/cql/errors.py Wed Apr 13 
15:02:00 2011
@@ -15,8 +15,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-__all__ = ['InvalidCompressionScheme', 'CQLException', 'InvalidQueryFormat']
+__all__ = ['InvalidCompressionScheme', 'InvalidQueryFormat']
 
 class InvalidCompressionScheme(Exception): pass
 class InvalidQueryFormat(Exception): pass
-class CQLException(Exception): pass

Modified: cassandra/branches/cassandra-0.8/drivers/py/cqlsh
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/drivers/py/cqlsh?rev=1091812&r1=1091811&r2=1091812&view=diff
==
--- cassandra/branches/cassandra-0.8/drivers/py/cqlsh (original)
+++ cassandra/branches/cassandra-0.8/drivers/py/cqlsh Wed Apr 13 15:02:00 2011
@@ -26,14 +26,11 @@ import os
 import re
 
 try:
-from cql import Connection
-from cql.errors import CQLException
-from cql.results import RowsProxy
+import cql
 except ImportError:
 sys.path.append(os.path.abspath(os.path.dirname(__file__)))
-from cql import Connection
-from cql.errors import CQLException
-from cql.results import RowsProxy
+import cql
+from cql.results import ResultSet
 
 HISTORY = os.path.join(os.path.expanduser('~'), '.cqlsh')
 CQLTYPES = ("bytes", "ascii", "utf8", "timeuuid", "uuid", "long", "int")
@@ -55,10 +52,7 @@ class Shell(cmd.Cmd):
 def __init__(self, hostname, port, color=False, username=None,
 password=None):
 cmd.Cmd.__init__(self)
-self.conn = Connection(hostname,
-   port=port,
-   username=username,
-   password=password)
+self.conn = cql.connect(hostname, port, user=username, 
password=password)

 if os.path.exists(HISTORY):
 readline.read_history_file(HISTORY)
@@ -92,10 +86,11 @@ class Shell(cmd.Cmd):
 statement = self.get_statement(arg)
 if not statement: return
 
-result = self.conn.execute(statement)
+cursor = self.conn.cursor()
+cursor.execute(statement)
 
-if isinstance(result, RowsProxy):
-for row in result:
+if isinstance(cursor.result, ResultSet):
+for row in cursor.result.rows:
 self.printout(row.key, BLUE, False)
 for column in row.columns:
 self.printout(" | ", newline=False)
@@ -105,7 +100,7 @@ class Shell(cmd.Cmd):
 self.printout(repr(column.value), YELLOW, False)
 self.printout("")
 else:
-if result: print result
+if cursor.result: print cursor.result[0]
 
 def emptyline(self):
 pass
@@ -221,7 +216,7 @@ if __name__ == '__main__':
 except SystemExit:
 readline.write_history_file(HISTORY)
 break
-except CQLException, cqlerr:
+except cql.Error, cqlerr:
 shell.printerr(str(cqlerr), color=RED)
 except KeyboardInterrupt:
 shell.reset_statement()




[jira] [Updated] (CASSANDRA-2457) Batch_mutate is broken for counters

2011-04-13 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-2457:


Attachment: 0001-Fix-batch_mutate-for-counters.patch

Attaching patch against 0.8.

Basically this makes SP.mutate() handle a list of mixed RowMutation and 
CounterMutation (but then each mutation use the right path). This is needed 
since a batch_mutate() can now mix those.

This has an unfortunate consequence however in that I don't think there is a 
way to distinguish the writeStats of standard insert of the ones of counter 
insert anymore, and thus this patch remove the latter ones (and count 
everything in writeStat).

> Batch_mutate is broken for counters
> ---
>
> Key: CASSANDRA-2457
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2457
> Project: Cassandra
>  Issue Type: Bug
>Affects Versions: 0.8
>Reporter: Sylvain Lebresne
>Assignee: Sylvain Lebresne
> Fix For: 0.8
>
> Attachments: 0001-Fix-batch_mutate-for-counters.patch
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> CASSANDRA-2384 allowed for batch_mutate to take counter and non counter 
> operation, but the code was not updated correctly to handle that case. As it 
> is, the code will use the first mutation in the batch list to decide whether 
> to apply the write code path of counter or not, and will thus break if those 
> are mixed.

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


svn commit: r1091785 - in /cassandra/branches/cassandra-0.8/lib/licenses: guava-r05.txt guava-r08.txt

2011-04-13 Thread jbellis
Author: jbellis
Date: Wed Apr 13 14:00:46 2011
New Revision: 1091785

URL: http://svn.apache.org/viewvc?rev=1091785&view=rev
Log:
update license file for guava

Added:
cassandra/branches/cassandra-0.8/lib/licenses/guava-r08.txt
  - copied unchanged from r1091768, 
cassandra/branches/cassandra-0.8/lib/licenses/guava-r05.txt
Removed:
cassandra/branches/cassandra-0.8/lib/licenses/guava-r05.txt



svn commit: r1091784 - in /cassandra/trunk: ./ conf/ contrib/ interface/thrift/gen-java/org/apache/cassandra/thrift/ lib/ lib/licenses/ src/java/org/apache/cassandra/cli/ src/java/org/apache/cassandra

2011-04-13 Thread jbellis
Author: jbellis
Date: Wed Apr 13 13:59:39 2011
New Revision: 1091784

URL: http://svn.apache.org/viewvc?rev=1091784&view=rev
Log:
merge from 0.8

Added:
cassandra/trunk/lib/jamm-0.2.1.jar
  - copied unchanged from r1091507, 
cassandra/branches/cassandra-0.8/lib/jamm-0.2.1.jar
cassandra/trunk/lib/licenses/jamm-0.2.1.txt
  - copied unchanged from r1091507, 
cassandra/branches/cassandra-0.8/lib/licenses/jamm-0.2.1.txt
Removed:
cassandra/trunk/lib/jamm-0.2.jar
Modified:
cassandra/trunk/   (props changed)
cassandra/trunk/CHANGES.txt
cassandra/trunk/NEWS.txt
cassandra/trunk/build.xml
cassandra/trunk/conf/cassandra-env.sh
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/db/ColumnFamilyStore.java
cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java
cassandra/trunk/src/java/org/apache/cassandra/db/RowIteratorFactory.java

cassandra/trunk/src/java/org/apache/cassandra/db/columniterator/IColumnIterator.java

cassandra/trunk/src/java/org/apache/cassandra/db/columniterator/SSTableSliceIterator.java

cassandra/trunk/src/java/org/apache/cassandra/db/columniterator/SimpleSliceReader.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
cassandra/trunk/test/distributed/org/apache/cassandra/CountersTest.java
cassandra/trunk/test/distributed/org/apache/cassandra/MovementTest.java
cassandra/trunk/test/distributed/org/apache/cassandra/MutationTest.java
cassandra/trunk/test/distributed/org/apache/cassandra/TestBase.java
cassandra/trunk/tools/stress/src/org/apache/cassandra/stress/Session.java

Propchange: cassandra/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Apr 13 13:59:39 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
 /cassandra/branches/cassandra-0.7:1026516-1091087,1091503,1091542
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
-/cassandra/branches/cassandra-0.8:1090935-109,1091113,1091148,1091508,1091544
+/cassandra/branches/cassandra-0.8:1090935-1091782
 /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=1091784&r1=1091783&r2=1091784&view=diff
==
--- cassandra/trunk/CHANGES.txt (original)
+++ cassandra/trunk/CHANGES.txt Wed Apr 13 13:59:39 2011
@@ -18,9 +18,11 @@
  * 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)
+ * remove "nodetool loadbalance" (CASSANDRA-2448)
  * multithreaded compaction (CASSANDRA-2191)
  * compaction throttling (CASSANDRA-2156)
  * add key type information and alias (CASSANDRA-2311, 2396)
+ * cli no longer divides read_repair_chance by 100 (CASSANDRA-2458)
 
 
 0.7.5

Modified: cassandra/trunk/NEWS.txt
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/NEWS.txt?rev=1091784&r1=1091783&r2=1091784&view=diff
==
--- cassandra/trunk/NEWS.txt (original)
+++ cassandra/trunk/NEWS.txt Wed Apr 13 13:59:39 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/trunk/build.xml
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/build.xml?rev=1091784&r1=1091783&r2=

[jira] [Commented] (CASSANDRA-1329) make multiget take a set of keys instead of a list

2011-04-13 Thread Jake Farrell (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-1329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13019327#comment-13019327
 ] 

Jake Farrell commented on CASSANDRA-1329:
-

Just following up on this, committed Thrift-342 which allows PHP to handle 
using sets of keys rather than a list. If another language does not handle sets 
correctly within thrift open another ticket for that clients library and i'll 
have a look at it.

> make multiget take a set of keys instead of a list
> --
>
> Key: CASSANDRA-1329
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1329
> Project: Cassandra
>  Issue Type: Task
>  Components: Core
>Reporter: Jonathan Ellis
>Priority: Minor
> Attachments: 1329-rebase.txt, 1329-stresspy-multiget.txt, 1329.txt, 
> multiget.test, multigetsmall.test
>
>
> this more correctly sets the expectation that the order of keys in that list 
> doesn't matter, and duplicates don't make sense

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


[jira] [Commented] (CASSANDRA-2405) should expose 'time since last successful repair' for easier aes monitoring

2011-04-13 Thread Pavel Yaskevich (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-2405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13019321#comment-13019321
 ] 

Pavel Yaskevich commented on CASSANDRA-2405:


It's still around, StorageService, StorageProxy, AntiEntropyService and others 
live there...

> should expose 'time since last successful repair' for easier aes monitoring
> ---
>
> Key: CASSANDRA-2405
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2405
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Peter Schuller
>Assignee: Pavel Yaskevich
>Priority: Minor
> Fix For: 0.7.5
>
>
> The practical implementation issues of actually ensuring repair runs is 
> somewhat of an undocumented/untreated issue.
> One hopefully low hanging fruit would be to at least expose the time since 
> last successful repair for a particular column family, to make it easier to 
> write a correct script to monitor for lack of repair in a non-buggy fashion.

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


[jira] [Commented] (CASSANDRA-2405) should expose 'time since last successful repair' for easier aes monitoring

2011-04-13 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-2405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13019318#comment-13019318
 ] 

Jonathan Ellis commented on CASSANDRA-2405:
---

I thought we got rid of .service for 0.7

> should expose 'time since last successful repair' for easier aes monitoring
> ---
>
> Key: CASSANDRA-2405
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2405
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Peter Schuller
>Assignee: Pavel Yaskevich
>Priority: Minor
> Fix For: 0.7.5
>
>
> The practical implementation issues of actually ensuring repair runs is 
> somewhat of an undocumented/untreated issue.
> One hopefully low hanging fruit would be to at least expose the time since 
> last successful repair for a particular column family, to make it easier to 
> write a correct script to monitor for lack of repair in a non-buggy fashion.

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


[jira] [Commented] (CASSANDRA-2405) should expose 'time since last successful repair' for easier aes monitoring

2011-04-13 Thread Pavel Yaskevich (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-2405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13019313#comment-13019313
 ] 

Pavel Yaskevich commented on CASSANDRA-2405:


I will put in under o.a.c.service instead...

> should expose 'time since last successful repair' for easier aes monitoring
> ---
>
> Key: CASSANDRA-2405
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2405
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Peter Schuller
>Assignee: Pavel Yaskevich
>Priority: Minor
> Fix For: 0.7.5
>
>
> The practical implementation issues of actually ensuring repair runs is 
> somewhat of an undocumented/untreated issue.
> One hopefully low hanging fruit would be to at least expose the time since 
> last successful repair for a particular column family, to make it easier to 
> write a correct script to monitor for lack of repair in a non-buggy fashion.

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


[jira] [Updated] (CASSANDRA-2406) Secondary index and index expression problems

2011-04-13 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich updated CASSANDRA-2406:
---

Attachment: CASSANDRA-2406.patch

> Secondary index and index expression problems
> -
>
> Key: CASSANDRA-2406
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2406
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 0.7.4
> Environment: CentOS 5.5 (64bit), JDK 1.6.0_23
>Reporter: Muga Nishizawa
>Assignee: Pavel Yaskevich
> Fix For: 0.7.5
>
> Attachments: CASSANDRA-2406-debug.patch, CASSANDRA-2406.patch, 
> create_table.cli, node-1.system.log, secondary_index_checkv2.py, 
> secondary_index_insertv2.py
>
>
> When I iteratively get data with secondary index and index clause, result of 
> data acquired by consistency level "one" is different from the one by 
> consistency level "quorum".  The one by consistecy level "one" is correct 
> result.  But the one by consistecy level "quorum" is incorrect and is dropped 
> by Cassandra.  
> You can reproduce the bug by executing attached programs.
> - 1. Start Cassandra cluster.  It consists of 3 cassandra nodes and 
> distributes data by ByteOrderedPartitioner.  Initial tokens of those nodes 
> are ["31", "32", "33"].  
> - 2. Create keyspace and column family, according to "create_table.cli",
> - 3. Execute "secondary_index_insertv2.py", inserting a few hundred columns 
> to cluster
> - 4. Execute "secondary_index_checkv2.py" and get data with secondary index 
> and index clause iteratively.  "secondary_index_insertv2.py" and 
> "secondary_index_checkv2.py" require pycassa.
> You will be able to execute  4th "secondary_index_checkv2.py" script with 
> following option so that 
> you get data with consistency level "one".  
> % python "secondary_index_checkv2.py" -one
> On the other hand, to acquire data with consistency level "quorum", you will 
> need to use following option.  
> % python "secondary_index_checkv2.py" -quorum
> You can check that result of data acquired by consistency level "one" is 
> different from one by consistency level "quorum".  

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


[jira] [Updated] (CASSANDRA-2461) LongCompactionSpeedTest fails

2011-04-13 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-2461:


Attachment: 0001-Fix-LongCompactionSpeedTest.patch

That was not updated correctly with CASSANDRA-1938, sorry. Patch attached.

> LongCompactionSpeedTest fails
> -
>
> Key: CASSANDRA-2461
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2461
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 0.8
>Reporter: Jonathan Ellis
>Assignee: Sylvain Lebresne
> Fix For: 0.8
>
> Attachments: 0001-Fix-LongCompactionSpeedTest.patch
>
>
> ant long-test -Dtest.name=LongCompactionSpeedTest fails.
> There are several errors. Here is the first:
> {noformat}
> [junit] java.lang.IllegalArgumentException
> [junit]   at java.nio.ByteBuffer.allocate(ByteBuffer.java:311)
> [junit]   at 
> org.apache.cassandra.db.context.CounterContext.clearAllDelta(CounterContext.java:444)
> [junit]   at 
> org.apache.cassandra.db.ColumnSerializer.deserialize(ColumnSerializer.java:100)
> [junit]   at 
> org.apache.cassandra.db.ColumnSerializer.deserialize(ColumnSerializer.java:36)
> [junit]   at 
> org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:158)
> [junit]   at 
> org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:41)
> [junit]   at 
> org.apache.commons.collections.iterators.CollatingIterator.set(CollatingIterator.java:284)
> [junit]   at 
> org.apache.commons.collections.iterators.CollatingIterator.least(CollatingIterator.java:326)
> [junit]   at 
> org.apache.commons.collections.iterators.CollatingIterator.next(CollatingIterator.java:230)
> [junit]   at 
> org.apache.cassandra.utils.ReducingIterator.computeNext(ReducingIterator.java:69)
> [junit]   at 
> com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140)
> [junit]   at 
> com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135)
> [junit]   at 
> com.google.common.collect.Iterators$7.computeNext(Iterators.java:614)
> [junit]   at 
> com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140)
> [junit]   at 
> com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135)
> [junit]   at 
> org.apache.cassandra.db.ColumnIndexer.serializeInternal(ColumnIndexer.java:76)
> [junit]   at 
> org.apache.cassandra.db.ColumnIndexer.serialize(ColumnIndexer.java:50)
> [junit]   at 
> org.apache.cassandra.io.LazilyCompactedRow.(LazilyCompactedRow.java:87)
> [junit]   at 
> org.apache.cassandra.io.sstable.SSTableWriter$CommutativeRowIndexer.doIndexing(SSTableWriter.java:462)
> [junit]   at 
> org.apache.cassandra.io.sstable.SSTableWriter$RowIndexer.index(SSTableWriter.java:364)
> [junit]   at 
> org.apache.cassandra.io.sstable.SSTableWriter$Builder.build(SSTableWriter.java:317)
> [junit]   at 
> org.apache.cassandra.db.CompactionManager$9.call(CompactionManager.java:1089)
> [junit]   at 
> org.apache.cassandra.db.CompactionManager$9.call(CompactionManager.java:1080)
> {noformat}

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


[jira] [Updated] (CASSANDRA-2460) Make scrub validate deserialized columns

2011-04-13 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-2460:


Attachment: 0001-Make-scrub-check-column-fields.patch

Attaching patch against 0.7 branch to validate as much of the column fields I 
can think of during scrub.

Note that I didn't do it but it may be worst merging the forceDeserialization 
and validateColumns for {Pre|Lazy}CompactedRow.

The 0.8 patch will probably be a little bit different, first because it may be 
cleaner to move the validation in CompactionController and because we will need 
to handle correctly CounterColumns. I'll write the patch separately when I have 
some feedback on this one.

> Make scrub validate deserialized columns
> 
>
> Key: CASSANDRA-2460
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2460
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Sylvain Lebresne
>Assignee: Sylvain Lebresne
> Fix For: 0.7.5
>
> Attachments: 0001-Make-scrub-check-column-fields.patch
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> Right now, scrub deserialize the columns but don't validate the fields, and 
> such there is a number of errors it could fix (or at least corrupted rows it 
> could skip) but don't.
> This ticket proposes to handle those errors.

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


[jira] [Commented] (CASSANDRA-2402) Python dbapi driver for CQL

2011-04-13 Thread Tyler Hobbs (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-2402?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13019265#comment-13019265
 ] 

Tyler Hobbs commented on CASSANDRA-2402:


v3 patch replaces the existing py driver with the dbapi compliant version.  
2402-test_cql.txt updates the tests to work with the new driver.

> Python dbapi driver for CQL
> ---
>
> Key: CASSANDRA-2402
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2402
> Project: Cassandra
>  Issue Type: Task
>Reporter: Jon Hermes
>Assignee: Jon Hermes
> Fix For: 0.8
>
> Attachments: 2402-test_cql.txt, 2402-v3.txt, 2402.txt
>
>
> Create a driver that emulates python's dbapi.

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


[jira] [Updated] (CASSANDRA-2402) Python dbapi driver for CQL

2011-04-13 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs updated CASSANDRA-2402:
---

Attachment: 2402-test_cql.txt

> Python dbapi driver for CQL
> ---
>
> Key: CASSANDRA-2402
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2402
> Project: Cassandra
>  Issue Type: Task
>Reporter: Jon Hermes
>Assignee: Jon Hermes
> Fix For: 0.8
>
> Attachments: 2402-test_cql.txt, 2402-v3.txt, 2402.txt
>
>
> Create a driver that emulates python's dbapi.

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


[jira] [Updated] (CASSANDRA-2402) Python dbapi driver for CQL

2011-04-13 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs updated CASSANDRA-2402:
---

Attachment: 2402-v3.txt

> Python dbapi driver for CQL
> ---
>
> Key: CASSANDRA-2402
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2402
> Project: Cassandra
>  Issue Type: Task
>Reporter: Jon Hermes
>Assignee: Jon Hermes
> Fix For: 0.8
>
> Attachments: 2402-v3.txt, 2402.txt
>
>
> Create a driver that emulates python's dbapi.

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


[jira] [Commented] (CASSANDRA-2394) Faulty hd kills cluster performance

2011-04-13 Thread Thibaut (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-2394?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13019251#comment-13019251
 ] 

Thibaut commented on CASSANDRA-2394:




In our case, the degredation never stopped. It didn't matter if we connected to 
the node itself, or another node in the cluster. As soon as we killed the 
offending node, cluster performance returned to normal again. We also use 
custom Hector loadbalancing policy (always prefering to connect to the local 
node), before trying another node.

Not sure about what you mean with coordinator nodes? That cluster had 20 nodes, 
replication level 3.

I will look into it more closely when we have a similar problem in the future.



> Faulty hd kills cluster performance
> ---
>
> Key: CASSANDRA-2394
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2394
> Project: Cassandra
>  Issue Type: Bug
>Affects Versions: 0.7.4
>Reporter: Thibaut
>Priority: Minor
> Fix For: 0.7.5
>
>
> Hi,
> About every week, a node from our main cluster (>100 nodes) has a faulty hd  
> (Listing the cassandra data storage directoy triggers an input/output error).
> Whenever this occurs, I see many timeoutexceptions in our application on 
> various nodes which cause everything to run very very slowly. Keyrange scans 
> just timeout and will sometimes never succeed. If I stop cassandra on the 
> faulty node, everything runs normal again.
> It would be great to have some kind of monitoring thread in cassandra which 
> marks a node as "down" if there are multiple read/write errors to the data 
> directories. A single faulty hd on 1 node shouldn't affect global cluster 
> performance.

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


[jira] [Commented] (CASSANDRA-2460) Make scrub validate deserialized columns

2011-04-13 Thread Sylvain Lebresne (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-2460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13019247#comment-13019247
 ] 

Sylvain Lebresne commented on CASSANDRA-2460:
-

Scrub actually deserialize columns just fine, the problem here is that it 
doesn't validate the fields. Hence it doesn't catch corruption like in 
CASSANDRA-2373 where a tombstone field is corrupted. This ticket will also run 
the deserialized names and value through the validators.

> Make scrub validate deserialized columns
> 
>
> Key: CASSANDRA-2460
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2460
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Sylvain Lebresne
>Assignee: Sylvain Lebresne
> Fix For: 0.7.5
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> Right now, scrub deserialize the columns but don't validate the fields, and 
> such there is a number of errors it could fix (or at least corrupted rows it 
> could skip) but don't.
> This ticket proposes to handle those errors.

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


[jira] [Updated] (CASSANDRA-2460) Make scrub validate deserialized columns

2011-04-13 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-2460:


Description: 
Right now, scrub deserialize the columns but don't validate the fields, and 
such there is a number of errors it could fix (or at least corrupted rows it 
could skip) but don't.
This ticket proposes to handle those errors.

  was:
Right now, scrub don't deserialize the columns, and such there is a number of 
errors it could fix (or at least corrupted rows it could skip) but don't.
This ticket proposes to handle those errors.

Summary: Make scrub validate deserialized columns  (was: Make scrub 
deserialize rows)

> Make scrub validate deserialized columns
> 
>
> Key: CASSANDRA-2460
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2460
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Sylvain Lebresne
>Assignee: Sylvain Lebresne
> Fix For: 0.7.5
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> Right now, scrub deserialize the columns but don't validate the fields, and 
> such there is a number of errors it could fix (or at least corrupted rows it 
> could skip) but don't.
> This ticket proposes to handle those errors.

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