[jira] [Commented] (CASSANDRA-1337) parallelize fetching rows for low-cardinality indexes

2012-06-21 Thread Vijay (JIRA)

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

Vijay commented on CASSANDRA-1337:
--

Agree, and +1 for the rebased version of the patch. 
David, let me know if you have anything in addition to the attached.

 parallelize fetching rows for low-cardinality indexes
 -

 Key: CASSANDRA-1337
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1337
 Project: Cassandra
  Issue Type: Improvement
Reporter: Jonathan Ellis
Assignee: David Alves
Priority: Minor
 Fix For: 1.2

 Attachments: 
 0001-CASSANDRA-1337-scan-concurrently-depending-on-num-rows.txt, 
 CASSANDRA-1337.patch

   Original Estimate: 8h
  Remaining Estimate: 8h

 currently, we read the indexed rows from the first node (in partitioner 
 order); if that does not have enough matching rows, we read the rows from the 
 next, and so forth.
 we should use the statistics fom CASSANDRA-1155 to query multiple nodes in 
 parallel, such that we have a high chance of getting enough rows w/o having 
 to do another round of queries (but, if our estimate is incorrect, we do need 
 to loop and do more rounds until we have enough data or we have fetched from 
 each node).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-2986) Fix short reads in range (and index?) scans

2012-06-21 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-2986:
--

Assignee: David Alves

 Fix short reads in range (and index?) scans
 ---

 Key: CASSANDRA-2986
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2986
 Project: Cassandra
  Issue Type: Bug
Reporter: Jonathan Ellis
Assignee: David Alves
Priority: Minor
 Fix For: 1.2


 See CASSANDRA-2643 for the [multi]get fix.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-4321) stackoverflow building interval tree possible sstable corruptions

2012-06-21 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-4321:


Attachment: (was: 0003-Create-standalone-scrub-v5.txt)

 stackoverflow building interval tree  possible sstable corruptions
 ---

 Key: CASSANDRA-4321
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4321
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.1
Reporter: Anton Winter
Assignee: Sylvain Lebresne
 Fix For: 1.1.2

 Attachments: 
 0001-Change-Range-Bounds-in-LeveledManifest.overlapping-v5.txt, 
 0002-Scrub-detects-and-repair-outOfOrder-rows-v5.txt, 
 0003-Create-standalone-scrub-v5.txt, ooyala-hastur-stacktrace.txt


 After upgrading to 1.1.1 (from 1.1.0) I have started experiencing 
 StackOverflowError's resulting in compaction backlog and failure to restart. 
 The ring currently consists of 6 DC's and 22 nodes using LCS  compression.  
 This issue was first noted on 2 nodes in one DC and then appears to have 
 spread to various other nodes in the other DC's.  
 When the first occurrence of this was found I restarted the instance but it 
 failed to start so I cleared its data and treated it as a replacement node 
 for the token it was previously responsible for.  This node successfully 
 streamed all the relevant data back but failed again a number of hours later 
 with the same StackOverflowError and again was unable to restart. 
 The initial stack overflow error on a running instance looks like this:
 ERROR [CompactionExecutor:314] 2012-06-07 09:59:43,017 
 AbstractCassandraDaemon.java (line 134) Exception in thread 
 Thread[CompactionExecutor:314,1,main]
 java.lang.StackOverflowError
 at java.util.Arrays.mergeSort(Arrays.java:1157)
 at java.util.Arrays.sort(Arrays.java:1092)
 at java.util.Collections.sort(Collections.java:134)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.findMinMedianMax(IntervalNode.java:114)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:49)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 [snip - this repeats until stack overflow.  Compactions stop from this point 
 onwards]
 I restarted this failing instance with DEBUG logging enabled and it throws 
 the following exception part way through startup:
 ERROR 11:37:51,046 Exception in thread Thread[OptionalTasks:1,5,main]
 java.lang.StackOverflowError
 at 
 org.slf4j.helpers.MessageFormatter.safeObjectAppend(MessageFormatter.java:307)
 at 
 org.slf4j.helpers.MessageFormatter.deeplyAppendParameter(MessageFormatter.java:276)
 at 
 org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:230)
 at 
 org.slf4j.helpers.MessageFormatter.format(MessageFormatter.java:124)
 at 
 org.slf4j.impl.Log4jLoggerAdapter.debug(Log4jLoggerAdapter.java:228)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:45)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 [snip - this repeats until stack overflow]
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:64)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:64)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:64)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalTree.init(IntervalTree.java:39)
 at 
 org.apache.cassandra.db.DataTracker.buildIntervalTree(DataTracker.java:560)
 at 
 org.apache.cassandra.db.DataTracker$View.replace(DataTracker.java:617)
 

[jira] [Updated] (CASSANDRA-4321) stackoverflow building interval tree possible sstable corruptions

2012-06-21 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-4321:


Attachment: 0003-Create-standalone-scrub-v5.txt

 stackoverflow building interval tree  possible sstable corruptions
 ---

 Key: CASSANDRA-4321
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4321
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.1
Reporter: Anton Winter
Assignee: Sylvain Lebresne
 Fix For: 1.1.2

 Attachments: 
 0001-Change-Range-Bounds-in-LeveledManifest.overlapping-v5.txt, 
 0002-Scrub-detects-and-repair-outOfOrder-rows-v5.txt, 
 0003-Create-standalone-scrub-v5.txt, ooyala-hastur-stacktrace.txt


 After upgrading to 1.1.1 (from 1.1.0) I have started experiencing 
 StackOverflowError's resulting in compaction backlog and failure to restart. 
 The ring currently consists of 6 DC's and 22 nodes using LCS  compression.  
 This issue was first noted on 2 nodes in one DC and then appears to have 
 spread to various other nodes in the other DC's.  
 When the first occurrence of this was found I restarted the instance but it 
 failed to start so I cleared its data and treated it as a replacement node 
 for the token it was previously responsible for.  This node successfully 
 streamed all the relevant data back but failed again a number of hours later 
 with the same StackOverflowError and again was unable to restart. 
 The initial stack overflow error on a running instance looks like this:
 ERROR [CompactionExecutor:314] 2012-06-07 09:59:43,017 
 AbstractCassandraDaemon.java (line 134) Exception in thread 
 Thread[CompactionExecutor:314,1,main]
 java.lang.StackOverflowError
 at java.util.Arrays.mergeSort(Arrays.java:1157)
 at java.util.Arrays.sort(Arrays.java:1092)
 at java.util.Collections.sort(Collections.java:134)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.findMinMedianMax(IntervalNode.java:114)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:49)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 [snip - this repeats until stack overflow.  Compactions stop from this point 
 onwards]
 I restarted this failing instance with DEBUG logging enabled and it throws 
 the following exception part way through startup:
 ERROR 11:37:51,046 Exception in thread Thread[OptionalTasks:1,5,main]
 java.lang.StackOverflowError
 at 
 org.slf4j.helpers.MessageFormatter.safeObjectAppend(MessageFormatter.java:307)
 at 
 org.slf4j.helpers.MessageFormatter.deeplyAppendParameter(MessageFormatter.java:276)
 at 
 org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:230)
 at 
 org.slf4j.helpers.MessageFormatter.format(MessageFormatter.java:124)
 at 
 org.slf4j.impl.Log4jLoggerAdapter.debug(Log4jLoggerAdapter.java:228)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:45)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 [snip - this repeats until stack overflow]
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:64)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:64)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:64)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalTree.init(IntervalTree.java:39)
 at 
 org.apache.cassandra.db.DataTracker.buildIntervalTree(DataTracker.java:560)
 at 
 org.apache.cassandra.db.DataTracker$View.replace(DataTracker.java:617)
 at 

[jira] [Commented] (CASSANDRA-4321) stackoverflow building interval tree possible sstable corruptions

2012-06-21 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-4321:
-

bq. The above error is due to the %d in StandaloneScrubber.java:179's 
interpolation.

Yes, sorry for that typo. I've updated the v5 patch to fix it.

bq. Got java.lang.OutOfMemoryError: Java heap space with -Xmx256M

The last version of the offline scrub loads all sstable readers, which means 
in particular that it loads the summary of the key index and the sstable bloom 
filter. In other words, it does use a bit more memory, so it's not necessarily 
surprising that -Xmx256M is not enough.

bq. LeveledCompactionStrategyTest:testValidationMultipleSSTablePerLevel fails 
because of junit timeout when I run it together with all other suits, but 
passes when I only run LeveledCompactionStrategyTest suit. Is it related?

I doubt it. I've already seen test timeout when run with the full suit but not 
alone. I wouldn't worry too much about that. At least that test is working fine 
on my machine.

 stackoverflow building interval tree  possible sstable corruptions
 ---

 Key: CASSANDRA-4321
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4321
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.1
Reporter: Anton Winter
Assignee: Sylvain Lebresne
 Fix For: 1.1.2

 Attachments: 
 0001-Change-Range-Bounds-in-LeveledManifest.overlapping-v5.txt, 
 0002-Scrub-detects-and-repair-outOfOrder-rows-v5.txt, 
 0003-Create-standalone-scrub-v5.txt, ooyala-hastur-stacktrace.txt


 After upgrading to 1.1.1 (from 1.1.0) I have started experiencing 
 StackOverflowError's resulting in compaction backlog and failure to restart. 
 The ring currently consists of 6 DC's and 22 nodes using LCS  compression.  
 This issue was first noted on 2 nodes in one DC and then appears to have 
 spread to various other nodes in the other DC's.  
 When the first occurrence of this was found I restarted the instance but it 
 failed to start so I cleared its data and treated it as a replacement node 
 for the token it was previously responsible for.  This node successfully 
 streamed all the relevant data back but failed again a number of hours later 
 with the same StackOverflowError and again was unable to restart. 
 The initial stack overflow error on a running instance looks like this:
 ERROR [CompactionExecutor:314] 2012-06-07 09:59:43,017 
 AbstractCassandraDaemon.java (line 134) Exception in thread 
 Thread[CompactionExecutor:314,1,main]
 java.lang.StackOverflowError
 at java.util.Arrays.mergeSort(Arrays.java:1157)
 at java.util.Arrays.sort(Arrays.java:1092)
 at java.util.Collections.sort(Collections.java:134)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.findMinMedianMax(IntervalNode.java:114)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:49)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 [snip - this repeats until stack overflow.  Compactions stop from this point 
 onwards]
 I restarted this failing instance with DEBUG logging enabled and it throws 
 the following exception part way through startup:
 ERROR 11:37:51,046 Exception in thread Thread[OptionalTasks:1,5,main]
 java.lang.StackOverflowError
 at 
 org.slf4j.helpers.MessageFormatter.safeObjectAppend(MessageFormatter.java:307)
 at 
 org.slf4j.helpers.MessageFormatter.deeplyAppendParameter(MessageFormatter.java:276)
 at 
 org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:230)
 at 
 org.slf4j.helpers.MessageFormatter.format(MessageFormatter.java:124)
 at 
 org.slf4j.impl.Log4jLoggerAdapter.debug(Log4jLoggerAdapter.java:228)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:45)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 [snip - this repeats until stack overflow]
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:64)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 

[jira] [Created] (CASSANDRA-4364) Compaction invalidates row cache

2012-06-21 Thread Marcus Eriksson (JIRA)
Marcus Eriksson created CASSANDRA-4364:
--

 Summary: Compaction invalidates row cache
 Key: CASSANDRA-4364
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4364
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2
Reporter: Marcus Eriksson
Priority: Minor


Compactions invalidate row cache after CASSANDRA-3862

https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java#L87

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-4365) Use CF comparator to sort indexed columns in SecondaryIndexManager

2012-06-21 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-4365:


Attachment: 4365.txt

 Use CF comparator to sort indexed columns in SecondaryIndexManager
 --

 Key: CASSANDRA-4365
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4365
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.1
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
Priority: Trivial
 Fix For: 1.1.2

 Attachments: 4365.txt


 SecondaryIndexManager is supposed to have it's internal map sorted according 
 to the base CF comparator, but instead it sorts using the byte buffer natural 
 ordering.
 This order is carried along by the sorted set returned by 
 getIndexedColumns(), which in turns end up in a NamesQueryFilter when reading 
 indexed columns, so the order should really be the CF one.
 I'll note that I don't think this is a bug because SSTableNamesIterator don't 
 in fact rely on the actual ordering of the names. But it's worth fixing to 
 avoid future problems.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (CASSANDRA-4365) Use CF comparator to sort indexed columns in SecondaryIndexManager

2012-06-21 Thread Sylvain Lebresne (JIRA)
Sylvain Lebresne created CASSANDRA-4365:
---

 Summary: Use CF comparator to sort indexed columns in 
SecondaryIndexManager
 Key: CASSANDRA-4365
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4365
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.1
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
Priority: Trivial
 Fix For: 1.1.2
 Attachments: 4365.txt

SecondaryIndexManager is supposed to have it's internal map sorted according to 
the base CF comparator, but instead it sorts using the byte buffer natural 
ordering.

This order is carried along by the sorted set returned by getIndexedColumns(), 
which in turns end up in a NamesQueryFilter when reading indexed columns, so 
the order should really be the CF one.

I'll note that I don't think this is a bug because SSTableNamesIterator don't 
in fact rely on the actual ordering of the names. But it's worth fixing to 
avoid future problems.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4047) Bulk hinting

2012-06-21 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-4047:
-

bq. Alternatively... we can do repairs of specific ranges now. What if we 
stored as our hint the range we streamed, and the node that went down, and 
then the live node will run a partial repair with that replica when it comes 
back up?

This sounds like a good way to do it.  One wrinkle though is communication, now 
that bulk loading doesn't have a MS to speak with, it only has streaming or 
thrift available, and shunting this into either seems awkward.

 Bulk hinting
 

 Key: CASSANDRA-4047
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4047
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Brandon Williams
Assignee: Brandon Williams
 Fix For: 1.2


 With the introduction of the BulkOutputFormat, there may be cases where 
 someone would like to tolerate node failures and have the job complete, but 
 afterwards since we streamed they have to repair or rely on read repair.  We 
 don't currently have any way of hinting streams, but a node could take a 
 snapshot before acknowledging the stream session, then remember to send the 
 files in the snapshot to the unavailable nodes when they come back up.  This 
 isn't quite ideal since of course the node may have compacted these files, 
 however it's much simpler than any sort of key tracking at this scale.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-4295) move checkaccess into statement.prepare

2012-06-21 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich updated CASSANDRA-4295:
---

Attachment: CASSANDRA-4295.patch

 move checkaccess into statement.prepare
 ---

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

 Attachments: CASSANDRA-4295.patch


 there's no need to redo this every execution since the schema, tables, and 
 users involved should all be immutable

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3564) flush before shutdown so restart is faster

2012-06-21 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-3564:
-

The catch with flushandexit is, you have no way of knowing if it worked or not 
(from nodetool's perspective) since either way, you're going to get an error 
(EOF because the jvm shutdown, or EOF because ???)

bq. kill -KILL = lose most recent writes unless durable_writes=true and batch 
commits are on [also current behavior]

Unless I'm missing something, you can't do anything about a kill -9, you're 
cooked.

Anyway, the code looks good to me.

 flush before shutdown so restart is faster
 --

 Key: CASSANDRA-3564
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3564
 Project: Cassandra
  Issue Type: New Feature
  Components: Packaging
Reporter: Jonathan Ellis
Assignee: David Alves
Priority: Minor
 Fix For: 1.2

 Attachments: 3564.patch


 Cassandra handles flush in its shutdown hook for durable_writes=false CFs 
 (otherwise we're *guaranteed* to lose data) but leaves it up to the operator 
 otherwise.  I'd rather leave it that way to offer these semantics:
 - cassandra stop = shutdown nicely [explicit flush, then kill -int]
 - kill -INT = shutdown faster but don't lose any updates [current behavior]
 - kill -KILL = lose most recent writes unless durable_writes=true and batch 
 commits are on [also current behavior]
 But if it's not reasonable to use nodetool from the init script then I guess 
 we can just make the shutdown hook flush everything.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3564) flush before shutdown so restart is faster

2012-06-21 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-3564:


thanks for the review

bq. The catch with flushandexit is, you have no way of knowing if it worked or 
not (from nodetool's perspective) since either way, you're going to get an 
error (EOF because the jvm shutdown, or EOF because ???)

right, I thought about that (might even deserve some special error handling) 
but the only alternative that I could think was to make the call async so the 
RPC method would return fine. But even that wouldn't provide any meaningful 
feedback since the user would still have no idea whether things flushed ok so I 
left it as is.

If its alright, I'll finish up by adding the cassandra stop command to the 
shell script and handle the broken rpc call.

 flush before shutdown so restart is faster
 --

 Key: CASSANDRA-3564
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3564
 Project: Cassandra
  Issue Type: New Feature
  Components: Packaging
Reporter: Jonathan Ellis
Assignee: David Alves
Priority: Minor
 Fix For: 1.2

 Attachments: 3564.patch


 Cassandra handles flush in its shutdown hook for durable_writes=false CFs 
 (otherwise we're *guaranteed* to lose data) but leaves it up to the operator 
 otherwise.  I'd rather leave it that way to offer these semantics:
 - cassandra stop = shutdown nicely [explicit flush, then kill -int]
 - kill -INT = shutdown faster but don't lose any updates [current behavior]
 - kill -KILL = lose most recent writes unless durable_writes=true and batch 
 commits are on [also current behavior]
 But if it's not reasonable to use nodetool from the init script then I guess 
 we can just make the shutdown hook flush everything.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4054) SStableImport and SStableExport does not serialize row level deletion

2012-06-21 Thread Yuki Morishita (JIRA)

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

Yuki Morishita commented on CASSANDRA-4054:
---

SSTableImport seems it does not handle SuperColumn deletion as well. (It has 
been commented out for long time.)
How about extending writeMeta/parseCFMetadata to accept SuperColumn (or more 
precisely, AbstractColumnContainer) and use them when handling both row and 
SuperColumn?
Also, it would be great if you remove whitespaces on empty line and always put 
braces on new line.

 SStableImport and SStableExport does not serialize row level deletion
 -

 Key: CASSANDRA-4054
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4054
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Affects Versions: 0.5
Reporter: Zhu Han
Assignee: David Alves
Priority: Minor
 Fix For: 1.2

 Attachments: 4054.patch


 SSTableImport and SSTableExport does not serialize/de-serialize the row-level 
 deletion info to/from the json file. This brings back the deleted data after 
 restore from the json file.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3564) flush before shutdown so restart is faster

2012-06-21 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-3564:
-

bq. But even that wouldn't provide any meaningful feedback since the user would 
still have no idea whether things flushed ok so I left it as is.

Right, there's no perfect solution here that I can see.

bq. If its alright, I'll finish up by adding the cassandra stop command to the 
shell script and handle the broken rpc call.

Sure, but this is where is gets a little more complicated, since after 
receiving the error the init script needs to check that the pid is really gone, 
and if not get more forceful.

 flush before shutdown so restart is faster
 --

 Key: CASSANDRA-3564
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3564
 Project: Cassandra
  Issue Type: New Feature
  Components: Packaging
Reporter: Jonathan Ellis
Assignee: David Alves
Priority: Minor
 Fix For: 1.2

 Attachments: 3564.patch


 Cassandra handles flush in its shutdown hook for durable_writes=false CFs 
 (otherwise we're *guaranteed* to lose data) but leaves it up to the operator 
 otherwise.  I'd rather leave it that way to offer these semantics:
 - cassandra stop = shutdown nicely [explicit flush, then kill -int]
 - kill -INT = shutdown faster but don't lose any updates [current behavior]
 - kill -KILL = lose most recent writes unless durable_writes=true and batch 
 commits are on [also current behavior]
 But if it's not reasonable to use nodetool from the init script then I guess 
 we can just make the shutdown hook flush everything.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4321) stackoverflow building interval tree possible sstable corruptions

2012-06-21 Thread Omid Aladini (JIRA)

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

Omid Aladini commented on CASSANDRA-4321:
-

I experienced the same as Anton's. One observation is that the out-of-order key 
being wrongly iterated by CompactionIterable's MergeIterator which causes the 
exception, happen to be the start of an interval:

DEBUG 18:10:41,693 Creating IntervalNode from [... 
Interval(DecoratedKey(33736808147257072541807562080745136438, ... ), 

which leads me to suspect if it's due to the Range (vs. Bounds) used in 
LeveledCompactionStrategy::getScanners. Any ideas?

 stackoverflow building interval tree  possible sstable corruptions
 ---

 Key: CASSANDRA-4321
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4321
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.1
Reporter: Anton Winter
Assignee: Sylvain Lebresne
 Fix For: 1.1.2

 Attachments: 
 0001-Change-Range-Bounds-in-LeveledManifest.overlapping-v5.txt, 
 0002-Scrub-detects-and-repair-outOfOrder-rows-v5.txt, 
 0003-Create-standalone-scrub-v5.txt, ooyala-hastur-stacktrace.txt


 After upgrading to 1.1.1 (from 1.1.0) I have started experiencing 
 StackOverflowError's resulting in compaction backlog and failure to restart. 
 The ring currently consists of 6 DC's and 22 nodes using LCS  compression.  
 This issue was first noted on 2 nodes in one DC and then appears to have 
 spread to various other nodes in the other DC's.  
 When the first occurrence of this was found I restarted the instance but it 
 failed to start so I cleared its data and treated it as a replacement node 
 for the token it was previously responsible for.  This node successfully 
 streamed all the relevant data back but failed again a number of hours later 
 with the same StackOverflowError and again was unable to restart. 
 The initial stack overflow error on a running instance looks like this:
 ERROR [CompactionExecutor:314] 2012-06-07 09:59:43,017 
 AbstractCassandraDaemon.java (line 134) Exception in thread 
 Thread[CompactionExecutor:314,1,main]
 java.lang.StackOverflowError
 at java.util.Arrays.mergeSort(Arrays.java:1157)
 at java.util.Arrays.sort(Arrays.java:1092)
 at java.util.Collections.sort(Collections.java:134)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.findMinMedianMax(IntervalNode.java:114)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:49)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 [snip - this repeats until stack overflow.  Compactions stop from this point 
 onwards]
 I restarted this failing instance with DEBUG logging enabled and it throws 
 the following exception part way through startup:
 ERROR 11:37:51,046 Exception in thread Thread[OptionalTasks:1,5,main]
 java.lang.StackOverflowError
 at 
 org.slf4j.helpers.MessageFormatter.safeObjectAppend(MessageFormatter.java:307)
 at 
 org.slf4j.helpers.MessageFormatter.deeplyAppendParameter(MessageFormatter.java:276)
 at 
 org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:230)
 at 
 org.slf4j.helpers.MessageFormatter.format(MessageFormatter.java:124)
 at 
 org.slf4j.impl.Log4jLoggerAdapter.debug(Log4jLoggerAdapter.java:228)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:45)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 [snip - this repeats until stack overflow]
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:64)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:64)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:64)
 at 
 org.apache.cassandra.utils.IntervalTree.IntervalNode.init(IntervalNode.java:62)
   

[jira] [Commented] (CASSANDRA-3564) flush before shutdown so restart is faster

2012-06-21 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-3564:


bq. Sure, but this is where is gets a little more complicated, since after 
receiving the error the init script needs to check that the pid is really gone, 
and if not get more forceful.

hum... handn't thought about that. you're right. any script/code comes to mind 
that has similar functionality? (for inspiration :)) 

 flush before shutdown so restart is faster
 --

 Key: CASSANDRA-3564
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3564
 Project: Cassandra
  Issue Type: New Feature
  Components: Packaging
Reporter: Jonathan Ellis
Assignee: David Alves
Priority: Minor
 Fix For: 1.2

 Attachments: 3564.patch


 Cassandra handles flush in its shutdown hook for durable_writes=false CFs 
 (otherwise we're *guaranteed* to lose data) but leaves it up to the operator 
 otherwise.  I'd rather leave it that way to offer these semantics:
 - cassandra stop = shutdown nicely [explicit flush, then kill -int]
 - kill -INT = shutdown faster but don't lose any updates [current behavior]
 - kill -KILL = lose most recent writes unless durable_writes=true and batch 
 commits are on [also current behavior]
 But if it's not reasonable to use nodetool from the init script then I guess 
 we can just make the shutdown hook flush everything.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3564) flush before shutdown so restart is faster

2012-06-21 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-3564:
-

I'm pretty sure the init script is already tracking the pid in a file and 
probably has a function to check if it's alive, so it's just a matter of doing 
that and issuing an extra kill if needed.

 flush before shutdown so restart is faster
 --

 Key: CASSANDRA-3564
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3564
 Project: Cassandra
  Issue Type: New Feature
  Components: Packaging
Reporter: Jonathan Ellis
Assignee: David Alves
Priority: Minor
 Fix For: 1.2

 Attachments: 3564.patch


 Cassandra handles flush in its shutdown hook for durable_writes=false CFs 
 (otherwise we're *guaranteed* to lose data) but leaves it up to the operator 
 otherwise.  I'd rather leave it that way to offer these semantics:
 - cassandra stop = shutdown nicely [explicit flush, then kill -int]
 - kill -INT = shutdown faster but don't lose any updates [current behavior]
 - kill -KILL = lose most recent writes unless durable_writes=true and batch 
 commits are on [also current behavior]
 But if it's not reasonable to use nodetool from the init script then I guess 
 we can just make the shutdown hook flush everything.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4365) Use CF comparator to sort indexed columns in SecondaryIndexManager

2012-06-21 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-4365:
---

+1

 Use CF comparator to sort indexed columns in SecondaryIndexManager
 --

 Key: CASSANDRA-4365
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4365
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.1
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
Priority: Trivial
 Fix For: 1.1.2

 Attachments: 4365.txt


 SecondaryIndexManager is supposed to have it's internal map sorted according 
 to the base CF comparator, but instead it sorts using the byte buffer natural 
 ordering.
 This order is carried along by the sorted set returned by 
 getIndexedColumns(), which in turns end up in a NamesQueryFilter when reading 
 indexed columns, so the order should really be the CF one.
 I'll note that I don't think this is a bug because SSTableNamesIterator don't 
 in fact rely on the actual ordering of the names. But it's worth fixing to 
 avoid future problems.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4047) Bulk hinting

2012-06-21 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-4047:
---

Is this where we throw up our hands and finally add multi-port ability for 
MessagingService?

 Bulk hinting
 

 Key: CASSANDRA-4047
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4047
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Brandon Williams
Assignee: Brandon Williams
 Fix For: 1.2


 With the introduction of the BulkOutputFormat, there may be cases where 
 someone would like to tolerate node failures and have the job complete, but 
 afterwards since we streamed they have to repair or rely on read repair.  We 
 don't currently have any way of hinting streams, but a node could take a 
 snapshot before acknowledging the stream session, then remember to send the 
 files in the snapshot to the unavailable nodes when they come back up.  This 
 isn't quite ideal since of course the node may have compacted these files, 
 however it's much simpler than any sort of key tracking at this scale.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-4295) move checkaccess into statement.prepare

2012-06-21 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-4295:
--

Assignee: Sylvain Lebresne  (was: Pavel Yaskevich)

 move checkaccess into statement.prepare
 ---

 Key: CASSANDRA-4295
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4295
 Project: Cassandra
  Issue Type: Improvement
  Components: API
Affects Versions: 1.1.0
Reporter: Jonathan Ellis
Assignee: Sylvain Lebresne
Priority: Minor
 Fix For: 1.1.2

 Attachments: CASSANDRA-4295.patch


 there's no need to redo this every execution since the schema, tables, and 
 users involved should all be immutable

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-4295) move checkaccess into statement.prepare

2012-06-21 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-4295:
--

Reviewer: slebresne  (was: jbellis)
Assignee: Pavel Yaskevich  (was: Sylvain Lebresne)

 move checkaccess into statement.prepare
 ---

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

 Attachments: CASSANDRA-4295.patch


 there's no need to redo this every execution since the schema, tables, and 
 users involved should all be immutable

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4362) cqlsh can't display reversed type values properly

2012-06-21 Thread paul cannon (JIRA)

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

paul cannon commented on CASSANDRA-4362:


As a workaround, you can tell cqlsh explicitly to treat the b column as bigint:

{noformat}
ASSUME t1(b) VALUES ARE bigint;
{noformat}

That will last until the end of the session. (You might need the patch from 
CASSANDRA-4352).

 cqlsh can't display reversed type values properly
 -

 Key: CASSANDRA-4362
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4362
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Affects Versions: 1.1.1
Reporter: Ahmet AKYOL
Priority: Minor
  Labels: cqlsh

 Here is table and data:
 CREATE TABLE t1 (
   a int,
   b bigint,
   c varchar,
   d varchar,
   PRIMARY KEY (a,b,c)
 ) WITH CLUSTERING ORDER BY (b DESC, c DESC);
 INSERT INTO db.t1 (a,b,c,d)  VALUES (1,10,'u1','s1');
 INSERT INTO db.t1 (a,b,c,d)  VALUES (1,15,'u1','d1');
 INSERT INTO db.t1 (a,b,c,d)  VALUES (1,21,'u3','ghfgh f1g');
 INSERT INTO db.t1 (a,b,c,d)  VALUES (1,31,'u2','1gh');
 INSERT INTO db.t1 (a,b,c,d)  VALUES (1,41,'u3','fgh1');
 And here's the query
 cqlsh:db SELECT * FROM t1;
  a | b| c  | d
 ---+--++---
  1 |\x00\x00\x00\x00\x00\x00\x00) | u3 |  fgh1
  1 | \x00\x00\x00\x00\x00\x00\x00\x1f | u2 |   1gh
  1 | \x00\x00\x00\x00\x00\x00\x00\x15 | u3 | ghfgh f1g
  1 | \x00\x00\x00\x00\x00\x00\x00\x0f | u1 |d1
  1 |   \x00\x00\x00\x00\x00\x00\x00\n | u1 |s1
 As you can see, cqlsh can't display reversed type values properly ...

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-2819) Split rpc timeout for read and write ops

2012-06-21 Thread Vijay (JIRA)

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

Vijay commented on CASSANDRA-2819:
--

+1

 Split rpc timeout for read and write ops
 

 Key: CASSANDRA-2819
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2819
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Stu Hood
Assignee: Melvin Wang
 Fix For: 1.1.2

 Attachments: 2819-v4.txt, 2819-v5-rebased.txt, 2819-v8.txt, 
 2819-v9.txt, c2819-v6, c2819-v7, c2819.patch, rpc-jira.patch


 Given the vastly different latency characteristics of reads and writes, it 
 makes sense for them to have independent rpc timeouts internally.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-3942) ColumnFamilyRecordReader can report progress 100%

2012-06-21 Thread Brandon Williams (JIRA)

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

Brandon Williams updated CASSANDRA-3942:


Attachment: 3942.txt

Patch to clamp getProgress to 1.0 or less.

 ColumnFamilyRecordReader can report progress  100%
 ---

 Key: CASSANDRA-3942
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3942
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.6
Reporter: T Jake Luciani
Assignee: Brandon Williams
Priority: Minor
 Fix For: 1.1.2

 Attachments: 3942.txt


 CFRR.getProgress() can return a value  1.0 since the totalRowCount is a 
 estimate.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4332) IndexRangeSliceQuery results contain IndexColumn even though it is not included in SliceRange

2012-06-21 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-4332:
---

Can you reproduce on a single-node cluster, or does it need multiple nodes to 
show problems?

 IndexRangeSliceQuery results contain IndexColumn even though it is not 
 included in SliceRange
 -

 Key: CASSANDRA-4332
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4332
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.1.1
Reporter: Roland Gude
 Attachments: system.log, system.log, system.log


 This is the magical reappearance of CASSANDRA-2964 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4147) add NULL to CQL3

2012-06-21 Thread paul cannon (JIRA)

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

paul cannon commented on CASSANDRA-4147:


This seems like a dupe of CASSANDRA-3783 then.

 add NULL to CQL3
 

 Key: CASSANDRA-4147
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4147
 Project: Cassandra
  Issue Type: New Feature
Reporter: T Jake Luciani
Priority: Minor
 Fix For: 1.1.2


 cqlsh:cfs insert into foo (key,val1,val2)values('row2',NULL,NULL);
 Bad Request: unable to make long from 'NULL'

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3707) Add KeyspaceChange CqlResultType

2012-06-21 Thread paul cannon (JIRA)

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

paul cannon commented on CASSANDRA-3707:


Yeah, but I'm not sure it's common for client libs to need that information 
(what keyspace was used with query Q). The programmer should generally know 
what keyspace is being used with a given query.

Do you have a use case?

 Add KeyspaceChange CqlResultType
 

 Key: CASSANDRA-3707
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3707
 Project: Cassandra
  Issue Type: Sub-task
  Components: API
Reporter: Jonathan Ellis
Assignee: satish babu krishnamoorthy
  Labels: cql
 Fix For: 1.1.2


 High level clients want to handle failover and load balancing transparently 
 to the application, which means not just connection pooling but moving an 
 existing connection to another server if necessary.  When this happens, the 
 client needs to know what the active keyspace was before failover, so it can 
 set it to the same one in the new connection.
 Currently some clients handle this by checking for SET KEYSPACE queries, 
 which violates the design principle that clients shouldn't have to parse CQL. 
  Adding a new CqlResultType (that is set in response to a SET KEYSPACE 
 command) would make this unnecessary.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4119) Support multiple non-consecutive tokens per host (virtual nodes)

2012-06-21 Thread Sam Overton (JIRA)

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

Sam Overton commented on CASSANDRA-4119:


Brandon, I can't reproduce this difference either.

Is debug logging turned on? If so, try with it off.

What replication strategy  snitch are you using? Is the dynamic snitch on?

The only piece of code on the insert path that these patches touch is 
calculateNaturalEndpoints, which is cached in AbstractReplicationStrategy 
anyway so it's not immediately clear to me what could cause such a discrepancy 
in performance for you.

I'll do some more thorough testing and profiling tomorrow.

 Support multiple non-consecutive tokens per host (virtual nodes)
 

 Key: CASSANDRA-4119
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4119
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Sam Overton
Assignee: Sam Overton
  Labels: virtualnodes, vnodes

 This is the parent ticket for the virtual nodes implementation which was 
 proposed here: 
 http://www.mail-archive.com/dev@cassandra.apache.org/msg03837.html and 
 discussed in the subsequent thread.
 The goals of this ticket are:
 * reduced operations complexity for scaling up/down
 * reduced rebuild time in event of failure
 * evenly distributed load impact in the event of failure
 * evenly distributed impact of streaming operations
 * more viable support for heterogeneity of hardware
 The intention is that this can be done in a way which is
 * fully backwards-compatible
 * optionally enabled
 The latter of these can be trivially achieved by setting the number of tokens 
 per host to 1, to reproduce the existing behaviour.
 Implementation detail can be added and discussed in the sub-tickets, but here 
 is an overview of the proposed changes:
 * TokenMetadata will allow multiple tokens per host
 * Hosts will be referred to by a UUID instead of token (e.g. in Gossip, when 
 storing hints, etc.)
 * A bootstrapping node can get multiple tokens from initial_token (comma 
 separated) or by random allocation
 * NetworkTopologyStrategy will be extended to be aware of virtual nodes so 
 that replicas are not placed on the same host (similar to racks now)
 * Repairs will be staggered similar to CASSANDRA-3721
 * Nodetool operations will be virtual-node aware, while maintaining backwards 
 compatibility (ie. existing scripts won't have to change)
 * Upgrade will be a standard rolling upgrade, with optional rolling migration 
 to full vnode support

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4325) CQL unable to drop columnfamily

2012-06-21 Thread paul cannon (JIRA)

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

paul cannon commented on CASSANDRA-4325:


Can't reproduce. Can you provide more information, like any relevant parts of 
the Cassandra log, and information about your ring and your system in general?

 CQL unable to drop columnfamily
 ---

 Key: CASSANDRA-4325
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4325
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.0
 Environment: Debian 6.0.5 Squeeze
Reporter: Jason Walkowicz
  Labels: CQL

 cqlsh:x DROP COLUMNFAMILY userstats ;
 cqlsh:x select * from userstats;
  key   | column1 | value
 ---+-+---
  jason |fans | 1

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4363) Cassandra 1.1.1 throws errors when trying the new CQL 3

2012-06-21 Thread paul cannon (JIRA)

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

paul cannon commented on CASSANDRA-4363:


Jonathan means, are you able to check out the Cassandra source on the 
cassandra-1.1 branch, and build and run it from there, and reproduce the 
problem?

If you have no idea how to do that, it might be something like the following:

{noformat}
(kill preexisting running cassandra)
git clone http://git-wip-us.apache.org/repos/asf/cassandra.git
cd cassandra
git checkout -b cassandra-1.1 -t origin/cassandra-1.1
ant clean jar
bin/cassandra -f
{noformat}

 Cassandra 1.1.1 throws errors when trying the new CQL 3
 ---

 Key: CASSANDRA-4363
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4363
 Project: Cassandra
  Issue Type: Bug
 Environment: OSX 10.7.4 , java version 1.6.0_33 , Cassandra 1.1.1
Reporter: Hussein Baghdadi

 I downloaded Cassandra 1.1.1 and launched cqlsh under the version 3
 I tried to create a new column family:
 CREATE TABLE stats (
  pid  blob,
  period  int,
  targetid blob,
  sum counter,
 PRIMARY KEY (pid, period, targetid)
 );
 But I got this:
 Traceback (most recent call last): File ./cqlsh, line 908, in 
 perform_statement self.cursor.execute(statement, decoder=decoder) File 
 ./../lib/cql-internal-only-1.0.10.zip/cql-1.0.10/cql/cursor.py, line 117, 
 in execute response = self.handle_cql_execution_errors(doquery, prepared_q, 
 compress) File 
 ./../lib/cql-internal-only-1.0.10.zip/cql-1.0.10/cql/cursor.py, line 132, 
 in handle_cql_execution_errors return executor(*args, **kwargs) File 
 ./../lib/cql-internal-only-1.0.10.zip/cql-1.0.10/cql/cassandra/Cassandra.py,
  line 1583, in execute_cql_query self.send_execute_cql_query(query, 
 compression) File 
 ./../lib/cql-internal-only-1.0.10.zip/cql-1.0.10/cql/cassandra/Cassandra.py,
  line 1593, in send_execute_cql_query self.oprot.trans.flush() File 
 ./../lib/thrift-python-internal-only-0.7.0.zip/thrift/transport/TTransport.py,
  line 293, in flush self._trans.write(buf) File 
 ./../lib/thrift-python-internal-only-0.7.0.zip/thrift/transport/TSocket.py, 
 line 117, in write plus = self.handle.send(buff) error: [Errno 32] Broken pipe
 And on the server console:
 Error occurred during processing of message. 
 java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:247) 
 at 
 org.apache.cassandra.db.marshal.AbstractCompositeType.getBytes(AbstractCompositeType.java:51)
  at 
 org.apache.cassandra.db.marshal.AbstractCompositeType.getWithShortLength(AbstractCompositeType.java:60)
  at 
 org.apache.cassandra.db.marshal.AbstractCompositeType.getString(AbstractCompositeType.java:140)
  at org.apache.cassandra.config.CFMetaData.validate(CFMetaData.java:929) at 
 org.apache.cassandra.service.MigrationManager.announceNewColumnFamily(MigrationManager.java:131)
  at 
 org.apache.cassandra.cql3.statements.CreateColumnFamilyStatement.announceMigration(CreateColumnFamilyStatement.java:83)
  at 
 org.apache.cassandra.cql3.statements.SchemaAlteringStatement.execute(SchemaAlteringStatement.java:99)
  at 
 org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:108)
  at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:121) 
 at 
 org.apache.cassandra.thrift.CassandraServer.execute_cql_query(CassandraServer.java:1237)
  at 
 org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3542)
  at 
 org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3530)
  at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32) at 
 org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34) at 
 org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:186)
  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:680)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Assigned] (CASSANDRA-4350) cql cassandra version reporting is incorrect

2012-06-21 Thread paul cannon (JIRA)

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

paul cannon reassigned CASSANDRA-4350:
--

Assignee: paul cannon

 cql cassandra version reporting is incorrect
 

 Key: CASSANDRA-4350
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4350
 Project: Cassandra
  Issue Type: Bug
Reporter: Jeremy Hanna
Assignee: paul cannon
Priority: Minor
  Labels: cql, cqlsh

 It looks like either the docs are wrong or the functionality is wrong.  The 
 docs for show version say:
 {quote}
 Shows the version and build of the connected Cassandra instance, well as the 
 versions of the CQL spec and the Thrift protocol that the connected Cassandra 
 instance understands.
 {quote}
 On a cassandra node in the ring, I do nodetool -h localhost version and it 
 outputs the correct version (1.0.8).  From a remote node with 1.0.9 
 installed, I run nodetool -h same_node_in_ring version.  It outputs the 
 correct version.  However when I start cqlsh, it shows the remote node's 
 version (1.0.9).  Also when I use the 'show version;' command in cqlsh, it 
 also prints out 1.0.9.
 So either the docs are incorrect and it just outputs the version of the local 
 build or there's a bug in show version and the startup output and it should 
 really show the version of the connected node.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




git commit: split up rpc timeout by operation type patch by Melvin Wang and jbellis; reviewed by vijay for CASSANDRA-2819

2012-06-21 Thread jbellis
Updated Branches:
  refs/heads/trunk ced78f3c4 - e6610e469


split up rpc timeout by operation type
patch by Melvin Wang and jbellis; reviewed by vijay for CASSANDRA-2819


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e6610e46
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e6610e46
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e6610e46

Branch: refs/heads/trunk
Commit: e6610e4692800485501e316df3dab53a6e9e34b2
Parents: ced78f3
Author: Jonathan Ellis jbel...@apache.org
Authored: Wed May 16 14:49:56 2012 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Jun 21 13:19:02 2012 -0500

--
 CHANGES.txt|1 +
 NEWS.txt   |5 +
 conf/cassandra.yaml|   13 +++-
 src/java/org/apache/cassandra/config/Config.java   |   10 ++-
 .../cassandra/config/DatabaseDescriptor.java   |   70 +++
 .../org/apache/cassandra/db/RangeSliceCommand.java |   10 ++-
 src/java/org/apache/cassandra/db/ReadCommand.java  |6 ++
 .../org/apache/cassandra/dht/BootStrapper.java |2 +-
 .../apache/cassandra/net/MessageDeliveryTask.java  |2 +-
 src/java/org/apache/cassandra/net/MessageIn.java   |6 ++
 src/java/org/apache/cassandra/net/MessageOut.java  |6 ++
 .../org/apache/cassandra/net/MessagingService.java |   17 +---
 .../cassandra/net/OutboundTcpConnection.java   |4 +-
 .../service/AbstractWriteResponseHandler.java  |3 +-
 .../org/apache/cassandra/service/IReadCommand.java |1 +
 .../org/apache/cassandra/service/ReadCallback.java |2 +-
 .../apache/cassandra/service/RepairCallback.java   |2 +-
 .../org/apache/cassandra/service/StorageProxy.java |   29 ---
 .../cassandra/service/StorageProxyMBean.java   |8 ++
 .../cassandra/service/TruncateResponseHandler.java |2 +-
 .../apache/cassandra/thrift/CassandraServer.java   |   10 +-
 21 files changed, 167 insertions(+), 42 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e6610e46/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 8da61ba..344c87b 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 1.2-dev
+ * split up rpc timeout by operation type (CASSANDRA-2819)
  * rewrite key cache save/load to use only sequential i/o (CASSANDRA-3762)
  * update MS protocol with a version handshake + broadcast address id
(CASSANDRA-4311)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e6610e46/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 6cad6c2..23814b1 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -36,6 +36,11 @@ Upgrading
 - Global option hinted_handoff_throttle_delay_in_ms has been removed.
   hinted_handoff_throttle_in_kb has been added instead.
 
+Features
+
+- rpc_timeout has been split up to allow finer-grained control
+  on timeouts for different operation types
+
 
 1.1.1
 =

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e6610e46/conf/cassandra.yaml
--
diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml
index cddd491..a584448 100644
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@ -400,7 +400,18 @@ compaction_preheat_key_cache: true
 # When unset, the default is 400 Mbps or 50 MB/s.
 # stream_throughput_outbound_megabits_per_sec: 400
 
-# Time to wait for a reply from other nodes before failing the command 
+# How long the coordinator should wait for read operations to complete
+read_rpc_timeout_in_ms: 1
+# How long the coordinator should wait for seq or index scans to complete
+range_rpc_timeout_in_ms: 1
+# How long the coordinator should wait for writes to complete
+write_rpc_timeout_in_ms: 1
+# How long the coordinator should wait for truncates to complete
+# (This can be much longer, because we need to flush all CFs
+# to make sure we can clear out anythink in the commitlog that could
+# cause truncated data to reappear.)
+truncate_timeout_in_ms: 30
+# The default timeout for other, miscellaneous operations
 rpc_timeout_in_ms: 1
 
 # Enable socket timeout for streaming operation.

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e6610e46/src/java/org/apache/cassandra/config/Config.java
--
diff --git a/src/java/org/apache/cassandra/config/Config.java 
b/src/java/org/apache/cassandra/config/Config.java
index e1c9a42..1cda551 100644
--- a/src/java/org/apache/cassandra/config/Config.java
+++ b/src/java/org/apache/cassandra/config/Config.java
@@ -45,7 +45,15 @@ public 

[jira] [Resolved] (CASSANDRA-2819) Split rpc timeout for read and write ops

2012-06-21 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-2819.
---

   Resolution: Fixed
Fix Version/s: (was: 1.1.2)
   1.2

Committed to trunk.  I'm okay with backporting to 1.1 should someone step up to 
do that; my quick look is that it should be straightforward but not automatic 
(runs into things like the underscore removal).

 Split rpc timeout for read and write ops
 

 Key: CASSANDRA-2819
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2819
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Stu Hood
Assignee: Melvin Wang
 Fix For: 1.2

 Attachments: 2819-v4.txt, 2819-v5-rebased.txt, 2819-v8.txt, 
 2819-v9.txt, c2819-v6, c2819-v7, c2819.patch, rpc-jira.patch


 Given the vastly different latency characteristics of reads and writes, it 
 makes sense for them to have independent rpc timeouts internally.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Comment Edited] (CASSANDRA-2819) Split rpc timeout for read and write ops

2012-06-21 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis edited comment on CASSANDRA-2819 at 6/21/12 6:20 PM:


Committed to trunk.  I'm okay with backporting to 1.1 should someone step up to 
do that for 1.1.2; my quick look is that it should be straightforward but not 
automatic (runs into things like the underscore removal).

  was (Author: jbellis):
Committed to trunk.  I'm okay with backporting to 1.1 should someone step 
up to do that; my quick look is that it should be straightforward but not 
automatic (runs into things like the underscore removal).
  
 Split rpc timeout for read and write ops
 

 Key: CASSANDRA-2819
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2819
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Stu Hood
Assignee: Melvin Wang
 Fix For: 1.2

 Attachments: 2819-v4.txt, 2819-v5-rebased.txt, 2819-v8.txt, 
 2819-v9.txt, c2819-v6, c2819-v7, c2819.patch, rpc-jira.patch


 Given the vastly different latency characteristics of reads and writes, it 
 makes sense for them to have independent rpc timeouts internally.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4364) Compaction invalidates row cache

2012-06-21 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-4364:
---

What do you sugggest instead?

 Compaction invalidates row cache
 

 Key: CASSANDRA-4364
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4364
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2
Reporter: Marcus Eriksson
Priority: Minor

 Compactions invalidate row cache after CASSANDRA-3862
 https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java#L87

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4282) Improve startup time by making row cache population multi threaded

2012-06-21 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-4282:
---

Sorry for the delay reviewing.  I'm unable to apply to current trunk or trunk 
as of May 25...  could you rebase?

 Improve startup time by making row cache population multi threaded
 --

 Key: CASSANDRA-4282
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4282
 Project: Cassandra
  Issue Type: Improvement
Reporter: Marcus Eriksson
Priority: Minor
 Fix For: 1.2

 Attachments: 
 0001-improve-startup-time-by-multi-threading-row-cache-re.patch


 Attached patch multi threads the row cache population
 my small tests show improvements atleast;
 {code}
 - 4 cores 
   

 - 11G stress-generated data
 - page cache dropped between runs 
   
  
   
   

 single platter spinning disk: 
   
 
 single threaded:  
   

  INFO 10:18:21,365 completed loading (245562 ms; 311381 keys) row cache for 
 Keyspace1.Standard1   
  
  INFO 10:32:43,738 completed loading (255106 ms; 311381 keys) row cache for 
 Keyspace1.Standard1   
  
 multi threaded:   
   

  INFO 10:22:47,567 completed loading (213905 ms; 311381 keys) row cache for 
 Keyspace1.Standard1   
  
  INFO 10:27:26,873 completed loading (214514 ms; 311381 keys) row cache for 
 Keyspace1.Standard1   
  
   
   

 ssd;  
   

 single threaded:  
   

  INFO 10:40:49,079 completed loading (103883 ms; 311381 keys) row cache for 
 Keyspace1.Standard1   
  
  INFO 10:43:45,799 completed loading (106913 ms; 311381 keys) row cache for 
 Keyspace1.Standard1   
  
 multi threaded:   
   

  INFO 10:38:20,798 completed loading (57617 ms; 311381 keys) row cache for 
 Keyspace1.Standard1   
   
  INFO 10:47:20,339 completed loading (56682 ms; 311381 keys) row cache for 
 Keyspace1.Standard1
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




git commit: add short-circuit abort check in searchInternal patch by Daniel Doubleday; reviewed by jbellis for CASSANDRA-3708

2012-06-21 Thread jbellis
Updated Branches:
  refs/heads/trunk e6610e469 - 84bfdf27d


add short-circuit abort check in searchInternal
patch by Daniel Doubleday; reviewed by jbellis for CASSANDRA-3708


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/84bfdf27
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/84bfdf27
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/84bfdf27

Branch: refs/heads/trunk
Commit: 84bfdf27dfbd8aa3c030fd77b188c245db9bf705
Parents: e6610e4
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Jun 21 13:36:29 2012 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Jun 21 13:36:29 2012 -0500

--
 .../org/apache/cassandra/utils/IntervalTree.java   |3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/84bfdf27/src/java/org/apache/cassandra/utils/IntervalTree.java
--
diff --git a/src/java/org/apache/cassandra/utils/IntervalTree.java 
b/src/java/org/apache/cassandra/utils/IntervalTree.java
index ec8e166..ba9e438 100644
--- a/src/java/org/apache/cassandra/utils/IntervalTree.java
+++ b/src/java/org/apache/cassandra/utils/IntervalTree.java
@@ -290,6 +290,9 @@ public class IntervalTreeC, D, I extends IntervalC, D 
implements IterableI
 
 void searchInternal(IntervalC, D searchInterval, ListD results)
 {
+if (comparePoints(searchInterval.max, low)  0 || 
comparePoints(searchInterval.min, high)  0)
+return;
+
 if (contains(searchInterval, center))
 {
 // Adds every interval contained in this node to the result 
set then search left and right for further



[jira] [Commented] (CASSANDRA-3708) Support composite prefix tombstones

2012-06-21 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-3708:
---

lgtm, committed

 Support composite prefix tombstones
 -

 Key: CASSANDRA-3708
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3708
 Project: Cassandra
  Issue Type: Sub-task
Reporter: Jonathan Ellis
Assignee: Sylvain Lebresne
 Fix For: 1.2




--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4119) Support multiple non-consecutive tokens per host (virtual nodes)

2012-06-21 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-4119:
-

It's been some time since I last tested this, so I decided to give it another 
go.  After updating the branch to 7e9ecd9783fbefaea13fe1b1ceb3bac46aa57291 I'm 
unable to reproduce, so perhaps it was some condition in trunk exacerbating the 
problem that has been fixed in the past ~20 days.

 Support multiple non-consecutive tokens per host (virtual nodes)
 

 Key: CASSANDRA-4119
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4119
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Sam Overton
Assignee: Sam Overton
  Labels: virtualnodes, vnodes

 This is the parent ticket for the virtual nodes implementation which was 
 proposed here: 
 http://www.mail-archive.com/dev@cassandra.apache.org/msg03837.html and 
 discussed in the subsequent thread.
 The goals of this ticket are:
 * reduced operations complexity for scaling up/down
 * reduced rebuild time in event of failure
 * evenly distributed load impact in the event of failure
 * evenly distributed impact of streaming operations
 * more viable support for heterogeneity of hardware
 The intention is that this can be done in a way which is
 * fully backwards-compatible
 * optionally enabled
 The latter of these can be trivially achieved by setting the number of tokens 
 per host to 1, to reproduce the existing behaviour.
 Implementation detail can be added and discussed in the sub-tickets, but here 
 is an overview of the proposed changes:
 * TokenMetadata will allow multiple tokens per host
 * Hosts will be referred to by a UUID instead of token (e.g. in Gossip, when 
 storing hints, etc.)
 * A bootstrapping node can get multiple tokens from initial_token (comma 
 separated) or by random allocation
 * NetworkTopologyStrategy will be extended to be aware of virtual nodes so 
 that replicas are not placed on the same host (similar to racks now)
 * Repairs will be staggered similar to CASSANDRA-3721
 * Nodetool operations will be virtual-node aware, while maintaining backwards 
 compatibility (ie. existing scripts won't have to change)
 * Upgrade will be a standard rolling upgrade, with optional rolling migration 
 to full vnode support

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




git commit: add UseCondCardMark to default GC options

2012-06-21 Thread jbellis
Updated Branches:
  refs/heads/trunk 84bfdf27d - 544f1a8ec


add UseCondCardMark to default GC options


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/544f1a8e
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/544f1a8e
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/544f1a8e

Branch: refs/heads/trunk
Commit: 544f1a8ec0506d9389c48ec2ed76876142b8bfd5
Parents: 84bfdf2
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Jun 21 13:46:43 2012 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Jun 21 13:46:43 2012 -0500

--
 conf/cassandra-env.sh |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/544f1a8e/conf/cassandra-env.sh
--
diff --git a/conf/cassandra-env.sh b/conf/cassandra-env.sh
index a3ca022..4b410b5 100644
--- a/conf/cassandra-env.sh
+++ b/conf/cassandra-env.sh
@@ -169,6 +169,7 @@ JVM_OPTS=$JVM_OPTS -XX:SurvivorRatio=8
 JVM_OPTS=$JVM_OPTS -XX:MaxTenuringThreshold=1
 JVM_OPTS=$JVM_OPTS -XX:CMSInitiatingOccupancyFraction=75
 JVM_OPTS=$JVM_OPTS -XX:+UseCMSInitiatingOccupancyOnly
+JVM_OPTS=$JVM_OPTS -XX:+UseCondCardMark
 
 # GC logging options -- uncomment to enable
 # JVM_OPTS=$JVM_OPTS -XX:+PrintGCDetails



[jira] [Commented] (CASSANDRA-3942) ColumnFamilyRecordReader can report progress 100%

2012-06-21 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-3942:
---

+1

 ColumnFamilyRecordReader can report progress  100%
 ---

 Key: CASSANDRA-3942
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3942
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 0.6
Reporter: T Jake Luciani
Assignee: Brandon Williams
Priority: Minor
 Fix For: 1.1.2

 Attachments: 3942.txt


 CFRR.getProgress() can return a value  1.0 since the totalRowCount is a 
 estimate.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Resolved] (CASSANDRA-4147) add NULL to CQL3

2012-06-21 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-4147.
---

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

agreed.

 add NULL to CQL3
 

 Key: CASSANDRA-4147
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4147
 Project: Cassandra
  Issue Type: New Feature
Reporter: T Jake Luciani
Priority: Minor

 cqlsh:cfs insert into foo (key,val1,val2)values('row2',NULL,NULL);
 Bad Request: unable to make long from 'NULL'

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




git commit: Revert add UseCondCardMark to default GC options (not supported in 1.6?)

2012-06-21 Thread jbellis
Updated Branches:
  refs/heads/trunk 544f1a8ec - 7c306cbda


Revert add UseCondCardMark to default GC options (not supported in 1.6?)

This reverts commit 544f1a8ec0506d9389c48ec2ed76876142b8bfd5.


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7c306cbd
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7c306cbd
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7c306cbd

Branch: refs/heads/trunk
Commit: 7c306cbdae24ad2b0aff6481d1aeaa27c97c913c
Parents: 544f1a8
Author: Jonathan Ellis jbel...@apache.org
Authored: Thu Jun 21 14:02:47 2012 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Thu Jun 21 14:02:47 2012 -0500

--
 conf/cassandra-env.sh |1 -
 1 files changed, 0 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7c306cbd/conf/cassandra-env.sh
--
diff --git a/conf/cassandra-env.sh b/conf/cassandra-env.sh
index 4b410b5..a3ca022 100644
--- a/conf/cassandra-env.sh
+++ b/conf/cassandra-env.sh
@@ -169,7 +169,6 @@ JVM_OPTS=$JVM_OPTS -XX:SurvivorRatio=8
 JVM_OPTS=$JVM_OPTS -XX:MaxTenuringThreshold=1
 JVM_OPTS=$JVM_OPTS -XX:CMSInitiatingOccupancyFraction=75
 JVM_OPTS=$JVM_OPTS -XX:+UseCMSInitiatingOccupancyOnly
-JVM_OPTS=$JVM_OPTS -XX:+UseCondCardMark
 
 # GC logging options -- uncomment to enable
 # JVM_OPTS=$JVM_OPTS -XX:+PrintGCDetails



[jira] [Commented] (CASSANDRA-3707) Add KeyspaceChange CqlResultType

2012-06-21 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-3707:
---

Quoting Rick from CASSANDRA-2478:

bq. Much of the pressure in the corporate world I live in is from teams that 
are trying to use JDBC driver for C* in the same fashion and with the same BI, 
ETL and statistics tools (Talend, Informatica, Datastage, SPSS, SAS) as they do 
for relational solutions. Many of these tools are quite comprehensive in the 
information they can display and use, so they are heavy users of the metadata 
features of the driver. Returning no data for some functions often causes the 
tooling to just give up, not to use what they have. 

However, given that we've added this functionality to the 2478 driver, do we 
need to mangle Thrift again to add it there too?  (Since clients will need to 
be updated to use the new information either way...)

 Add KeyspaceChange CqlResultType
 

 Key: CASSANDRA-3707
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3707
 Project: Cassandra
  Issue Type: Sub-task
  Components: API
Reporter: Jonathan Ellis
Assignee: satish babu krishnamoorthy
  Labels: cql
 Fix For: 1.1.2


 High level clients want to handle failover and load balancing transparently 
 to the application, which means not just connection pooling but moving an 
 existing connection to another server if necessary.  When this happens, the 
 client needs to know what the active keyspace was before failover, so it can 
 set it to the same one in the new connection.
 Currently some clients handle this by checking for SET KEYSPACE queries, 
 which violates the design principle that clients shouldn't have to parse CQL. 
  Adding a new CqlResultType (that is set in response to a SET KEYSPACE 
 command) would make this unnecessary.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (CASSANDRA-4366) add UseCondCardMark XX jvm settings on jdk 1.7

2012-06-21 Thread Dave Brosius (JIRA)
Dave Brosius created CASSANDRA-4366:
---

 Summary: add UseCondCardMark XX jvm settings on jdk 1.7
 Key: CASSANDRA-4366
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4366
 Project: Cassandra
  Issue Type: Improvement
  Components: Packaging
Affects Versions: 1.2
Reporter: Dave Brosius
Priority: Trivial
 Fix For: 1.2


found by jbellis

adding jvm extension setting UseCondCardMark as defined here

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7029167

for better lock handling especially on hotspot with multicore processors.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-4366) add UseCondCardMark XX jvm settings on jdk 1.7

2012-06-21 Thread Dave Brosius (JIRA)

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

Dave Brosius updated CASSANDRA-4366:


Attachment: 4366.txt

 add UseCondCardMark XX jvm settings on jdk 1.7
 --

 Key: CASSANDRA-4366
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4366
 Project: Cassandra
  Issue Type: Improvement
  Components: Packaging
Affects Versions: 1.2
Reporter: Dave Brosius
Priority: Trivial
 Fix For: 1.2

 Attachments: 4366.txt


 found by jbellis
 adding jvm extension setting UseCondCardMark as defined here
 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7029167
 for better lock handling especially on hotspot with multicore processors.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4366) add UseCondCardMark XX jvm settings on jdk 1.7

2012-06-21 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-4366:
---

+1

 add UseCondCardMark XX jvm settings on jdk 1.7
 --

 Key: CASSANDRA-4366
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4366
 Project: Cassandra
  Issue Type: Improvement
  Components: Packaging
Affects Versions: 1.2
Reporter: Dave Brosius
Priority: Trivial
 Fix For: 1.2

 Attachments: 4366.txt


 found by jbellis
 adding jvm extension setting UseCondCardMark as defined here
 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7029167
 for better lock handling especially on hotspot with multicore processors.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




git commit: fix typo (spilleng)

2012-06-21 Thread dbrosius
Updated Branches:
  refs/heads/trunk 7c306cbda - 67e4fdb43


fix typo (spilleng)


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/67e4fdb4
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/67e4fdb4
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/67e4fdb4

Branch: refs/heads/trunk
Commit: 67e4fdb439dfdbf3ecca7c2ef4bd35fad3714b9e
Parents: 7c306cb
Author: Dave Brosius dbros...@apache.org
Authored: Thu Jun 21 15:21:23 2012 -0400
Committer: Dave Brosius dbros...@apache.org
Committed: Thu Jun 21 15:21:23 2012 -0400

--
 conf/cassandra.yaml |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/67e4fdb4/conf/cassandra.yaml
--
diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml
index a584448..6d499c7 100644
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@ -410,7 +410,7 @@ write_rpc_timeout_in_ms: 1
 # (This can be much longer, because we need to flush all CFs
 # to make sure we can clear out anythink in the commitlog that could
 # cause truncated data to reappear.)
-truncate_timeout_in_ms: 30
+truncate_rpc_timeout_in_ms: 30
 # The default timeout for other, miscellaneous operations
 rpc_timeout_in_ms: 1
 



[jira] [Commented] (CASSANDRA-4325) CQL unable to drop columnfamily

2012-06-21 Thread Jason Walkowicz (JIRA)

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

Jason Walkowicz commented on CASSANDRA-4325:


I rebooted the server and it works now.

 CQL unable to drop columnfamily
 ---

 Key: CASSANDRA-4325
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4325
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.0
 Environment: Debian 6.0.5 Squeeze
Reporter: Jason Walkowicz
  Labels: CQL

 cqlsh:x DROP COLUMNFAMILY userstats ;
 cqlsh:x select * from userstats;
  key   | column1 | value
 ---+-+---
  jason |fans | 1

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4325) CQL unable to drop columnfamily

2012-06-21 Thread paul cannon (JIRA)

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

paul cannon commented on CASSANDRA-4325:


Would you rather assume there was something busted in your system then, and 
close this ticket -- or leave it open and still provide the additional info?

 CQL unable to drop columnfamily
 ---

 Key: CASSANDRA-4325
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4325
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.1.0
 Environment: Debian 6.0.5 Squeeze
Reporter: Jason Walkowicz
  Labels: CQL

 cqlsh:x DROP COLUMNFAMILY userstats ;
 cqlsh:x select * from userstats;
  key   | column1 | value
 ---+-+---
  jason |fans | 1

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[1/3] git commit: Merge branch 'cassandra-1.1' into trunk

2012-06-21 Thread brandonwilliams
Updated Branches:
  refs/heads/cassandra-1.1 65b09c8c9 - 8128119a0
  refs/heads/trunk 67e4fdb43 - 1ecd9b7e9


Merge branch 'cassandra-1.1' into trunk


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1ecd9b7e
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1ecd9b7e
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1ecd9b7e

Branch: refs/heads/trunk
Commit: 1ecd9b7e9dd472705c5eeec7dfadccc87f879a16
Parents: 67e4fdb 8128119
Author: Brandon Williams brandonwilli...@apache.org
Authored: Thu Jun 21 14:43:10 2012 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Thu Jun 21 14:43:10 2012 -0500

--
 .../cassandra/hadoop/ColumnFamilyRecordReader.java |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/1ecd9b7e/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java
--



[2/3] git commit: Bound CFRR progress to 100%. Patch by brandonwilliams reviewed by jbellis for CASSANDRA-3942

2012-06-21 Thread brandonwilliams
Bound CFRR progress to 100%.
Patch by brandonwilliams reviewed by jbellis for CASSANDRA-3942


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8128119a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8128119a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8128119a

Branch: refs/heads/trunk
Commit: 8128119a04f04a89efaf3808d5ebcc4a06cc12a7
Parents: 65b09c8
Author: Brandon Williams brandonwilli...@apache.org
Authored: Thu Jun 21 14:41:25 2012 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Thu Jun 21 14:41:25 2012 -0500

--
 .../cassandra/hadoop/ColumnFamilyRecordReader.java |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8128119a/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java
--
diff --git a/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java 
b/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java
index f4a2a7b..498b00c 100644
--- a/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java
+++ b/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java
@@ -108,7 +108,8 @@ public class ColumnFamilyRecordReader extends 
RecordReaderByteBuffer, SortedMap
 {
 // TODO this is totally broken for wide rows
 // the progress is likely to be reported slightly off the actual but 
close enough
-return ((float)iter.rowsRead()) / totalRowCount;
+float progress = ((float) iter.rowsRead() / totalRowCount);
+return progress  1.0F ? 1.0F : progress;
 }
 
 static boolean isEmptyPredicate(SlicePredicate predicate)



[3/3] git commit: Bound CFRR progress to 100%. Patch by brandonwilliams reviewed by jbellis for CASSANDRA-3942

2012-06-21 Thread brandonwilliams
Bound CFRR progress to 100%.
Patch by brandonwilliams reviewed by jbellis for CASSANDRA-3942


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8128119a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8128119a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8128119a

Branch: refs/heads/cassandra-1.1
Commit: 8128119a04f04a89efaf3808d5ebcc4a06cc12a7
Parents: 65b09c8
Author: Brandon Williams brandonwilli...@apache.org
Authored: Thu Jun 21 14:41:25 2012 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Thu Jun 21 14:41:25 2012 -0500

--
 .../cassandra/hadoop/ColumnFamilyRecordReader.java |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8128119a/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java
--
diff --git a/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java 
b/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java
index f4a2a7b..498b00c 100644
--- a/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java
+++ b/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java
@@ -108,7 +108,8 @@ public class ColumnFamilyRecordReader extends 
RecordReaderByteBuffer, SortedMap
 {
 // TODO this is totally broken for wide rows
 // the progress is likely to be reported slightly off the actual but 
close enough
-return ((float)iter.rowsRead()) / totalRowCount;
+float progress = ((float) iter.rowsRead() / totalRowCount);
+return progress  1.0F ? 1.0F : progress;
 }
 
 static boolean isEmptyPredicate(SlicePredicate predicate)



git commit: add UseCondCardMark XX jvm settings on jdk 1.7 patch by jbellis reviewed by dbrosius for CASSANDRA-4366

2012-06-21 Thread dbrosius
Updated Branches:
  refs/heads/trunk 1ecd9b7e9 - ecda83471


add UseCondCardMark XX jvm settings on jdk 1.7
patch by jbellis reviewed by dbrosius for CASSANDRA-4366


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ecda8347
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ecda8347
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ecda8347

Branch: refs/heads/trunk
Commit: ecda83471c94d7bb1afc7e3ae7e45f760b8ab572
Parents: 1ecd9b7
Author: Dave Brosius dbros...@apache.org
Authored: Thu Jun 21 16:01:59 2012 -0400
Committer: Dave Brosius dbros...@apache.org
Committed: Thu Jun 21 16:03:40 2012 -0400

--
 CHANGES.txt   |2 +-
 conf/cassandra-env.sh |4 
 2 files changed, 5 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ecda8347/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 344c87b..0e717d0 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,11 +1,11 @@
 1.2-dev
+ * add UseCondCardMark XX jvm settings on jdk 1.7 (CASSANDRA-4366)
  * split up rpc timeout by operation type (CASSANDRA-2819)
  * rewrite key cache save/load to use only sequential i/o (CASSANDRA-3762)
  * update MS protocol with a version handshake + broadcast address id
(CASSANDRA-4311)
  * multithreaded hint replay (CASSANDRA-4189)
  * add inter-node message compression (CASSANDRA-3127)
- * enforce 1m min keycache for auto (CASSANDRA-4306)
  * remove COPP (CASSANDRA-2479)
  * Track tombstone expiration and compact when tombstone content is
higher than a configurable threshold, default 20% (CASSANDRA-3442)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ecda8347/conf/cassandra-env.sh
--
diff --git a/conf/cassandra-env.sh b/conf/cassandra-env.sh
index a3ca022..6d71171 100644
--- a/conf/cassandra-env.sh
+++ b/conf/cassandra-env.sh
@@ -169,6 +169,10 @@ JVM_OPTS=$JVM_OPTS -XX:SurvivorRatio=8
 JVM_OPTS=$JVM_OPTS -XX:MaxTenuringThreshold=1
 JVM_OPTS=$JVM_OPTS -XX:CMSInitiatingOccupancyFraction=75
 JVM_OPTS=$JVM_OPTS -XX:+UseCMSInitiatingOccupancyOnly
+if [ $java_version = 1.7 ]
+then
+JVM_OPTS=$JVM_OPTS -XX:+UseCondCardMark
+fi
 
 # GC logging options -- uncomment to enable
 # JVM_OPTS=$JVM_OPTS -XX:+PrintGCDetails



[jira] [Assigned] (CASSANDRA-4366) add UseCondCardMark XX jvm settings on jdk 1.7

2012-06-21 Thread Dave Brosius (JIRA)

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

Dave Brosius reassigned CASSANDRA-4366:
---

Assignee: Jonathan Ellis

 add UseCondCardMark XX jvm settings on jdk 1.7
 --

 Key: CASSANDRA-4366
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4366
 Project: Cassandra
  Issue Type: Improvement
  Components: Packaging
Affects Versions: 1.2
Reporter: Dave Brosius
Assignee: Jonathan Ellis
Priority: Trivial
 Fix For: 1.2

 Attachments: 4366.txt


 found by jbellis
 adding jvm extension setting UseCondCardMark as defined here
 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7029167
 for better lock handling especially on hotspot with multicore processors.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-4366) add UseCondCardMark XX jvm settings on jdk 1.7

2012-06-21 Thread Dave Brosius (JIRA)

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

Dave Brosius updated CASSANDRA-4366:


Reviewer: dbros...@apache.org

 add UseCondCardMark XX jvm settings on jdk 1.7
 --

 Key: CASSANDRA-4366
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4366
 Project: Cassandra
  Issue Type: Improvement
  Components: Packaging
Affects Versions: 1.2
Reporter: Dave Brosius
Assignee: Jonathan Ellis
Priority: Trivial
 Fix For: 1.2

 Attachments: 4366.txt


 found by jbellis
 adding jvm extension setting UseCondCardMark as defined here
 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7029167
 for better lock handling especially on hotspot with multicore processors.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4366) add UseCondCardMark XX jvm settings on jdk 1.7

2012-06-21 Thread Dave Brosius (JIRA)

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

Dave Brosius commented on CASSANDRA-4366:
-

committed to trunk as commit ecda83471c94d7bb1afc7e3ae7e45f760b8ab572

 add UseCondCardMark XX jvm settings on jdk 1.7
 --

 Key: CASSANDRA-4366
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4366
 Project: Cassandra
  Issue Type: Improvement
  Components: Packaging
Affects Versions: 1.2
Reporter: Dave Brosius
Assignee: Jonathan Ellis
Priority: Trivial
 Fix For: 1.2

 Attachments: 4366.txt


 found by jbellis
 adding jvm extension setting UseCondCardMark as defined here
 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7029167
 for better lock handling especially on hotspot with multicore processors.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Resolved] (CASSANDRA-4366) add UseCondCardMark XX jvm settings on jdk 1.7

2012-06-21 Thread Dave Brosius (JIRA)

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

Dave Brosius resolved CASSANDRA-4366.
-

Resolution: Fixed

 add UseCondCardMark XX jvm settings on jdk 1.7
 --

 Key: CASSANDRA-4366
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4366
 Project: Cassandra
  Issue Type: Improvement
  Components: Packaging
Affects Versions: 1.2
Reporter: Dave Brosius
Assignee: Jonathan Ellis
Priority: Trivial
 Fix For: 1.2

 Attachments: 4366.txt


 found by jbellis
 adding jvm extension setting UseCondCardMark as defined here
 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7029167
 for better lock handling especially on hotspot with multicore processors.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Reopened] (CASSANDRA-2819) Split rpc timeout for read and write ops

2012-06-21 Thread Brandon Williams (JIRA)

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

Brandon Williams reopened CASSANDRA-2819:
-

  Assignee: Jonathan Ellis  (was: Melvin Wang)

The target can be null when the host is killed before it fires:

{noformat}
ERROR [EXPIRING-MAP-REAPER:1] 2012-06-21 15:55:27,708 
AbstractCassandraDaemon.java (line 133) Exception in thread 
Thread[EXPIRING-MAP-REAPER:1,5,main]
java.lang.NullPointerException
at 
org.apache.cassandra.net.MessagingService$5.apply(MessagingService.java:326)
at 
org.apache.cassandra.net.MessagingService$5.apply(MessagingService.java:322)
at org.apache.cassandra.utils.ExpiringMap$1.run(ExpiringMap.java:99)
at 
org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor$UncomplainingRunnable.run(DebuggableScheduledThreadPoolExecutor.java:75)
at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at 
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
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)
{noformat}

 Split rpc timeout for read and write ops
 

 Key: CASSANDRA-2819
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2819
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Stu Hood
Assignee: Jonathan Ellis
 Fix For: 1.2

 Attachments: 2819-v4.txt, 2819-v5-rebased.txt, 2819-v8.txt, 
 2819-v9.txt, c2819-v6, c2819-v7, c2819.patch, rpc-jira.patch


 Given the vastly different latency characteristics of reads and writes, it 
 makes sense for them to have independent rpc timeouts internally.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-4366) add UseCondCardMark XX jvm settings on jdk 1.7

2012-06-21 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-4366:
--

Reviewer: jbellis  (was: dbros...@apache.org)
Assignee: Dave Brosius  (was: Jonathan Ellis)

 add UseCondCardMark XX jvm settings on jdk 1.7
 --

 Key: CASSANDRA-4366
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4366
 Project: Cassandra
  Issue Type: Improvement
  Components: Packaging
Affects Versions: 1.2
Reporter: Dave Brosius
Assignee: Dave Brosius
Priority: Trivial
 Fix For: 1.2

 Attachments: 4366.txt


 found by jbellis
 adding jvm extension setting UseCondCardMark as defined here
 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7029167
 for better lock handling especially on hotspot with multicore processors.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-2819) Split rpc timeout for read and write ops

2012-06-21 Thread Vijay (JIRA)

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

Vijay commented on CASSANDRA-2819:
--

{quote}
The target can be null when the host is killed before it fires
{quote}
I think the NPE is because CallbackInfo.sentMessage is null right? 
i think it is better to move store the timeout value in the CallbackInfo...


 Split rpc timeout for read and write ops
 

 Key: CASSANDRA-2819
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2819
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Stu Hood
Assignee: Jonathan Ellis
 Fix For: 1.2

 Attachments: 2819-v4.txt, 2819-v5-rebased.txt, 2819-v8.txt, 
 2819-v9.txt, c2819-v6, c2819-v7, c2819.patch, rpc-jira.patch


 Given the vastly different latency characteristics of reads and writes, it 
 makes sense for them to have independent rpc timeouts internally.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-2819) Split rpc timeout for read and write ops

2012-06-21 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2819:
---

Right.  This is broken, reverted.

 Split rpc timeout for read and write ops
 

 Key: CASSANDRA-2819
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2819
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Stu Hood
Assignee: Jonathan Ellis
 Fix For: 1.2

 Attachments: 2819-v4.txt, 2819-v5-rebased.txt, 2819-v8.txt, 
 2819-v9.txt, c2819-v6, c2819-v7, c2819.patch, rpc-jira.patch


 Given the vastly different latency characteristics of reads and writes, it 
 makes sense for them to have independent rpc timeouts internally.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-2819) Split rpc timeout for read and write ops

2012-06-21 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-2819:
---

We already have the timeout info in the EM entry, probably simplest to just 
pass that to the reporter method instead of storing it redundantly in the 
callback as well.

 Split rpc timeout for read and write ops
 

 Key: CASSANDRA-2819
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2819
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Stu Hood
Assignee: Jonathan Ellis
 Fix For: 1.2

 Attachments: 2819-v4.txt, 2819-v5-rebased.txt, 2819-v8.txt, 
 2819-v9.txt, c2819-v6, c2819-v7, c2819.patch, rpc-jira.patch


 Given the vastly different latency characteristics of reads and writes, it 
 makes sense for them to have independent rpc timeouts internally.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-2819) Split rpc timeout for read and write ops

2012-06-21 Thread Vijay (JIRA)

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

Vijay updated CASSANDRA-2819:
-

Attachment: 0001-additional-fix-for-2819.patch

Fix for NPE.

 Split rpc timeout for read and write ops
 

 Key: CASSANDRA-2819
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2819
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Stu Hood
Assignee: Jonathan Ellis
 Fix For: 1.2

 Attachments: 0001-additional-fix-for-2819.patch, 2819-v4.txt, 
 2819-v5-rebased.txt, 2819-v8.txt, 2819-v9.txt, c2819-v6, c2819-v7, 
 c2819.patch, rpc-jira.patch


 Given the vastly different latency characteristics of reads and writes, it 
 makes sense for them to have independent rpc timeouts internally.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3564) flush before shutdown so restart is faster

2012-06-21 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-3564:


bq. Sure, but this is where is gets a little more complicated, since after 
receiving the error the init script needs to check that the pid is really gone, 
and if not get more forceful.

was about to implement this when a problem came to mind. There's no time limit 
on how long a flush will take and shutdown hooks can take as long as needed to 
finish up so we have no idea when to get more forceful.

There's two ways we could deal with this IMO:
- we poll-check on the pid, nodetool side, and give it an umbrella grace period 
to do everything, after that we SIGKILL it
- we simply inform that it might take a while.

 flush before shutdown so restart is faster
 --

 Key: CASSANDRA-3564
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3564
 Project: Cassandra
  Issue Type: New Feature
  Components: Packaging
Reporter: Jonathan Ellis
Assignee: David Alves
Priority: Minor
 Fix For: 1.2

 Attachments: 3564.patch


 Cassandra handles flush in its shutdown hook for durable_writes=false CFs 
 (otherwise we're *guaranteed* to lose data) but leaves it up to the operator 
 otherwise.  I'd rather leave it that way to offer these semantics:
 - cassandra stop = shutdown nicely [explicit flush, then kill -int]
 - kill -INT = shutdown faster but don't lose any updates [current behavior]
 - kill -KILL = lose most recent writes unless durable_writes=true and batch 
 commits are on [also current behavior]
 But if it's not reasonable to use nodetool from the init script then I guess 
 we can just make the shutdown hook flush everything.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3564) flush before shutdown so restart is faster

2012-06-21 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-3564:
-

bq. There's no time limit on how long a flush will take and shutdown hooks can 
take as long as needed to finish up so we have no idea when to get more 
forceful.

Nodetool is going to block until it's finished, at which point if the pid still 
exists (I guess if jmx timed out or something) we just SIGKILL it.

 flush before shutdown so restart is faster
 --

 Key: CASSANDRA-3564
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3564
 Project: Cassandra
  Issue Type: New Feature
  Components: Packaging
Reporter: Jonathan Ellis
Assignee: David Alves
Priority: Minor
 Fix For: 1.2

 Attachments: 3564.patch


 Cassandra handles flush in its shutdown hook for durable_writes=false CFs 
 (otherwise we're *guaranteed* to lose data) but leaves it up to the operator 
 otherwise.  I'd rather leave it that way to offer these semantics:
 - cassandra stop = shutdown nicely [explicit flush, then kill -int]
 - kill -INT = shutdown faster but don't lose any updates [current behavior]
 - kill -KILL = lose most recent writes unless durable_writes=true and batch 
 commits are on [also current behavior]
 But if it's not reasonable to use nodetool from the init script then I guess 
 we can just make the shutdown hook flush everything.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-1337) parallelize fetching rows for low-cardinality indexes

2012-06-21 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-1337:


Thanks for the review Vijay.

I have nothing to add...

 parallelize fetching rows for low-cardinality indexes
 -

 Key: CASSANDRA-1337
 URL: https://issues.apache.org/jira/browse/CASSANDRA-1337
 Project: Cassandra
  Issue Type: Improvement
Reporter: Jonathan Ellis
Assignee: David Alves
Priority: Minor
 Fix For: 1.2

 Attachments: 
 0001-CASSANDRA-1337-scan-concurrently-depending-on-num-rows.txt, 
 CASSANDRA-1337.patch

   Original Estimate: 8h
  Remaining Estimate: 8h

 currently, we read the indexed rows from the first node (in partitioner 
 order); if that does not have enough matching rows, we read the rows from the 
 next, and so forth.
 we should use the statistics fom CASSANDRA-1155 to query multiple nodes in 
 parallel, such that we have a high chance of getting enough rows w/o having 
 to do another round of queries (but, if our estimate is incorrect, we do need 
 to loop and do more rounds until we have enough data or we have fetched from 
 each node).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




git commit: parallelize fetching rows for low-cardinality indexes patch by David Alves; reviewed by Vijay for CASSANDRA-1337

2012-06-21 Thread vijay
Updated Branches:
  refs/heads/trunk ecda83471 - 9cf915fd4


parallelize fetching rows for low-cardinality indexes
patch by David Alves; reviewed by Vijay for CASSANDRA-1337


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9cf915fd
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9cf915fd
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9cf915fd

Branch: refs/heads/trunk
Commit: 9cf915fd464b6f8a6aa9d54a762ad8796872681a
Parents: ecda834
Author: Vijay Parthasarathy vijay2...@gmail.com
Authored: Thu Jun 21 21:20:09 2012 -0700
Committer: Vijay Parthasarathy vijay2...@gmail.com
Committed: Thu Jun 21 21:20:09 2012 -0700

--
 .../org/apache/cassandra/service/StorageProxy.java |   66 ++-
 1 files changed, 45 insertions(+), 21 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9cf915fd/src/java/org/apache/cassandra/service/StorageProxy.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java 
b/src/java/org/apache/cassandra/service/StorageProxy.java
index 92a3256..4353a8f 100644
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@ -845,6 +845,22 @@ public class StorageProxy implements StorageProxyMBean
 int columnsCount = 0;
 rows = new ArrayListRow();
 ListAbstractBoundsRowPosition ranges = 
getRestrictedRanges(command.range);
+
+// get the cardinality of this index based on row count
+// use this info to decide how many scans to do in parallel
+long estimatedKeys = 
Table.open(command.keyspace).getColumnFamilyStore(command.column_family)
+.estimateKeys();
+int concurrencyFactor = (int) command.maxResults / ((int) 
estimatedKeys + 1);
+
+if (concurrencyFactor = 0)
+concurrencyFactor = 1;
+
+if (concurrencyFactor  ranges.size())
+concurrencyFactor = ranges.size();
+
+// parallel scan handlers
+ListReadCallbackRangeSliceReply, IterableRow scanHandlers = 
new ArrayListReadCallbackRangeSliceReply, IterableRow(concurrencyFactor);
+
 for (AbstractBoundsRowPosition range : ranges)
 {
 RangeSliceCommand nodeCmd = new 
RangeSliceCommand(command.keyspace,
@@ -895,32 +911,40 @@ public class StorageProxy implements StorageProxyMBean
 logger.debug(reading  + nodeCmd +  from  + 
endpoint);
 }
 
-try
+scanHandlers.add(handler);
+if (scanHandlers.size() = concurrencyFactor)
 {
-for (Row row : handler.get())
+for (ReadCallbackRangeSliceReply, IterableRow 
scanHandler : scanHandlers)
 {
-rows.add(row);
-columnsCount += row.getLiveColumnCount();
-logger.debug(range slices read {}, row.key);
+try
+{
+for (Row row : scanHandler.get())
+{
+rows.add(row);
+columnsCount += row.getLiveColumnCount();
+logger.debug(range slices read {}, 
row.key);
+}
+
FBUtilities.waitOnFutures(resolver.repairResults, 
DatabaseDescriptor.getReadRpcTimeout());
+}
+catch (TimeoutException ex)
+{
+if (logger.isDebugEnabled())
+logger.debug(Range slice timeout: {}, 
ex.toString());
+throw ex;
+}
+catch (DigestMismatchException e)
+{
+throw new AssertionError(e); // no digests in 
range slices yet
+}
+
+// if we're done, great, otherwise, move to the 
next range
+int count = nodeCmd.maxIsColumns ? columnsCount : 
rows.size();
+if (count = nodeCmd.maxResults)
+break;
 }
-FBUtilities.waitOnFutures(resolver.repairResults, 
DatabaseDescriptor.getWriteRpcTimeout());
-}
-catch (TimeoutException ex)
-