[jira] [Commented] (CASSANDRA-2540) Data reads by default

2011-04-29 Thread Terje Marthinussen (JIRA)

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

Terje Marthinussen commented on CASSANDRA-2540:
---

Would it make sense to make dynamic snitch react to digest but not data 
error directly to improve recovery time and why do we need to wait for the 
100ms to make dynamic snitch work?

Couldn't we add a load balancer like function that would detect if a node has a 
significant number of outstanding requests on node 1 vs. 2 and 3, then send to 
node 2 instead?

Overall, I am not asking for a round robin load balancer though... (not good 
for caching)

The digest function may also in some cases maybe be made dynamic based on the 
size of the data being read. That is, just send the data for small data sizes 
and use digests for large responses?

No, I don't know all the details on how this part of the code work, so my 
suggestions may be totally wrong :)

I do wonder however if we get enough of these timeouts to actually be a 
problem. If there is a couple of delays in latencies for a few seconds 2-3 
times a week/month, no problem. 

However, if we have so many of these errors that people see them many times a 
day, it would seem like this is a performance problem somewhere in cassandra 
which should be fixed rather than applying some patchwork which hide it... 

 Data reads by default
 -

 Key: CASSANDRA-2540
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2540
 Project: Cassandra
  Issue Type: Wish
Reporter: Stu Hood
Priority: Minor

 The intention of digest vs data reads is to save bandwidth in the read path 
 at the cost of latency, but I expect that this has been a premature 
 optimization.
 * Data requested by a read will often be within an order of magnitude of the 
 digest size, and a failed digest means extra roundtrips, more bandwidth
 * The [digest reads but not your data 
 read|https://issues.apache.org/jira/browse/CASSANDRA-2282?focusedCommentId=13004656page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13004656]
  problem means failing QUORUM reads because a single node is unavailable, and 
 would require eagerly re-requesting at some fraction of your timeout
 * Saving bandwidth in cross datacenter usecases comes at huge cost to 
 latency, but since both constraints change proportionally (enough), the 
 tradeoff is not clear
 Some options:
 # Add an option to use digest reads
 # Remove digest reads entirely (and/or punt and make them a runtime 
 optimization based on data size in the future)
 # Continue to use digest reads, but send them to {{N - R}} nodes for 
 (somewhat) more predicatable behavior with QUORUM
 \\
 The outcome of data-reads-by-default should be significantly improved 
 latency, with a moderate increase in bandwidth usage for large reads.

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


[jira] [Commented] (CASSANDRA-2477) CQL support for describing keyspaces / column familes

2011-04-29 Thread Vivek Mishra (JIRA)

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

Vivek Mishra commented on CASSANDRA-2477:
-

This is to do with CQL jdbc support?

 CQL support for describing keyspaces / column familes
 -

 Key: CASSANDRA-2477
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2477
 Project: Cassandra
  Issue Type: Sub-task
  Components: API, Core
Reporter: Eric Evans
 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-2475) Prepared statements

2011-04-29 Thread Vivek Mishra (JIRA)

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

Vivek Mishra commented on CASSANDRA-2475:
-

Eric, 
Can you please provide more information on this JIRA? what needs to be done? I 
can take up this issue.

Vivek

 Prepared statements
 ---

 Key: CASSANDRA-2475
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2475
 Project: Cassandra
  Issue Type: Sub-task
  Components: API, Core
Reporter: Eric Evans
 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-2536) Schema disagreements when using connections to multiple hosts

2011-04-29 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-2536:
-

I'll hijack this conversation by saying that I think we should start 
advertising that people should try to keep their server clocks in sync unless 
they have a good reason not too (which would legitimize the fact that 
timestamp comparison is good enough). Counter removes for instance use server 
side timestamps and would be screwed up by diverging clocks (and by that I mean 
more screwed up than they already are by design). And really, is there any 
reason not to install a ntpd server in the first place anyway?

 Schema disagreements when using connections to multiple hosts
 -

 Key: CASSANDRA-2536
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2536
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8 beta 1
 Environment: Two node 0.8-beta1 cluster with one seed and JNA.
Reporter: Tyler Hobbs
Assignee: Tyler Hobbs
 Attachments: 2536-compare-timestamp.txt, schema_disagree.py


 If you have two thrift connections open to different nodes and you create a 
 KS using the first, then a CF in that KS using the second, you wind up with a 
 schema disagreement even if you wait/sleep after creating the KS.
 The attached script reproduces the issue using pycassa (1.0.6 should work 
 fine, although it has the 0.7 thrift-gen code).  It's also reproducible by 
 hand with two cassandra-cli sessions.

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


[Cassandra Wiki] Update of DebianPackaging by SylvainLebresne

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

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

The DebianPackaging page has been changed by SylvainLebresne.
http://wiki.apache.org/cassandra/DebianPackaging?action=diffrev1=20rev2=21

--

  gpg --keyserver pgp.mit.edu --recv-keys F758CE318D77295D
  gpg --export --armor F758CE318D77295D | sudo apt-key add -
  }}}
+ 
+ Starting with the 0.7.5 debian package, you will also need to add public key 
2B5C1B00 using the same commands as above (the list of Apache contributors 
public keys is available at [[http://www.apache.org/dist/cassandra/KEYS]]). 
  
  And then
  


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

2011-04-29 Thread Stu Hood (JIRA)

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

Stu Hood commented on CASSANDRA-1278:
-

Very interesting work here!

* Did you accidentally remove the buffering for non-streaming connections in 
IncomingTCPConnection?
* What kind of failures are supported during a load? What's the proper behavior 
for flush_proxy when some hosts fail?
* Could we avoid coding in knowledge of the file format in the inner loop of 
IncomingLoaderStreamReader? I would much, much prefer that 
non-file-format-specific framing be added, and it would have the added benefit 
of not requiring as many system calls (4 per row vs 2 per frame)
* What is the benefit of using an independent protocol for Loader streams?

Again, awesome.

 Make bulk loading into Cassandra less crappy, more pluggable
 

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

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

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

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

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


[jira] [Updated] (CASSANDRA-2580) stress will not use existing keyspaces

2011-04-29 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich updated CASSANDRA-2580:
---

Attachment: CASSANDRA-2580.patch

System.exit(1); was added by Gary Dusbabek at 2011-04-15 12:48:15 +, only 
cassandra-0.8 and trunk are affected this patch applies for both of them.

 stress will not use existing keyspaces
 --

 Key: CASSANDRA-2580
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2580
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Affects Versions: 0.8 beta 1
Reporter: Brandon Williams
Assignee: Pavel Yaskevich
 Fix For: 0.8.0, 0.8.1

 Attachments: CASSANDRA-2580.patch


 cassandra-3:/srv/cassandra# tools/stress/bin/stress -n 1 -d cassandra-2 -i 1 
 -o insert
 Created keyspaces. Sleeping 1s for propagation.
 total,interval_op_rate,interval_key_rate,avg_latency,elapsed_time
 1,1,1,0.049,0
 cassandra-3:/srv/cassandra# tools/stress/bin/stress -n 1 -d cassandra-2 -i 1 
 -o insert
 Unable to create stress keyspace: Keyspace already exists.

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


[jira] [Commented] (CASSANDRA-2536) Schema disagreements when using connections to multiple hosts

2011-04-29 Thread Gary Dusbabek (JIRA)

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

Gary Dusbabek commented on CASSANDRA-2536:
--

I think timestamp comparisons will be fine.

 Schema disagreements when using connections to multiple hosts
 -

 Key: CASSANDRA-2536
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2536
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.8 beta 1
 Environment: Two node 0.8-beta1 cluster with one seed and JNA.
Reporter: Tyler Hobbs
Assignee: Tyler Hobbs
 Attachments: 2536-compare-timestamp.txt, schema_disagree.py


 If you have two thrift connections open to different nodes and you create a 
 KS using the first, then a CF in that KS using the second, you wind up with a 
 schema disagreement even if you wait/sleep after creating the KS.
 The attached script reproduces the issue using pycassa (1.0.6 should work 
 fine, although it has the 0.7 thrift-gen code).  It's also reproducible by 
 hand with two cassandra-cli sessions.

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


[jira] [Commented] (CASSANDRA-2540) Data reads by default

2011-04-29 Thread Chris Burroughs (JIRA)

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

Chris Burroughs commented on CASSANDRA-2540:


All of the examples here are QUORUM, but I think ONE should have the most 
dramatic latency benefit from this.  Option (1) sounds like the best choice 
now, with something clever added later if the benefits are demonstrated.

 Data reads by default
 -

 Key: CASSANDRA-2540
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2540
 Project: Cassandra
  Issue Type: Wish
Reporter: Stu Hood
Priority: Minor

 The intention of digest vs data reads is to save bandwidth in the read path 
 at the cost of latency, but I expect that this has been a premature 
 optimization.
 * Data requested by a read will often be within an order of magnitude of the 
 digest size, and a failed digest means extra roundtrips, more bandwidth
 * The [digest reads but not your data 
 read|https://issues.apache.org/jira/browse/CASSANDRA-2282?focusedCommentId=13004656page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13004656]
  problem means failing QUORUM reads because a single node is unavailable, and 
 would require eagerly re-requesting at some fraction of your timeout
 * Saving bandwidth in cross datacenter usecases comes at huge cost to 
 latency, but since both constraints change proportionally (enough), the 
 tradeoff is not clear
 Some options:
 # Add an option to use digest reads
 # Remove digest reads entirely (and/or punt and make them a runtime 
 optimization based on data size in the future)
 # Continue to use digest reads, but send them to {{N - R}} nodes for 
 (somewhat) more predicatable behavior with QUORUM
 \\
 The outcome of data-reads-by-default should be significantly improved 
 latency, with a moderate increase in bandwidth usage for large reads.

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


[jira] [Resolved] (CASSANDRA-2408) Faulty memory causes adjacent nodes to have invalid data and fail compactation (java.io.IOException: Keys must be written in ascending order.)

2011-04-29 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-2408.
---

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

CASSANDRA-1717 will address not propagating corrupt data.

 Faulty memory causes adjacent nodes to have invalid data and fail 
 compactation (java.io.IOException: Keys must be written in ascending order.)
 --

 Key: CASSANDRA-2408
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2408
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.7.4
Reporter: Thibaut

 Hi,
 We had to replace a node with faulty ram. Besides the cassandra cluster 
 getting unresponsive, we also observerd a keys must be written in ascending 
 order exception on all adjacent quorum nodes, causing their compactation to 
 fail.
 We had another node with faulty ram a week earlier, and it was causing the 
 same errors on it's neighbours.
 A faulty node shouldn't affect the key ordering of adjacent nodes?
  INFO [CompactionExecutor:1] 2011-03-31 09:57:29,529 CompactionManager.java 
 (line 396) Compacting 
 [SSTableReader(path='/cassandra/data/table_lists/table_lists-f-1793-Data.db'),SSTableReader(path='/cassandra/data/table_lists/table_lists-f-1798-Data.db'),SSTableReader(path='/cassandra/data/table_lists/table_lists-f-1803-Data.db'),SSTableReader(path='/cassandra/data/table_lists/table_lists-f-1808-Data.db'),SSTableReader(path='/cassandra/data/table_lists/table_lists-f-1832-Data.db'),SSTableReader(path='/cassandra/data/table_lists/table_lists-f-1841-Data.db'),SSTableReader(path='/cassandra/data/table_lists/table_lists-f-1852-Data.db')]
  INFO [CompactionExecutor:1] 2011-03-31 09:58:26,437 SSTableWriter.java (line 
 108) Last written key : 
 DecoratedKey(ba578bed5e75a06d1156dabccc68abd5_www.abc.com_hostinlinks_9223370735413988125_870cc25d-7e4f-437b-aa83-a311dfbf7f88,
  
 62613537386265643565373561303664313135366461626363633638616264355f772e6b6f7475736f7a6c756b2e636f6d5f686f7374696e6c696e6b735f39323237303733353431333938383132355f38373063633235642d376534662d343337622d616138332d613331316466626637663838)
  INFO [CompactionExecutor:1] 2011-03-31 09:58:26,515 SSTableWriter.java (line 
 109) Current key : 
 DecoratedKey(ba578bed5e75a06d1156dabccc68abd5_www.abc.com_hostinlinks_9223370735413988136_17070303-ab24-4207-83bd-1604e2c159e4,
  
 62613537386265643565373561303664313135366461626363633638616264355f772e6b677475736f7a6c756b2e636f6d5f686f7374696e6c696e6b735f39323237303733353431333938383133365f31373037303330332d616232342d343230372d383362642d313630346532633135396534)
  INFO [CompactionExecutor:1] 2011-03-31 09:58:26,515 SSTableWriter.java (line 
 110) Writing into file 
 /cassandra/data/table_lists/table_lists-tmp-f-1861-Data.db
 ERROR [CompactionExecutor:1] 2011-03-31 09:58:26,516 
 AbstractCassandraDaemon.java (line 112) Fatal exception in thread 
 Thread[CompactionExecutor:1,1,main]
 java.io.IOException: Keys must be written in ascending order.
   at 
 org.apache.cassandra.io.sstable.SSTableWriter.beforeAppend(SSTableWriter.java:111)
   at 
 org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:128)
   at 
 org.apache.cassandra.db.CompactionManager.doCompaction(CompactionManager.java:452)
   at 
 org.apache.cassandra.db.CompactionManager$1.call(CompactionManager.java:124)
   at 
 org.apache.cassandra.db.CompactionManager$1.call(CompactionManager.java:94)
   at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
   at java.util.concurrent.FutureTask.run(FutureTask.java:138)
   at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
   at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
   at java.lang.Thread.run(Thread.java:662)

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


[jira] [Assigned] (CASSANDRA-2498) Improve read performance in update-intensive workload

2011-04-29 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis reassigned CASSANDRA-2498:
-

Assignee: Pavel Yaskevich

We could add this metadata into the -statistics component instead of adding a 
new one. (Just default it to zero on old-version sstables.)

 Improve read performance in update-intensive workload
 -

 Key: CASSANDRA-2498
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2498
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Jonathan Ellis
Assignee: Pavel Yaskevich
Priority: Minor
  Labels: ponies
 Fix For: 1.0


 Read performance in an update-heavy environment relies heavily on compaction 
 to maintain good throughput. (This is not the case for workloads where rows 
 are only inserted once, because the bloom filter keeps us from having to 
 check sstables unnecessarily.)
 Very early versions of Cassandra attempted to mitigate this by checking 
 sstables in descending generation order (mostly equivalent to descending 
 mtime): once all the requested columns were found, it would not check any 
 older sstables.
 This was incorrect, because data timestamp will not correspond to sstable 
 timestamp, both because compaction has the side effect of refreshing data 
 to a newer sstable, and because hintead handoff may send us data older than 
 what we already have.
 Instead, we could create a per-sstable piece of metadata containing the most 
 recent (client-specified) timestamp for any column in the sstable.  We could 
 then sort sstables by this timestamp instead, and perform a similar 
 optimization (if the remaining sstable client-timestamps are older than the 
 oldest column found in the desired result set so far, we don't need to look 
 further). Since under almost every workload, client timestamps of data in a 
 given sstable will tend to be similar, we expect this to cut the number of 
 sstables down proportionally to how frequently each column in the row is 
 updated. (If each column is updated with each write, we only have to check a 
 single sstable.)
 This may also be useful information when deciding which SSTables to compact.
 (Note that this optimization is only appropriate for named-column queries, 
 not slice queries, since we don't know what non-overlapping columns may exist 
 in older sstables.)

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


[jira] [Resolved] (CASSANDRA-2122) Replace messages with a serialization framework for easy backwards compatibility

2011-04-29 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-2122.
---

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

Consensus is that spending effort to make our intra-cluster messaging less 
flexible is not a good use of time.

 Replace messages with a serialization framework for easy backwards 
 compatibility
 

 Key: CASSANDRA-2122
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2122
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Gary Dusbabek
  Labels: ponies

 CASSANDRA-1015 provided a way to keep 0.8 messages compatible with 0.7 
 messages.  The next step will be to replace messaging with something that is 
 more easily backward compatible.  Avro, thrift and msgpack have all been 
 suggested as frameworks.
 If done properly, this will amount to rewriting MessagingService, though I'm 
 not sure that's possible at this point (we don't have backwards-compatible 
 disk structures, and those are sent inside the RowMutations).  It may be 
 preferred to keep MessagingService, and use it to package up messages that 
 are serialized by whatever framework.

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


[jira] [Resolved] (CASSANDRA-2424) Failed compactation doesn't delete temporary files causing hd to fill

2011-04-29 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne resolved CASSANDRA-2424.
-

Resolution: Duplicate

dupe of CASSANDRA-2468

 Failed compactation doesn't delete temporary files causing hd to fill
 -

 Key: CASSANDRA-2424
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2424
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.7.4
Reporter: Thibaut
 Fix For: 0.8.1


 Hi,
 We seem to have a few incorrect keys in one of our columns (Seems to be a 
 memory bit flip). Cassandra will try to compact and compact those tables 
 again but won't delete any temporary files.
  INFO [CompactionExecutor:1] 2011-04-05 17:52:45,494 SSTableWriter.java (line 
 108) Last written key : 
 DecoratedKey(dsearch_1300960988716456398199492444161_1301855754714_4564397053271578441,
  
 647365617263685f313330303936303938383731363435363c3339383139393439323434343136315f313330313835353735343731345f34353634333937303533323731353738343431)
  INFO [CompactionExecutor:1] 2011-04-05 17:52:45,521 SSTableWriter.java (line 
 109) Current key : 
 DecoratedKey(dsearch_13009609887164564398199492444161_1301855754760_4564395937046043595,
  
 647365617263685f31333030393630393838373136343536343339383139393439323434343136315f313330313835353735343736305f34353634333935393337303436303433353935)
  INFO [CompactionExecutor:1] 2011-04-05 17:52:45,521 SSTableWriter.java (line 
 110) Writing into file 
 /cassandra/data/table_userentries/table_userentries-tmp-f-3550-Data.db
 ERROR [CompactionExecutor:1] 2011-04-05 17:52:45,522 
 AbstractCassandraDaemon.java (line 112) Fatal exception in thread 
 Thread[CompactionExecutor:1,1,main]
 java.io.IOException: Keys must be written in ascending order.
 at 
 org.apache.cassandra.io.sstable.SSTableWriter.beforeAppend(SSTableWriter.java:111)
 at 
 org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:128)
 at 
 org.apache.cassandra.db.CompactionManager.doCompaction(CompactionManager.java:452)
 at 
 org.apache.cassandra.db.CompactionManager$1.call(CompactionManager.java:124)
 at 
 org.apache.cassandra.db.CompactionManager$1.call(CompactionManager.java:94)
 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
 at java.util.concurrent.FutureTask.run(FutureTask.java:138)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
   
 ls -l /cassandra/data/table_userentries/table_userentries-tmp*
 -rw-r--r-- 1 root root  13G 2011-04-05 16:09 
 /cassandra/data/table_userentries/table_userentries-tmp-f-3507-Data.db
 -rw-r--r-- 1 root root 512M 2011-04-05 16:09 
 /cassandra/data/table_userentries/table_userentries-tmp-f-3507-Index.db
 -rw-r--r-- 1 root root  13G 2011-04-05 16:21 
 /cassandra/data/table_userentries/table_userentries-tmp-f-3512-Data.db
 -rw-r--r-- 1 root root 512M 2011-04-05 16:21 
 /cassandra/data/table_userentries/table_userentries-tmp-f-3512-Index.db
 -rw-r--r-- 1 root root  13G 2011-04-05 16:33 
 /cassandra/data/table_userentries/table_userentries-tmp-f-3517-Data.db
 -rw-r--r-- 1 root root 512M 2011-04-05 16:33 
 /cassandra/data/table_userentries/table_userentries-tmp-f-3517-Index.db
 -rw-r--r-- 1 root root  13G 2011-04-05 16:44 
 /cassandra/data/table_userentries/table_userentries-tmp-f-3521-Data.db
 -rw-r--r-- 1 root root 512M 2011-04-05 16:44 
 /cassandra/data/table_userentries/table_userentries-tmp-f-3521-Index.db
 -rw-r--r-- 1 root root  13G 2011-04-05 16:55 
 /cassandra/data/table_userentries/table_userentries-tmp-f-3527-Data.db
 -rw-r--r-- 1 root root 512M 2011-04-05 16:55 
 /cassandra/data/table_userentries/table_userentries-tmp-f-3527-Index.db
 -rw-r--r-- 1 root root  13G 2011-04-05 17:05 
 /cassandra/data/table_userentries/table_userentries-tmp-f-3531-Data.db
 -rw-r--r-- 1 root root 512M 2011-04-05 17:06 
 /cassandra/data/table_userentries/table_userentries-tmp-f-3531-Index.db
 -rw-r--r-- 1 root root  13G 2011-04-05 17:16 
 /cassandra/data/table_userentries/table_userentries-tmp-f-3535-Data.db
 -rw-r--r-- 1 root root 512M 2011-04-05 17:16 
 /cassandra/data/table_userentries/table_userentries-tmp-f-3535-Index.db
 -rw-r--r-- 1 root root  13G 2011-04-05 17:28 
 /cassandra/data/table_userentries/table_userentries-tmp-f-3540-Data.db
 -rw-r--r-- 1 root root 512M 2011-04-05 17:28 
 /cassandra/data/table_userentries/table_userentries-tmp-f-3540-Index.db
 -rw-r--r-- 1 root root  13G 2011-04-05 17:39 
 /cassandra/data/table_userentries/table_userentries-tmp-f-3545-Data.db
 -rw-r--r-- 1 root root 512M 2011-04-05 17:40 
 

[jira] [Updated] (CASSANDRA-1983) Make sstable filenames contain a UUID instead of increasing integer

2011-04-29 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-1983:
--

Affects Version/s: (was: 0.7.0)
Fix Version/s: (was: 1.0)

 Make sstable filenames contain a UUID instead of increasing integer
 ---

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

 sstable filenames look like CFName-1569-Index.db, containing an integer for 
 uniqueness. This makes it possible (however unlikely) that the integer could 
 overflow, which could be a problem. It also makes it difficult to collapse 
 multiple nodes into a single one with rsync. I do this occasionally for 
 testing: I'll copy our 20 node cluster into only 3 nodes by copying all of 
 the data files and running cleanup; at present this requires a manual step of 
 uniqifying the overlapping sstable names. If instead of an incrementing 
 integer, it would be handy if these contained a UUID or somesuch that 
 guarantees uniqueness across the cluster.

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


[jira] [Commented] (CASSANDRA-2558) Add concurrent_compactions configuration

2011-04-29 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-2558:
-

The thing is, ThreadPoolExecutor throws an IllegalArgumentException if 
maxPoolSize is 0. So I do agree that having concurrent_compactors=0 disable 
compaction would be coherent, but is it worth the extra code that will be 
needed (I don't see a super easy way to do this right off the bat) ? And after 
all disabling compaction is not something we want to encourage.

An alternative would be to simply throw a ConfigurationException if the 
provided number is = 0, if what we want is avoiding silent correction.

 Add concurrent_compactions configuration
 --

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

 Attachments: 0001-Make-compaction-thread-number-configurable.patch

   Original Estimate: 2h
  Remaining Estimate: 2h

 We should expose a way to configure the max number of thread to use when 
 multi_threaded compaction is turned on. So far, it uses nb_of_processors 
 thread, which if you have many cores may be unreasonably high (as far as 
 random IO is concerned and thus independently of compaction throttling)... at 
 least unless you have SSD.

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


[jira] [Resolved] (CASSANDRA-2544) build produces unneeded/confusing checksum files

2011-04-29 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne resolved CASSANDRA-2544.
-

Resolution: Won't Fix

 build produces unneeded/confusing checksum files
 

 Key: CASSANDRA-2544
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2544
 Project: Cassandra
  Issue Type: Bug
  Components: Packaging, Tools
Affects Versions: 0.7.5
Reporter: Eric Evans
Assignee: Stephen Connolly

 The artifacts recently created for 0.7.5 (vote pending), have checksum files 
 generated for the signatures (apache-cassandra-0.7.5-bin.tar.gz.asc.md5, 
 apache-cassandra-0.7.5-bin.tar.gz.asc.sha1, 
 apache-cassandra-0.7.5-src.tar.gz.asc.md5, and 
 apache-cassandra-0.7.5-src.tar.gz.asc.sha1).  These should be removed.

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


[jira] [Commented] (CASSANDRA-2558) Add concurrent_compactions configuration

2011-04-29 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2558:
---

bq. An alternative would be to simply throw a ConfigurationException if the 
provided number is = 0, if what we want is avoiding silent correction.

Sounds good.

 Add concurrent_compactions configuration
 --

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

 Attachments: 0001-Make-compaction-thread-number-configurable.patch

   Original Estimate: 2h
  Remaining Estimate: 2h

 We should expose a way to configure the max number of thread to use when 
 multi_threaded compaction is turned on. So far, it uses nb_of_processors 
 thread, which if you have many cores may be unreasonably high (as far as 
 random IO is concerned and thus independently of compaction throttling)... at 
 least unless you have SSD.

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


[jira] [Assigned] (CASSANDRA-2476) CQL support for column TTLs

2011-04-29 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis reassigned CASSANDRA-2476:
-

Assignee: Pavel Yaskevich

Syntax ideas?

I'd be fine with just making this another USING clause.  Usually you want all 
the columns in a single update to have the same TTL; if you don't, you can 
always break it into a batch.

 CQL support for column TTLs
 ---

 Key: CASSANDRA-2476
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2476
 Project: Cassandra
  Issue Type: Sub-task
  Components: API, Core
Reporter: Eric Evans
Assignee: Pavel Yaskevich
 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-2476) CQL support for column TTLs

2011-04-29 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-2476:


USING TTL number seems reasonable to me also.

 CQL support for column TTLs
 ---

 Key: CASSANDRA-2476
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2476
 Project: Cassandra
  Issue Type: Sub-task
  Components: API, Core
Reporter: Eric Evans
Assignee: Pavel Yaskevich
 Fix For: 0.8.1




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


[jira] [Assigned] (CASSANDRA-2473) CQL support for counters

2011-04-29 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis reassigned CASSANDRA-2473:
-

Assignee: Pavel Yaskevich

IMO the most natural way to express this is to start to allow the syntax

UPDATE foo SET X = X + N WHERE key = K;

(for counter column X)

The alternatives would be to represent it as a procedure call:

SELECT increment(foo, K, X, N);

I don't like that much though, since it's a semantic mismatch (there is no 
actual function named increment involved). I'd rather save that for when we 
actually introduce functions/stored procedures.

 CQL support for counters
 

 Key: CASSANDRA-2473
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2473
 Project: Cassandra
  Issue Type: Sub-task
  Components: API, Core
Reporter: Eric Evans
Assignee: Pavel Yaskevich
 Fix For: 1.0




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


[jira] [Created] (CASSANDRA-2583) optimize batches containing multiple updates to the same rows

2011-04-29 Thread Jonathan Ellis (JIRA)
optimize batches containing multiple updates to the same rows
-

 Key: CASSANDRA-2583
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2583
 Project: Cassandra
  Issue Type: Improvement
  Components: API
Affects Versions: 0.8 beta 1
Reporter: Jonathan Ellis
Assignee: Pavel Yaskevich
Priority: Minor
 Fix For: 0.8.1


Currently we turn batches into one RowMutation per statement. This is 
suboptimal if we have multiple statements operating on the same row. This could 
happen either with generated code, or deliberately to allow different options 
to different columns in the row, e.g. for TTLs (CASSANDRA-2476).

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


[jira] [Commented] (CASSANDRA-2558) Add concurrent_compactions configuration

2011-04-29 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2558:
---

+1

 Add concurrent_compactions configuration
 --

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

 Attachments: 
 0001-Make-compaction-thread-number-configurable-v2.patch, 
 0001-Make-compaction-thread-number-configurable.patch

   Original Estimate: 2h
  Remaining Estimate: 2h

 We should expose a way to configure the max number of thread to use when 
 multi_threaded compaction is turned on. So far, it uses nb_of_processors 
 thread, which if you have many cores may be unreasonably high (as far as 
 random IO is concerned and thus independently of compaction throttling)... at 
 least unless you have SSD.

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


svn commit: r1097843 - in /cassandra/branches/cassandra-0.7: CHANGES.txt src/java/org/apache/cassandra/db/migration/Migration.java

2011-04-29 Thread jbellis
Author: jbellis
Date: Fri Apr 29 15:35:18 2011
New Revision: 1097843

URL: http://svn.apache.org/viewvc?rev=1097843view=rev
Log:
refuse to apply migrations with older timestamps than the current schema
patch by Tyler Hobbs; reviewed by jbellis and gdusbabek for CASSANDRA-2536

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

cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/migration/Migration.java

Modified: cassandra/branches/cassandra-0.7/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/CHANGES.txt?rev=1097843r1=1097842r2=1097843view=diff
==
--- cassandra/branches/cassandra-0.7/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.7/CHANGES.txt Fri Apr 29 15:35:18 2011
@@ -4,6 +4,8 @@
  * fix incorrect use of NBHM.size in ReadCallback that could cause
reads to time out even when responses were received (CASSAMDRA-2552)
  * trigger read repair correctly for LOCAL_QUORUM reads (CASSANDRA-2556)
+ * refuse to apply migrations with older timestamps than the current 
+   schema (CASSANDRA-2536)
 
 
 0.7.5

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/migration/Migration.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/migration/Migration.java?rev=1097843r1=1097842r2=1097843view=diff
==
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/migration/Migration.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/migration/Migration.java
 Fri Apr 29 15:35:18 2011
@@ -98,6 +98,8 @@ public abstract class Migration
 // ensure migration is serial. don't apply unless the previous version 
matches.
 if (!DatabaseDescriptor.getDefsVersion().equals(lastVersion))
 throw new ConfigurationException(Previous version mismatch. 
cannot apply.);
+if (newVersion.timestamp() = lastVersion.timestamp())
+throw new ConfigurationException(New version timestamp is not 
newer than the current version timestamp.);
 // write to schema
 assert rm != null;
 if (!clientMode)




svn commit: r1097845 - in /cassandra/branches/cassandra-0.8: ./ contrib/ interface/thrift/gen-java/org/apache/cassandra/thrift/ src/java/org/apache/cassandra/db/migration/

2011-04-29 Thread jbellis
Author: jbellis
Date: Fri Apr 29 15:38:17 2011
New Revision: 1097845

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

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

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

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

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

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

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

cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/migration/Migration.java

Propchange: cassandra/branches/cassandra-0.8/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 29 15:38:17 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7:1026516-1096531,1096805,1097448,1097455
+/cassandra/branches/cassandra-0.7:1026516-1096531,1096805,1097448,1097455,1097843
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689
 /cassandra/trunk:1090978-1090979

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1097845r1=1097844r2=1097845view=diff
==
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Fri Apr 29 15:38:17 2011
@@ -14,6 +14,8 @@
  * forceUserDefinedCompaction will attempt to compact what it is given
even if the pessimistic estimate is that there is not enough disk space;
automatic compactions will only compact 2 or more sstables (CASSANDRA-2575)
+ * refuse to apply migrations with older timestamps than the current 
+   schema (CASSANDRA-2536)
 
 
 0.8.0-beta1

Propchange: cassandra/branches/cassandra-0.8/contrib/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 29 15:38:17 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/contrib:922689-1052356,1052358-1053452,1053454,1053456-1068009
-/cassandra/branches/cassandra-0.7/contrib:1026516-1096531,1096805,1097448,1097455
+/cassandra/branches/cassandra-0.7/contrib:1026516-1096531,1096805,1097448,1097455,1097843
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
 /cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689
 /cassandra/trunk/contrib:1090978-1090979

Propchange: 
cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 29 15:38:17 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1096531,1096805,1097448,1097455
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1096531,1096805,1097448,1097455,1097843
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1053690-1055654
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1051699-1053689
 
/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090978-1090979

Propchange: 
cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 29 15:38:17 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1096531,1096805,1097448,1097455
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1096531,1096805,1097448,1097455,1097843
 

[jira] [Commented] (CASSANDRA-2473) CQL support for counters

2011-04-29 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-2473:
-

I agree with using native syntax, not a procedure call. But maybe
  UPDATE foo SET X += N WHERE key = K;
would make it more clear that you can really only increment X, not set any 
value you want (it's easy to check and reject the request, but I like it when 
the syntax make is easy to not screw up)

 CQL support for counters
 

 Key: CASSANDRA-2473
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2473
 Project: Cassandra
  Issue Type: Sub-task
  Components: API, Core
Reporter: Eric Evans
Assignee: Pavel Yaskevich
 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-2473) CQL support for counters

2011-04-29 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-2473:


I agree with Sylvain on this.

 CQL support for counters
 

 Key: CASSANDRA-2473
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2473
 Project: Cassandra
  Issue Type: Sub-task
  Components: API, Core
Reporter: Eric Evans
Assignee: Pavel Yaskevich
 Fix For: 1.0




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


[jira] [Updated] (CASSANDRA-2581) Rebuffer called excessively during seeks

2011-04-29 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-2581:
--

Attachment: 2581.txt

 Rebuffer called excessively during seeks
 

 Key: CASSANDRA-2581
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2581
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.7.3
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Fix For: 0.7.6, 0.8.1

 Attachments: 0001-Rebuffer-called-excessively-during-seeks.patch, 
 2581.txt


 When doing an strace tonight, I noticed during memtable flushes that we were 
 only writing 1KB per every write() system call...After diving more into it, 
 it's because of a bug in the seek() code. 
 if (newPosition = bufferOffset + validBufferBytes || newPosition  
 bufferOffset)
 vs.
 if (newPosition  (bufferOffset + validBufferBytes) || newPosition  
 bufferOffset)
 Two things I noticed, we shouldn't need to rebuffer if newPosition is equal 
 to bufferOffset + validBufferBytes, second the evaluation was doing 
 (newPosition = bufferOffset) + validBufferBytes which always seemed to be 
 true.

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


[jira] [Updated] (CASSANDRA-2581) Rebuffer called excessively during seeks

2011-04-29 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-2581:
--

 Reviewer: xedin
Affects Version/s: (was: 0.8.1)
   0.7.3
Fix Version/s: 0.8.1
   0.7.6

bq. we shouldn't need to rebuffer if newPosition is equal to bufferOffset + 
validBufferBytes

I think that is correct, patch attached. I will ask Pavel to also review since 
this is extremely important not to break.

bq. second the evaluation was doing (newPosition = bufferOffset) + 
validBufferBytes

No, addition is higher precedence than comparison (or the logical operations). 
In fact if you force the grouping you suggest, javac will reject it since you 
cannot add a boolean and an int.

 Rebuffer called excessively during seeks
 

 Key: CASSANDRA-2581
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2581
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.7.3
Reporter: Chris Goffinet
Assignee: Chris Goffinet
Priority: Minor
 Fix For: 0.7.6, 0.8.1

 Attachments: 0001-Rebuffer-called-excessively-during-seeks.patch, 
 2581.txt


 When doing an strace tonight, I noticed during memtable flushes that we were 
 only writing 1KB per every write() system call...After diving more into it, 
 it's because of a bug in the seek() code. 
 if (newPosition = bufferOffset + validBufferBytes || newPosition  
 bufferOffset)
 vs.
 if (newPosition  (bufferOffset + validBufferBytes) || newPosition  
 bufferOffset)
 Two things I noticed, we shouldn't need to rebuffer if newPosition is equal 
 to bufferOffset + validBufferBytes, second the evaluation was doing 
 (newPosition = bufferOffset) + validBufferBytes which always seemed to be 
 true.

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


svn commit: r1097870 - in /cassandra/branches/cassandra-0.8: ./ contrib/ interface/thrift/gen-java/org/apache/cassandra/thrift/ tools/stress/src/org/apache/cassandra/stress/operations/

2011-04-29 Thread jbellis
Author: jbellis
Date: Fri Apr 29 16:24:07 2011
New Revision: 1097870

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

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

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

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

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

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

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

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

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

Propchange: cassandra/branches/cassandra-0.8/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 29 16:24:07 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7:1026516-1096531,1096805,1097448,1097455,1097843
+/cassandra/branches/cassandra-0.7:1026516-1096531,1096805,1097448,1097455,1097668,1097843
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689
 /cassandra/trunk:1090978-1090979

Propchange: cassandra/branches/cassandra-0.8/contrib/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 29 16:24:07 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/contrib:922689-1052356,1052358-1053452,1053454,1053456-1068009
-/cassandra/branches/cassandra-0.7/contrib:1026516-1096531,1096805,1097448,1097455,1097843
+/cassandra/branches/cassandra-0.7/contrib:1026516-1096531,1096805,1097448,1097455,1097668,1097843
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
 /cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689
 /cassandra/trunk/contrib:1090978-1090979

Propchange: 
cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 29 16:24:07 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1096531,1096805,1097448,1097455,1097843
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1096531,1096805,1097448,1097455,1097668,1097843
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1053690-1055654
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1051699-1053689
 
/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090978-1090979

Propchange: 
cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 29 16:24:07 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1096531,1096805,1097448,1097455,1097843
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1096531,1096805,1097448,1097455,1097668,1097843
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1053690-1055654
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1051699-1053689
 
/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1090978-1090979

Propchange: 
cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 29 16:24:07 2011
@@ -1,5 +1,5 @@
 

[jira] [Commented] (CASSANDRA-2571) Check for null super column for SC CF in ThriftValidation (and always validate the sc key)

2011-04-29 Thread Hudson (JIRA)

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

Hudson commented on CASSANDRA-2571:
---

Integrated in Cassandra-0.7 #463 (See 
[https://builds.apache.org/hudson/job/Cassandra-0.7/463/])
Reject queries with missing mandatory super column and always validate 
super column name
patch by jbellis and slebresne for CASSANDRA-2571


 Check for null super column for SC CF in ThriftValidation (and always 
 validate the sc key)
 --

 Key: CASSANDRA-2571
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2571
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.7.0, 0.8 beta 1
Reporter: Mike Bulman
Assignee: Sylvain Lebresne
 Fix For: 0.7.6, 0.8.0

 Attachments: 0001-Improve-ThriftValidation.patch, 2571.txt


 Run the following via cli:
 {noformat}
 [default@test] use test;
 Authenticated to keyspace: test
 [default@test] create column family super with column_type=Super and 
 default_validation_class=CounterColumnType;
 d41df8e0-7055-11e0--242d50cf1fbf
 Waiting for schema agreement...
 ... schemas agree across the cluster
 [default@test] incr super['0']['0'];
 Value incremented.
 [default@test] incr super['0']['0']['0'];
 null
 {noformat}
 Obviously the first incr call is invalid, even though it reports otherwise, 
 as well as generates this exception:
 {noformat}
 ERROR 17:38:05,871 Fatal exception in thread Thread[COMMIT-LOG-WRITER,5,main]
 java.lang.RuntimeException: java.lang.ClassCastException: 
 org.apache.cassandra.db.CounterColumn cannot be cast to 
 org.apache.cassandra.db.SuperColumn
 at 
 org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:34)
 at java.lang.Thread.run(Thread.java:636)
 Caused by: java.lang.ClassCastException: 
 org.apache.cassandra.db.CounterColumn cannot be cast to 
 org.apache.cassandra.db.SuperColumn
 at 
 org.apache.cassandra.db.SuperColumnSerializer.serialize(SuperColumn.java:353)
 at 
 org.apache.cassandra.db.SuperColumnSerializer.serialize(SuperColumn.java:337)
 at 
 org.apache.cassandra.db.ColumnFamilySerializer.serializeForSSTable(ColumnFamilySerializer.java:88)
 at 
 org.apache.cassandra.db.ColumnFamilySerializer.serialize(ColumnFamilySerializer.java:74)
 at 
 org.apache.cassandra.db.RowMutation$RowMutationSerializer.serialize(RowMutation.java:353)
 at 
 org.apache.cassandra.db.RowMutation.getSerializedBuffer(RowMutation.java:236)
 at 
 org.apache.cassandra.db.commitlog.CommitLogSegment.write(CommitLogSegment.java:111)
 at 
 org.apache.cassandra.db.commitlog.CommitLog$LogRecordAdder.run(CommitLog.java:480)
 at 
 org.apache.cassandra.db.commitlog.PeriodicCommitLogExecutorService$1.runMayThrow(PeriodicCommitLogExecutorService.java:49)
 at 
 org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
 ... 1 more
 {noformat}
 But the second, proper incr call results in a bunch of exceptions and not a 
 real increment.

--
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-04-29 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/1291

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

Buildslave for this Build: isis_ubuntu

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

Build succeeded!

sincerely,
 -The Buildbot



svn commit: r1097887 - in /cassandra/branches/cassandra-0.8: ./ conf/ src/java/org/apache/cassandra/config/ src/java/org/apache/cassandra/db/

2011-04-29 Thread slebresne
Author: slebresne
Date: Fri Apr 29 17:00:26 2011
New Revision: 1097887

URL: http://svn.apache.org/viewvc?rev=1097887view=rev
Log:
Add option to configure number of compaction thread
patch by slebresne; reviewed by stuhood and jbellis for CASSANDRA-2558

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

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

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

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

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1097887r1=1097886r2=1097887view=diff
==
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Fri Apr 29 17:00:26 2011
@@ -16,6 +16,7 @@
automatic compactions will only compact 2 or more sstables (CASSANDRA-2575)
  * refuse to apply migrations with older timestamps than the current 
schema (CASSANDRA-2536)
+ * Allow configuring the number of compaction thread (CASSANDRA-2558)
 
 
 0.8.0-beta1

Modified: cassandra/branches/cassandra-0.8/conf/cassandra.yaml
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/conf/cassandra.yaml?rev=1097887r1=1097886r2=1097887view=diff
==
--- cassandra/branches/cassandra-0.8/conf/cassandra.yaml (original)
+++ cassandra/branches/cassandra-0.8/conf/cassandra.yaml Fri Apr 29 17:00:26 
2011
@@ -249,10 +249,15 @@ column_index_size_in_kb: 64
 # will be logged specifying the row key.
 in_memory_compaction_limit_in_mb: 64
 
-# Enables multiple compactions to execute at once. This is highly recommended
-# for preserving read performance in a mixed read/write workload as this
-# avoids sstables from accumulating during long running compactions.
-compaction_multithreading: false
+# Number of compaction threads. This default to the number of processors,
+# enabling multiple compactions to execute at once. Using more than one
+# thread is highly recommended to preserve read performance in a mixed
+# read/write workload as this avoids sstables from accumulating during long
+# running compactions. The default is usually fine and if you experience
+# problems with compaction running too slowly or too fast, you should look at
+# compaction_throughput_mb_per_sec first.
+# Uncomment to make compaction mono-threaded.
+#concurrent_compacters: 1
 
 # Throttles compaction to the given total throughput across the entire
 # system. The faster you insert data, the faster you need to compact in

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/config/Config.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/config/Config.java?rev=1097887r1=1097886r2=1097887view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/config/Config.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/config/Config.java
 Fri Apr 29 17:00:26 2011
@@ -82,7 +82,7 @@ public class Config
 /* if the size of columns or super-columns are more than this, indexing 
will kick in */
 public Integer column_index_size_in_kb = 64;
 public Integer in_memory_compaction_limit_in_mb = 256;
-public Boolean compaction_multithreading = true;
+public Integer concurrent_compactors = 
Runtime.getRuntime().availableProcessors();
 public Integer compaction_throughput_mb_per_sec = 16;
 
 public String[] data_file_directories;

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/config/DatabaseDescriptor.java?rev=1097887r1=1097886r2=1097887view=diff
==
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
 Fri Apr 29 17:00:26 2011
@@ -341,8 +341,11 @@ public class DatabaseDescriptor
 throw new 
ConfigurationException(in_memory_compaction_limit_in_mb must be a positive 
integer);
 }
 
-if (conf.compaction_multithreading == null)
-conf.compaction_multithreading = true;
+if (conf.concurrent_compactors == null)
+conf.concurrent_compactors = 
Runtime.getRuntime().availableProcessors();
+
+if (conf.concurrent_compactors = 0)
+throw new 

[jira] [Commented] (CASSANDRA-2576) Rewrite into new file post streaming

2011-04-29 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-2576:
-

Looks good, but I would want to remove the addition of the close() function to 
SSTableWriter (because it calls closeAndOpenReader). I fear people would be 
tempted to call close in a final block, which could remove the temporary 
marker, even though some error would have left the sstable corrupted. And as 
far as I can tell, this is a gratuitous addition, that has nothing to do with 
that patch.

Writing a new file was in the first versions of the counter patch and was 
changed for the space efficiency it provides (or at least I don't think there 
was another reason). Nevertheless I do agree that it is cleaner that way, so 
let's hope the temporary increased space needed won't bite anyone (since we 
delete the streamed file as soon as the new file is created, it's probably 
fine).

 Rewrite into new file post streaming
 

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

 Attachments: 
 0001-Don-t-depend-on-a-byte-for-byte-match-for-SSTable-rebu.txt, 
 0002-Rebuild-into-a-new-file-to-minimize-magic.txt


 Commutative/counter column families use a separate path to rebuild sstables 
 post streaming, and that path currently rewrites the data within the streamed 
 file. While this is great for space efficiency, it means a duplicated code 
 path for writing sstables, which makes it more difficult to make changes like 
 #674.

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


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

2011-04-29 Thread slebresne
Author: slebresne
Date: Fri Apr 29 17:09:26 2011
New Revision: 1097889

URL: http://svn.apache.org/viewvc?rev=1097889view=rev
Log:
merge CASSANDRA-2558 from 0.8

Modified:
cassandra/trunk/   (props changed)
cassandra/trunk/CHANGES.txt
cassandra/trunk/conf/cassandra.yaml
cassandra/trunk/contrib/   (props changed)

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

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

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

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

cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
   (props changed)
cassandra/trunk/src/java/org/apache/cassandra/config/Config.java
cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
cassandra/trunk/src/java/org/apache/cassandra/db/CompactionManager.java

Propchange: cassandra/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 29 17:09:26 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
 
/cassandra/branches/cassandra-0.7:1026516-1096531,1096805,1097448,1097455,1097852
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
-/cassandra/branches/cassandra-0.8:1090935-1097471,1097883
+/cassandra/branches/cassandra-0.8:1090935-1097471,1097883,1097887
 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689
 /incubator/cassandra/branches/cassandra-0.3:774578-796573
 /incubator/cassandra/branches/cassandra-0.4:810145-834239,834349-834350

Modified: cassandra/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/CHANGES.txt?rev=1097889r1=1097888r2=1097889view=diff
==
--- cassandra/trunk/CHANGES.txt (original)
+++ cassandra/trunk/CHANGES.txt Fri Apr 29 17:09:26 2011
@@ -17,6 +17,7 @@
  * fix incorrect use of NBHM.size in ReadCallback that could cause
reads to time out even when responses were received (CASSAMDRA-2552)
  * trigger read repair correctly for LOCAL_QUORUM reads (CASSANDRA-2556)
+ * Allow configuring the number of compaction thread (CASSANDRA-2558)
 
 
 0.8.0-beta1

Modified: cassandra/trunk/conf/cassandra.yaml
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/conf/cassandra.yaml?rev=1097889r1=1097888r2=1097889view=diff
==
--- cassandra/trunk/conf/cassandra.yaml (original)
+++ cassandra/trunk/conf/cassandra.yaml Fri Apr 29 17:09:26 2011
@@ -249,10 +249,15 @@ column_index_size_in_kb: 64
 # will be logged specifying the row key.
 in_memory_compaction_limit_in_mb: 64
 
-# Enables multiple compactions to execute at once. This is highly recommended
-# for preserving read performance in a mixed read/write workload as this
-# avoids sstables from accumulating during long running compactions.
-compaction_multithreading: false
+# Number of compaction threads. This default to the number of processors,
+# enabling multiple compactions to execute at once. Using more than one
+# thread is highly recommended to preserve read performance in a mixed
+# read/write workload as this avoids sstables from accumulating during long
+# running compactions. The default is usually fine and if you experience
+# problems with compaction running too slowly or too fast, you should look at
+# compaction_throughput_mb_per_sec first.
+# Uncomment to make compaction mono-threaded.
+#concurrent_compacters: 1
 
 # Throttles compaction to the given total throughput across the entire
 # system. The faster you insert data, the faster you need to compact in

Propchange: cassandra/trunk/contrib/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 29 17:09:26 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-1096531,1096805,1097448,1097455,1097852
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
-/cassandra/branches/cassandra-0.8/contrib:1090935-1097471,1097883
+/cassandra/branches/cassandra-0.8/contrib:1090935-1097471,1097883,1097887
 /cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689
 /incubator/cassandra/branches/cassandra-0.3/contrib:774578-796573
 
/incubator/cassandra/branches/cassandra-0.4/contrib:810145-810987,810994-834239,834349-834350

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
--
--- svn:mergeinfo (original)

svn commit: r1097892 - /cassandra/branches/cassandra-0.7/build.xml

2011-04-29 Thread slebresne
Author: slebresne
Date: Fri Apr 29 17:23:01 2011
New Revision: 1097892

URL: http://svn.apache.org/viewvc?rev=1097892view=rev
Log:
Deploy parent POM to maven central
patch by stephenc for CASSANDRA-2562

Modified:
cassandra/branches/cassandra-0.7/build.xml

Modified: cassandra/branches/cassandra-0.7/build.xml
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/build.xml?rev=1097892r1=1097891r2=1097892view=diff
==
--- cassandra/branches/cassandra-0.7/build.xml (original)
+++ cassandra/branches/cassandra-0.7/build.xml Fri Apr 29 17:23:01 2011
@@ -280,6 +280,7 @@ url=${svn.entry.url}?pathrev=${svn.entry
 groupId=org.apache.cassandra
 artifactId=cassandra-parent
 version=${version}
+packaging=pom
 url=http://cassandra.apache.org;
 name=Apache Cassandra
 inceptionYear=2009
@@ -472,6 +473,7 @@ url=${svn.entry.url}?pathrev=${svn.entry
 
 target name=maven-write-poms depends=maven-declare-dependencies 
description=Create Maven POM files
   artifact:writepom pomRefId=all-pom 
file=${build.dir}/${final.name}.pom/
+  artifact:writepom pomRefId=parent-pom 
file=${build.dir}/${final.name}-parent.pom/
   artifact:writepom pomRefId=dist-pom 
file=${build.dir}/${final.name}-dist.pom/
 /target
 
@@ -1114,6 +1116,11 @@ url=${svn.entry.url}?pathrev=${svn.entry
   depends=mvn-install
   if=release
   description=Publishes the artifacts to the Maven repository
+!-- the parent pom --
+deploy pomFile=${build.dir}/${final.name}-parent.pom
+file=${build.dir}/${final.name}-parent.pom
+packaging=pom/
+
 !-- the distribution --
 deploy pomFile=${build.dir}/${final.name}-dist.pom
 file=${build.dir}/${final.name}-dist.pom




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

2011-04-29 Thread slebresne
Author: slebresne
Date: Fri Apr 29 17:26:23 2011
New Revision: 1097893

URL: http://svn.apache.org/viewvc?rev=1097893view=rev
Log:
merge --record-only of CASSANDRA-2562 from 0.7

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

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

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

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

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

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

Propchange: cassandra/branches/cassandra-0.8/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 29 17:26:23 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7:1026516-1096531,1096805,1097448,1097455,1097668,1097843,1097852
+/cassandra/branches/cassandra-0.7:1026516-1096531,1096805,1097448,1097455,1097668,1097843,1097852,1097892
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689
 /cassandra/trunk:1090978-1090979

Propchange: cassandra/branches/cassandra-0.8/contrib/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 29 17:26:23 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/contrib:922689-1052356,1052358-1053452,1053454,1053456-1068009
-/cassandra/branches/cassandra-0.7/contrib:1026516-1096531,1096805,1097448,1097455,1097668,1097843,1097852
+/cassandra/branches/cassandra-0.7/contrib:1026516-1096531,1096805,1097448,1097455,1097668,1097843,1097852,1097892
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
 /cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689
 /cassandra/trunk/contrib:1090978-1090979

Propchange: 
cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 29 17:26:23 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1096531,1096805,1097448,1097455,1097668,1097843,1097852
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1096531,1096805,1097448,1097455,1097668,1097843,1097852,1097892
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1053690-1055654
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1051699-1053689
 
/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090978-1090979

Propchange: 
cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 29 17:26:23 2011
@@ -1,5 +1,5 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1096531,1096805,1097448,1097455,1097668,1097843,1097852
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1096531,1096805,1097448,1097455,1097668,1097843,1097852,1097892
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1053690-1055654
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1051699-1053689
 
/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1090978-1090979

Propchange: 
cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 29 17:26:23 2011
@@ -1,5 +1,5 @@
 

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

2011-04-29 Thread slebresne
Author: slebresne
Date: Fri Apr 29 17:28:13 2011
New Revision: 1097894

URL: http://svn.apache.org/viewvc?rev=1097894view=rev
Log:
merge records of CASSANDRA-2562 from 0.8

Modified:
cassandra/trunk/   (props changed)
cassandra/trunk/contrib/   (props changed)

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

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

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

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

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

Propchange: cassandra/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 29 17:28:13 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7:1026516-1096531,1096805,1097448,1097455,1097852
+/cassandra/branches/cassandra-0.7:1026516-1096531,1096805,1097448,1097455,1097852,1097892
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
-/cassandra/branches/cassandra-0.8:1090935-1097471,1097883,1097887
+/cassandra/branches/cassandra-0.8:1090935-1097471,1097883,1097887,1097893
 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689
 /incubator/cassandra/branches/cassandra-0.3:774578-796573
 /incubator/cassandra/branches/cassandra-0.4:810145-834239,834349-834350

Propchange: cassandra/trunk/contrib/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 29 17:28:13 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-1096531,1096805,1097448,1097455,1097852
+/cassandra/branches/cassandra-0.7/contrib:1026516-1096531,1096805,1097448,1097455,1097852,1097892
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
-/cassandra/branches/cassandra-0.8/contrib:1090935-1097471,1097883,1097887
+/cassandra/branches/cassandra-0.8/contrib:1090935-1097471,1097883,1097887,1097893
 /cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689
 /incubator/cassandra/branches/cassandra-0.3/contrib:774578-796573
 
/incubator/cassandra/branches/cassandra-0.4/contrib:810145-810987,810994-834239,834349-834350

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 29 17:28:13 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1096531,1096805,1097448,1097455,1097852
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1096531,1096805,1097448,1097455,1097852,1097892
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090935-1097471,1097883,1097887
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090935-1097471,1097883,1097887,1097893
 
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1051699-1053689
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/Cassandra.java:774578-796573
 
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/Cassandra.java:810145-834239,834349-834350

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 29 17:28:13 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-1081914,1083000
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1096531,1096805,1097448,1097455,1097852
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1096531,1096805,1097448,1097455,1097852,1097892
 

[jira] [Resolved] (CASSANDRA-2562) Parent POM does not get deployed to the maven repository

2011-04-29 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne resolved CASSANDRA-2562.
-

Resolution: Fixed
  Assignee: Stephen Connolly

Committed

 Parent POM does not get deployed to the maven repository
 

 Key: CASSANDRA-2562
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2562
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.7.5
Reporter: Stephen Connolly
Assignee: Stephen Connolly
 Fix For: 0.7.6

 Attachments: CASSANDRA-2562.patch, CASSANDRA-2562.patch


 The parent pom does not get deployed to the Maven Central
 (for 0.7.5 I am fixing this by hand)

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


[jira] [Created] (CASSANDRA-2584) When disabling or reducing compaction frequency, CopactionManager still shows frequent activity

2011-04-29 Thread Patricio Echague (JIRA)
When disabling or reducing compaction frequency, CopactionManager still shows 
frequent activity
---

 Key: CASSANDRA-2584
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2584
 Project: Cassandra
  Issue Type: Improvement
Reporter: Patricio Echague
Priority: Trivial


I was playing with different set of configurations to test performance. One of 
those was with compaction disabled.

besides the fact that it is a bad practice to disable compaction, even when I 
did disable it, JConsole CompactionManager#completedTasks showed 30 tasks 
completed during the duration of my test.

I think it would be good to stop the tasks from being executed. It looks like 
the executor is still executing the tasks with NO-OP.

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


[jira] [Commented] (CASSANDRA-2555) Explicit timestamp support for CQL

2011-04-29 Thread Hudson (JIRA)

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

Hudson commented on CASSANDRA-2555:
---

Integrated in Cassandra #872 (See 
[https://builds.apache.org/hudson/job/Cassandra/872/])


 Explicit timestamp support for CQL
 --

 Key: CASSANDRA-2555
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2555
 Project: Cassandra
  Issue Type: Improvement
  Components: API
Reporter: Jonathan Ellis
Assignee: Pavel Yaskevich
 Fix For: 0.8.1

 Attachments: CASSANDRA-2555-v2.patch, CASSANDRA-2555.patch


 To make CQL BATCHes useful for the normal purpose of idempotent retries, we 
 need to add  support for client-supplied timestamps.  At a minimum this needs 
 to be available for a batch (BEGIN BATCH USING TIMESTAMP 1303743619771318) 
 but might also be nice at the statement level (UPDATE ... USING TIMESTAMP 
 ...).

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


[jira] [Commented] (CASSANDRA-2558) Add concurrent_compactions configuration

2011-04-29 Thread Hudson (JIRA)

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

Hudson commented on CASSANDRA-2558:
---

Integrated in Cassandra #872 (See 
[https://builds.apache.org/hudson/job/Cassandra/872/])
merge CASSANDRA-2558 from 0.8


 Add concurrent_compactions configuration
 --

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

 Attachments: 
 0001-Make-compaction-thread-number-configurable-v2.patch, 
 0001-Make-compaction-thread-number-configurable.patch

   Original Estimate: 2h
  Remaining Estimate: 2h

 We should expose a way to configure the max number of thread to use when 
 multi_threaded compaction is turned on. So far, it uses nb_of_processors 
 thread, which if you have many cores may be unreasonably high (as far as 
 random IO is concerned and thus independently of compaction throttling)... at 
 least unless you have SSD.

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


[jira] [Commented] (CASSANDRA-2571) Check for null super column for SC CF in ThriftValidation (and always validate the sc key)

2011-04-29 Thread Hudson (JIRA)

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

Hudson commented on CASSANDRA-2571:
---

Integrated in Cassandra #872 (See 
[https://builds.apache.org/hudson/job/Cassandra/872/])
merge CASSANDRA-2571 from 0.8


 Check for null super column for SC CF in ThriftValidation (and always 
 validate the sc key)
 --

 Key: CASSANDRA-2571
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2571
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.7.0, 0.8 beta 1
Reporter: Mike Bulman
Assignee: Sylvain Lebresne
 Fix For: 0.7.6, 0.8.0

 Attachments: 0001-Improve-ThriftValidation.patch, 2571.txt


 Run the following via cli:
 {noformat}
 [default@test] use test;
 Authenticated to keyspace: test
 [default@test] create column family super with column_type=Super and 
 default_validation_class=CounterColumnType;
 d41df8e0-7055-11e0--242d50cf1fbf
 Waiting for schema agreement...
 ... schemas agree across the cluster
 [default@test] incr super['0']['0'];
 Value incremented.
 [default@test] incr super['0']['0']['0'];
 null
 {noformat}
 Obviously the first incr call is invalid, even though it reports otherwise, 
 as well as generates this exception:
 {noformat}
 ERROR 17:38:05,871 Fatal exception in thread Thread[COMMIT-LOG-WRITER,5,main]
 java.lang.RuntimeException: java.lang.ClassCastException: 
 org.apache.cassandra.db.CounterColumn cannot be cast to 
 org.apache.cassandra.db.SuperColumn
 at 
 org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:34)
 at java.lang.Thread.run(Thread.java:636)
 Caused by: java.lang.ClassCastException: 
 org.apache.cassandra.db.CounterColumn cannot be cast to 
 org.apache.cassandra.db.SuperColumn
 at 
 org.apache.cassandra.db.SuperColumnSerializer.serialize(SuperColumn.java:353)
 at 
 org.apache.cassandra.db.SuperColumnSerializer.serialize(SuperColumn.java:337)
 at 
 org.apache.cassandra.db.ColumnFamilySerializer.serializeForSSTable(ColumnFamilySerializer.java:88)
 at 
 org.apache.cassandra.db.ColumnFamilySerializer.serialize(ColumnFamilySerializer.java:74)
 at 
 org.apache.cassandra.db.RowMutation$RowMutationSerializer.serialize(RowMutation.java:353)
 at 
 org.apache.cassandra.db.RowMutation.getSerializedBuffer(RowMutation.java:236)
 at 
 org.apache.cassandra.db.commitlog.CommitLogSegment.write(CommitLogSegment.java:111)
 at 
 org.apache.cassandra.db.commitlog.CommitLog$LogRecordAdder.run(CommitLog.java:480)
 at 
 org.apache.cassandra.db.commitlog.PeriodicCommitLogExecutorService$1.runMayThrow(PeriodicCommitLogExecutorService.java:49)
 at 
 org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
 ... 1 more
 {noformat}
 But the second, proper incr call results in a bunch of exceptions and not a 
 real increment.

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


[jira] [Commented] (CASSANDRA-2452) New EC2 Snitch to use public ip and hence natively support for EC2 mult-region's.

2011-04-29 Thread Vijay (JIRA)

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

Vijay commented on CASSANDRA-2452:
--

Jonathan, yes it overlaps... the idea is to set the private and public address 
automatically via this patch In #2491 The broadcast address is just used 
for identification similarly to getLocalID()... i think this patch is less 
intrusive... but if we can commit the other patch i can port this to 
automatically set the broadcast address...

 New EC2 Snitch to use public ip and hence natively support for EC2 
 mult-region's.
 -

 Key: CASSANDRA-2452
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2452
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Affects Versions: 0.8 beta 1
 Environment: JVM
Reporter: Vijay
Assignee: Vijay
Priority: Minor
 Fix For: 0.8.1

 Attachments: 2452-EC2Snitch-Changes.txt, 
 2452-Intro-EC2MultiRegionSnitch-V2.txt


 Make cassandra talk identify itself using the public ip (To avoid any future 
 conflicts of private ips).
 1) Split the logic of identification vs listen Address in the code.
 2) Move the logic to assign IP address to the node into EndPointSnitch.
 3) Make EC2 Snitch query for its public ip and use it for identification.
 4) Make EC2 snitch to use InetAddress.getLocal to listen to the private ip.

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


[jira] [Commented] (CASSANDRA-2562) Parent POM does not get deployed to the maven repository

2011-04-29 Thread Hudson (JIRA)

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

Hudson commented on CASSANDRA-2562:
---

Integrated in Cassandra-0.7 #464 (See 
[https://builds.apache.org/hudson/job/Cassandra-0.7/464/])
Deploy parent POM to maven central
patch by stephenc for CASSANDRA-2562


 Parent POM does not get deployed to the maven repository
 

 Key: CASSANDRA-2562
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2562
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.7.5
Reporter: Stephen Connolly
Assignee: Stephen Connolly
 Fix For: 0.7.6

 Attachments: CASSANDRA-2562.patch, CASSANDRA-2562.patch


 The parent pom does not get deployed to the Maven Central
 (for 0.7.5 I am fixing this by hand)

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


[jira] [Commented] (CASSANDRA-2562) Parent POM does not get deployed to the maven repository

2011-04-29 Thread Hudson (JIRA)

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

Hudson commented on CASSANDRA-2562:
---

Integrated in Cassandra #873 (See 
[https://builds.apache.org/hudson/job/Cassandra/873/])
merge records of CASSANDRA-2562 from 0.8


 Parent POM does not get deployed to the maven repository
 

 Key: CASSANDRA-2562
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2562
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.7.5
Reporter: Stephen Connolly
Assignee: Stephen Connolly
 Fix For: 0.7.6

 Attachments: CASSANDRA-2562.patch, CASSANDRA-2562.patch


 The parent pom does not get deployed to the Maven Central
 (for 0.7.5 I am fixing this by hand)

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


[jira] [Commented] (CASSANDRA-2540) Data reads by default

2011-04-29 Thread Ryan King (JIRA)

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

Ryan King commented on CASSANDRA-2540:
--

Sylvain-

It don't think its the average performance that matters here, but the worse 
case. For our deployments we have latency targets at the 99th percentile. Some 
of those are quite low ( 10ms), so even a small number of requests that have 
to wait for the rpc timeout make our goals difficult, even if we lower the rpc 
timeout.

 Data reads by default
 -

 Key: CASSANDRA-2540
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2540
 Project: Cassandra
  Issue Type: Wish
Reporter: Stu Hood
Priority: Minor

 The intention of digest vs data reads is to save bandwidth in the read path 
 at the cost of latency, but I expect that this has been a premature 
 optimization.
 * Data requested by a read will often be within an order of magnitude of the 
 digest size, and a failed digest means extra roundtrips, more bandwidth
 * The [digest reads but not your data 
 read|https://issues.apache.org/jira/browse/CASSANDRA-2282?focusedCommentId=13004656page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13004656]
  problem means failing QUORUM reads because a single node is unavailable, and 
 would require eagerly re-requesting at some fraction of your timeout
 * Saving bandwidth in cross datacenter usecases comes at huge cost to 
 latency, but since both constraints change proportionally (enough), the 
 tradeoff is not clear
 Some options:
 # Add an option to use digest reads
 # Remove digest reads entirely (and/or punt and make them a runtime 
 optimization based on data size in the future)
 # Continue to use digest reads, but send them to {{N - R}} nodes for 
 (somewhat) more predicatable behavior with QUORUM
 \\
 The outcome of data-reads-by-default should be significantly improved 
 latency, with a moderate increase in bandwidth usage for large reads.

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


[jira] [Resolved] (CASSANDRA-2315) mmap segment underflow when building secondary index after joining ring

2011-04-29 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-2315.
---

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

I believe this is fixed by CASSANDRA-2283

 mmap segment underflow when building secondary index after joining ring
 ---

 Key: CASSANDRA-2315
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2315
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 0.7.3
Reporter: Matthew F. Dennis

 there was a 7 node ring (N0-N6) that was upgraded to 0.7.3
 all the data was scrubbed
 7 additional nodes were added (N7-N13) with no problems
 some compactions ran, some things were restarted (but there was no read/write 
 load)
 after a while 7 more nodes (N14-N20) were added
 all joined successfully except one
 that node was pulling data from one of the nodes in the N7-N13 set (i.e. a 
 node that got all it's data from the original nodes) 
 the EC2 instance that was running was completely destroyed, a new instance 
 created and the bootstrap attempted again but still failed
 {code}
 INFO [Thread-65] 2011-03-10 17:16:59,448 ColumnFamilyStore.java (line 377) 
 Index build of service_id, complete
 INFO [Thread-65] 2011-03-10 17:16:59,449 ColumnFamilyStore.java (line 359) 
 Submitting index build of service_id, for data in 
 SSTableReader(path='/mnt/cassandra/data/BackupifyMetadata/GoogleDocsMetadata-f-1-Data.db')
 INFO [Thread-75] 2011-03-10 17:17:45,757 ColumnFamilyStore.java (line 377) 
 Index build of service_id, complete
 INFO [Thread-75] 2011-03-10 17:17:45,767 ColumnFamilyStore.java (line 359) 
 Submitting index build of service_id, for data in 
 SSTableReader(path='/mnt/cassandra/data/BackupifyMetadata/GoogleDocsMetadata-f-2-Data.db'),
  
 SSTableReader(path='/mnt/cassandra/data/BackupifyMetadata/GoogleDocsMetadata-f-3-Data.db'),
  
 SSTableReader(path='/mnt/cassandra/data/BackupifyMetadata/GoogleDocsMetadata-f-4-Data.db'),
  
 SSTableReader(path='/mnt/cassandra/data/BackupifyMetadata/GoogleDocsMetadata-f-5-Data.db')
 INFO [ScheduledTasks:1] 2011-03-10 17:17:46,550 ColumnFamilyStore.java (line 
 1020) Enqueuing flush of 
 Memtable-GoogleDocsMetadata.736572766963655f6964@1078361799(353352 bytes, 
 4539 operations)
 INFO [FlushWriter:1] 2011-03-10 17:17:46,552 Memtable.java (line 157) Writing 
 Memtable-GoogleDocsMetadata.736572766963655f6964@1078361799(353352 bytes, 
 4539 operations)
 INFO [FlushWriter:1] 2011-03-10 17:17:46,736 Memtable.java (line 164) 
 Completed flushing 
 /mnt/cassandra/data/BackupifyMetadata/GoogleDocsMetadata.736572766963655f6964-f-1-Data.db
  (483139 bytes)
 INFO [Thread-65] 2011-03-10 17:18:04,278 ColumnFamilyStore.java (line 377) 
 Index build of service_id, complete
 INFO [Thread-65] 2011-03-10 17:18:04,279 ColumnFamilyStore.java (line 359) 
 Submitting index build of service_id, for data in 
 SSTableReader(path='/mnt/cassandra/data/BackupifyMetadata/BloggerMetadata-f-1-Data.db')
 ERROR [Thread-75] 2011-03-10 17:18:21,781 AbstractCassandraDaemon.java (line 
 114) Fatal exception in thread Thread[Thread-75,5,main]
 java.lang.RuntimeException: java.util.concurrent.ExecutionException: 
 java.lang.AssertionError: mmap segment underflow; remaining is 43239499 but 
 1768777055 requested
 at 
 org.apache.cassandra.db.ColumnFamilyStore.buildSecondaryIndexes(ColumnFamilyStore.java:375)
 at 
 org.apache.cassandra.streaming.StreamInSession.closeIfFinished(StreamInSession.java:159)
 at 
 org.apache.cassandra.streaming.IncomingStreamReader.read(IncomingStreamReader.java:63)
 at 
 org.apache.cassandra.net.IncomingTcpConnection.run(IncomingTcpConnection.java:91)
 Caused by: java.util.concurrent.ExecutionException: java.lang.AssertionError: 
 mmap segment underflow; remaining is 43239499 but 1768777055 requested
 at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
 at java.util.concurrent.FutureTask.get(FutureTask.java:83)
 at 
 org.apache.cassandra.db.ColumnFamilyStore.buildSecondaryIndexes(ColumnFamilyStore.java:365)
 ... 3 more
 Caused by: java.lang.AssertionError: mmap segment underflow; remaining is 
 43239499 but 1768777055 requested
 at 
 org.apache.cassandra.io.util.MappedFileDataInput.readBytes(MappedFileDataInput.java:119)
 at 
 org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:310)
 at 
 org.apache.cassandra.utils.ByteBufferUtil.readWithLength(ByteBufferUtil.java:267)
 at 
 org.apache.cassandra.db.ColumnSerializer.deserialize(ColumnSerializer.java:94)
 at 
 org.apache.cassandra.db.ColumnSerializer.deserialize(ColumnSerializer.java:35)
 at 
 

[jira] [Commented] (CASSANDRA-2129) removetoken after removetoken rf error fails to work

2011-04-29 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2129:
---

Possibly the same bug was reported on the user list: 
http://permalink.gmane.org/gmane.comp.db.cassandra.user/15803

 removetoken after removetoken rf error fails to work
 

 Key: CASSANDRA-2129
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2129
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.7.0
Reporter: Mike Bulman
Assignee: Brandon Williams
Priority: Minor
 Fix For: 0.7.6

 Attachments: 2129.txt

   Original Estimate: 4h
  Remaining Estimate: 4h

 2 node cluster, a keyspace existed with rf=2.  Tried removetoken and got:
 mbulman@ripcord-maverick1:/usr/src/cassandra/tags/cassandra-0.7.0$ 
 bin/nodetool -h localhost removetoken 159559397954378837828954138596956659794
 Exception in thread main java.lang.IllegalStateException: replication 
 factor (2) exceeds number of endpoints (1)
 Deleted the keyspace, and tried again:
 mbulman@ripcord-maverick1:/usr/src/cassandra/tags/cassandra-0.7.0$ 
 bin/nodetool -h localhost removetoken 159559397954378837828954138596956659794
 Exception in thread main java.lang.UnsupportedOperationException: This node 
 is already processing a removal. Wait for it to complete.

--
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-04-29 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2034:
---

bq. add a scheduled task

this is the wrong approach, as we found out when we tried something similar for 
read repair, which we fixed in CASSANDRA-2069.

Better would be to add a hook to messagingservice callback expiration, and fire 
hint recording from there if MS expires the callback before all acks are 
received.  (We could refactor the dynamic snitch latency update into a similar 
hook for reads.)

bq. This would need a separate executor for local writes that doesn't drop 
writes when it's behind

I'm more worried about this; there is the potential to take us back to the Bad 
Old Days when HH could cause cascading failure. (Of course the right answer is, 
Don't run your cluster so close to the edge of capacity, but we still want to 
degrade gracefully when this is ignored.)

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

   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] [Updated] (CASSANDRA-2487) Pig example script no longer working

2011-04-29 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-2487:
--

Reviewer: brandon.williams

 Pig example script no longer working
 

 Key: CASSANDRA-2487
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2487
 Project: Cassandra
  Issue Type: Bug
Reporter: Jeremy Hanna
Assignee: Jeremy Hanna
Priority: Minor
  Labels: hadoop, pig
 Fix For: 0.7.6

 Attachments: 2487.txt


 There is a strange error given when trying to run the example-script.pig.
 java.io.IOException: Type mismatch in key from map: expected 
 org.apache.pig.impl.io.NullableBytesWritable, recieved 
 org.apache.pig.impl.io.NullableText
   at 
 org.apache.hadoop.mapred.MapTask$MapOutputBuffer.collect(MapTask.java:870)
   at 
 org.apache.hadoop.mapred.MapTask$NewOutputCollector.write(MapTask.java:573)
   at 
 org.apache.hadoop.mapreduce.TaskInputOutputContext.write(TaskInputOutputContext.java:80)
   at 
 org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapReduce$Map.collect(PigMapReduce.java:116)
   at 
 org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapBase.runPipeline(PigMapBase.java:238)
   at 
 org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapBase.map(PigMapBase.java:231)
   at 
 org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapBase.map(PigMapBase.java:53)
   at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
   at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:646)
   at org.apache.hadoop.mapred.MapTask.run(MapTask.java:322)
   at 
 org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:210)
 Looks like it has to do with PIG-919 and PIG-1277.  For now we can just cast 
 the var as a chararray and it works though.  Will attach a patch.

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


svn commit: r1097922 - in /cassandra/branches/cassandra-0.7/contrib/pig: README.txt example-script.pig

2011-04-29 Thread brandonwilliams
Author: brandonwilliams
Date: Fri Apr 29 19:28:06 2011
New Revision: 1097922

URL: http://svn.apache.org/viewvc?rev=1097922view=rev
Log:
Update pig example script to work again.
Patch by Jeremy Hanna, reviewed by brandonwilliams for CASSANDRA-2487

Modified:
cassandra/branches/cassandra-0.7/contrib/pig/README.txt
cassandra/branches/cassandra-0.7/contrib/pig/example-script.pig

Modified: cassandra/branches/cassandra-0.7/contrib/pig/README.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/contrib/pig/README.txt?rev=1097922r1=1097921r2=1097922view=diff
==
--- cassandra/branches/cassandra-0.7/contrib/pig/README.txt (original)
+++ cassandra/branches/cassandra-0.7/contrib/pig/README.txt Fri Apr 29 19:28:06 
2011
@@ -18,17 +18,22 @@ also set PIG_CONF_DIR to the location of
 
 Finally, set the following as environment variables (uppercase,
 underscored), or as Hadoop configuration variables (lowercase, dotted):
-* PIG_RPC_PORT or cassandra.thrift.port : the port thrift is listening on 
 * PIG_INITIAL_ADDRESS or cassandra.thrift.address : initial address to connect 
to
+* PIG_RPC_PORT or cassandra.thrift.port : the port thrift is listening on
 * PIG_PARTITIONER or cassandra.partitioner.class : cluster partitioner
 
-Run:
+For example, against a local node with the default settings, you'd use:
+export PIG_INITIAL_ADDRESS=localhost
+export PIG_RPC_PORT=9160
+export PIG_PARTITIONER=org.apache.cassandra.dht.RandomPartitioner
+
+Then you can build and run it like this:
 
 contrib/pig$ ant
 contrib/pig$ bin/pig_cassandra -x local example-script.pig
 
 This will run the test script against your Cassandra instance
-and will assume that there is a Keyspace1/Standard1 with some
+and will assume that there is a MyKeyspace/MyColumnFamily with some
 data in it. It will run in local mode (see pig docs for more info).
 
 If you'd like to get to a 'grunt' shell prompt, run:
@@ -38,24 +43,24 @@ contrib/pig$ bin/pig_cassandra -x local
 Once the 'grunt' shell has loaded, try a simple program like the
 following, which will determine the top 50 column names:
 
-grunt rows = LOAD 'cassandra://Keyspace1/Standard1' USING CassandraStorage();
-grunt cols = FOREACH rows GENERATE flatten($1);
+grunt rows = LOAD 'cassandra://MyKeyspace/MyColumnFamily' USING 
CassandraStorage() AS (key, columns: bag {T: tuple(name, value)});
+grunt cols = FOREACH rows GENERATE flatten(columns);
 grunt colnames = FOREACH cols GENERATE $0;
-grunt namegroups = GROUP colnames BY $0;
+grunt namegroups = GROUP colnames BY (chararray) $0;
 grunt namecounts = FOREACH namegroups GENERATE COUNT($1), group;
 grunt orderednames = ORDER namecounts BY $0;
 grunt topnames = LIMIT orderednames 50;
 grunt dump topnames;
 
 Slices on columns can also be specified:
-grunt rows = LOAD 
'cassandra://Keyspace1/Standard1slice_start=C2slice_end=C4ilimit=1reversed=true'
 USING CassandraStorage();
+grunt rows = LOAD 
'cassandra://MyKeyspace/MyColumnFamilyslice_start=C2slice_end=C4ilimit=1reversed=true'
 USING CassandraStorage() AS (key, columns: bag {T: tuple(name, value)});
 
 Binary values for slice_start and slice_end can be escaped such as '\u0255'
 
 Outputting to Cassandra requires the same format from input, so the simplest 
example is:
 
-grunt rows = LOAD 'cassandra://Keyspace1/Standard1' USING CassandraStorage();
-grunt STORE rows into 'cassandra://Keyspace1/Standard2' USING 
CassandraStorage();
+grunt rows = LOAD 'cassandra://MyKeyspace/MyColumnFamily' USING 
CassandraStorage();
+grunt STORE rows into 'cassandra://MyKeyspace/MyColumnFamily' USING 
CassandraStorage();
 
 Which will copy the ColumnFamily.  Note that the destination ColumnFamily must
 already exist for this to work.

Modified: cassandra/branches/cassandra-0.7/contrib/pig/example-script.pig
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/contrib/pig/example-script.pig?rev=1097922r1=1097921r2=1097922view=diff
==
--- cassandra/branches/cassandra-0.7/contrib/pig/example-script.pig (original)
+++ cassandra/branches/cassandra-0.7/contrib/pig/example-script.pig Fri Apr 29 
19:28:06 2011
@@ -1,7 +1,7 @@
-rows = LOAD 'cassandra://Keyspace1/Standard1' USING CassandraStorage();
-cols = FOREACH rows GENERATE flatten($1);
+rows = LOAD 'cassandra://MyKeyspace/MyColumnFamily' USING CassandraStorage() 
AS (key, columns: bag {T: tuple(name, value)});
+cols = FOREACH rows GENERATE flatten(columns);
 colnames = FOREACH cols GENERATE $0;
-namegroups = GROUP colnames BY $0;
+namegroups = GROUP colnames BY (chararray) $0;
 namecounts = FOREACH namegroups GENERATE COUNT($1), group;
 orderednames = ORDER namecounts BY $0;
 topnames = LIMIT orderednames 50;




[jira] [Commented] (CASSANDRA-2118) Provide failure modes if issues with the underlying filesystem of a node

2011-04-29 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2118:
---

is this a complete patch?  i don't see FSReadError class anywhere or where we 
turn IOException (i assume) into FSRE.

 Provide failure modes if issues with the underlying filesystem of a node
 

 Key: CASSANDRA-2118
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2118
 Project: Cassandra
  Issue Type: Sub-task
Affects Versions: 0.8 beta 1
Reporter: Chris Goffinet
Assignee: Chris Goffinet
 Attachments: 
 0001-Provide-failure-modes-if-issues-with-the-underlying-.patch, 
 0001-Provide-failure-modes-if-issues-with-the-underlying-v2.patch, 
 0001-Provide-failure-modes-if-issues-with-the-underlying-v3.patch


 CASSANDRA-2116 introduces the ability to detect FS errors. Let's provide a 
 mode in cassandra.yaml so operators can decide that in the event of failure 
 what to do:
 1) standard - means continue on all errors (default)
 2) read - means only stop  gossip/rpc server if 'reads' fail from drive, 
 writes can fail but not kill gossip/rpc server
 3) readwrite - means stop gossip/rpc server if any read or write errors.

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


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

2011-04-29 Thread brandonwilliams
Author: brandonwilliams
Date: Fri Apr 29 19:43:33 2011
New Revision: 1097930

URL: http://svn.apache.org/viewvc?rev=1097930view=rev
Log:
Remove errant System.exit from stress so it can reuse keyspaces.
Patch by Pavel Yaskevich, reviewed by brandonwilliams for CASSANDRA-2580

Modified:

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

Modified: 
cassandra/branches/cassandra-0.8/tools/stress/src/org/apache/cassandra/stress/Session.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/tools/stress/src/org/apache/cassandra/stress/Session.java?rev=1097930r1=1097929r2=1097930view=diff
==
--- 
cassandra/branches/cassandra-0.8/tools/stress/src/org/apache/cassandra/stress/Session.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/tools/stress/src/org/apache/cassandra/stress/Session.java
 Fri Apr 29 19:43:33 2011
@@ -438,7 +438,6 @@ public class Session
 catch (InvalidRequestException e)
 {
 out.println(Unable to create stress keyspace:  + e.getWhy());
-System.exit(1);
 }
 catch (Exception e)
 {




[jira] [Updated] (CASSANDRA-1996) Add to the hadoop integration contrib stuff - more complicated set of text

2011-04-29 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-1996:
--

Fix Version/s: (was: 0.7.6)

 Add to the hadoop integration contrib stuff - more complicated set of text
 --

 Key: CASSANDRA-1996
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1996
 Project: Cassandra
  Issue Type: Improvement
  Components: Contrib, Hadoop
Reporter: Jeremy Hanna
Assignee: Jeremy Hanna
Priority: Trivial

 It would be nice to have a more complicated set of text to do the word count 
 over - perhaps a more interesting example too.  Based on CASSANDRA-1993, it 
 would be nice for sanity checking purposes as well.  This could be for the 
 word count example and perhaps have an easier way to test the pig and hadoop 
 output streaming examples as well.  I've noticed that I forget and people in 
 the channel don't get through the README for the Pig example - maybe there 
 are just too many steps and we could do better with the defaults.  Anyway, so 
 other improvement could go in this ticket as well.

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


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

2011-04-29 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-1740:
--

Fix Version/s: (was: 0.7.6)
   0.8.1

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

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

 Attachments: CASSANDRA-1740.patch

   Original Estimate: 24h
  Remaining Estimate: 24h

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

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


[jira] [Commented] (CASSANDRA-2487) Pig example script no longer working

2011-04-29 Thread Hudson (JIRA)

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

Hudson commented on CASSANDRA-2487:
---

Integrated in Cassandra-0.7 #465 (See 
[https://builds.apache.org/hudson/job/Cassandra-0.7/465/])
Update pig example script to work again.
Patch by Jeremy Hanna, reviewed by brandonwilliams for CASSANDRA-2487


 Pig example script no longer working
 

 Key: CASSANDRA-2487
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2487
 Project: Cassandra
  Issue Type: Bug
Reporter: Jeremy Hanna
Assignee: Jeremy Hanna
Priority: Minor
  Labels: hadoop, pig
 Fix For: 0.7.6

 Attachments: 2487.txt


 There is a strange error given when trying to run the example-script.pig.
 java.io.IOException: Type mismatch in key from map: expected 
 org.apache.pig.impl.io.NullableBytesWritable, recieved 
 org.apache.pig.impl.io.NullableText
   at 
 org.apache.hadoop.mapred.MapTask$MapOutputBuffer.collect(MapTask.java:870)
   at 
 org.apache.hadoop.mapred.MapTask$NewOutputCollector.write(MapTask.java:573)
   at 
 org.apache.hadoop.mapreduce.TaskInputOutputContext.write(TaskInputOutputContext.java:80)
   at 
 org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapReduce$Map.collect(PigMapReduce.java:116)
   at 
 org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapBase.runPipeline(PigMapBase.java:238)
   at 
 org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapBase.map(PigMapBase.java:231)
   at 
 org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapBase.map(PigMapBase.java:53)
   at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
   at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:646)
   at org.apache.hadoop.mapred.MapTask.run(MapTask.java:322)
   at 
 org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:210)
 Looks like it has to do with PIG-919 and PIG-1277.  For now we can just cast 
 the var as a chararray and it works though.  Will attach a patch.

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


[jira] [Resolved] (CASSANDRA-2520) use -z to test for empty variables to make sh and dash happy

2011-04-29 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-2520.
---

   Resolution: Not A Problem
Fix Version/s: (was: 0.7.6)
 Reviewer:   (was: cywjackson)
 Assignee: (was: Jackson Chung)

this isn't actually causing problems with dash that we've seen.

 use -z to test for empty variables to make sh and dash happy
 

 Key: CASSANDRA-2520
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2520
 Project: Cassandra
  Issue Type: Bug
  Components: Packaging
Reporter: Jonathan Ellis
Priority: Minor
 Attachments: 2520-0.7.txt




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


svn commit: r1097950 - /cassandra/branches/cassandra-0.8/test/distributed/org/apache/cassandra/TestBase.java

2011-04-29 Thread jbellis
Author: jbellis
Date: Fri Apr 29 20:52:58 2011
New Revision: 1097950

URL: http://svn.apache.org/viewvc?rev=1097950view=rev
Log:
add empty cf_defs list to satisfy thrift
patch by jbellis

Modified:

cassandra/branches/cassandra-0.8/test/distributed/org/apache/cassandra/TestBase.java

Modified: 
cassandra/branches/cassandra-0.8/test/distributed/org/apache/cassandra/TestBase.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/test/distributed/org/apache/cassandra/TestBase.java?rev=1097950r1=1097949r2=1097950view=diff
==
--- 
cassandra/branches/cassandra-0.8/test/distributed/org/apache/cassandra/TestBase.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/test/distributed/org/apache/cassandra/TestBase.java
 Fri Apr 29 20:52:58 2011
@@ -84,12 +84,11 @@ public abstract class TestBase
 Cassandra.Client client = controller.createClient(hosts.get(0));
 MapString,String stratOptions = new HashMapString,String();
 stratOptions.put(replication_factor,  + rf);
-client.system_add_keyspace(
-new KsDef(
-name,
-org.apache.cassandra.locator.SimpleStrategy,
-Arrays.asList(cfdef))
-.setStrategy_options(stratOptions));
+client.system_add_keyspace(new KsDef(name,
+ 
org.apache.cassandra.locator.SimpleStrategy,
+ Arrays.asList(cfdef))
+   
.setStrategy_options(stratOptions)
+   
.setCf_defs(Collections.CfDefemptyList()));
 
 // poll, until KS added
 for (InetAddress host : hosts)




svn commit: r1097952 - in /cassandra/trunk: ./ contrib/ interface/thrift/gen-java/org/apache/cassandra/thrift/ src/java/org/apache/cassandra/db/ src/java/org/apache/cassandra/db/migration/ test/distri

2011-04-29 Thread jbellis
Author: jbellis
Date: Fri Apr 29 20:59:49 2011
New Revision: 1097952

URL: http://svn.apache.org/viewvc?rev=1097952view=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/CompactionManager.java
cassandra/trunk/src/java/org/apache/cassandra/db/migration/Migration.java
cassandra/trunk/test/distributed/org/apache/cassandra/TestBase.java
cassandra/trunk/tools/stress/src/org/apache/cassandra/stress/Session.java

cassandra/trunk/tools/stress/src/org/apache/cassandra/stress/operations/IndexedRangeSlicer.java

cassandra/trunk/tools/stress/src/org/apache/cassandra/stress/operations/Inserter.java

Propchange: cassandra/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 29 20:59:49 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7:1026516-1096531,1096805,1097448,1097455,1097852,1097892
+/cassandra/branches/cassandra-0.7:1026516-1096531,1096805,1097448,1097455,1097668,1097843,1097852,1097892
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
-/cassandra/branches/cassandra-0.8:1090935-1097471,1097883,1097887,1097893
+/cassandra/branches/cassandra-0.8:1090935-1097951
 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689
 /incubator/cassandra/branches/cassandra-0.3:774578-796573
 /incubator/cassandra/branches/cassandra-0.4:810145-834239,834349-834350

Modified: cassandra/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/CHANGES.txt?rev=1097952r1=1097951r2=1097952view=diff
==
--- cassandra/trunk/CHANGES.txt (original)
+++ cassandra/trunk/CHANGES.txt Fri Apr 29 20:59:49 2011
@@ -18,6 +18,11 @@
reads to time out even when responses were received (CASSAMDRA-2552)
  * trigger read repair correctly for LOCAL_QUORUM reads (CASSANDRA-2556)
  * Allow configuring the number of compaction thread (CASSANDRA-2558)
+ * forceUserDefinedCompaction will attempt to compact what it is given
+   even if the pessimistic estimate is that there is not enough disk space;
+   automatic compactions will only compact 2 or more sstables (CASSANDRA-2575)
+ * refuse to apply migrations with older timestamps than the current 
+   schema (CASSANDRA-2536)
 
 
 0.8.0-beta1

Propchange: cassandra/trunk/contrib/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 29 20:59:49 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-1096531,1096805,1097448,1097455,1097852,1097892
+/cassandra/branches/cassandra-0.7/contrib:1026516-1096531,1096805,1097448,1097455,1097668,1097843,1097852,1097892
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
-/cassandra/branches/cassandra-0.8/contrib:1090935-1097471,1097883,1097887,1097893
+/cassandra/branches/cassandra-0.8/contrib:1090935-1097951
 /cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689
 /incubator/cassandra/branches/cassandra-0.3/contrib:774578-796573
 
/incubator/cassandra/branches/cassandra-0.4/contrib:810145-810987,810994-834239,834349-834350

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 29 20:59:49 2011
@@ -1,7 +1,7 @@
 
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1096531,1096805,1097448,1097455,1097852,1097892
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1096531,1096805,1097448,1097455,1097668,1097843,1097852,1097892
 
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1053690-1055654

buildbot failure in ASF Buildbot on cassandra-trunk

2011-04-29 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/1294

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

Buildslave for this Build: isis_ubuntu

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

BUILD FAILED: failed compile

sincerely,
 -The Buildbot



[jira] [Commented] (CASSANDRA-2398) Type specific compression

2011-04-29 Thread Stu Hood (JIRA)

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

Stu Hood commented on CASSANDRA-2398:
-

Planning to update the signatures to:
{code:java}
public ByteBuffer compress(int version, final ListByteBuffer from, ByteBuffer 
to)
public void decompress(int version, ByteBuffer from, ListByteBuffer to)
{code}
Which would make skip a native operation, and remove a lot of copies and object 
creation.

 Type specific compression
 -

 Key: CASSANDRA-2398
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2398
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Affects Versions: 0.8 beta 1
Reporter: Stu Hood
  Labels: compression
 Attachments: 
 0001-CASSANDRA-2398-Add-basic-type-specific-compression-to-.txt, 
 0002-CASSANDRA-2398-LZF-for-AbstractType-base.txt


 Cassandra has a lot of locations that are ripe for type specific compression. 
 A short list:
 Indexes
  * Keys compressed as BytesType, which could default to LZO/LZMA
  * Offsets (delta and varint encoding)
  * Column names added by 2319
 Data
  * Keys, columns, timestamps: see 
 http://wiki.apache.org/cassandra/FileFormatDesignDoc
 A basic interface for type specific compression could be as simple as:
 {code:java}
 public void compress(int version, final ListByteBuffer from, DataOutput to) 
 throws IOException
 public void decompress(int version, DataInput from, ListByteBuffer to) 
 throws IOException
 public void skip(int version, DataInput from) throws IOException
 {code} 

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


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

2011-04-29 Thread Aaron Morton (JIRA)

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

Aaron Morton commented on CASSANDRA-2468:
-

should have time this weekend. 

 Clean up after failed compaction
 

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


 (Started in CASSANDRA-2088.)

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


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

2011-04-29 Thread Matthew F. Dennis (JIRA)

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

Matthew F. Dennis updated CASSANDRA-1278:
-

Attachment: (was: 1278-cassandra-0.7-v2.txt)

 Make bulk loading into Cassandra less crappy, more pluggable
 

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

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

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

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

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


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

2011-04-29 Thread Matthew F. Dennis (JIRA)

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

Matthew F. Dennis updated CASSANDRA-1278:
-

Attachment: 1278-cassandra-0.7-v2.txt

{quote}Did you accidentally remove the buffering for non-streaming connections 
in IncomingTCPConnection?{quote}
It was intentional as previously only the streaming was buffered (at 4k) but 
the bulk of the work uses the socket channel; only the size and header are read 
from input and the header uses readFully.  It adds an extra call when 
constructing the stream because of the size but avoids copying the data into 
the buffer (in the BufferedStream) and then into the byte array.  We could 
lower some of those calls by reading both the magic and the header int at the 
same time into a ByteBuffer and then viewing it as an IntBuffer but I don't 
think that buys you anything as it only happens on a new connection.  It also 
avoids bugs where something has been read from the socket into the buffer and 
then the socket channel is used later even though the buffer may not have been 
fully drained.

{quote}What kind of failures are supported during a load?{quote}

On the server side all failures result in the same behaviour: close socket, 
delete temp files.
On the client side if flushing of a BareMemtable to the server fails the proxy 
will log it and continue running.

In both cases any data that was being loaded via the proxy needs to be reloaded.

{quote}What's the proper behaviour for flush_proxy when some hosts fail?{quote}
log failed flushes and continue running; any data that was being loaded via the 
proxy needs to be reloaded.

{quote}Could we avoid coding in knowledge of the file format in the inner loop 
of IncomingLoaderStreamReader? I would much, much prefer that 
non-file-format-specific framing be added, and it would have the added benefit 
of not requiring as many system calls (4 per row vs 2 per frame){quote}

We could construct something that buffers up X amount of data and then frames 
the data being sent and change the inner loop to decompose that but it's extra 
complexity, code and overhead.  If we buffer it on the other side we consume 
more memory for a longer period of time (thus giving it a better chance that it 
needs to promoted and/or compacted)  adding to the already problematic GC 
pressure.  If we don't buffer the rows we end up framing every row which is 
additional data and still doing 2 out of the 4 transfers we do now on data of 
the same size (since the frames wouldn't be any bigger).  BTW, 2 or 4 xfes in 
this situation doesn't affect the performance; the latency on the network and 
CPU of compaction and indexing building dwarf any gains to be made here.  The 
current approach has the added benefit that debugging is easy because it's 
clear where the key and row boundaries are.

{quote}What is the benefit of using an independent protocol for Loader 
streams?{quote}
If you're comparing to the streams we use for repair and similar, they require 
table names and byte ranges be known up front.  While a proxy could just 
generate a random name, it doesn't know the sizes because it doesn't have a 
SSTable on disk (or buffered in memory).  There is also no way for a node to 
request a retry from a proxy if the stream fails because the proxy won't have 
the data and in general is probably firewalled off C*-to-Proxy connections.  
And even if we did, we'd still have a bunch of small sessions because the proxy 
doesn't know when a client is going to stop sending data to it.  In the most 
general sense it could be a constant thing; a client may just continually pump 
an RSS feed or stock ticks or something into it.  tl;dr simplicity and code 
reduction.

{quote}Again, awesome.{quote}
thanks

 Make bulk loading into Cassandra less crappy, more pluggable
 

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

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

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

 Currently bulk loading into Cassandra is a black art.  People are either 
 directed to just do it responsibly with thrift or a higher level client, or 
 they have to explore the contrib/bmt example - 
 http://wiki.apache.org/cassandra/BinaryMemtable  That contrib module requires 
 delving into the code to find out how it works and then applying it to the 
 given problem.  Using either method, the user also needs to keep in mind that 
 overloading the cluster is possible - which will hopefully be addressed in 
 CASSANDRA-685
 This 

[jira] [Resolved] (CASSANDRA-2548) CQL: After running DELETE without specifying columns, the key is still returned in queries

2011-04-29 Thread Cathy Daw (JIRA)

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

Cathy Daw resolved CASSANDRA-2548.
--

Resolution: Not A Problem

http://wiki.apache.org/cassandra/FAQ#range_ghosts

 CQL: After running DELETE without specifying columns, the key is still 
 returned in queries
 --

 Key: CASSANDRA-2548
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2548
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.8 beta 1
Reporter: Cathy Daw
Priority: Minor
  Labels: cql

 I am not sure if this is expected because of how cassandra-cli works, but 
 coming from SQL I would expect that if I delete a row it doesn't show up in a 
 subsequent select statement.
 *Test Case*
 {code}
 cqlsh DELETE FROM users where KEY = 'user2';
 cqlsh select * from users where KEY='user2';
 u'user2'
 {code}
 *Cassandra CLI shows no rows returned*
 {code}
 [default@cqldb] get users['user2'];
 Returned 0 results.
 [default@cqldb] list users;
 RowKey: user2
 [default@cqldb] del users ['user2'];
 row removed.
 [default@cqldb] list users;
 RowKey: user2
 {code}
 *Test Setup*
 {code}
 CREATE COLUMNFAMILY users (
   KEY varchar PRIMARY KEY,
   password varchar,
   gender varchar,
   session_token varchar,
   state varchar,
   birth_year bigint);
 INSERT INTO users (KEY, password, gender, state, birth_year) VALUES ('user2', 
 'ch@ngem3', 'f', 'CA', '1972');
 {code}

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


[jira] [Resolved] (CASSANDRA-2569) Deleting a record for a key that doesn't exist, creates a key for the record

2011-04-29 Thread Cathy Daw (JIRA)

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

Cathy Daw resolved CASSANDRA-2569.
--

Resolution: Not A Problem

http://wiki.apache.org/cassandra/FAQ#range_ghosts

 Deleting a record for a key that doesn't exist, creates a key for the record
 

 Key: CASSANDRA-2569
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2569
 Project: Cassandra
  Issue Type: Bug
Reporter: Cathy Daw
Priority: Minor

 This bug is similar to CASSANDRA-2548 where a delete did not do a full 
 delete.  This is filed since the delete itself did an insert. 
 *Test Setup*
 {code}
 CREATE KEYSPACE cqldb with strategy_class = 
 'org.apache.cassandra.locator.SimpleStrategy'  
 and strategy_options:replication_factor=1;
 use cqldb;
 CREATE COLUMNFAMILY users (KEY varchar PRIMARY KEY, password varchar, gender 
 varchar, 
 session_token varchar, state varchar, birth_year bigint);
 INSERT INTO users (KEY, password, gender, state, birth_year) VALUES ('user1', 
 'ch@ngem3', 'f', 'CA', '1971');
 {code}
 *CQLSH: Delete a row and a column using non-existent keys*
 {code}
 cqlsh DELETE bad_col FROM users where KEY = 'user2';
 cqlsh DELETE from users where KEY = 'user3';
 cqlsh select * from users;
 u'user1' | u'birth_year',1971 | u'gender',u'f' | u'password',u'ch@ngem3' | 
 u'state',u'CA'
 u'user3'
 u'user2'
 {code}
 *Same is reproducible in cassandra-cli*
 {code}
 Authenticated to keyspace: cqldb
 [default@cqldb] del users ['user11'];
 row removed.
 [default@cqldb] del users['user12']['badcol2'];
 column removed.
 [default@cqldb] list users;
 Using default limit of 100
 ---
 RowKey: user11
 ---
 RowKey: user1
 = (column=birth_year, value=1971, timestamp=1303849935934)
 = (column=gender, value=f, timestamp=1303849935936)
 = (column=password, value=ch@ngem3, timestamp=1303849935936)
 = (column=state, value=CA, timestamp=1303849935936)
 ---
 RowKey: user12
 ---
 RowKey: user3
 ---
 RowKey: user2
 5 Rows Returned.
 [default@cqldb] get users['user12'];
 Returned 0 results.
 [default@cqldb] get users['user2']; 
 Returned 0 results.
 {code}

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


[jira] [Created] (CASSANDRA-2585) Inserting integer value using cassandra cli result in byte array of size 1 insteand of 4

2011-04-29 Thread Olivier Smadja (JIRA)
Inserting integer value using cassandra cli result in byte array of size 1 
insteand of 4


 Key: CASSANDRA-2585
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2585
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Affects Versions: 0.7.5
 Environment: mac os, java 6
Reporter: Olivier Smadja


I create a column family Stream like this : 

create column family Stream with comparator=AsciiType and column_metadata=[
{column_name: 'type', validation_class: IntegerType}];

Then I create some data using cassandra-cli :

set Stream['oid'][status]=1;

cli stores a byte array of length 1 in Stream['oid'][status].

As the status field is marked as integer, my understanding is that the data 
stored should be an array of 4 bytes representing the number '1'.

This causes problems when using hector object mapping api.

Thanks

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


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

2011-04-29 Thread Stu Hood (JIRA)

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

Stu Hood commented on CASSANDRA-1278:
-

 It was intentional as previously only the streaming was buffered (at 4k)
It was the other way around IIRC: (non-encrypted) streaming used 
channel.transferTo, which bypassed the buffering entirely. The buffering was 
for internode messaging: see CASSANDRA-1943.

 We could construct something that buffers up X amount of data and then frames 
 the data being
 sent and change the inner loop to decompose that but it's extra complexity, 
 code and overhead.
You're already buffering rows in StreamingProxyFlusher.bufferRow: the change 
would simply be to continue to buffer rows until a threshold was reached. The 
benefit here is that the code on the receiving side doesn't need to change when 
the proxy starts sending it a different SSTable version/format. I've never 
heard of somebody regretting having framing in a protocol: it's always the 
other way around.

Also, an SSTable version (as usually held by Descriptor) should be added to the 
header of your protocol so that clients don't break by sending unversioned 
blobs: not having versioning is my primary complaint vis-a-vis BinaryMemtables.

 If we buffer it on the other side we consume more memory for a longer period 
 of time
I was talking about buffering on the client side: the server side can do one 
system call to flush to disk, such that it never enters userspace.

Thanks!

 Make bulk loading into Cassandra less crappy, more pluggable
 

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

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

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

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

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