[jira] [Commented] (CASSANDRA-3003) Trunk single-pass streaming doesn't handle large row correctly

2011-08-11 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-3003:
-

bq. I'm probably missing something, but isn't the problem that this can't be 
done without two passes for rows that are too large to fit in memory?

Hum true. What we need to do is deserialize each row with the 'fromRemote' flag 
on so that the delta are cleaned up, and them reserialize the result. But that 
will potentially reduce the column serialized size (and thus modify the row 
total size and the column index). Now we could imagine to remember the offset 
of the beginning of the row, to load the column index in memory and update it 
during the first pass (it would likely be ok to simply update the index offsets 
without changing the index structure itself), and to seek back at the end to 
write the updated data size and column index. However, this unfortunately won't 
be doable with the current SequentialWriter (and CompressedSequentialWriter) 
since we cannot seek back (without truncating). Retrospectively, it would have 
been nicer to have the cleaning of a counter context not change its size :(

So yeah, it sucks. I'm still mildly fan of moving the cleanup because it feels 
wrong somehow. It feels it would be better to have that delta cleaning done 
sooner than latter. But this may end up being the simplest/more efficient 
solution.

 Trunk single-pass streaming doesn't handle large row correctly
 --

 Key: CASSANDRA-3003
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3003
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Sylvain Lebresne
Assignee: Yuki Morishita
Priority: Critical
  Labels: streaming

 For normal column family, trunk streaming always buffer the whole row into 
 memory. In uses
 {noformat}
   ColumnFamily.serializer().deserializeColumns(in, cf, true, true);
 {noformat}
 on the input bytes.
 We must avoid this for rows that don't fit in the inMemoryLimit.
 Note that for regular column families, for a given row, there is actually no 
 need to even recreate the bloom filter of column index, nor to deserialize 
 the columns. It is enough to filter the key and row size to feed the index 
 writer, but then simply dump the rest on disk directly. This would make 
 streaming more efficient, avoid a lot of object creation and avoid the 
 pitfall of big rows.
 Counters column family are unfortunately trickier, because each column needs 
 to be deserialized (to mark them as 'fromRemote'). However, we don't need to 
 do the double pass of LazilyCompactedRow for that. We can simply use a 
 SSTableIdentityIterator and deserialize/reserialize input as it comes.

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




[jira] [Commented] (CASSANDRA-3014) AnitEntropy/MerkleTree Error

2011-08-11 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-3014:
-

Yeah, this has a real chance to have been fixed since 0.8.0. This seems to be a 
problem of the merkle tree being deeper that the max depth limit. So it is 
likely a problem during the creation of the tree that create a deeper tree than 
allowed (possibly by just 1). However, since 0.8.0, we have both fixed a 
related bug in the creation function (CASSANDRA-2758) and changed the creation 
function used for RandomPartitioner (CASSANDRA-2841).

 AnitEntropy/MerkleTree Error
 

 Key: CASSANDRA-3014
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3014
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8.0
Reporter: Hefeng Yuan
Priority: Minor

 Hi,
 We are seeing some AntiEntropy error in our production servers, since it's 
 hard to repro in other env, pasting the stack track here for some clue. 
 We're using a cluster of 2 data centers, 9 nodes, 6 for online traffic, 3 for 
 Brisk BI. Our RF is Cassandra:5, Brisk:1.
 Our Cassandra server version is 0.8.0. Data is written using Hector 0.7.0-20 
 and cassandra 0.7.2 library.
 Partitioner is random.
 Our nodetool repair is scheduled once per week.
 The exception stack is appended in the end.
 Any help is appreciated.
 Thanks,
 Hefeng
 ERROR [AntiEntropyStage:2] 2011-08-08 04:24:39,556 
 AbstractCassandraDaemon.java (line 113) Fatal exception in thread 
 Thread[AntiEntropyStage:2,5,main]
 java.lang.AssertionError
   at org.apache.cassandra.utils.MerkleTree.inc(MerkleTree.java:154)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:262)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:273)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:284)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:284)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:273)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:284)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:284)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:284)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:273)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:284)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:273)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:284)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:273)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:284)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:273)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:273)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:284)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:284)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:284)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:273)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:284)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:284)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:284)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:284)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:273)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:284)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:273)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:284)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:284)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:273)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:273)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:273)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:273)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:284)
   at 
 org.apache.cassandra.utils.MerkleTree.differenceHelper(MerkleTree.java:273)
   at 
 

[jira] [Commented] (CASSANDRA-2982) Refactor secondary index api

2011-08-11 Thread Hudson (JIRA)

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

Hudson commented on CASSANDRA-2982:
---

Integrated in Cassandra #1016 (See 
[https://builds.apache.org/job/Cassandra/1016/])
Refactoring of the secondary index api
patch by Jake Luciani; reviewed by Pavel Yaskevich for CASSANDRA-2982

xedin : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVNview=revrev=1156567
Files : 
* /cassandra/trunk/src/java/org/apache/cassandra/db/MeteredFlusher.java
* 
/cassandra/trunk/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
* /cassandra/trunk/src/java/org/apache/cassandra/db/Table.java
* /cassandra/trunk/src/java/org/apache/cassandra/cql/QueryProcessor.java
* /cassandra/trunk/test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java
* /cassandra/trunk/src/java/org/apache/cassandra/db/index/keys/KeysIndex.java
* /cassandra/trunk/test/unit/org/apache/cassandra/db/CleanupTest.java
* 
/cassandra/trunk/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
* /cassandra/trunk/src/java/org/apache/cassandra/db/index
* /cassandra/trunk/src/java/org/apache/cassandra/db/index/keys/KeysSearcher.java
* /cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
* 
/cassandra/trunk/src/java/org/apache/cassandra/service/IndexScanVerbHandler.java
* /cassandra/trunk/src/java/org/apache/cassandra/db/index/SecondaryIndex.java
* /cassandra/trunk/src/java/org/apache/cassandra/thrift/ThriftValidation.java
* /cassandra/trunk/CHANGES.txt
* 
/cassandra/trunk/src/java/org/apache/cassandra/db/index/SecondaryIndexBuilder.java
* /cassandra/trunk/src/java/org/apache/cassandra/db/index/keys
* /cassandra/trunk/src/java/org/apache/cassandra/streaming/StreamInSession.java
* 
/cassandra/trunk/src/java/org/apache/cassandra/db/index/SecondaryIndexSearcher.java
* 
/cassandra/trunk/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java
* /cassandra/trunk/test/unit/org/apache/cassandra/db/DefsTest.java


 Refactor secondary index api
 

 Key: CASSANDRA-2982
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2982
 Project: Cassandra
  Issue Type: Sub-task
  Components: Core
Reporter: T Jake Luciani
Assignee: T Jake Luciani
 Fix For: 1.0

 Attachments: 2982-v1.txt, 2982-v2.txt, CASSANDRA-2982-v3.patch


 Secondary indexes currently make some bad assumptions about the underlying 
 indexes.
 1. That they are always stored in other column families.
 2. That there is a unique index per column
 In the case of CASSANDRA-2915 neither of these are true.  The new api should 
 abstract the search concepts and allow any search api to plug in.
 Once the code is refactored and basically pluggable we can remove the 
 IndexType enum and use class names similar to how we handle partitioners and 
 comparators.
 Basic api is to add a SecondaryIndexManager that handles different index 
 types per CF and a SecondaryIndex base class that handles a particular type 
 implementation.
 This requires major changes to ColumnFamilyStore and Table.IndexBuilder

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




[jira] [Commented] (CASSANDRA-2975) Upgrade MurmurHash to version 3

2011-08-11 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-2975:


First of all - can you please rebase both with latest trunk and attach them to 
JIRA?

What I see from first look (about patch for backward compatibility):
  
  - I think we should extract interface from BloomFilter class and make BF a 
factory as now we have Murmur{2,3}BloomFilter classes 
  - Needs a test for compatibility with old SSTables (which are using Murmur2BF)
  - minor note: comment about new SSTable version is missing at the top of the 
Descriptor class

As soon as you attach files in here I will apply and play with them and maybe 
find other problems.




 Upgrade MurmurHash to version 3
 ---

 Key: CASSANDRA-2975
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2975
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Brian Lindauer
Assignee: Brian Lindauer
Priority: Trivial
  Labels: lhf
 Fix For: 1.0


 MurmurHash version 3 was finalized on June 3. It provides an enormous speedup 
 and increased robustness over version 2, which is implemented in Cassandra. 
 Information here:
 http://code.google.com/p/smhasher/
 The reference implementation is here:
 http://code.google.com/p/smhasher/source/browse/trunk/MurmurHash3.cpp?spec=svn136r=136
 I have already done the work to port the (public domain) reference 
 implementation to Java in the MurmurHash class and updated the BloomFilter 
 class to use the new implementation:
 https://github.com/lindauer/cassandra/commit/cea6068a4a3e5d7d9509335394f9ef3350d37e93
 Apart from the faster hash time, the new version only requires one call to 
 hash() rather than 2, since it returns 128 bits of hash instead of 64.

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




[jira] [Assigned] (CASSANDRA-2915) Lucene based Secondary Indexes

2011-08-11 Thread T Jake Luciani (JIRA)

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

T Jake Luciani reassigned CASSANDRA-2915:
-

Assignee: Jason Rutherglen

 Lucene based Secondary Indexes
 --

 Key: CASSANDRA-2915
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2915
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: T Jake Luciani
Assignee: Jason Rutherglen
  Labels: secondary_index
 Fix For: 1.0


 Secondary indexes (of type KEYS) suffer from a number of limitations in their 
 current form:
- Multiple IndexClauses only work when there is a subset of rows under the 
 highest clause
- One new column family is created per index this means 10 new CFs for 10 
 secondary indexes
 This ticket will use the Lucene library to implement secondary indexes as one 
 index per CF, and utilize the Lucene query engine to handle multiple index 
 clauses. Also, by using the Lucene we get a highly optimized file format.
 There are a few parallels we can draw between Cassandra and Lucene.
 Lucene indexes segments in memory then flushes them to disk so we can sync 
 our memtable flushes to lucene flushes. Lucene also has optimize() which 
 correlates to our compaction process, so these can be sync'd as well.
 We will also need to correlate column validators to Lucene tokenizers, so the 
 data can be stored properly, the big win in once this is done we can perform 
 complex queries within a column like wildcard searches.
 The downside of this approach is we will need to read before write since 
 documents in Lucene are written as complete documents. For random workloads 
 with lot's of indexed columns this means we need to read the document from 
 the index, update it and write it back.

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




[jira] [Commented] (CASSANDRA-2915) Lucene based Secondary Indexes

2011-08-11 Thread T Jake Luciani (JIRA)

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

T Jake Luciani commented on CASSANDRA-2915:
---

Under the CF dir I imagine

 Lucene based Secondary Indexes
 --

 Key: CASSANDRA-2915
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2915
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: T Jake Luciani
Assignee: Jason Rutherglen
  Labels: secondary_index
 Fix For: 1.0


 Secondary indexes (of type KEYS) suffer from a number of limitations in their 
 current form:
- Multiple IndexClauses only work when there is a subset of rows under the 
 highest clause
- One new column family is created per index this means 10 new CFs for 10 
 secondary indexes
 This ticket will use the Lucene library to implement secondary indexes as one 
 index per CF, and utilize the Lucene query engine to handle multiple index 
 clauses. Also, by using the Lucene we get a highly optimized file format.
 There are a few parallels we can draw between Cassandra and Lucene.
 Lucene indexes segments in memory then flushes them to disk so we can sync 
 our memtable flushes to lucene flushes. Lucene also has optimize() which 
 correlates to our compaction process, so these can be sync'd as well.
 We will also need to correlate column validators to Lucene tokenizers, so the 
 data can be stored properly, the big win in once this is done we can perform 
 complex queries within a column like wildcard searches.
 The downside of this approach is we will need to read before write since 
 documents in Lucene are written as complete documents. For random workloads 
 with lot's of indexed columns this means we need to read the document from 
 the index, update it and write it back.

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




[jira] [Updated] (CASSANDRA-2950) Data from truncated CF reappears after server restart

2011-08-11 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-2950:


Attachment: 2950-v3_0.8.patch

Attaching a v3 that is rebased against 0.8. I've also slightly change the logic 
in Truncate to submit all the flushes and then call waitForActiveFlushes, as 
this is slightly simpler and should work equally well as far as I can tell.
Apart from that, this lgtm.

 Data from truncated CF reappears after server restart
 -

 Key: CASSANDRA-2950
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2950
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.8.0
Reporter: Cathy Daw
Assignee: Jonathan Ellis
 Fix For: 0.8.5

 Attachments: 2950-v2.txt, 2950-v3_0.8.patch, 2950.txt


 * Configure 3 node cluster
 * Ensure the java stress tool creates Keyspace1 with RF=3
 {code}
 // Run Stress Tool to generate 10 keys, 1 column
 stress --operation=INSERT -t 2 --num-keys=50 --columns=20 
 --consistency-level=QUORUM --average-size-values --replication-factor=3 
 --create-index=KEYS --nodes=cathy1,cathy2
 // Verify 50 keys in CLI
 use Keyspace1; 
 list Standard1; 
 // TRUNCATE CF in CLI
 use Keyspace1;
 truncate counter1;
 list counter1;
 // Run stress tool and verify creation of 1 key with 10 columns
 stress --operation=INSERT -t 2 --num-keys=1 --columns=10 
 --consistency-level=QUORUM --average-size-values --replication-factor=3 
 --create-index=KEYS --nodes=cathy1,cathy2
 // Verify 1 key in CLI
 use Keyspace1; 
 list Standard1; 
 // Restart all three nodes
 // You will see 51 keys in CLI
 use Keyspace1; 
 list Standard1; 
 {code}

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




[jira] [Commented] (CASSANDRA-3003) Trunk single-pass streaming doesn't handle large row correctly

2011-08-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-3003:
---

bq. it would have been nicer to have the cleaning of a counter context not 
change its size

Can we pad it somehow?

 Trunk single-pass streaming doesn't handle large row correctly
 --

 Key: CASSANDRA-3003
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3003
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Sylvain Lebresne
Assignee: Yuki Morishita
Priority: Critical
  Labels: streaming

 For normal column family, trunk streaming always buffer the whole row into 
 memory. In uses
 {noformat}
   ColumnFamily.serializer().deserializeColumns(in, cf, true, true);
 {noformat}
 on the input bytes.
 We must avoid this for rows that don't fit in the inMemoryLimit.
 Note that for regular column families, for a given row, there is actually no 
 need to even recreate the bloom filter of column index, nor to deserialize 
 the columns. It is enough to filter the key and row size to feed the index 
 writer, but then simply dump the rest on disk directly. This would make 
 streaming more efficient, avoid a lot of object creation and avoid the 
 pitfall of big rows.
 Counters column family are unfortunately trickier, because each column needs 
 to be deserialized (to mark them as 'fromRemote'). However, we don't need to 
 do the double pass of LazilyCompactedRow for that. We can simply use a 
 SSTableIdentityIterator and deserialize/reserialize input as it comes.

--
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-08-11 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-2405:


Sure.

 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
  Components: Core
Reporter: Peter Schuller
Assignee: Pavel Yaskevich
Priority: Minor
 Fix For: 0.8.5

 Attachments: CASSANDRA-2405-v2.patch, CASSANDRA-2405-v3.patch, 
 CASSANDRA-2405-v4.patch, CASSANDRA-2405.patch


 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-1473) Implement a Cassandra aware Hadoop mapreduce.Partitioner

2011-08-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-1473:
---

{noformat}
/** Get the partition number for a given key (hence record) given the total 
number of partitions */
getPartition(KEY key, VALUE value, int numPartitions)
*/
{noformat}

I don't think we can do this, without knowing the total number of keys as well. 
:(

 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
Assignee: Patricio Echague
 Fix For: 1.0


 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




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

2011-08-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis edited comment on CASSANDRA-1473 at 8/11/11 1:54 PM:


{noformat}
/** Get the partition number for a given key (hence record) given the total 
number of partitions */
getPartition(KEY key, VALUE value, int numPartitions)
{noformat}

I don't think we can do this, without knowing the total number of keys as well. 
:(

  was (Author: jbellis):
{noformat}
/** Get the partition number for a given key (hence record) given the total 
number of partitions */
getPartition(KEY key, VALUE value, int numPartitions)
*/
{noformat}

I don't think we can do this, without knowing the total number of keys as well. 
:(
  
 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
Assignee: Patricio Echague
 Fix For: 1.0


 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




[jira] [Resolved] (CASSANDRA-2045) Simplify HH to decrease read load when nodes come back

2011-08-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-2045.
---

Resolution: Fixed

 Simplify HH to decrease read load when nodes come back
 --

 Key: CASSANDRA-2045
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2045
 Project: Cassandra
  Issue Type: Improvement
Reporter: Chris Goffinet
Assignee: Nicholas Telford
 Fix For: 1.0

 Attachments: 
 0001-Changed-storage-of-Hints-to-store-a-serialized-RowMu.patch, 
 0002-Refactored-HintedHandoffManager.sendRow-to-reduce-co.patch, 
 0003-Fixed-some-coding-style-issues.patch, 
 0004-Fixed-direct-usage-of-Gossiper.getEndpointStateForEn.patch, 
 0005-Removed-duplicate-failure-detection-conditionals.-It.patch, 
 0006-Removed-handling-of-old-style-hints.patch, 2045-v3.txt, 2045-v5.txt, 
 2045-v6.txt, CASSANDRA-2045-simplify-hinted-handoff-001.diff, 
 CASSANDRA-2045-simplify-hinted-handoff-002.diff, CASSANDRA-2045-v4.diff


 Currently when HH is enabled, hints are stored, and when a node comes back, 
 we begin sending that node data. We do a lookup on the local node for the row 
 to send. To help reduce read load (if a node is offline for long period of 
 time) we should store the data we want forward the node locally instead. We 
 wouldn't have to do any lookups, just take byte[] and send to the destination.

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




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

2011-08-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2220:
---

Doesn't this conflict with CASSANDRA-2056?

 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: 1.0




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




[jira] [Commented] (CASSANDRA-2849) InvalidRequestException when validating column data includes entire column value

2011-08-11 Thread David Allsopp (JIRA)

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

David Allsopp commented on CASSANDRA-2849:
--

Yes, that looks good to me, thanks.

 InvalidRequestException when validating column data includes entire column 
 value
 

 Key: CASSANDRA-2849
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2849
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8.1
Reporter: David Allsopp
Priority: Minor
 Fix For: 0.8.5

 Attachments: 2849-v2.txt, cassandra-2849.diff


 If the column value fails to validate, then 
 ThriftValidation.validateColumnData() calls bytesToHex() on the entire column 
 value and puts this string in the Exception. Since the value may be up to 
 2GB, this is potentially a lot of extra memory. The value is likely to be 
 logged (and presumably returned to the thrift client over the network?). This 
 could cause a lot of slowdown or an unnecessary OOM crash, and is unlikely to 
 be useful (the client has access to the full value anyway if required for 
 debugging).
 Also, the reason for the exception (extracted from the MarshalException) is 
 printed _after_ the data, so if there's any truncation in the logging system 
 at any point, the reason will be lost. 
 The reason should be displayed before the column value, and the column value 
 should be truncated in the Exception message.

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




[jira] [Commented] (CASSANDRA-1827) Batching across stages

2011-08-11 Thread Peter Schuller (JIRA)

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

Peter Schuller commented on CASSANDRA-1827:
---

The following is speculation and should not be construed as a strong claim ;)

I don't have proof but I suspect that putting/popping individual entries is 
fairly significant, mostly because of the context switching involved and 
interaction with the scheduler. Empirically when stress-testing it seems to me 
that under CPU bound workloads the stages are often not saturated (and you 
certainly don't saturate all cores despite high concurrency). In other words, 
even with a consistent backlog of pending tasks the active tasks aren't 
consistently at full concurrency. I wonder what kind of effects come form delay 
in waking up a thread.

Something similar to consider might be to try to use a non-blocking queue 
(you'd still presumably block in low-throughput cases, but have the potential 
to proceed lock-lessly under high load).

 Batching across stages
 --

 Key: CASSANDRA-1827
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1827
 Project: Cassandra
  Issue Type: Improvement
Reporter: Chris Goffinet
 Fix For: 1.0


 We might be able to get some improvement if we start batching tasks for every 
 stage.

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




[jira] [Updated] (CASSANDRA-3001) Make the compression algorithm and chunk length configurable

2011-08-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-3001:
--

Reviewer: xedin

 Make the compression algorithm and chunk length configurable
 

 Key: CASSANDRA-3001
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3001
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
Priority: Minor
  Labels: compression
 Fix For: 1.0

 Attachments: 0001-Pluggable-algorithm-and-chunk-length.patch, 
 0002-Add-deflate-compressor.patch




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




[jira] [Resolved] (CASSANDRA-2985) batch_mutate silently failing

2011-08-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-2985.
---

Resolution: Cannot Reproduce

 batch_mutate silently failing
 -

 Key: CASSANDRA-2985
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2985
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8.1
 Environment: OS:ubuntu-10;php;
Reporter: copin teng

 I am working with Cassandra 0.8.1 using the thrift interface. I am trying to 
 use the batch_mutate method call, however, when I execute it, I receive no 
 error message. This leads me to believe it worked. When I check using the 
 CLI, there is nothing there. 

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




[jira] [Updated] (CASSANDRA-2900) Allow bulk load via streaming to complete 'transactionally'

2011-08-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-2900:
--

 Priority: Minor  (was: Major)
Fix Version/s: (was: 1.0)

 Allow bulk load via streaming to complete 'transactionally'
 ---

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

 It would be great if the bulk loader had the ability to cancel any streams 
 that had completed if other streams fail, to narrow the window where a job 
 could be half-completed. This is mostly only a problem for counter bulk loads 
 or cases where the bulk load timestamps do not allow for idempotency.
 One possible way to implement this would be to have streaming (optionally?) 
 add streamed files to a pool out-of-reach of compaction, which would allow 
 you to cancel or finalize them depending on the success of the entire bulk 
 load.

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




[jira] [Commented] (CASSANDRA-2889) Avoids having replicate on write tasks stacking up at CL.ONE

2011-08-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2889:
---

Is this the same as CASSANDRA-2892?

 Avoids having replicate on write tasks stacking up at CL.ONE
 

 Key: CASSANDRA-2889
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2889
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.8.0
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
  Labels: counters

 The counter design involves a read on the first replica during a write. At 
 CL.ONE, this read is not involved in the latency of the operation (the write 
 is acknowledged before). This means it is fairly easy to insert too quickly 
 at CL.ONE and have the replicate on write tasks falling behind. The goal of 
 this ticket is to protect against that.
 An option could be to bound the replicate on write task queue so that write 
 start to block once we have too much of those in the queue. Another option 
 could be to drop the oldest tasks when they are too old, but it's probably a 
 more unsafe option.

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




[jira] [Updated] (CASSANDRA-2893) Add row-level isolation

2011-08-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-2893:
--

Description: 
This could be done using an the atomic ConcurrentMap operations from the 
Memtable and something like http://code.google.com/p/pcollections/ to replace 
the ConcurrentSkipListMap in ThreadSafeSortedColumns.  The trick is that 
pcollections does not provide a SortedMap, so we probably need to write our own.

Googling [persistent sortedmap] I found 
http://code.google.com/p/actord/source/browse/trunk/actord/src/main/scala/ff/collection
 (in scala) and http://clojure.org/data_structures#Data Structures-Maps.

  was:This could be done using something an AtomicReference and something like 
http://code.google.com/p/pcollections/ but with a SortedMap (for the 
columnfamily.columns collection).  So we probably need to write our own.


 Add row-level isolation
 ---

 Key: CASSANDRA-2893
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2893
 Project: Cassandra
  Issue Type: Improvement
Reporter: Jonathan Ellis
Priority: Minor

 This could be done using an the atomic ConcurrentMap operations from the 
 Memtable and something like http://code.google.com/p/pcollections/ to replace 
 the ConcurrentSkipListMap in ThreadSafeSortedColumns.  The trick is that 
 pcollections does not provide a SortedMap, so we probably need to write our 
 own.
 Googling [persistent sortedmap] I found 
 http://code.google.com/p/actord/source/browse/trunk/actord/src/main/scala/ff/collection
  (in scala) and http://clojure.org/data_structures#Data Structures-Maps.

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




svn commit: r1156688 - /cassandra/tags/cassandra-0.8.4/

2011-08-11 Thread slebresne
Author: slebresne
Date: Thu Aug 11 17:23:22 2011
New Revision: 1156688

URL: http://svn.apache.org/viewvc?rev=1156688view=rev
Log:
Creating tag for 0.8.4

Added:
cassandra/tags/cassandra-0.8.4/   (props changed)
  - copied from r1156253, cassandra/branches/cassandra-0.8/

Propchange: cassandra/tags/cassandra-0.8.4/
--
--- svn:ignore (added)
+++ svn:ignore Thu Aug 11 17:23:22 2011
@@ -0,0 +1,8 @@
+.classpath
+.project
+.settings
+temp-testng-customsuite.xml
+build
+build.properties
+.idea
+out

Propchange: cassandra/tags/cassandra-0.8.4/
--
--- svn:mergeinfo (added)
+++ svn:mergeinfo Thu Aug 11 17:23:22 2011
@@ -0,0 +1,12 @@
+/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1131291
+/cassandra/branches/cassandra-0.7:1026516-1151306
+/cassandra/branches/cassandra-0.7.0:1053690-1055654
+/cassandra/branches/cassandra-0.8:1090934-1125013,1125041
+/cassandra/branches/cassandra-0.8.0:1125021-1130369
+/cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689
+/cassandra/tags/cassandra-0.8.0-rc1:1102511-1125020
+/cassandra/trunk:1129049-1129050,1129065,1151625,1152416,1153189
+/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
+/incubator/cassandra/branches/cassandra-0.6:911237-922688




svn commit: r1156694 - /cassandra/branches/cassandra-0.8/CHANGES.txt

2011-08-11 Thread jbellis
Author: jbellis
Date: Thu Aug 11 17:26:57 2011
New Revision: 1156694

URL: http://svn.apache.org/viewvc?rev=1156694view=rev
Log:
update CHANGES

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

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1156694r1=1156693r2=1156694view=diff
==
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Thu Aug 11 17:26:57 2011
@@ -27,8 +27,8 @@
(CASSANDRA-2958)
  * improved POSIX compatibility of start scripts (CASsANDRA-2965)
  * add counter support to Hadoop InputFormat (CASSANDRA-2981)
- * fix bug where dirty commit logs were removed (and avoid keeping segments
-   with no post-flush activity permanently dirty) (CASSANDRA-2829)
+ * fix bug where dirty commitlog segments were removed (and avoid keeping 
+   segments with no post-flush activity permanently dirty) (CASSANDRA-2829)
  * fix throwing exception with batch mutation of counter super columns
(CASSANDRA-2949)
  * ignore system tables during repair (CASSANDRA-2979)




svn commit: r1156695 - /cassandra/branches/cassandra-0.8/CHANGES.txt

2011-08-11 Thread jbellis
Author: jbellis
Date: Thu Aug 11 17:27:43 2011
New Revision: 1156695

URL: http://svn.apache.org/viewvc?rev=1156695view=rev
Log:
update CHANGES

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

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1156695r1=1156694r2=1156695view=diff
==
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Thu Aug 11 17:27:43 2011
@@ -773,7 +773,7 @@
transmitting separately (CASSANDRA-1465)
  * apply reversed flag during collation from different data sources
(CASSANDRA-1450)
- * make failure to remove comitlog segment non-fatal (CASSANDRA-1348)
+ * make failure to remove commitlog segment non-fatal (CASSANDRA-1348)
  * correct ordering of drain operations so CL.recover is no longer 
necessary (CASSANDRA-1408)
  * removed keyspace from describe_splits method (CASSANDRA-1425)




[jira] [Resolved] (CASSANDRA-2874) commitlogs are not draining

2011-08-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-2874.
---

Resolution: Duplicate

should be fixed by CASSANDRA-2829

 commitlogs are not draining
 ---

 Key: CASSANDRA-2874
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2874
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Affects Versions: 0.8.0
 Environment: nodetool
Reporter: Scott Dworkis
Priority: Minor
 Attachments: CommitLog-1308192929288.log.header


 i have commitlogs on every node in the ring that will not drain after 
 invoking a drain with nodetool.  i'll attach one of the log headers at the 
 request of Aaron Morton.

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




[jira] [Commented] (CASSANDRA-2889) Avoids having replicate on write tasks stacking up at CL.ONE

2011-08-11 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-2889:
-

bq. Is this the same as CASSANDRA-2892?

No, CASSANDRA-2892 was really just saying if we have nothing to replicate to, 
let's not push a replication task that will do nothing anyway. It was really 
just a super easy optimization for the RF=1 case.

This one is because at CL.ONE, we ack the client as soon as we have written the 
local mutation. But the replication involves a read. So if you write very 
quickly at CL.ONE, you're read to replicate task may stack up because you're 
not able to do them fast enough. But maybe the best solution here would be to 
make CL.ONE wait for the read to have happened to ack the client. The current 
make for a better latency at CL.ONE, but this is kind of a lie, because the 
hardest part of the work (the read) till happens in the background, and it is 
thus easy to flood the node.

 Avoids having replicate on write tasks stacking up at CL.ONE
 

 Key: CASSANDRA-2889
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2889
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.8.0
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
  Labels: counters

 The counter design involves a read on the first replica during a write. At 
 CL.ONE, this read is not involved in the latency of the operation (the write 
 is acknowledged before). This means it is fairly easy to insert too quickly 
 at CL.ONE and have the replicate on write tasks falling behind. The goal of 
 this ticket is to protect against that.
 An option could be to bound the replicate on write task queue so that write 
 start to block once we have too much of those in the queue. Another option 
 could be to drop the oldest tasks when they are too old, but it's probably a 
 more unsafe option.

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




[jira] [Assigned] (CASSANDRA-2806) Expose gossip/FD info to JMX

2011-08-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis reassigned CASSANDRA-2806:
-

Assignee: Patricio Echague  (was: Brandon Williams)

 Expose gossip/FD info to JMX
 

 Key: CASSANDRA-2806
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2806
 Project: Cassandra
  Issue Type: Improvement
Reporter: Brandon Williams
Assignee: Patricio Echague
Priority: Minor
 Fix For: 0.8.5




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




[jira] [Assigned] (CASSANDRA-2961) Expire dead gossip states based on time

2011-08-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis reassigned CASSANDRA-2961:
-

Assignee: Patricio Echague  (was: Brandon Williams)

 Expire dead gossip states based on time
 ---

 Key: CASSANDRA-2961
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2961
 Project: Cassandra
  Issue Type: Improvement
Reporter: Brandon Williams
Assignee: Patricio Echague

 Currently dead states are held until aVeryLongTime, 3 days.  The problem is 
 that if a node reboots within this period, it begins a new 3 days and will 
 repopulate the ring with the dead state.  While mostly harmless, perpetuating 
 the state forever is at least wasting a small amount of bandwidth.  Instead, 
 we can expire states based on a ttl, which will require that the cluster be 
 loosely time synced; within the quarantine period of 60s.

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




svn commit: r1156703 - in /cassandra/site: publish/download/index.html publish/index.html src/settings.py

2011-08-11 Thread slebresne
Author: slebresne
Date: Thu Aug 11 17:50:28 2011
New Revision: 1156703

URL: http://svn.apache.org/viewvc?rev=1156703view=rev
Log:
Update web site for 0.8.4

Modified:
cassandra/site/publish/download/index.html
cassandra/site/publish/index.html
cassandra/site/src/settings.py

Modified: cassandra/site/publish/download/index.html
URL: 
http://svn.apache.org/viewvc/cassandra/site/publish/download/index.html?rev=1156703r1=1156702r2=1156703view=diff
==
--- cassandra/site/publish/download/index.html (original)
+++ cassandra/site/publish/download/index.html Thu Aug 11 17:50:28 2011
@@ -73,31 +73,31 @@
   
 
   p
-  The latest stable release of Apache Cassandra is 0.8.3
-  (released on 2011-08-08).  iIf you're just
+  The latest stable release of Apache Cassandra is 0.8.4
+  (released on 2011-08-11).  iIf you're just
   starting out, download this one./i
   /p
 
   ul
 li
 a class=filename 
-   
href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/0.8.3/apache-cassandra-0.8.3-bin.tar.gz;
+   
href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/0.8.4/apache-cassandra-0.8.4-bin.tar.gz;
onclick=javascript: 
pageTracker._trackPageview('/clicks/binary_download');
-  apache-cassandra-0.8.3-bin.tar.gz
+  apache-cassandra-0.8.4-bin.tar.gz
 /a
-[a 
href=http://www.apache.org/dist/cassandra/0.8.3/apache-cassandra-0.8.3-bin.tar.gz.asc;PGP/a]
-[a 
href=http://www.apache.org/dist/cassandra/0.8.3/apache-cassandra-0.8.3-bin.tar.gz.md5;MD5/a]
-[a 
href=http://www.apache.org/dist/cassandra/0.8.3/apache-cassandra-0.8.3-bin.tar.gz.sha;SHA1/a]
+[a 
href=http://www.apache.org/dist/cassandra/0.8.4/apache-cassandra-0.8.4-bin.tar.gz.asc;PGP/a]
+[a 
href=http://www.apache.org/dist/cassandra/0.8.4/apache-cassandra-0.8.4-bin.tar.gz.md5;MD5/a]
+[a 
href=http://www.apache.org/dist/cassandra/0.8.4/apache-cassandra-0.8.4-bin.tar.gz.sha;SHA1/a]
 /li
 li
 a class=filename 
-   
href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/0.8.3/apache-cassandra-0.8.3-src.tar.gz;
+   
href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/0.8.4/apache-cassandra-0.8.4-src.tar.gz;
onclick=javascript: 
pageTracker._trackPageview('/clicks/source_download');
-  apache-cassandra-0.8.3-src.tar.gz
+  apache-cassandra-0.8.4-src.tar.gz
 /a
-[a 
href=http://www.apache.org/dist/cassandra/0.8.3/apache-cassandra-0.8.3-src.tar.gz.asc;PGP/a]
-[a 
href=http://www.apache.org/dist/cassandra/0.8.3/apache-cassandra-0.8.3-src.tar.gz.md5;MD5/a]
-[a 
href=http://www.apache.org/dist/cassandra/0.8.3/apache-cassandra-0.8.3-src.tar.gz.sha;SHA1/a]
+[a 
href=http://www.apache.org/dist/cassandra/0.8.4/apache-cassandra-0.8.4-src.tar.gz.asc;PGP/a]
+[a 
href=http://www.apache.org/dist/cassandra/0.8.4/apache-cassandra-0.8.4-src.tar.gz.md5;MD5/a]
+[a 
href=http://www.apache.org/dist/cassandra/0.8.4/apache-cassandra-0.8.4-src.tar.gz.sha;SHA1/a]
 /li
   /ul 
 
@@ -162,15 +162,15 @@ New users to Cassandra should be sure to
   h2Download/h2
   div class=inner rc
 p
-The latest release is b0.8.3/b
-span class=relnotes(a 
href=https://svn.apache.org/repos/asf/cassandra/tags/cassandra-0.8.3/CHANGES.txt;Changes/a)/span
+The latest release is b0.8.4/b
+span class=relnotes(a 
href=https://svn.apache.org/repos/asf/cassandra/tags/cassandra-0.8.4/CHANGES.txt;Changes/a)/span
 /p
 
 p
 a class=filename 
-   
href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/0.8.3/apache-cassandra-0.8.3-bin.tar.gz;
+   
href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/0.8.4/apache-cassandra-0.8.4-bin.tar.gz;
onclick=javascript: 
pageTracker._trackPageview('/clicks/binary_download');
-  apache-cassandra-0.8.3-bin.tar.gz
+  apache-cassandra-0.8.4-bin.tar.gz
 /a
 /p
 

Modified: cassandra/site/publish/index.html
URL: 
http://svn.apache.org/viewvc/cassandra/site/publish/index.html?rev=1156703r1=1156702r2=1156703view=diff
==
--- cassandra/site/publish/index.html (original)
+++ cassandra/site/publish/index.html Thu Aug 11 17:50:28 2011
@@ -82,15 +82,15 @@
   h2Download/h2
   div class=inner rc
 p
-The latest release is b0.8.3/b
-span class=relnotes(a 
href=https://svn.apache.org/repos/asf/cassandra/tags/cassandra-0.8.3/CHANGES.txt;Changes/a)/span
+The latest release is b0.8.4/b
+span class=relnotes(a 
href=https://svn.apache.org/repos/asf/cassandra/tags/cassandra-0.8.4/CHANGES.txt;Changes/a)/span
 /p
 
 p
 a class=filename 
-   
href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/0.8.3/apache-cassandra-0.8.3-bin.tar.gz;
+   
href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/0.8.4/apache-cassandra-0.8.4-bin.tar.gz;
onclick=javascript: 

[jira] [Commented] (CASSANDRA-2961) Expire dead gossip states based on time

2011-08-11 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-2961:
-

It looks like as a benefit of our ghetto string concatenation/delimiting in 
VersionedValue, we can just append timestamps to states that need to expire, 
then respect those in the gossiper (if present) instead of aVLT, but we still 
need to use aVLT if not.  This way, everything will stay backward-compatible, 
since older nodes will just get extra 'pieces' in SS notifications and not use 
them.  We probably only need to do this for the removed and left states, since 
the fat client removal logic is already solid and a timestamp won't really help 
there anyway.

 Expire dead gossip states based on time
 ---

 Key: CASSANDRA-2961
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2961
 Project: Cassandra
  Issue Type: Improvement
Reporter: Brandon Williams
Assignee: Patricio Echague

 Currently dead states are held until aVeryLongTime, 3 days.  The problem is 
 that if a node reboots within this period, it begins a new 3 days and will 
 repopulate the ring with the dead state.  While mostly harmless, perpetuating 
 the state forever is at least wasting a small amount of bandwidth.  Instead, 
 we can expire states based on a ttl, which will require that the cluster be 
 loosely time synced; within the quarantine period of 60s.

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




[jira] [Commented] (CASSANDRA-3001) Make the compression algorithm and chunk length configurable

2011-08-11 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-3001:


bq. Talking of the chunk length, its default value is 65535, which is 64k-1, 
not 64k. I think this is problem because of the following line in 
CRAR.decompressChunk:

if you take a look at CSW there is a constant CHUNK_LENGTH which is 64k 
(65536), where did you find 65535?

 Make the compression algorithm and chunk length configurable
 

 Key: CASSANDRA-3001
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3001
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
Priority: Minor
  Labels: compression
 Fix For: 1.0

 Attachments: 0001-Pluggable-algorithm-and-chunk-length.patch, 
 0002-Add-deflate-compressor.patch




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




[jira] [Commented] (CASSANDRA-3001) Make the compression algorithm and chunk length configurable

2011-08-11 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-3001:
-

Yes, I don't why I said that. My brain has fucked up. Nervermind.

 Make the compression algorithm and chunk length configurable
 

 Key: CASSANDRA-3001
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3001
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
Priority: Minor
  Labels: compression
 Fix For: 1.0

 Attachments: 0001-Pluggable-algorithm-and-chunk-length.patch, 
 0002-Add-deflate-compressor.patch




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




[jira] [Updated] (CASSANDRA-2034) Make Read Repair unnecessary when Hinted Handoff is enabled

2011-08-11 Thread Patricio Echague (JIRA)

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

Patricio Echague updated CASSANDRA-2034:


Attachment: CASSANDRA-2034-trunk-v11.patch

v11 replaces v10.

- add more volatile to variable that can be changed through JMX
- Add CallbackInfo and CallbackInfoWithMassage and store the message in the 
same ExpiringMap.
- Clean up some code style violations
- Simplify a bit the logic in SP.sendToHintedEndPoints.

 Make Read Repair unnecessary when Hinted Handoff is enabled
 ---

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

 Attachments: 2034-formatting.txt, CASSANDRA-2034-trunk-v10.patch, 
 CASSANDRA-2034-trunk-v11.patch, CASSANDRA-2034-trunk-v2.patch, 
 CASSANDRA-2034-trunk-v3.patch, CASSANDRA-2034-trunk-v4.patch, 
 CASSANDRA-2034-trunk-v5.patch, CASSANDRA-2034-trunk-v6.patch, 
 CASSANDRA-2034-trunk-v7.patch, CASSANDRA-2034-trunk-v8.patch, 
 CASSANDRA-2034-trunk-v9.patch, CASSANDRA-2034-trunk.patch

   Original Estimate: 8h
  Remaining Estimate: 8h

 Currently, HH is purely an optimization -- if a machine goes down, enabling 
 HH means RR/AES will have less work to do, but you can't disable RR entirely 
 in most situations since HH doesn't kick in until the FailureDetector does.
 Let's add a scheduled task to the mutate path, such that we return to the 
 client normally after ConsistencyLevel is achieved, but after RpcTimeout we 
 check the responseHandler write acks and write local hints for any missing 
 targets.
 This would making disabling RR when HH is enabled a much more reasonable 
 option, which has a huge impact on read throughput.

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




svn commit: r1156749 - in /cassandra/branches/cassandra-0.8: CHANGES.txt src/java/org/apache/cassandra/net/MessagingService.java

2011-08-11 Thread jbellis
Author: jbellis
Date: Thu Aug 11 19:16:21 2011
New Revision: 1156749

URL: http://svn.apache.org/viewvc?rev=1156749view=rev
Log:
fix NPE when encryption_options is unspecified
patch by jbellis; reviewed by brandonwilliams for CASSANDRA-3007

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

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/MessagingService.java

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1156749r1=1156748r2=1156749view=diff
==
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Thu Aug 11 19:16:21 2011
@@ -1,3 +1,7 @@
+0.8.5
+ * fix NPE when encryption_options is unspecified (CASSANDRA-3007)
+
+
 0.8.4
  * include files-to-be-streamed in StreamInSession.getSources (CASSANDRA-2972)
  * use JAVA env var in cassandra-env.sh (CASSANDRA-2785, 2992)

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/MessagingService.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/MessagingService.java?rev=1156749r1=1156748r2=1156749view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/MessagingService.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/MessagingService.java
 Thu Aug 11 19:16:21 2011
@@ -417,7 +417,8 @@ public final class MessagingService impl
 public void stream(StreamHeader header, InetAddress to)
 {
 /* Streaming asynchronously on streamExector_ threads. */
-if (DatabaseDescriptor.getEncryptionOptions().internode_encryption == 
EncryptionOptions.InternodeEncryption.all)
+EncryptionOptions encryption = 
DatabaseDescriptor.getEncryptionOptions();
+if (encryption != null  encryption.internode_encryption == 
EncryptionOptions.InternodeEncryption.all)
 streamExecutor_.execute(new SSLFileStreamTask(header, to));
 else
 streamExecutor_.execute(new FileStreamTask(header, to));




[jira] [Updated] (CASSANDRA-2325) invalidateKeyCache / invalidateRowCache should remove saved cache files from disk

2011-08-11 Thread Edward Capriolo (JIRA)

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

Edward Capriolo updated CASSANDRA-2325:
---

Attachment: cassandra-2325-3.patch.txt

3rd revision of a 4 line patch ::embarrassed::. Thinking about this more 
logging the message does not make sense. It could happen that the file could be 
removed by the retention policy just as we are trying to remove it. That is not 
a condition we need to generate a log message on.

 invalidateKeyCache / invalidateRowCache should remove saved cache files from 
 disk
 -

 Key: CASSANDRA-2325
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2325
 Project: Cassandra
  Issue Type: Improvement
Affects Versions: 0.6
Reporter: Matthew F. Dennis
Assignee: Edward Capriolo
Priority: Minor
 Fix For: 0.8.5

 Attachments: cassandra-2325-1.patch.txt, cassandra-2325-3.patch.txt, 
 cassandra-2325.patch.2.txt


 the invalidate[Key|Row]Cache calls don't remove the saved caches from disk.
 It seems logical that if you are clearing the caches you don't expect them to 
 be reinstantiated with the old values the next time C* starts.
 This is not a huge issue since next time the caches are saved the old values 
 will be removed.

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




[jira] [Commented] (CASSANDRA-2742) Add CQL to the python package index

2011-08-11 Thread Eric Evans (JIRA)

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

Eric Evans commented on CASSANDRA-2742:
---

Is 1.0.4 a release version?  I don't see it published at 
http://www.apache.org/dist/cassandra/drivers/py/

 Add CQL to the python package index
 ---

 Key: CASSANDRA-2742
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2742
 Project: Cassandra
  Issue Type: Improvement
  Components: API
Affects Versions: 0.8.0
Reporter: Jonathan Ellis
Assignee: paul cannon
Priority: Minor
 Fix For: 0.8.5

 Attachments: add_maintainer_info.patch.txt




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




svn commit: r1156753 - in /cassandra/branches/cassandra-0.8: CHANGES.txt src/java/org/apache/cassandra/thrift/CassandraServer.java src/java/org/apache/cassandra/thrift/ThriftValidation.java

2011-08-11 Thread jbellis
Author: jbellis
Date: Thu Aug 11 19:19:18 2011
New Revision: 1156753

URL: http://svn.apache.org/viewvc?rev=1156753view=rev
Log:
include column name in validation failure exceptions
patch by jbellis; reviewed by David Allsopp for CASSANDRA-2849

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

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

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

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1156753r1=1156752r2=1156753view=diff
==
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Thu Aug 11 19:19:18 2011
@@ -1,5 +1,6 @@
 0.8.5
  * fix NPE when encryption_options is unspecified (CASSANDRA-3007)
+ * include column name in validation failure exceptions (CASSANDRA-2849)
 
 
 0.8.4

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=1156753r1=1156752r2=1156753view=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
 Thu Aug 11 19:19:18 2011
@@ -439,7 +439,7 @@ public class CassandraServer implements 
 throw new InvalidRequestException(missing mandatory super column 
name for super CF  + column_parent.column_family);
 }
 ThriftValidation.validateColumnNames(metadata, column_parent, 
Arrays.asList(column.name));
-ThriftValidation.validateColumnData(metadata, column);
+ThriftValidation.validateColumnData(metadata, column, 
column_parent.super_column != null);
 
 RowMutation rm = new RowMutation(state().getKeyspace(), key);
 try

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/ThriftValidation.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/ThriftValidation.java?rev=1156753r1=1156752r2=1156753view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/ThriftValidation.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/ThriftValidation.java
 Thu Aug 11 19:19:18 2011
@@ -23,6 +23,9 @@ package org.apache.cassandra.thrift;
 import java.nio.ByteBuffer;
 import java.util.*;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import org.apache.cassandra.config.*;
 import org.apache.cassandra.db.*;
 import org.apache.cassandra.db.marshal.AbstractType;
@@ -51,6 +54,8 @@ import org.apache.cassandra.utils.FBUtil
  */
 public class ThriftValidation
 {
+private static Logger logger = 
LoggerFactory.getLogger(ThriftValidation.class);
+
 public static void validateKey(CFMetaData metadata, ByteBuffer key) throws 
InvalidRequestException
 {
 if (key == null || key.remaining() == 0)
@@ -285,7 +290,7 @@ public class ThriftValidation
 
 validateTtl(cosc.column);
 validateColumnPath(metadata, new 
ColumnPath(metadata.cfName).setSuper_column((ByteBuffer)null).setColumn(cosc.column.name));
-validateColumnData(metadata, cosc.column);
+validateColumnData(metadata, cosc.column, false);
 }
 
 if (cosc.super_column != null)
@@ -296,7 +301,7 @@ public class ThriftValidation
 for (Column c : cosc.super_column.columns)
 {
 validateColumnPath(metadata, new 
ColumnPath(metadata.cfName).setSuper_column(cosc.super_column.name).setColumn(c.name));
-validateColumnData(metadata, c);
+validateColumnData(metadata, c, true);
 }
 }
 
@@ -396,9 +401,9 @@ public class ThriftValidation
 }
 
 /**
- * Validates the data part of the column (everything in the Column object 
but the name)
+ * Validates the data part of the column (everything in the Column object 
but the name, which is assumed to be valid)
  */
-public static void validateColumnData(CFMetaData metadata, Column column) 
throws InvalidRequestException
+public static void validateColumnData(CFMetaData metadata, Column column, 
boolean isSubColumn) throws InvalidRequestException
 {
 validateTtl(column);
 if (!column.isSetValue())
@@ -413,15 +418,29 @@ public class ThriftValidation
 }
 catch (MarshalException me)
 {
-throw new 

svn commit: r1156757 - in /cassandra/trunk: ./ src/java/org/apache/cassandra/db/ src/java/org/apache/cassandra/db/commitlog/ test/unit/org/apache/cassandra/db/

2011-08-11 Thread jbellis
Author: jbellis
Date: Thu Aug 11 19:29:34 2011
New Revision: 1156757

URL: http://svn.apache.org/viewvc?rev=1156757view=rev
Log:
make sure pre-truncate CL segments are discarded

Modified:
cassandra/trunk/CHANGES.txt
cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
cassandra/trunk/src/java/org/apache/cassandra/db/SystemTable.java
cassandra/trunk/src/java/org/apache/cassandra/db/commitlog/CommitLog.java

cassandra/trunk/test/unit/org/apache/cassandra/db/RecoveryManagerTruncateTest.java

Modified: cassandra/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/CHANGES.txt?rev=1156757r1=1156756r2=1156757view=diff
==
--- cassandra/trunk/CHANGES.txt (original)
+++ cassandra/trunk/CHANGES.txt Thu Aug 11 19:29:34 2011
@@ -232,7 +232,7 @@
  * Disable compaction throttling during bootstrap (CASSANDRA-2612) 
  * fix CQL treatment of  and  operators in range slices (CASSANDRA-2592)
  * fix potential double-application of counter updates on commitlog replay
-   (CASSANDRA-2419)
+   by moving replay position from header to sstable metadata (CASSANDRA-2419)
  * JDBC CQL driver exposes getColumn for access to timestamp
  * JDBC ResultSetMetadata properties added to AbstractType
  * r/m clustertool (CASSANDRA-2607)

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java?rev=1156757r1=1156756r2=1156757view=diff
==
--- cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java Thu 
Aug 11 19:29:34 2011
@@ -581,6 +581,7 @@ public class ColumnFamilyStore implement
 assert getMemtableThreadSafe() == oldMemtable;
 oldMemtable.freeze();
 final ReplayPosition ctx = writeCommitLog ? 
CommitLog.instance.getContext() : ReplayPosition.NONE;
+logger.debug(flush position is {}, ctx);
 
 // submit the memtable for any indexed sub-cfses, and our own.
 ListColumnFamilyStore icc = new ArrayListColumnFamilyStore();
@@ -1532,6 +1533,37 @@ public class ColumnFamilyStore implement
 }
 
 /**
+ * Waits for flushes started BEFORE THIS METHOD IS CALLED to finish.
+ * Does NOT guarantee that no flush is active when it returns.
+ */
+private void waitForActiveFlushes()
+{
+Future? future;
+Table.switchLock.writeLock().lock();
+try
+{
+future = postFlushExecutor.submit(new Runnable() { public void 
run() { } });
+}
+finally
+{
+Table.switchLock.writeLock().unlock();
+}
+
+try
+{
+future.get();
+}
+catch (InterruptedException e)
+{
+throw new AssertionError(e);
+}
+catch (ExecutionException e)
+{
+throw new AssertionError(e);
+}
+}
+
+/**
  * Truncate practically deletes the entire column family's data
  * @return a Future to the delete operation. Call the future's get() to 
make
  * sure the column family has been deleted
@@ -1544,14 +1576,33 @@ public class ColumnFamilyStore implement
 // We accomplish this by first flushing manually, then snapshotting, 
and
 // recording the timestamp IN BETWEEN those actions. Any sstables 
created
 // with this timestamp or greater time, will not be marked for delete.
-try
-{
-forceBlockingFlush();
-}
-catch (Exception e)
-{
-throw new RuntimeException(e);
-}
+//
+// Bonus complication: since we store replay position in sstable 
metadata,
+// truncating those sstables means we will replay any CL segments from 
the
+// beginning if we restart before they are discarded for normal reasons
+// post-truncate.  So we need to (a) force a new segment so the 
currently
+// active one can be discarded, and (b) flush *all* CFs so that 
unflushed
+// data in others don't keep any pre-truncate CL segments alive.
+//
+// Bonus bonus: simply forceFlush of all the CF is not enough, because 
if
+// for a given column family the memtable is clean, forceFlush will 
return
+// immediately, even though there could be a memtable being flush at 
the same
+// time.  So to guarantee that all segments can be cleaned out, we need
+// waitForActiveFlushes after the new segment has been created.
+CommitLog.instance.forceNewSegment();
+waitForActiveFlushes();
+ListFuture? futures = new ArrayListFuture?();
+ReplayPosition position = CommitLog.instance.getContext();
+   

svn commit: r1156758 - in /cassandra/trunk: ./ src/java/org/apache/cassandra/service/ src/java/org/apache/cassandra/utils/

2011-08-11 Thread jbellis
Author: jbellis
Date: Thu Aug 11 19:29:38 2011
New Revision: 1156758

URL: http://svn.apache.org/viewvc?rev=1156758view=rev
Log:
provide monotonic read consistency
patch by jbellis; reviewed by slebresne for CASSANDRA-2494

Modified:
cassandra/trunk/CHANGES.txt

cassandra/trunk/src/java/org/apache/cassandra/service/RangeSliceResponseResolver.java
cassandra/trunk/src/java/org/apache/cassandra/service/RepairCallback.java
cassandra/trunk/src/java/org/apache/cassandra/service/RowRepairResolver.java
cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java
cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java

Modified: cassandra/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/CHANGES.txt?rev=1156758r1=1156757r2=1156758view=diff
==
--- cassandra/trunk/CHANGES.txt (original)
+++ cassandra/trunk/CHANGES.txt Thu Aug 11 19:29:38 2011
@@ -30,6 +30,9 @@
  * make column family backed column map pluggable and introduce unsynchronized
ArrayList backed one to speedup reads (CASSANDRA-2843)
  * refactoring of the secondary index api (CASSANDRA-2982)
+ * make CL  ONE reads wait for digest reconciliation before returning
+   (CASSANDRA-2494)
+
 
 0.8.4
  * include files-to-be-streamed in StreamInSession.getSources (CASSANDRA-2972)

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/service/RangeSliceResponseResolver.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/service/RangeSliceResponseResolver.java?rev=1156758r1=1156757r2=1156758view=diff
==
--- 
cassandra/trunk/src/java/org/apache/cassandra/service/RangeSliceResponseResolver.java
 (original)
+++ 
cassandra/trunk/src/java/org/apache/cassandra/service/RangeSliceResponseResolver.java
 Thu Aug 11 19:29:38 2011
@@ -22,15 +22,18 @@ import java.io.IOException;
 import java.net.InetAddress;
 import java.util.*;
 import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
 
 import com.google.common.collect.AbstractIterator;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.db.ColumnFamily;
 import org.apache.cassandra.db.DecoratedKey;
 import org.apache.cassandra.db.RangeSliceReply;
 import org.apache.cassandra.db.Row;
+import org.apache.cassandra.net.IAsyncResult;
 import org.apache.cassandra.net.Message;
 import org.apache.cassandra.utils.Pair;
 import org.apache.cassandra.utils.CloseableIterator;
@@ -43,9 +46,19 @@ import org.apache.cassandra.utils.MergeI
 public class RangeSliceResponseResolver implements 
IResponseResolverIterableRow
 {
 private static final Logger logger_ = 
LoggerFactory.getLogger(RangeSliceResponseResolver.class);
+
+private static final ComparatorPairRow,InetAddress pairComparator = 
new ComparatorPairRow, InetAddress()
+{
+public int compare(PairRow, InetAddress o1, PairRow, InetAddress 
o2)
+{
+return o1.left.key.compareTo(o2.left.key);
+}
+};
+
 private final String table;
 private final ListInetAddress sources;
 protected final CollectionMessage responses = new 
LinkedBlockingQueueMessage();;
+public final ListIAsyncResult repairResults = new 
ArrayListIAsyncResult();
 
 public RangeSliceResponseResolver(String table, ListInetAddress sources)
 {
@@ -73,50 +86,7 @@ public class RangeSliceResponseResolver 
 iters.add(new RowIterator(reply.rows.iterator(), 
response.getFrom()));
 }
 // for each row, compute the combination of all different versions 
seen, and repair incomplete versions
-MergeIteratorPairRow,InetAddress, Row iter = 
MergeIterator.get(iters, new ComparatorPairRow,InetAddress()
-{
-public int compare(PairRow,InetAddress o1, PairRow,InetAddress 
o2)
-{
-return o1.left.key.compareTo(o2.left.key);
-}
-}, new MergeIterator.ReducerPairRow,InetAddress, Row()
-{
-ListColumnFamily versions = new 
ArrayListColumnFamily(sources.size());
-ListInetAddress versionSources = new 
ArrayListInetAddress(sources.size());
-DecoratedKey key;
-
-public void reduce(PairRow,InetAddress current)
-{
-key = current.left.key;
-versions.add(current.left.cf);
-versionSources.add(current.right);
-}
-
-protected Row getReduced()
-{
-ColumnFamily resolved = versions.size()  1
-  ? 
RowRepairResolver.resolveSuperset(versions)
-  : versions.get(0);
-if (versions.size()  sources.size())
-{
-// add placeholder rows for 

[jira] [Commented] (CASSANDRA-2967) Only bind JMX to the same IP address that is being used in Cassandra

2011-08-11 Thread Jackson Chung (JIRA)

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

Jackson Chung commented on CASSANDRA-2967:
--

i wouldn't say it is lhf, this is quite important in terms of network security.

not adding value here, just a ref site similar to the above blog (its just from 
official Sun's page). 

http://download.oracle.com/javase/6/docs/technotes/guides/management/agent.html

see Monitoring Applications through a Firewall section if tl;dr

 Only bind JMX to the same IP address that is being used in Cassandra
 

 Key: CASSANDRA-2967
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2967
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Affects Versions: 0.8.2
Reporter: Joaquin Casares
Priority: Minor
  Labels: lhf

 The setup is 5 nodes in each data center are all running on one physical test 
 machine and even though the repair was run against the correct IP the wrong 
 JMX port was used. As a result, instead of repairing all 5 nodes I was 
 repairing the same node 5 times.
 It would be nice if Cassandra's JMX would bind to only the IP address on 
 which its thrift/RPC services are listening on instead of binding to all IP's 
 on the box.

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




svn commit: r1156772 - in /cassandra/branches/cassandra-0.8: CHANGES.txt src/java/org/apache/cassandra/db/ColumnFamilyStore.java

2011-08-11 Thread jbellis
Author: jbellis
Date: Thu Aug 11 19:43:13 2011
New Revision: 1156772

URL: http://svn.apache.org/viewvc?rev=1156772view=rev
Log:
cache invalidate removes saved cache files
patch by Ed Capriolo; reviewed by jbellis for CASSANDRA-2325

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

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

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1156772r1=1156771r2=1156772view=diff
==
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Thu Aug 11 19:43:13 2011
@@ -3,6 +3,7 @@
  * include column name in validation failure exceptions (CASSANDRA-2849)
  * make sure truncate clears out the commitlog so replay won't re-
populate with truncated data (CASSANDRA-2950)
+ * cache invalidate removes saved cache files (CASSANDRA-2325)
 
 
 0.8.4

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/ColumnFamilyStore.java?rev=1156772r1=1156771r2=1156772view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
 Thu Aug 11 19:43:13 2011
@@ -1767,11 +1767,15 @@ public class ColumnFamilyStore implement
 public void invalidateRowCache()
 {
 rowCache.clear();
+if (rowCache.getCachePath().exists())
+rowCache.getCachePath().delete();
 }
 
 public void invalidateKeyCache()
 {
 keyCache.clear();
+if (keyCache.getCachePath().exists())
+keyCache.getCachePath().delete();
 }
 
 public int getRowCacheCapacity()




svn commit: r1156775 - in /cassandra/trunk: ./ contrib/ doc/cql/ interface/thrift/gen-java/org/apache/cassandra/thrift/ src/java/org/apache/cassandra/db/ src/java/org/apache/cassandra/net/ src/java/or

2011-08-11 Thread jbellis
Author: jbellis
Date: Thu Aug 11 19:49:24 2011
New Revision: 1156775

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

Modified:
cassandra/trunk/   (props changed)
cassandra/trunk/CHANGES.txt
cassandra/trunk/contrib/   (props changed)
cassandra/trunk/doc/cql/CQL.textile

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

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

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

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

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
   (props changed)
cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
cassandra/trunk/src/java/org/apache/cassandra/net/MessagingService.java
cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraServer.java
cassandra/trunk/src/java/org/apache/cassandra/thrift/ThriftValidation.java

Propchange: cassandra/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Aug 11 19:49:24 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1131291
 /cassandra/branches/cassandra-0.7:1026516-1151306
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
-/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1156264
+/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1156772
 /cassandra/branches/cassandra-0.8.0:1125021-1130369
 /cassandra/branches/cassandra-0.8.1:1101014-1125018
 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689

Modified: cassandra/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/CHANGES.txt?rev=1156775r1=1156774r2=1156775view=diff
==
--- cassandra/trunk/CHANGES.txt (original)
+++ cassandra/trunk/CHANGES.txt Thu Aug 11 19:49:24 2011
@@ -34,15 +34,23 @@
(CASSANDRA-2494)
 
 
+0.8.5
+ * fix NPE when encryption_options is unspecified (CASSANDRA-3007)
+ * include column name in validation failure exceptions (CASSANDRA-2849)
+ * make sure truncate clears out the commitlog so replay won't re-
+   populate with truncated data (CASSANDRA-2950)
+ * cache invalidate removes saved cache files (CASSANDRA-2325)
+
+
 0.8.4
  * include files-to-be-streamed in StreamInSession.getSources (CASSANDRA-2972)
  * use JAVA env var in cassandra-env.sh (CASSANDRA-2785, 2992)
  * avoid doing read for no-op replicate-on-write at CL=1 (CASSANDRA-2892)
  * refuse counter write for CL.ANY (CASSANDRA-2990)
  * switch back to only logging recent dropped messages (CASSANDRA-3004)
- * fix issues with parameters being escaped incorrectly in Python CQL 
(CASSANDRA-2993)
  * always deserialize RowMutation for counters (CASSANDRA-3006)
  * ignore saved replication_factor strategy_option for NTS (CASSANDRA-3011)
+ * make sure pre-truncate CL segments are discarded (CASSANDRA-2950)
 
 
 0.8.3
@@ -64,8 +72,8 @@
(CASSANDRA-2958)
  * improved POSIX compatibility of start scripts (CASsANDRA-2965)
  * add counter support to Hadoop InputFormat (CASSANDRA-2981)
- * fix bug where dirty commit logs were removed (and avoid keeping segments
-   with no post-flush activity permanently dirty) (CASSANDRA-2829)
+ * fix bug where dirty commitlog segments were removed (and avoid keeping 
+   segments with no post-flush activity permanently dirty) (CASSANDRA-2829)
  * fix throwing exception with batch mutation of counter super columns
(CASSANDRA-2949)
  * ignore system tables during repair (CASSANDRA-2979)
@@ -807,7 +815,7 @@
transmitting separately (CASSANDRA-1465)
  * apply reversed flag during collation from different data sources
(CASSANDRA-1450)
- * make failure to remove comitlog segment non-fatal (CASSANDRA-1348)
+ * make failure to remove commitlog segment non-fatal (CASSANDRA-1348)
  * correct ordering of drain operations so CL.recover is no longer 
necessary (CASSANDRA-1408)
  * removed keyspace from describe_splits method (CASSANDRA-1425)

Propchange: cassandra/trunk/contrib/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Aug 11 19:49:24 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-1151306
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
-/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1156264
+/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1156772
 /cassandra/branches/cassandra-0.8.0/contrib:1125021-1130369
 

[jira] [Commented] (CASSANDRA-2967) Only bind JMX to the same IP address that is being used in Cassandra

2011-08-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2967:
---

(lhf just means it's relatively straightforward, not that it's not valuable.)

 Only bind JMX to the same IP address that is being used in Cassandra
 

 Key: CASSANDRA-2967
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2967
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Affects Versions: 0.8.2
Reporter: Joaquin Casares
Priority: Minor
  Labels: lhf

 The setup is 5 nodes in each data center are all running on one physical test 
 machine and even though the repair was run against the correct IP the wrong 
 JMX port was used. As a result, instead of repairing all 5 nodes I was 
 repairing the same node 5 times.
 It would be nice if Cassandra's JMX would bind to only the IP address on 
 which its thrift/RPC services are listening on instead of binding to all IP's 
 on the box.

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




buildbot failure in ASF Buildbot on cassandra-trunk

2011-08-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/1511

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

Buildslave for this Build: isis_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch cassandra/trunk] 1156775
Blamelist: jbellis

BUILD FAILED: failed compile

sincerely,
 -The Buildbot



svn commit: r1156791 - in /cassandra/branches/cassandra-0.8: CHANGES.txt src/java/org/apache/cassandra/db/ColumnFamilyStore.java

2011-08-11 Thread jbellis
Author: jbellis
Date: Thu Aug 11 20:05:38 2011
New Revision: 1156791

URL: http://svn.apache.org/viewvc?rev=1156791view=rev
Log:
revert r1156772

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

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

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1156791r1=1156790r2=1156791view=diff
==
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Thu Aug 11 20:05:38 2011
@@ -3,7 +3,6 @@
  * include column name in validation failure exceptions (CASSANDRA-2849)
  * make sure truncate clears out the commitlog so replay won't re-
populate with truncated data (CASSANDRA-2950)
- * cache invalidate removes saved cache files (CASSANDRA-2325)
 
 
 0.8.4

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/ColumnFamilyStore.java?rev=1156791r1=1156790r2=1156791view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
 Thu Aug 11 20:05:38 2011
@@ -1767,15 +1767,11 @@ public class ColumnFamilyStore implement
 public void invalidateRowCache()
 {
 rowCache.clear();
-if (rowCache.getCachePath().exists())
-rowCache.getCachePath().delete();
 }
 
 public void invalidateKeyCache()
 {
 keyCache.clear();
-if (keyCache.getCachePath().exists())
-keyCache.getCachePath().delete();
 }
 
 public int getRowCacheCapacity()




svn commit: r1156792 - in /cassandra/trunk: ./ contrib/ interface/thrift/gen-java/org/apache/cassandra/thrift/ src/java/org/apache/cassandra/db/

2011-08-11 Thread jbellis
Author: jbellis
Date: Thu Aug 11 20:05:59 2011
New Revision: 1156792

URL: http://svn.apache.org/viewvc?rev=1156792view=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/db/ColumnFamilyStore.java

Propchange: cassandra/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Aug 11 20:05:59 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1131291
 /cassandra/branches/cassandra-0.7:1026516-1151306
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
-/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1156772
+/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1156791
 /cassandra/branches/cassandra-0.8.0:1125021-1130369
 /cassandra/branches/cassandra-0.8.1:1101014-1125018
 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689

Modified: cassandra/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/CHANGES.txt?rev=1156792r1=1156791r2=1156792view=diff
==
--- cassandra/trunk/CHANGES.txt (original)
+++ cassandra/trunk/CHANGES.txt Thu Aug 11 20:05:59 2011
@@ -39,7 +39,6 @@
  * include column name in validation failure exceptions (CASSANDRA-2849)
  * make sure truncate clears out the commitlog so replay won't re-
populate with truncated data (CASSANDRA-2950)
- * cache invalidate removes saved cache files (CASSANDRA-2325)
 
 
 0.8.4

Propchange: cassandra/trunk/contrib/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Aug 11 20:05:59 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-1151306
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
-/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1156772
+/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1156791
 /cassandra/branches/cassandra-0.8.0/contrib:1125021-1130369
 /cassandra/branches/cassandra-0.8.1/contrib:1101014-1125018
 /cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Aug 11 20:05:59 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-1131291
 
/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1151306
 
/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:1090934-1125013,1125019-1156772
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090934-1125013,1125019-1156791
 
/cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1125021-1130369
 
/cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1101014-1125018
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1051699-1053689

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Aug 11 20:05:59 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
 
/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1151306
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1053690-1055654

[jira] [Reopened] (CASSANDRA-2325) invalidateKeyCache / invalidateRowCache should remove saved cache files from disk

2011-08-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis reopened CASSANDRA-2325:
---


reopening because it breaks KeyCacheTest

testing is about the only use of invalidate() i can think of anyway, since we 
keep the cache consistent w/ the data.

should we notaproblem this?

 invalidateKeyCache / invalidateRowCache should remove saved cache files from 
 disk
 -

 Key: CASSANDRA-2325
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2325
 Project: Cassandra
  Issue Type: Improvement
Affects Versions: 0.6
Reporter: Matthew F. Dennis
Assignee: Edward Capriolo
Priority: Minor
 Fix For: 0.8.5

 Attachments: cassandra-2325-1.patch.txt, cassandra-2325-3.patch.txt, 
 cassandra-2325.patch.2.txt


 the invalidate[Key|Row]Cache calls don't remove the saved caches from disk.
 It seems logical that if you are clearing the caches you don't expect them to 
 be reinstantiated with the old values the next time C* starts.
 This is not a huge issue since next time the caches are saved the old values 
 will be removed.

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




[jira] [Commented] (CASSANDRA-2845) Cassandra uses 100% system CPU on Ubuntu Natty (11.04)

2011-08-11 Thread Jackson Chung (JIRA)

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

Jackson Chung commented on CASSANDRA-2845:
--

fwiw, 

i was able to avoid this (hang) if using just java (Sun's) instead of jsvc. 
(jna enabled on both, i do have to symlink it manually when start manually if 
install from deb package)

Once i switch to jsvc, hell breaks

kernel was on the older one on ec2:

Linux domU-12-31-39-00-2C-42 2.6.38-8-virtual #42-Ubuntu SMP Mon Apr 11 
04:06:34 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

Also able to had the same hang on a 2.6.35 on a rackspace couple days ago 
(killed the vm already..)

dmesg shows timeout/OOM, crazy stuff :)


on my own local,with separate install kernel

Distributor ID: Ubuntu
Description:Ubuntu 10.10
Release:10.10
Codename:   maverick
Linux faranth 2.6.39-02063903-generic #201107091121 SMP Sat Jul 9 11:25:36 UTC 
2011 x86_64 GNU/Linux

I don't have the hang problem (using jsvc/jna/package)

 Cassandra uses 100% system CPU on Ubuntu Natty (11.04)
 --

 Key: CASSANDRA-2845
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2845
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8.0
 Environment: Default install of Ubuntu 11.04
Reporter: Steve Corona
Assignee: paul cannon
Priority: Critical
 Fix For: 0.8.2


 Step 1. Boot up a brand new, default Ubuntu 11.04 Server install
 Step 2. Install Cassandra from Apache APT Respository (deb 
 http://www.apache.org/dist/cassandra/debian 08x main)
 Step 3. apt-get install cassandra, as soon as it cassandra starts it will 
 freeze the machine
 What's happening is that as soon as cassandra starts up it immediately sucks 
 up 100% of CPU and starves the machine. This effectively bricks the box until 
 you boot into single user mode and disable the cassandra init.d script.
 Under htop, the CPU usage shows up as system cpu, not user.
 The machine I'm testing this on is a Quad-Core Sandy Bridge w/ 16GB of 
 Memory, so it's not a system resource issue. I've also tested this on 
 completely different hardware (Dual 64-Bit Xeons  AMD X4) and it has the 
 same effect.
 Ubuntu 10.10 does not exhibit the same issue. I have only tested 0.8 and 
 0.8.1.
 root@cassandra01:/# java -version
 java version 1.6.0_22
 OpenJDK Runtime Environment (IcedTea6 1.10.2) (6b22-1.10.2-0ubuntu1~11.04.1)
 OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)
 root@cassandra:/# uname -a
 Linux cassandra01 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:24 UTC 
 2011 x86_64 x86_64 x86_64 GNU/Linux
 /proc/cpu
 Intel(R) Xeon(R) CPU E31270 @ 3.40GHz
 /proc/meminfo
 MemTotal:   16459776 kB
 MemFree:14190708 kB

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




buildbot success in ASF Buildbot on cassandra-trunk

2011-08-11 Thread buildbot
The Buildbot has detected a restored build on builder cassandra-trunk while 
building ASF Buildbot.
Full details are available at:
 http://ci.apache.org/builders/cassandra-trunk/builds/1512

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

Buildslave for this Build: isis_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch cassandra/trunk] 1156792
Blamelist: jbellis

Build succeeded!

sincerely,
 -The Buildbot



[jira] [Commented] (CASSANDRA-2494) Quorum reads are not monotonically consistent

2011-08-11 Thread Hudson (JIRA)

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

Hudson commented on CASSANDRA-2494:
---

Integrated in Cassandra #1017 (See 
[https://builds.apache.org/job/Cassandra/1017/])
provide monotonic read consistency
patch by jbellis; reviewed by slebresne for CASSANDRA-2494

jbellis : 
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVNview=revrev=1156758
Files : 
* /cassandra/trunk/CHANGES.txt
* /cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java
* /cassandra/trunk/src/java/org/apache/cassandra/service/RepairCallback.java
* /cassandra/trunk/src/java/org/apache/cassandra/service/RowRepairResolver.java
* /cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java
* 
/cassandra/trunk/src/java/org/apache/cassandra/service/RangeSliceResponseResolver.java


 Quorum reads are not monotonically consistent
 -

 Key: CASSANDRA-2494
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2494
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Sean Bridges
Assignee: Jonathan Ellis
Priority: Minor
 Fix For: 1.0

 Attachments: 2494-v2.txt, 2494.txt


 As discussed in this thread,
 http://www.mail-archive.com/user@cassandra.apache.org/msg12421.html
 Quorum reads should be consistent.  Assume we have a cluster of 3 nodes 
 (X,Y,Z) and a replication factor of 3. If a write of N is committed to X, but 
 not Y and Z, then a read from X should not return N unless the read is 
 committed to at  least two nodes.  To ensure this, a read from X should wait 
 for an ack of the read repair write from either Y or Z before returning.
 Are there system tests for cassandra?  If so, there should be a test similar 
 to the original post in the email thread.  One thread should write 1,2,3... 
 at consistency level ONE.  Another thread should read at consistency level 
 QUORUM from a random host, and verify that each read is = the last read.

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




[jira] [Commented] (CASSANDRA-2849) InvalidRequestException when validating column data includes entire column value

2011-08-11 Thread Hudson (JIRA)

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

Hudson commented on CASSANDRA-2849:
---

Integrated in Cassandra-0.8 #272 (See 
[https://builds.apache.org/job/Cassandra-0.8/272/])
include column name in validation failure exceptions
patch by jbellis; reviewed by David Allsopp for CASSANDRA-2849

jbellis : 
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVNview=revrev=1156753
Files : 
* /cassandra/branches/cassandra-0.8/CHANGES.txt
* 
/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/ThriftValidation.java
* 
/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/CassandraServer.java


 InvalidRequestException when validating column data includes entire column 
 value
 

 Key: CASSANDRA-2849
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2849
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8.1
Reporter: David Allsopp
Assignee: David Allsopp
Priority: Minor
 Fix For: 0.8.5

 Attachments: 2849-v2.txt, cassandra-2849.diff


 If the column value fails to validate, then 
 ThriftValidation.validateColumnData() calls bytesToHex() on the entire column 
 value and puts this string in the Exception. Since the value may be up to 
 2GB, this is potentially a lot of extra memory. The value is likely to be 
 logged (and presumably returned to the thrift client over the network?). This 
 could cause a lot of slowdown or an unnecessary OOM crash, and is unlikely to 
 be useful (the client has access to the full value anyway if required for 
 debugging).
 Also, the reason for the exception (extracted from the MarshalException) is 
 printed _after_ the data, so if there's any truncation in the logging system 
 at any point, the reason will be lost. 
 The reason should be displayed before the column value, and the column value 
 should be truncated in the Exception message.

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




[jira] [Commented] (CASSANDRA-3007) NullPointerException in MessagingService.java:420

2011-08-11 Thread Hudson (JIRA)

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

Hudson commented on CASSANDRA-3007:
---

Integrated in Cassandra-0.8 #272 (See 
[https://builds.apache.org/job/Cassandra-0.8/272/])
fix NPE when encryption_options is unspecified
patch by jbellis; reviewed by brandonwilliams for CASSANDRA-3007

jbellis : 
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVNview=revrev=1156749
Files : 
* /cassandra/branches/cassandra-0.8/CHANGES.txt
* 
/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/MessagingService.java


 NullPointerException in MessagingService.java:420
 -

 Key: CASSANDRA-3007
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3007
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8.3
 Environment: Linux w0 2.6.35-24-virtual #42-Ubuntu SMP Thu Dec 2 
 05:15:26 UTC 2010 x86_64 GNU/Linux
 java version 1.6.0_18
 OpenJDK Runtime Environment (IcedTea6 1.8.7) (6b18-1.8.7-2~squeeze1)
 OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)
Reporter: Viliam Holub
Assignee: Jonathan Ellis
Priority: Minor
  Labels: nullpointerexception, streaming
 Fix For: 0.8.5

 Attachments: 3007.txt


 I'm getting large quantity of exceptions during streaming. It is always in 
 MessagingService.java:420. The streaming appears to be blocked.
  INFO 10:11:14,734 Streaming to /10.235.77.27
 ERROR 10:11:14,734 Fatal exception in thread Thread[StreamStage:2,5,main]
 java.lang.NullPointerException
 at 
 org.apache.cassandra.net.MessagingService.stream(MessagingService.java:420)
 at 
 org.apache.cassandra.streaming.StreamOutSession.begin(StreamOutSession.java:176)
 at 
 org.apache.cassandra.streaming.StreamOut.transferRangesForRequest(StreamOut.java:148)
 at 
 org.apache.cassandra.streaming.StreamRequestVerbHandler.doVerb(StreamRequestVerbHandler.java:54)
 at 
 org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59)
 at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
 at java.lang.Thread.run(Thread.java:636)

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




[jira] [Commented] (CASSANDRA-2325) invalidateKeyCache / invalidateRowCache should remove saved cache files from disk

2011-08-11 Thread Hudson (JIRA)

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

Hudson commented on CASSANDRA-2325:
---

Integrated in Cassandra-0.8 #272 (See 
[https://builds.apache.org/job/Cassandra-0.8/272/])
cache invalidate removes saved cache files
patch by Ed Capriolo; reviewed by jbellis for CASSANDRA-2325

jbellis : 
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVNview=revrev=1156772
Files : 
* /cassandra/branches/cassandra-0.8/CHANGES.txt
* 
/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/ColumnFamilyStore.java


 invalidateKeyCache / invalidateRowCache should remove saved cache files from 
 disk
 -

 Key: CASSANDRA-2325
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2325
 Project: Cassandra
  Issue Type: Improvement
Affects Versions: 0.6
Reporter: Matthew F. Dennis
Assignee: Edward Capriolo
Priority: Minor
 Fix For: 0.8.5

 Attachments: cassandra-2325-1.patch.txt, cassandra-2325-3.patch.txt, 
 cassandra-2325.patch.2.txt


 the invalidate[Key|Row]Cache calls don't remove the saved caches from disk.
 It seems logical that if you are clearing the caches you don't expect them to 
 be reinstantiated with the old values the next time C* starts.
 This is not a huge issue since next time the caches are saved the old values 
 will be removed.

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




[jira] [Commented] (CASSANDRA-2950) Data from truncated CF reappears after server restart

2011-08-11 Thread Hudson (JIRA)

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

Hudson commented on CASSANDRA-2950:
---

Integrated in Cassandra-0.8 #272 (See 
[https://builds.apache.org/job/Cassandra-0.8/272/])
make sure truncate clears out the commitlog
patch by jbellis; reviewed by slebresne for CASSANDRA-2950

jbellis : 
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVNview=revrev=1156763
Files : 
* /cassandra/branches/cassandra-0.8/CHANGES.txt
* 
/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/SystemTable.java
* 
/cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/db/RecoveryManagerTruncateTest.java
* 
/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
* 
/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/ColumnFamilyStore.java


 Data from truncated CF reappears after server restart
 -

 Key: CASSANDRA-2950
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2950
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.8.0
Reporter: Cathy Daw
Assignee: Jonathan Ellis
 Fix For: 0.8.5

 Attachments: 2950-v2.txt, 2950-v3_0.8.patch, 2950.txt


 * Configure 3 node cluster
 * Ensure the java stress tool creates Keyspace1 with RF=3
 {code}
 // Run Stress Tool to generate 10 keys, 1 column
 stress --operation=INSERT -t 2 --num-keys=50 --columns=20 
 --consistency-level=QUORUM --average-size-values --replication-factor=3 
 --create-index=KEYS --nodes=cathy1,cathy2
 // Verify 50 keys in CLI
 use Keyspace1; 
 list Standard1; 
 // TRUNCATE CF in CLI
 use Keyspace1;
 truncate counter1;
 list counter1;
 // Run stress tool and verify creation of 1 key with 10 columns
 stress --operation=INSERT -t 2 --num-keys=1 --columns=10 
 --consistency-level=QUORUM --average-size-values --replication-factor=3 
 --create-index=KEYS --nodes=cathy1,cathy2
 // Verify 1 key in CLI
 use Keyspace1; 
 list Standard1; 
 // Restart all three nodes
 // You will see 51 keys in CLI
 use Keyspace1; 
 list Standard1; 
 {code}

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




[jira] [Commented] (CASSANDRA-2034) Make Read Repair unnecessary when Hinted Handoff is enabled

2011-08-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2034:
---

I think v11 is missing the new Callback classes.  Can you rebase to trunk when 
you add those?

 Make Read Repair unnecessary when Hinted Handoff is enabled
 ---

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

 Attachments: 2034-formatting.txt, CASSANDRA-2034-trunk-v10.patch, 
 CASSANDRA-2034-trunk-v11.patch, CASSANDRA-2034-trunk-v2.patch, 
 CASSANDRA-2034-trunk-v3.patch, CASSANDRA-2034-trunk-v4.patch, 
 CASSANDRA-2034-trunk-v5.patch, CASSANDRA-2034-trunk-v6.patch, 
 CASSANDRA-2034-trunk-v7.patch, CASSANDRA-2034-trunk-v8.patch, 
 CASSANDRA-2034-trunk-v9.patch, CASSANDRA-2034-trunk.patch

   Original Estimate: 8h
  Remaining Estimate: 8h

 Currently, HH is purely an optimization -- if a machine goes down, enabling 
 HH means RR/AES will have less work to do, but you can't disable RR entirely 
 in most situations since HH doesn't kick in until the FailureDetector does.
 Let's add a scheduled task to the mutate path, such that we return to the 
 client normally after ConsistencyLevel is achieved, but after RpcTimeout we 
 check the responseHandler write acks and write local hints for any missing 
 targets.
 This would making disabling RR when HH is enabled a much more reasonable 
 option, which has a huge impact on read throughput.

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




[jira] [Created] (CASSANDRA-3019) log the keyspace and CF of large rows being compacted

2011-08-11 Thread Ryan King (JIRA)
log the keyspace and CF of large rows being compacted
-

 Key: CASSANDRA-3019
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3019
 Project: Cassandra
  Issue Type: Improvement
Reporter: Ryan King
Assignee: Ryan King
Priority: Minor


If you want to find the large rows it'd help to know the Keyspace and CF to 
look in.

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




[jira] [Updated] (CASSANDRA-3019) log the keyspace and CF of large rows being compacted

2011-08-11 Thread Ryan King (JIRA)

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

Ryan King updated CASSANDRA-3019:
-

Attachment: 0001-add-keyspace-and-cf-to-large-row-compaction-logging.patch

 log the keyspace and CF of large rows being compacted
 -

 Key: CASSANDRA-3019
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3019
 Project: Cassandra
  Issue Type: Improvement
Reporter: Ryan King
Assignee: Ryan King
Priority: Minor
 Attachments: 
 0001-add-keyspace-and-cf-to-large-row-compaction-logging.patch


 If you want to find the large rows it'd help to know the Keyspace and CF to 
 look in.

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




svn commit: r1156837 - in /cassandra/trunk: CHANGES.txt conf/cassandra.yaml src/java/org/apache/cassandra/config/Config.java

2011-08-11 Thread jbellis
Author: jbellis
Date: Thu Aug 11 21:21:11 2011
New Revision: 1156837

URL: http://svn.apache.org/viewvc?rev=1156837view=rev
Log:
change auto_bootstrap default to true and remove from example config file
patch by jbellis as suggested by Peter Schullerfor CASSANDRA-2447

Modified:
cassandra/trunk/CHANGES.txt
cassandra/trunk/conf/cassandra.yaml
cassandra/trunk/src/java/org/apache/cassandra/config/Config.java

Modified: cassandra/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/CHANGES.txt?rev=1156837r1=1156836r2=1156837view=diff
==
--- cassandra/trunk/CHANGES.txt (original)
+++ cassandra/trunk/CHANGES.txt Thu Aug 11 21:21:11 2011
@@ -32,6 +32,8 @@
  * refactoring of the secondary index api (CASSANDRA-2982)
  * make CL  ONE reads wait for digest reconciliation before returning
(CASSANDRA-2494)
+ * change auto_bootstrap default to true and remove from example config file
+   (but not config parser) (CASSANDRA-2447)
 
 
 0.8.5

Modified: cassandra/trunk/conf/cassandra.yaml
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/conf/cassandra.yaml?rev=1156837r1=1156836r2=1156837view=diff
==
--- cassandra/trunk/conf/cassandra.yaml (original)
+++ cassandra/trunk/conf/cassandra.yaml Thu Aug 11 21:21:11 2011
@@ -21,14 +21,6 @@ cluster_name: 'Test Cluster'
 # a random token, which will lead to hot spots.
 initial_token:
 
-# Set to true to make new [non-seed] nodes automatically migrate data
-# to themselves from the pre-existing nodes in the cluster.  Defaults
-# to false because you can only bootstrap N machines at a time from
-# an existing cluster of N, so if you are bringing up a cluster of
-# 10 machines with 3 seeds you would have to do it in stages.  Leaving
-# this off for the initial start simplifies that.
-auto_bootstrap: false
-
 # See http://wiki.apache.org/cassandra/HintedHandoff
 hinted_handoff_enabled: true
 # this defines the maximum amount of time a dead host will have hints

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=1156837r1=1156836r2=1156837view=diff
==
--- cassandra/trunk/src/java/org/apache/cassandra/config/Config.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/config/Config.java Thu Aug 11 
21:21:11 2011
@@ -32,7 +32,7 @@ public class Config
 /* Hashing strategy Random or OPHF */
 public String partitioner;
 
-public Boolean auto_bootstrap = false;
+public Boolean auto_bootstrap = true;
 public Boolean hinted_handoff_enabled = true;
 public Integer max_hint_window_in_ms = Integer.MAX_VALUE;
 




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

2011-08-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-2447.
---

Resolution: Fixed
  Reviewer: scode
  Assignee: Jonathan Ellis

bq. maybe just make the default true always and remove it form the default 
configuration

Good idea.  Done in r1156837

 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
Assignee: Jonathan Ellis
Priority: Minor
 Fix For: 1.0


 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] [Updated] (CASSANDRA-2500) Ruby dbi client (for CQL) that conforms to AR:ConnectionAdapter

2011-08-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-2500:
--

Assignee: Kelley Reynolds  (was: Pavel Yaskevich)

 Ruby dbi client (for CQL) that conforms to AR:ConnectionAdapter
 ---

 Key: CASSANDRA-2500
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2500
 Project: Cassandra
  Issue Type: Task
  Components: API
Reporter: Jon Hermes
Assignee: Kelley Reynolds
  Labels: cql
 Fix For: 0.8.5

 Attachments: 2500.txt, genthriftrb.txt, rbcql-0.0.0.tgz


 Create a ruby driver for CQL.
 Lacking something standard (such as py-dbapi), going with something common 
 instead -- RoR ActiveRecord Connection Adapter 
 (http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/AbstractAdapter.html).

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




buildbot failure in ASF Buildbot on cassandra-trunk

2011-08-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/1513

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

Buildslave for this Build: isis_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch cassandra/trunk] 1156837
Blamelist: jbellis

BUILD FAILED: failed compile

sincerely,
 -The Buildbot



[jira] [Updated] (CASSANDRA-2034) Make Read Repair unnecessary when Hinted Handoff is enabled

2011-08-11 Thread Patricio Echague (JIRA)

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

Patricio Echague updated CASSANDRA-2034:


Attachment: CASSANDRA-2034-trunk-v11.patch

rebase and add missing classes.

 Make Read Repair unnecessary when Hinted Handoff is enabled
 ---

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

 Attachments: 2034-formatting.txt, CASSANDRA-2034-trunk-v10.patch, 
 CASSANDRA-2034-trunk-v11.patch, CASSANDRA-2034-trunk-v11.patch, 
 CASSANDRA-2034-trunk-v2.patch, CASSANDRA-2034-trunk-v3.patch, 
 CASSANDRA-2034-trunk-v4.patch, CASSANDRA-2034-trunk-v5.patch, 
 CASSANDRA-2034-trunk-v6.patch, CASSANDRA-2034-trunk-v7.patch, 
 CASSANDRA-2034-trunk-v8.patch, CASSANDRA-2034-trunk-v9.patch, 
 CASSANDRA-2034-trunk.patch

   Original Estimate: 8h
  Remaining Estimate: 8h

 Currently, HH is purely an optimization -- if a machine goes down, enabling 
 HH means RR/AES will have less work to do, but you can't disable RR entirely 
 in most situations since HH doesn't kick in until the FailureDetector does.
 Let's add a scheduled task to the mutate path, such that we return to the 
 client normally after ConsistencyLevel is achieved, but after RpcTimeout we 
 check the responseHandler write acks and write local hints for any missing 
 targets.
 This would making disabling RR when HH is enabled a much more reasonable 
 option, which has a huge impact on read throughput.

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




[jira] [Commented] (CASSANDRA-3019) log the keyspace and CF of large rows being compacted

2011-08-11 Thread Hudson (JIRA)

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

Hudson commented on CASSANDRA-3019:
---

Integrated in Cassandra-0.8 #274 (See 
[https://builds.apache.org/job/Cassandra-0.8/274/])
log ks and cf of large rows being compacted
patch by Ryan King; reviewed by jbellis for CASSANDRA-3019

jbellis : 
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVNview=revrev=1156830
Files : 
* 
/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/compaction/CompactionController.java


 log the keyspace and CF of large rows being compacted
 -

 Key: CASSANDRA-3019
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3019
 Project: Cassandra
  Issue Type: Improvement
Reporter: Ryan King
Assignee: Ryan King
Priority: Minor
 Fix For: 0.8.5

 Attachments: 
 0001-add-keyspace-and-cf-to-large-row-compaction-logging.patch


 If you want to find the large rows it'd help to know the Keyspace and CF to 
 look in.

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




[jira] [Commented] (CASSANDRA-2806) Expose gossip/FD info to JMX

2011-08-11 Thread Patricio Echague (JIRA)

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

Patricio Echague commented on CASSANDRA-2806:
-

What does everyone prefer ?

1)

{code}
{
  UP : Node1, Node2, Node3
  DOWN : Node4
}
{code}

2)
{code} 
{
  Node1 : UP
  Node2 : UP
  Node3 : DOWN
}
{code}

 Expose gossip/FD info to JMX
 

 Key: CASSANDRA-2806
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2806
 Project: Cassandra
  Issue Type: Improvement
Reporter: Brandon Williams
Assignee: Patricio Echague
Priority: Minor
 Fix For: 0.8.5




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




[jira] [Updated] (CASSANDRA-3005) OutboundTcpConnection's sending queue goes unboundedly without any backpressure logic

2011-08-11 Thread Melvin Wang (JIRA)

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

Melvin Wang updated CASSANDRA-3005:
---

Attachment: c3005.patch

The goal here is to remove the expired messages as many as we can to avoid the 
queue going unbounded.

Two places to do this.
1) when we try to send the message, we drop it if it is already expired. This 
doesn't work if the connection is somehow slow because the queue may be piled 
up already. Thus we have
2) when we enqueue a message we try to remove some expired messages as well. 
This is tricky because we now have two threads trying to remove from one queue. 
Although the operation on the queue is protected, w/o synchronization, we have 
enqueue() trying to remove a message which is not he peeked a moment ago (since 
it may already be removed from the queue by run()).

To solve this w/o using lock, I use two queues. Whenever run() finishes one 
queue, it (and only it) will swap the pointers of queues to process the other 
one. ConcurrentLinkedQueue is implemented using a non-block algorithm, so we 
don't suffer much here.

 OutboundTcpConnection's sending queue goes unboundedly without any 
 backpressure logic
 -

 Key: CASSANDRA-3005
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3005
 Project: Cassandra
  Issue Type: Improvement
Reporter: Melvin Wang
Assignee: Melvin Wang
 Attachments: c3005.patch


 OutboundTcpConnection's sending queue unconditionally queues up the request 
 and process them in sequence. Thinking about tagging the message coming in 
 with timestamp and drop them before actually sending it if the message stays 
 in the queue for too long, which is defined by the message's own time out 
 value.

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




[jira] [Updated] (CASSANDRA-2806) Expose gossip/FD info to JMX

2011-08-11 Thread Patricio Echague (JIRA)

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

Patricio Echague updated CASSANDRA-2806:


Attachment: screenshot-1.jpg

 Expose gossip/FD info to JMX
 

 Key: CASSANDRA-2806
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2806
 Project: Cassandra
  Issue Type: Improvement
Reporter: Brandon Williams
Assignee: Patricio Echague
Priority: Minor
 Fix For: 0.8.5

 Attachments: screenshot-1.jpg




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




[jira] [Updated] (CASSANDRA-3005) OutboundTcpConnection's sending queue goes unboundedly without any backpressure logic

2011-08-11 Thread Melvin Wang (JIRA)

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

Melvin Wang updated CASSANDRA-3005:
---

Attachment: (was: c3005.patch)

 OutboundTcpConnection's sending queue goes unboundedly without any 
 backpressure logic
 -

 Key: CASSANDRA-3005
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3005
 Project: Cassandra
  Issue Type: Improvement
Reporter: Melvin Wang
Assignee: Melvin Wang

 OutboundTcpConnection's sending queue unconditionally queues up the request 
 and process them in sequence. Thinking about tagging the message coming in 
 with timestamp and drop them before actually sending it if the message stays 
 in the queue for too long, which is defined by the message's own time out 
 value.

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




[jira] [Updated] (CASSANDRA-3005) OutboundTcpConnection's sending queue goes unboundedly without any backpressure logic

2011-08-11 Thread Melvin Wang (JIRA)

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

Melvin Wang updated CASSANDRA-3005:
---

Attachment: c3005.patch

The previous patch was not up-to-date. sorry for the confusion.

 OutboundTcpConnection's sending queue goes unboundedly without any 
 backpressure logic
 -

 Key: CASSANDRA-3005
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3005
 Project: Cassandra
  Issue Type: Improvement
Reporter: Melvin Wang
Assignee: Melvin Wang
 Attachments: c3005.patch


 OutboundTcpConnection's sending queue unconditionally queues up the request 
 and process them in sequence. Thinking about tagging the message coming in 
 with timestamp and drop them before actually sending it if the message stays 
 in the queue for too long, which is defined by the message's own time out 
 value.

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




[jira] [Commented] (CASSANDRA-2806) Expose gossip/FD info to JMX

2011-08-11 Thread Patricio Echague (JIRA)

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

Patricio Echague commented on CASSANDRA-2806:
-

For Gossiper, although some info such as ApplicationState is exposed through 
FD, I propose:

- getVersion(String nodeAddress)
- getEndpointDowntime(String nodeAddress)
- getCurrentGenerationNumber(String nodeAddress)

Comments?

 Expose gossip/FD info to JMX
 

 Key: CASSANDRA-2806
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2806
 Project: Cassandra
  Issue Type: Improvement
Reporter: Brandon Williams
Assignee: Patricio Echague
Priority: Minor
 Fix For: 0.8.5

 Attachments: screenshot-1.jpg




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




[jira] [Updated] (CASSANDRA-2806) Expose gossip/FD info to JMX

2011-08-11 Thread Patricio Echague (JIRA)

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

Patricio Echague updated CASSANDRA-2806:


Attachment: CASSANDRA-2806-0.8-v1.patch

This patch addresses the info for FD only.

 Expose gossip/FD info to JMX
 

 Key: CASSANDRA-2806
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2806
 Project: Cassandra
  Issue Type: Improvement
Reporter: Brandon Williams
Assignee: Patricio Echague
Priority: Minor
 Fix For: 0.8.5

 Attachments: CASSANDRA-2806-0.8-v1.patch, screenshot-1.jpg




--
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-08-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-1473:
---

Actually even for RP I don't see how to make this useful.

I was thinking md5(key) % partitions but that's not actually going to group the 
keys by node at all.  It's _a_ partitioning but not a _useful_ one. :)

 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
Assignee: Patricio Echague
 Fix For: 1.0


 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




[jira] [Commented] (CASSANDRA-3017) add a Message size limit

2011-08-11 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-3017:
---

How could we do that to a remote sender?

 add a Message size limit
 

 Key: CASSANDRA-3017
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3017
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Jonathan Ellis
Assignee: Ryan King
Priority: Minor
  Labels: lhf
 Attachments: 
 0001-use-the-thrift-max-message-size-for-inter-node-messa.patch


 We protect the server from allocating huge buffers for malformed message with 
 the Thrift frame size (CASSANDRA-475).  But we don't have similar protection 
 for the inter-node Message objects.
 Adding this would be good to deal with malicious adversaries as well as a 
 malfunctioning cluster participant.

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




[jira] [Commented] (CASSANDRA-3017) add a Message size limit

2011-08-11 Thread Ryan King (JIRA)

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

Ryan King commented on CASSANDRA-3017:
--

I think fatal errors are what we're trying to avoid here. The biggest threat is 
probably malicious, not accidental (since you need to get the MAGIC and headers 
in before this length).

 add a Message size limit
 

 Key: CASSANDRA-3017
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3017
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Jonathan Ellis
Assignee: Ryan King
Priority: Minor
  Labels: lhf
 Attachments: 
 0001-use-the-thrift-max-message-size-for-inter-node-messa.patch


 We protect the server from allocating huge buffers for malformed message with 
 the Thrift frame size (CASSANDRA-475).  But we don't have similar protection 
 for the inter-node Message objects.
 Adding this would be good to deal with malicious adversaries as well as a 
 malfunctioning cluster participant.

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




[jira] [Created] (CASSANDRA-3020) Failures in system test: test_cql.py

2011-08-11 Thread Cathy Daw (JIRA)
Failures in system test: test_cql.py


 Key: CASSANDRA-3020
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3020
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.8.5
 Environment: 0.8 branch for Aug 11th test run: 
https://jenkins.qa.datastax.com/job/CassandraSystem/142/
https://jenkins.qa.datastax.com/job/Cassandra/147/ 
Reporter: Cathy Daw
Assignee: Tyler Hobbs


*Test Output*
{code}
==
ERROR: reading and writing strings w/ newlines
--
Traceback (most recent call last):
  File /usr/local/lib/python2.6/dist-packages/nose/case.py, line 187, in 
runTest
self.test(*self.arg)
  File /var/lib/jenkins/jobs/Cassandra/workspace/test/system/test_cql.py, 
line 734, in test_newline_strings
, {key: \nkey, name: \nname})
  File /var/lib/jenkins/repos/drivers/py/cql/cursor.py, line 150, in execute
self.description = self.decoder.decode_description(self._query_ks, 
self._query_cf, self.result[0])
  File /var/lib/jenkins/repos/drivers/py/cql/decoders.py, line 39, in 
decode_description
comparator = self.__comparator_for(keyspace, column_family)
  File /var/lib/jenkins/repos/drivers/py/cql/decoders.py, line 35, in 
__comparator_for
return cfam.get(comparator, None)
AttributeError: 'NoneType' object has no attribute 'get'

--
Ran 127 tests in 635.426s

FAILED (errors=1)
Sending e-mails to: q...@datastax.com
Finished: FAILURE
{code}

*Suspected check-in*
{code}
Revision 1156198 by xedin: 
Fixes issues with parameters being escaped incorrectly in Python CQL
patch by Tyler Hobbs; reviewed by Pavel Yaskevich for CASSANDRA-2993
/cassandra/branches/cassandra-0.8/test/system/test_cql.py
/cassandra/branches/cassandra-0.8/CHANGES.txt
/cassandra/drivers/py/cql/cursor.py

/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cql/Cql.g
/cassandra/drivers/py/test/test_regex.py
{code}


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