[jira] [Resolved] (CASSANDRA-6829) nodes sporadically shutting down

2014-07-31 Thread Michael Shuler (JIRA)

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

Michael Shuler resolved CASSANDRA-6829.
---

Resolution: Not a Problem

[~odpeer] I'm closing this as not a problem with Cassandra, itself. Do seek 
some help on the Cassandra IRC channel or mailing list, if you need some help 
with your cluster - I know this ticket is elderly, so I hope that you made some 
progress in the last months  :)

> nodes sporadically shutting down
> 
>
> Key: CASSANDRA-6829
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6829
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
> Environment: Windows Azure VMs.
> The VMs OS is SUSE Enterprise. I striped 2 logical volumes  for each VM, one 
> for data and one for commitlog, and formatted them as XFS.
> Oracle Java 1.7_45
> Datastax Enterprise 4.0 (Cassandra version 2.0.5.22)
>Reporter: Oded Peer
>
> I deployed a Datastax 4.0 Cassandra cluster in Windows Azure and started load 
> tests. After a while some of the nodes announce shutdown and stop responding 
> to client requests.
> The error preceding the shutdown is "FSWriteError in 
> /mnt/dsedata/lib/cassandra/poc/event_log/poc-event_log-tmp-jb-581-Data.db"  
> "Caused by: java.io.IOException: Input/output error".
> The storage I'm using in my VMs is Azure Blob storage. The VMs OS is SUSE 
> Enterprise. I striped 2 logical volumes  for each VM, one for data and one 
> for commitlog, and formatted them as XFS.
> I am using Oracle Java 1.7_45
> Restarting the Cassandra process resolves the problem for a short while 
> (minutes) afterwards the problem occurs again.
> I noticed that it happens only in tmp files of a specific table. See the 
> errors from 3 random nodes:
> (1) ERROR [CompactionExecutor:48] 2014-03-09 11:38:45,188 
> CassandraDaemon.java (line 192) Exception in thread 
> Thread[CompactionExecutor:48,1,main]
> FSWriteError in 
> /mnt/dsedata/lib/cassandra/poc/event_log/poc-event_log-tmp-jb-409-Data.db
> (2) ERROR [CompactionExecutor:37] 2014-03-10 10:04:30,828 
> CassandraDaemon.java (line 196) Exception in thread 
> Thread[CompactionExecutor:37,1,main]
> FSWriteError in 
> /mnt/dsedata/lib/cassandra/poc/event_log/poc-event_log-tmp-jb-946-Data.db
> (3) ERROR [CompactionExecutor:48] 2014-03-10 10:23:39,248 
> CassandraDaemon.java (line 196) Exception in thread 
> Thread[CompactionExecutor:48,1,main]
> FSWriteError in 
> /mnt/dsedata/lib/cassandra/poc/event_log/poc-event_log-tmp-jb-874-Data.db
> The table is a wide-row table created as:
> CREATE TABLE event_log (
>   time_slice bigint,
>   distribution_key int,
>   event_id text,
>   ... 300 columns ...
>   PRIMARY KEY ((time_slice, distribution_key), event_id)
> ) compaction={'class': 'SizeTieredCompactionStrategy'} AND
>   compression={'sstable_compression': 'LZ4Compressor'};
> CREATE INDEX EVENT_LOG_2IX ON event_log (event_id);
> 'time_slice' represents a 5 minute time-period such as MMddHHmm where 
> 'mm' is between 00 and 55 with increments of 5.
> The Data files under the 'data' directory got to be very big in a very short 
> time after the test started.
> For example:
> 1.5G Mar 10 10:50 
> /mnt/dsedata/lib/cassandra/poc/event_log/poc-event_log-jb-968-Data.db
> 3.0G Mar 10 11:41 
> /mnt/dsedata/lib/cassandra/poc/event_log/poc-event_log-tmp-jb-970-Data.db
> Full stack trace:
> ERROR [CompactionExecutor:37] 2014-03-10 10:04:30,828 CassandraDaemon.java 
> (line 196) Exception in thread Thread[CompactionExecutor:37,1,main]
> FSWriteError in 
> /mnt/dsedata/lib/cassandra/poc/event_log/poc-event_log-tmp-jb-946-Data.db
> at 
> org.apache.cassandra.io.compress.CompressedSequentialWriter.close(CompressedSequentialWriter.java:270)
> at 
> org.apache.cassandra.io.sstable.SSTableWriter.close(SSTableWriter.java:356)
> at 
> org.apache.cassandra.io.sstable.SSTableWriter.closeAndOpenReader(SSTableWriter.java:324)
> at 
> org.apache.cassandra.db.compaction.CompactionTask.runWith(CompactionTask.java:204)
> at 
> org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48)
> at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
> at 
> org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:60)
> at 
> org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:59)
> at 
> org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:197)
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at 
> java.util.

[jira] [Commented] (CASSANDRA-7653) Add role based access control to Cassandra

2014-07-31 Thread Michael Shuler (JIRA)

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

Michael Shuler commented on CASSANDRA-7653:
---

Awesome!  I didn't see any tests in a quick look at the patch, and I don't 
think there is much (any?) auth unit tests done, as most of that is done in 
dtest - https://github.com/riptano/cassandra-dtest/blob/master/auth_test.py

[~enigmacurry] this will be a feature addition to keep an eye on.  If someone 
wants to add a patch to dtest auth_test, feel free to post that as a pull 
request on the dtest github and link back to this ticket.

> Add role based access control to Cassandra
> --
>
> Key: CASSANDRA-7653
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7653
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Mike Adamson
> Fix For: 3.0
>
> Attachments: 7653.patch
>
>
> The current authentication model supports granting permissions to individual 
> users. While this is OK for small or medium organizations wanting to 
> implement authorization, it does not work well in large organizations because 
> of the overhead of having to maintain the permissions for each user.
> Introducing roles into the authentication model would allow sets of 
> permissions to be controlled in one place as a role and then the role granted 
> to users. Roles should also be able to be granted to other roles to allow 
> hierarchical sets of permissions to be built up.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7663) Removing a seed causes previously removed seeds to reappear

2014-07-31 Thread Brandon Williams (JIRA)

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

Brandon Williams updated CASSANDRA-7663:


Attachment: 7663.txt

Looks like the only way we can fix this and remain compatible is to reload the 
yaml and grabs the seeds every time getSeeds() is called, which slightly sucks 
but works.  Patch to do so.

> Removing a seed causes previously removed seeds to reappear
> ---
>
> Key: CASSANDRA-7663
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7663
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Richard Low
> Fix For: 1.2.19, 2.0.10
>
> Attachments: 7663.txt
>
>
> When you remove a seed from a cluster, Gossiper.removeEndpoint ensures it is 
> removed from the seed list. However, it also resets the seed list to be the 
> original list, which would bring back any previously removed seeds. What is 
> the reasoning for having the call to buildSeedsList()? If it wasn’t there 
> then I think the problem would be solved.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Assigned] (CASSANDRA-7663) Removing a seed causes previously removed seeds to reappear

2014-07-31 Thread Brandon Williams (JIRA)

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

Brandon Williams reassigned CASSANDRA-7663:
---

Assignee: Brandon Williams

> Removing a seed causes previously removed seeds to reappear
> ---
>
> Key: CASSANDRA-7663
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7663
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Richard Low
>Assignee: Brandon Williams
> Fix For: 1.2.19, 2.0.10
>
> Attachments: 7663.txt
>
>
> When you remove a seed from a cluster, Gossiper.removeEndpoint ensures it is 
> removed from the seed list. However, it also resets the seed list to be the 
> original list, which would bring back any previously removed seeds. What is 
> the reasoning for having the call to buildSeedsList()? If it wasn’t there 
> then I think the problem would be solved.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7311) Enable incremental backup on a per-keyspace level

2014-07-31 Thread pankaj mishra (JIRA)

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

pankaj mishra commented on CASSANDRA-7311:
--

Ok happy that it finally resolved. I will pick some other ticket of lhf label.

> Enable incremental backup on a per-keyspace level
> -
>
> Key: CASSANDRA-7311
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7311
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Johnny Miller
>Assignee: pankaj mishra
>Priority: Minor
>  Labels: lhf
> Attachments: 7311-cqlsh-update.txt, cassandra-rebased-2.1.patch, 
> table_incremental_7311.patch
>
>
> Currently incremental backups are globally defined, however this is not 
> always appropriate or required for all keyspaces in a cluster. 
> As this is quite expensive, it would be preferred to either specify the 
> keyspaces that need this (or exclude the ones that don't).



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7593) Errors when upgrading through several versions to 2.1

2014-07-31 Thread Russ Hatch (JIRA)

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

Russ Hatch commented on CASSANDRA-7593:
---

I'm still running tests, but this exception is cropping up:
{noformat}
 INFO [GossipStage:1] 2014-07-31 18:29:57,613 StorageService.java (line 1511) 
Node /127.0.0.1 state jump to normal
 INFO [HANDSHAKE-/127.0.0.1] 2014-07-31 18:29:58,163 OutboundTcpConnection.java 
(line 386) Handshaking version with /127.0.0.1
ERROR [Thrift:4] 2014-07-31 18:29:58,175 CassandraDaemon.java (line 199) 
Exception in thread Thread[Thrift:4,5,main]
java.lang.NoSuchMethodError: 
org.apache.cassandra.concurrent.TracingAwareExecutorService.maybeExecuteImmediately(Ljava/lang/Runnable;)V
at 
org.apache.cassandra.service.AbstractReadExecutor.makeDataRequests(AbstractReadExecutor.java:96)
at 
org.apache.cassandra.service.AbstractReadExecutor$NeverSpeculatingReadExecutor.executeAsync(AbstractReadExecutor.java:215)
at 
org.apache.cassandra.service.StorageProxy.fetchRows(StorageProxy.java:1216)
at 
org.apache.cassandra.service.StorageProxy.read(StorageProxy.java:1157)
at 
org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:253)
at 
org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:223)
at 
org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:61)
at 
org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:158)
at 
org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:175)
at 
org.apache.cassandra.thrift.CassandraServer.execute_cql3_query(CassandraServer.java:1958)
at 
org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4486)
at 
org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4470)
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
at 
org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:201)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
{noformat}

> Errors when upgrading through several versions to 2.1
> -
>
> Key: CASSANDRA-7593
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7593
> Project: Cassandra
>  Issue Type: Bug
> Environment: java 1.7
>Reporter: Russ Hatch
>Assignee: Tyler Hobbs
>Priority: Critical
> Fix For: 2.1.0
>
> Attachments: 0001-keep-clusteringSize-in-CompoundComposite.patch, 
> 7593-v2.txt, 7593.txt
>
>
> I'm seeing two different errors cropping up in the dtest which upgrades a 
> cluster through several versions.
> This is the more common error:
> {noformat}
> ERROR [GossipStage:10] 2014-07-22 13:14:30,028 CassandraDaemon.java:168 - 
> Exception in thread Thread[GossipStage:10,5,main]
> java.lang.AssertionError: null
> at 
> org.apache.cassandra.db.filter.SliceQueryFilter.shouldInclude(SliceQueryFilter.java:347)
>  ~[main/:na]
> at 
> org.apache.cassandra.db.filter.QueryFilter.shouldInclude(QueryFilter.java:249)
>  ~[main/:na]
> at 
> org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:249)
>  ~[main/:na]
> at 
> org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:60)
>  ~[main/:na]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1873)
>  ~[main/:na]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1681)
>  ~[main/:na]
> at org.apache.cassandra.db.Keyspace.getRow(Keyspace.java:345) 
> ~[main/:na]
> at 
> org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:59)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.readLocally(SelectStatement.java:293)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.executeInternal(SelectStatement.java:302)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.executeInternal(SelectStatement.java:60)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.QueryProcessor.executeInternal(QueryProcessor.java:263)
>  ~[main/:na]
> at 
> org.apache.cassandra.db.SystemKeyspace.getPreferredIP(SystemKeyspace.java:514)
>  ~[main/:na]
> at 
> org.apache.cassandra.net.OutboundTcpCo

[jira] [Commented] (CASSANDRA-7663) Removing a seed causes previously removed seeds to reappear

2014-07-31 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-7663:
-

bq.  If you're using SimpleSeedProvider that means the old seed is in your yaml 
and would come back with a restart anyway.

Actually I take that back, it looks like SSP itself is caching the seeds in the 
yaml forever, which is probably wrong.

> Removing a seed causes previously removed seeds to reappear
> ---
>
> Key: CASSANDRA-7663
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7663
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Richard Low
>
> When you remove a seed from a cluster, Gossiper.removeEndpoint ensures it is 
> removed from the seed list. However, it also resets the seed list to be the 
> original list, which would bring back any previously removed seeds. What is 
> the reasoning for having the call to buildSeedsList()? If it wasn’t there 
> then I think the problem would be solved.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7663) Removing a seed causes previously removed seeds to reappear

2014-07-31 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-7663:
-

bq. What is the reasoning for having the call to buildSeedsList()?

So custom seed providers can give it new seeds.  If you're using 
SimpleSeedProvider that means the old seed is in your yaml and would come back 
with a restart anyway.

> Removing a seed causes previously removed seeds to reappear
> ---
>
> Key: CASSANDRA-7663
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7663
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Richard Low
>
> When you remove a seed from a cluster, Gossiper.removeEndpoint ensures it is 
> removed from the seed list. However, it also resets the seed list to be the 
> original list, which would bring back any previously removed seeds. What is 
> the reasoning for having the call to buildSeedsList()? If it wasn’t there 
> then I think the problem would be solved.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Created] (CASSANDRA-7663) Removing a seed causes previously removed seeds to reappear

2014-07-31 Thread Richard Low (JIRA)
Richard Low created CASSANDRA-7663:
--

 Summary: Removing a seed causes previously removed seeds to 
reappear
 Key: CASSANDRA-7663
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7663
 Project: Cassandra
  Issue Type: Bug
Reporter: Richard Low


When you remove a seed from a cluster, Gossiper.removeEndpoint ensures it is 
removed from the seed list. However, it also resets the seed list to be the 
original list, which would bring back any previously removed seeds. What is the 
reasoning for having the call to buildSeedsList()? If it wasn’t there then I 
think the problem would be solved.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Assigned] (CASSANDRA-7568) Replacing a dead node using replace_address fails

2014-07-31 Thread Brandon Williams (JIRA)

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

Brandon Williams reassigned CASSANDRA-7568:
---

Assignee: Brandon Williams  (was: Shawn Kumar)

> Replacing a dead node using replace_address fails
> -
>
> Key: CASSANDRA-7568
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7568
> Project: Cassandra
>  Issue Type: Test
>  Components: Tests
>Reporter: Ala' Alkhaldi
>Assignee: Brandon Williams
>Priority: Minor
>  Labels: qa-resolved
>
> Failed assertion
> {code}
> ERROR [main] 2014-07-17 10:24:21,171 CassandraDaemon.java:474 - Exception 
> encountered during startup
> java.lang.AssertionError: Expected 1 endpoint but found 0
> at 
> org.apache.cassandra.dht.RangeStreamer.getAllRangesWithStrictSourcesFor(RangeStreamer.java:222)
>  ~[main/:na]
> at 
> org.apache.cassandra.dht.RangeStreamer.addRanges(RangeStreamer.java:131) 
> ~[main/:na]
> at 
> org.apache.cassandra.dht.BootStrapper.bootstrap(BootStrapper.java:72) 
> ~[main/:na]
> at 
> org.apache.cassandra.service.StorageService.bootstrap(StorageService.java:1049)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.StorageService.joinTokenRing(StorageService.java:811)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:626)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:511)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:338) 
> [main/:na]
> at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:457)
>  [main/:na]
> at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:546) 
> [main/:na]
> {code}
> To replicate the bug run the "replace_address_test.replace_stopped_node_test" 
> dtest



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7395) Support for pure user-defined functions (UDF)

2014-07-31 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs commented on CASSANDRA-7395:


[~snazy] sorry, I've been pretty booked with 2.1-rc bugs. I should be able to 
give the latest patch a review tomorrow.  Thanks!

> Support for pure user-defined functions (UDF)
> -
>
> Key: CASSANDRA-7395
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7395
> Project: Cassandra
>  Issue Type: New Feature
>  Components: API, Core
>Reporter: Jonathan Ellis
>Assignee: Robert Stupp
>  Labels: cql
> Fix For: 3.0
>
> Attachments: 7395.txt, udf-create-syntax.png, udf-drop-syntax.png
>
>
> We have some tickets for various aspects of UDF (CASSANDRA-4914, 
> CASSANDRA-5970, CASSANDRA-4998) but they all suffer from various degrees of 
> ocean-boiling.
> Let's start with something simple: allowing pure user-defined functions in 
> the SELECT clause of a CQL query.  That's it.
> By "pure" I mean, must depend only on the input parameters.  No side effects. 
>  No exposure to C* internals.  Column values in, result out.  
> http://en.wikipedia.org/wiki/Pure_function



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Resolved] (CASSANDRA-7651) Tolerate min/max column names of different lengths for slice intersections

2014-07-31 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs resolved CASSANDRA-7651.


Resolution: Fixed
  Reviewer: Tyler Hobbs

Thanks, committed.

> Tolerate min/max column names of different lengths for slice intersections
> --
>
> Key: CASSANDRA-7651
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7651
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Tyler Hobbs
>Assignee: Jonathan Ellis
>Priority: Minor
> Fix For: 2.1.0
>
> Attachments: 7651-v2.txt, 7651.txt
>
>
> As determined in CASSANDRA-7593, we shouldn't depend on min and max column 
> names being the same length for SSTables.  (See {{ColumnSlice.intersects()}} 
> and {{SliceQueryFilter.shouldInclude()}}.)
> CASSANDRA-6237 depends on this.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Reopened] (CASSANDRA-7568) Replacing a dead node using replace_address fails

2014-07-31 Thread Brandon Williams (JIRA)

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

Brandon Williams reopened CASSANDRA-7568:
-


Hang on, let's fix that, extra flags shouldn't be needed for replace.

> Replacing a dead node using replace_address fails
> -
>
> Key: CASSANDRA-7568
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7568
> Project: Cassandra
>  Issue Type: Test
>  Components: Tests
>Reporter: Ala' Alkhaldi
>Assignee: Shawn Kumar
>Priority: Minor
>  Labels: qa-resolved
>
> Failed assertion
> {code}
> ERROR [main] 2014-07-17 10:24:21,171 CassandraDaemon.java:474 - Exception 
> encountered during startup
> java.lang.AssertionError: Expected 1 endpoint but found 0
> at 
> org.apache.cassandra.dht.RangeStreamer.getAllRangesWithStrictSourcesFor(RangeStreamer.java:222)
>  ~[main/:na]
> at 
> org.apache.cassandra.dht.RangeStreamer.addRanges(RangeStreamer.java:131) 
> ~[main/:na]
> at 
> org.apache.cassandra.dht.BootStrapper.bootstrap(BootStrapper.java:72) 
> ~[main/:na]
> at 
> org.apache.cassandra.service.StorageService.bootstrap(StorageService.java:1049)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.StorageService.joinTokenRing(StorageService.java:811)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:626)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:511)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:338) 
> [main/:na]
> at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:457)
>  [main/:na]
> at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:546) 
> [main/:na]
> {code}
> To replicate the bug run the "replace_address_test.replace_stopped_node_test" 
> dtest



--
This message was sent by Atlassian JIRA
(v6.2#6252)


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

2014-07-31 Thread tylerhobbs
Merge branch 'cassandra-2.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/24e1bc76
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/24e1bc76
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/24e1bc76

Branch: refs/heads/trunk
Commit: 24e1bc76824a90b1417d58164f5e4dcd3f90c687
Parents: 7773841 b407ebc
Author: Tyler Hobbs 
Authored: Thu Jul 31 17:33:24 2014 -0500
Committer: Tyler Hobbs 
Committed: Thu Jul 31 17:33:24 2014 -0500

--
 CHANGES.txt |  1 +
 .../apache/cassandra/db/filter/ColumnSlice.java | 21 ++-
 .../cassandra/db/filter/SliceQueryFilter.java   |  1 -
 .../cassandra/db/filter/ColumnSliceTest.java| 66 
 4 files changed, 85 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/24e1bc76/CHANGES.txt
--



[1/3] git commit: Tolerate min/max cell names of different lengths

2014-07-31 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/trunk 777384131 -> 24e1bc768


Tolerate min/max cell names of different lengths

Patch and review by Jonathan Ellis and Tyler Hobbs for CASSANDRA-7651


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

Branch: refs/heads/trunk
Commit: 46326737288ae1d4d05a80d7074126e0502465e8
Parents: abe8590
Author: Tyler Hobbs 
Authored: Thu Jul 31 17:31:10 2014 -0500
Committer: Tyler Hobbs 
Committed: Thu Jul 31 17:31:10 2014 -0500

--
 CHANGES.txt |  1 +
 .../apache/cassandra/db/filter/ColumnSlice.java | 21 ++-
 .../cassandra/db/filter/SliceQueryFilter.java   |  1 -
 .../cassandra/db/filter/ColumnSliceTest.java| 66 
 4 files changed, 85 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/46326737/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 378e812..fcd 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.0-final
+ * Tolerate min/max cell names of different lengths (CASSANDRA-7651)
  * Filter cached results correctly (CASSANDRA-7636)
  * Fix tracing on the new SEPExecutor (CASSANDRA-7644)
  * Remove shuffle and taketoken (CASSANDRA-7601)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/46326737/src/java/org/apache/cassandra/db/filter/ColumnSlice.java
--
diff --git a/src/java/org/apache/cassandra/db/filter/ColumnSlice.java 
b/src/java/org/apache/cassandra/db/filter/ColumnSlice.java
index bca4743..b9b248d 100644
--- a/src/java/org/apache/cassandra/db/filter/ColumnSlice.java
+++ b/src/java/org/apache/cassandra/db/filter/ColumnSlice.java
@@ -65,8 +65,6 @@ public class ColumnSlice
 
 public boolean intersects(List minCellNames, List 
maxCellNames, CellNameType comparator, boolean reversed)
 {
-assert minCellNames.size() == maxCellNames.size();
-
 Composite sStart = reversed ? finish : start;
 Composite sEnd = reversed ? start : finish;
 
@@ -76,7 +74,7 @@ public class ColumnSlice
 // We could safely return true here, but there's a minor optimization: 
if the first component is restricted
 // to a single value, we can check that the second component falls 
within the min/max for that component
 // (and repeat for all components).
-for (int i = 0; i < minCellNames.size(); i++)
+for (int i = 0; i < minCellNames.size() && i < maxCellNames.size(); 
i++)
 {
 AbstractType t = comparator.subtype(i);
 ByteBuffer s = i < sStart.size() ? sStart.get(i) : 
ByteBufferUtil.EMPTY_BYTE_BUFFER;
@@ -101,12 +99,29 @@ public class ColumnSlice
 for (int i = 0; i < sstableBounds.size(); i++)
 {
 if (i >= sliceBounds.size())
+{
+// When isSliceStart is true, we're comparing the end of the 
slice against the min cell name for the sstable,
+// so the slice is something like [(1, 0), (1, 0)], and the 
sstable max is something like (1, 0, 1).
+// We want to return -1 (slice start is smaller than max 
column name) so that we say the slice intersects.
+// The opposite is true when dealing with the end slice.  For 
example, with the same slice and a min
+// cell name of (1, 0, 1), we want to return 1 (slice end is 
bigger than min column name).
 return isSliceStart ? -1 : 1;
+}
 
 int comparison = comparator.subtype(i).compare(sliceBounds.get(i), 
sstableBounds.get(i));
 if (comparison != 0)
 return comparison;
 }
+
+// the slice bound and sstable bound have been equal in all components 
so far
+if (sliceBounds.size() > sstableBounds.size())
+{
+// We have the opposite situation from the one described above.  
With a slice of [(1, 0), (1, 0)],
+// and a min/max cell name of (1), we want to say the slice start 
is smaller than the max and the slice
+// end is larger than the min.
+return isSliceStart ? -1 : 1;
+}
+
 return 0;
 }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/46326737/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java
--
diff --git a/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java 
b/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java
index e24f68b..13c0bd0 100644
--- a/

[2/3] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1

2014-07-31 Thread tylerhobbs
Merge branch 'cassandra-2.1.0' into cassandra-2.1


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

Branch: refs/heads/trunk
Commit: b407ebc895603e33af763cbf30ca661192cf7eec
Parents: e3d5b98 4632673
Author: Tyler Hobbs 
Authored: Thu Jul 31 17:33:03 2014 -0500
Committer: Tyler Hobbs 
Committed: Thu Jul 31 17:33:03 2014 -0500

--
 CHANGES.txt |  1 +
 .../apache/cassandra/db/filter/ColumnSlice.java | 21 ++-
 .../cassandra/db/filter/SliceQueryFilter.java   |  1 -
 .../cassandra/db/filter/ColumnSliceTest.java| 66 
 4 files changed, 85 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b407ebc8/CHANGES.txt
--
diff --cc CHANGES.txt
index 2501e51,fcd..5f83eef
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,17 -1,5 +1,18 @@@
 +2.1.1
 + * Pig support for hadoop CqlInputFormat (CASSANDRA-6454)
 + * Add listen_interface and rpc_interface options (CASSANDRA-7417)
 + * Improve schema merge performance (CASSANDRA-7444)
 + * Adjust MT depth based on # of partition validating (CASSANDRA-5263)
 + * Optimise NativeCell comparisons (CASSANDRA-6755)
 + * Configurable client timeout for cqlsh (CASSANDRA-7516)
 + * Include snippet of CQL query near syntax error in messages (CASSANDRA-7111)
 +Merged from 2.0:
 + * (cqlsh) Add tab-completion for CREATE/DROP USER IF [NOT] EXISTS 
(CASSANDRA-7611)
 + * Catch errors when the JVM pulls the rug out from GCInspector 
(CASSANDRA-5345)
 +
 +
  2.1.0-final
+  * Tolerate min/max cell names of different lengths (CASSANDRA-7651)
   * Filter cached results correctly (CASSANDRA-7636)
   * Fix tracing on the new SEPExecutor (CASSANDRA-7644)
   * Remove shuffle and taketoken (CASSANDRA-7601)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b407ebc8/src/java/org/apache/cassandra/db/filter/ColumnSlice.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b407ebc8/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b407ebc8/test/unit/org/apache/cassandra/db/filter/ColumnSliceTest.java
--



[2/2] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1

2014-07-31 Thread tylerhobbs
Merge branch 'cassandra-2.1.0' into cassandra-2.1


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

Branch: refs/heads/cassandra-2.1
Commit: b407ebc895603e33af763cbf30ca661192cf7eec
Parents: e3d5b98 4632673
Author: Tyler Hobbs 
Authored: Thu Jul 31 17:33:03 2014 -0500
Committer: Tyler Hobbs 
Committed: Thu Jul 31 17:33:03 2014 -0500

--
 CHANGES.txt |  1 +
 .../apache/cassandra/db/filter/ColumnSlice.java | 21 ++-
 .../cassandra/db/filter/SliceQueryFilter.java   |  1 -
 .../cassandra/db/filter/ColumnSliceTest.java| 66 
 4 files changed, 85 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b407ebc8/CHANGES.txt
--
diff --cc CHANGES.txt
index 2501e51,fcd..5f83eef
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,17 -1,5 +1,18 @@@
 +2.1.1
 + * Pig support for hadoop CqlInputFormat (CASSANDRA-6454)
 + * Add listen_interface and rpc_interface options (CASSANDRA-7417)
 + * Improve schema merge performance (CASSANDRA-7444)
 + * Adjust MT depth based on # of partition validating (CASSANDRA-5263)
 + * Optimise NativeCell comparisons (CASSANDRA-6755)
 + * Configurable client timeout for cqlsh (CASSANDRA-7516)
 + * Include snippet of CQL query near syntax error in messages (CASSANDRA-7111)
 +Merged from 2.0:
 + * (cqlsh) Add tab-completion for CREATE/DROP USER IF [NOT] EXISTS 
(CASSANDRA-7611)
 + * Catch errors when the JVM pulls the rug out from GCInspector 
(CASSANDRA-5345)
 +
 +
  2.1.0-final
+  * Tolerate min/max cell names of different lengths (CASSANDRA-7651)
   * Filter cached results correctly (CASSANDRA-7636)
   * Fix tracing on the new SEPExecutor (CASSANDRA-7644)
   * Remove shuffle and taketoken (CASSANDRA-7601)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b407ebc8/src/java/org/apache/cassandra/db/filter/ColumnSlice.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b407ebc8/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b407ebc8/test/unit/org/apache/cassandra/db/filter/ColumnSliceTest.java
--



[1/2] git commit: Tolerate min/max cell names of different lengths

2014-07-31 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 e3d5b98e4 -> b407ebc89


Tolerate min/max cell names of different lengths

Patch and review by Jonathan Ellis and Tyler Hobbs for CASSANDRA-7651


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

Branch: refs/heads/cassandra-2.1
Commit: 46326737288ae1d4d05a80d7074126e0502465e8
Parents: abe8590
Author: Tyler Hobbs 
Authored: Thu Jul 31 17:31:10 2014 -0500
Committer: Tyler Hobbs 
Committed: Thu Jul 31 17:31:10 2014 -0500

--
 CHANGES.txt |  1 +
 .../apache/cassandra/db/filter/ColumnSlice.java | 21 ++-
 .../cassandra/db/filter/SliceQueryFilter.java   |  1 -
 .../cassandra/db/filter/ColumnSliceTest.java| 66 
 4 files changed, 85 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/46326737/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 378e812..fcd 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.0-final
+ * Tolerate min/max cell names of different lengths (CASSANDRA-7651)
  * Filter cached results correctly (CASSANDRA-7636)
  * Fix tracing on the new SEPExecutor (CASSANDRA-7644)
  * Remove shuffle and taketoken (CASSANDRA-7601)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/46326737/src/java/org/apache/cassandra/db/filter/ColumnSlice.java
--
diff --git a/src/java/org/apache/cassandra/db/filter/ColumnSlice.java 
b/src/java/org/apache/cassandra/db/filter/ColumnSlice.java
index bca4743..b9b248d 100644
--- a/src/java/org/apache/cassandra/db/filter/ColumnSlice.java
+++ b/src/java/org/apache/cassandra/db/filter/ColumnSlice.java
@@ -65,8 +65,6 @@ public class ColumnSlice
 
 public boolean intersects(List minCellNames, List 
maxCellNames, CellNameType comparator, boolean reversed)
 {
-assert minCellNames.size() == maxCellNames.size();
-
 Composite sStart = reversed ? finish : start;
 Composite sEnd = reversed ? start : finish;
 
@@ -76,7 +74,7 @@ public class ColumnSlice
 // We could safely return true here, but there's a minor optimization: 
if the first component is restricted
 // to a single value, we can check that the second component falls 
within the min/max for that component
 // (and repeat for all components).
-for (int i = 0; i < minCellNames.size(); i++)
+for (int i = 0; i < minCellNames.size() && i < maxCellNames.size(); 
i++)
 {
 AbstractType t = comparator.subtype(i);
 ByteBuffer s = i < sStart.size() ? sStart.get(i) : 
ByteBufferUtil.EMPTY_BYTE_BUFFER;
@@ -101,12 +99,29 @@ public class ColumnSlice
 for (int i = 0; i < sstableBounds.size(); i++)
 {
 if (i >= sliceBounds.size())
+{
+// When isSliceStart is true, we're comparing the end of the 
slice against the min cell name for the sstable,
+// so the slice is something like [(1, 0), (1, 0)], and the 
sstable max is something like (1, 0, 1).
+// We want to return -1 (slice start is smaller than max 
column name) so that we say the slice intersects.
+// The opposite is true when dealing with the end slice.  For 
example, with the same slice and a min
+// cell name of (1, 0, 1), we want to return 1 (slice end is 
bigger than min column name).
 return isSliceStart ? -1 : 1;
+}
 
 int comparison = comparator.subtype(i).compare(sliceBounds.get(i), 
sstableBounds.get(i));
 if (comparison != 0)
 return comparison;
 }
+
+// the slice bound and sstable bound have been equal in all components 
so far
+if (sliceBounds.size() > sstableBounds.size())
+{
+// We have the opposite situation from the one described above.  
With a slice of [(1, 0), (1, 0)],
+// and a min/max cell name of (1), we want to say the slice start 
is smaller than the max and the slice
+// end is larger than the min.
+return isSliceStart ? -1 : 1;
+}
+
 return 0;
 }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/46326737/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java
--
diff --git a/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java 
b/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java
index e24f68b..13c0b

git commit: Tolerate min/max cell names of different lengths

2014-07-31 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1.0 abe85903b -> 463267372


Tolerate min/max cell names of different lengths

Patch and review by Jonathan Ellis and Tyler Hobbs for CASSANDRA-7651


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

Branch: refs/heads/cassandra-2.1.0
Commit: 46326737288ae1d4d05a80d7074126e0502465e8
Parents: abe8590
Author: Tyler Hobbs 
Authored: Thu Jul 31 17:31:10 2014 -0500
Committer: Tyler Hobbs 
Committed: Thu Jul 31 17:31:10 2014 -0500

--
 CHANGES.txt |  1 +
 .../apache/cassandra/db/filter/ColumnSlice.java | 21 ++-
 .../cassandra/db/filter/SliceQueryFilter.java   |  1 -
 .../cassandra/db/filter/ColumnSliceTest.java| 66 
 4 files changed, 85 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/46326737/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 378e812..fcd 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.0-final
+ * Tolerate min/max cell names of different lengths (CASSANDRA-7651)
  * Filter cached results correctly (CASSANDRA-7636)
  * Fix tracing on the new SEPExecutor (CASSANDRA-7644)
  * Remove shuffle and taketoken (CASSANDRA-7601)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/46326737/src/java/org/apache/cassandra/db/filter/ColumnSlice.java
--
diff --git a/src/java/org/apache/cassandra/db/filter/ColumnSlice.java 
b/src/java/org/apache/cassandra/db/filter/ColumnSlice.java
index bca4743..b9b248d 100644
--- a/src/java/org/apache/cassandra/db/filter/ColumnSlice.java
+++ b/src/java/org/apache/cassandra/db/filter/ColumnSlice.java
@@ -65,8 +65,6 @@ public class ColumnSlice
 
 public boolean intersects(List minCellNames, List 
maxCellNames, CellNameType comparator, boolean reversed)
 {
-assert minCellNames.size() == maxCellNames.size();
-
 Composite sStart = reversed ? finish : start;
 Composite sEnd = reversed ? start : finish;
 
@@ -76,7 +74,7 @@ public class ColumnSlice
 // We could safely return true here, but there's a minor optimization: 
if the first component is restricted
 // to a single value, we can check that the second component falls 
within the min/max for that component
 // (and repeat for all components).
-for (int i = 0; i < minCellNames.size(); i++)
+for (int i = 0; i < minCellNames.size() && i < maxCellNames.size(); 
i++)
 {
 AbstractType t = comparator.subtype(i);
 ByteBuffer s = i < sStart.size() ? sStart.get(i) : 
ByteBufferUtil.EMPTY_BYTE_BUFFER;
@@ -101,12 +99,29 @@ public class ColumnSlice
 for (int i = 0; i < sstableBounds.size(); i++)
 {
 if (i >= sliceBounds.size())
+{
+// When isSliceStart is true, we're comparing the end of the 
slice against the min cell name for the sstable,
+// so the slice is something like [(1, 0), (1, 0)], and the 
sstable max is something like (1, 0, 1).
+// We want to return -1 (slice start is smaller than max 
column name) so that we say the slice intersects.
+// The opposite is true when dealing with the end slice.  For 
example, with the same slice and a min
+// cell name of (1, 0, 1), we want to return 1 (slice end is 
bigger than min column name).
 return isSliceStart ? -1 : 1;
+}
 
 int comparison = comparator.subtype(i).compare(sliceBounds.get(i), 
sstableBounds.get(i));
 if (comparison != 0)
 return comparison;
 }
+
+// the slice bound and sstable bound have been equal in all components 
so far
+if (sliceBounds.size() > sstableBounds.size())
+{
+// We have the opposite situation from the one described above.  
With a slice of [(1, 0), (1, 0)],
+// and a min/max cell name of (1), we want to say the slice start 
is smaller than the max and the slice
+// end is larger than the min.
+return isSliceStart ? -1 : 1;
+}
+
 return 0;
 }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/46326737/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java
--
diff --git a/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java 
b/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java
index e24f68b..1

[jira] [Updated] (CASSANDRA-7568) Replacing a dead node using replace_address fails

2014-07-31 Thread Shawn Kumar (JIRA)

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

Shawn Kumar updated CASSANDRA-7568:
---

Labels: qa-resolved  (was: )

> Replacing a dead node using replace_address fails
> -
>
> Key: CASSANDRA-7568
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7568
> Project: Cassandra
>  Issue Type: Test
>  Components: Tests
>Reporter: Ala' Alkhaldi
>Assignee: Shawn Kumar
>Priority: Minor
>  Labels: qa-resolved
>
> Failed assertion
> {code}
> ERROR [main] 2014-07-17 10:24:21,171 CassandraDaemon.java:474 - Exception 
> encountered during startup
> java.lang.AssertionError: Expected 1 endpoint but found 0
> at 
> org.apache.cassandra.dht.RangeStreamer.getAllRangesWithStrictSourcesFor(RangeStreamer.java:222)
>  ~[main/:na]
> at 
> org.apache.cassandra.dht.RangeStreamer.addRanges(RangeStreamer.java:131) 
> ~[main/:na]
> at 
> org.apache.cassandra.dht.BootStrapper.bootstrap(BootStrapper.java:72) 
> ~[main/:na]
> at 
> org.apache.cassandra.service.StorageService.bootstrap(StorageService.java:1049)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.StorageService.joinTokenRing(StorageService.java:811)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:626)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:511)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:338) 
> [main/:na]
> at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:457)
>  [main/:na]
> at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:546) 
> [main/:na]
> {code}
> To replicate the bug run the "replace_address_test.replace_stopped_node_test" 
> dtest



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Resolved] (CASSANDRA-7568) Replacing a dead node using replace_address fails

2014-07-31 Thread Shawn Kumar (JIRA)

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

Shawn Kumar resolved CASSANDRA-7568.


Resolution: Fixed

ended up having to pass in -Dconsistent.rangemovement=false to make the test 
work.

> Replacing a dead node using replace_address fails
> -
>
> Key: CASSANDRA-7568
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7568
> Project: Cassandra
>  Issue Type: Test
>  Components: Tests
>Reporter: Ala' Alkhaldi
>Assignee: Shawn Kumar
>Priority: Minor
>  Labels: qa-resolved
>
> Failed assertion
> {code}
> ERROR [main] 2014-07-17 10:24:21,171 CassandraDaemon.java:474 - Exception 
> encountered during startup
> java.lang.AssertionError: Expected 1 endpoint but found 0
> at 
> org.apache.cassandra.dht.RangeStreamer.getAllRangesWithStrictSourcesFor(RangeStreamer.java:222)
>  ~[main/:na]
> at 
> org.apache.cassandra.dht.RangeStreamer.addRanges(RangeStreamer.java:131) 
> ~[main/:na]
> at 
> org.apache.cassandra.dht.BootStrapper.bootstrap(BootStrapper.java:72) 
> ~[main/:na]
> at 
> org.apache.cassandra.service.StorageService.bootstrap(StorageService.java:1049)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.StorageService.joinTokenRing(StorageService.java:811)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:626)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.StorageService.initServer(StorageService.java:511)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:338) 
> [main/:na]
> at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:457)
>  [main/:na]
> at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:546) 
> [main/:na]
> {code}
> To replicate the bug run the "replace_address_test.replace_stopped_node_test" 
> dtest



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7501) Test prepared marker for collections inside UDT

2014-07-31 Thread Shawn Kumar (JIRA)

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

Shawn Kumar updated CASSANDRA-7501:
---

Labels: qa-resolved  (was: )

> Test prepared marker for collections inside UDT
> ---
>
> Key: CASSANDRA-7501
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7501
> Project: Cassandra
>  Issue Type: Test
>  Components: API
>Reporter: Jonathan Ellis
>Assignee: Shawn Kumar
>Priority: Minor
>  Labels: qa-resolved
> Fix For: 2.1.1
>
>
> Test for CASSANDRA-7472.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-5202) CFs should have globally and temporally unique CF IDs to prevent "reusing" data from earlier incarnation of same CF name

2014-07-31 Thread Shawn Kumar (JIRA)

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

Shawn Kumar updated CASSANDRA-5202:
---

Labels: qa-resolved test  (was: test)

> CFs should have globally and temporally unique CF IDs to prevent "reusing" 
> data from earlier incarnation of same CF name
> 
>
> Key: CASSANDRA-5202
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5202
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.1.9
> Environment: OS: Windows 7, 
> Server: Cassandra 1.1.9 release drop
> Client: astyanax 1.56.21, 
> JVM: Sun/Oracle JVM 64 bit (jdk1.6.0_27)
>Reporter: Marat Bedretdinov
>Assignee: Yuki Morishita
>  Labels: qa-resolved, test
> Fix For: 2.1 beta1
>
> Attachments: 0001-make-2i-CFMetaData-have-parent-s-CF-ID.patch, 
> 0002-Don-t-scrub-2i-CF-if-index-type-is-CUSTOM.patch, 
> 0003-Fix-user-defined-compaction.patch, 0004-Fix-serialization-test.patch, 
> 0005-Create-system_auth-tables-with-fixed-CFID.patch, 0005-auth-v2.txt, 
> 5202.txt, astyanax-stress-driver.zip
>
>
> Attached is a driver that sequentially:
> 1. Drops keyspace
> 2. Creates keyspace
> 4. Creates 2 column families
> 5. Seeds 1M rows with 100 columns
> 6. Queries these 2 column families
> The above steps are repeated 1000 times.
> The following exception is observed at random (race - SEDA?):
> ERROR [ReadStage:55] 2013-01-29 19:24:52,676 AbstractCassandraDaemon.java 
> (line 135) Exception in thread Thread[ReadStage:55,5,main]
> java.lang.AssertionError: DecoratedKey(-1, ) != 
> DecoratedKey(62819832764241410631599989027761269388, 313a31) in 
> C:\var\lib\cassandra\data\user_role_reverse_index\business_entity_role\user_role_reverse_index-business_entity_role-hf-1-Data.db
>   at 
> org.apache.cassandra.db.columniterator.SSTableSliceIterator.(SSTableSliceIterator.java:60)
>   at 
> org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:67)
>   at 
> org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:79)
>   at 
> org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:256)
>   at 
> org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:64)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1367)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1229)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1164)
>   at org.apache.cassandra.db.Table.getRow(Table.java:378)
>   at 
> org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:69)
>   at 
> org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:822)
>   at 
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1271)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>   at java.lang.Thread.run(Thread.java:662)
> This exception appears in the server at the time of client submitting a query 
> request (row slice) and not at the time data is seeded. The client times out 
> and this data can no longer be queried as the same exception would always 
> occur from there on.
> Also on iteration 201, it appears that dropping column families failed and as 
> a result their recreation failed with unique column family name violation 
> (see exception below). Note that the data files are actually gone, so it 
> appears that the server runtime responsible for creating column family was 
> out of sync with the piece that dropped them:
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5105 ms
> Iteration: 200; Total running time for 1000 queries is 232; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Dropped column families
> Starting dropping keyspace
> Dropped keyspace
> Starting creating column families
> Created column families
> Starting seeding data
> Total rows inserted: 100 in 5361 ms
> Iteration: 201; Total running time for 1000 queries is 222; Average running 
> time of 1000 queries is 0 ms
> Starting dropping column families
> Starting creating column families
> Exception in thread "main" 
> com.netflix.astyanax.connectionpool.exceptions.BadRequestException: 
> BadRequestExce

[jira] [Resolved] (CASSANDRA-7501) Test prepared marker for collections inside UDT

2014-07-31 Thread Shawn Kumar (JIRA)

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

Shawn Kumar resolved CASSANDRA-7501.


Resolution: Implemented

> Test prepared marker for collections inside UDT
> ---
>
> Key: CASSANDRA-7501
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7501
> Project: Cassandra
>  Issue Type: Test
>  Components: API
>Reporter: Jonathan Ellis
>Assignee: Shawn Kumar
>Priority: Minor
> Fix For: 2.1.1
>
>
> Test for CASSANDRA-7472.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7654) CQL INSERT improvement

2014-07-31 Thread Jack Krupansky (JIRA)

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

Jack Krupansky commented on CASSANDRA-7654:
---

As far as the cqlsh angle, copying from a CSV file might be a lot more 
convenient anyway, if inserting more than just a very few rows.

> CQL INSERT improvement
> --
>
> Key: CASSANDRA-7654
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7654
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Robert Stupp
>Priority: Minor
>
> It would be nice to be able to add multiple rows using a single {{INSERT}}.
> Restricted to the same partition.
> For example:
> Current behaviour:
> {noformat}
> INSERT INTO comp_key (key, num_val)
>   VALUES ('foo', 1, 41);
> INSERT INTO comp_key (key, num_val)
>   VALUES ('foo', 2, 42);
> {noformat}
> Wanted behaviour:
> {noformat}
> INSERT INTO comp_key (key, num_val)
>   VALUES
> ('foo', 1, 41),
> ('foo', 2, 42),
> ('foo', 3, 42),
> ('foo', 4, 42);
> {noformat}
> Assumed table def:
> {noformat}
> CREATE TABLE comp_key (
>   key TEXT,
>   clust   INT,
>   num_val DECIMAL,
>   PRIMARY KEY ( key, clust )
> );
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Reopened] (CASSANDRA-7654) CQL INSERT improvement

2014-07-31 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko reopened CASSANDRA-7654:
--


> CQL INSERT improvement
> --
>
> Key: CASSANDRA-7654
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7654
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Robert Stupp
>Priority: Minor
>
> It would be nice to be able to add multiple rows using a single {{INSERT}}.
> Restricted to the same partition.
> For example:
> Current behaviour:
> {noformat}
> INSERT INTO comp_key (key, num_val)
>   VALUES ('foo', 1, 41);
> INSERT INTO comp_key (key, num_val)
>   VALUES ('foo', 2, 42);
> {noformat}
> Wanted behaviour:
> {noformat}
> INSERT INTO comp_key (key, num_val)
>   VALUES
> ('foo', 1, 41),
> ('foo', 2, 42),
> ('foo', 3, 42),
> ('foo', 4, 42);
> {noformat}
> Assumed table def:
> {noformat}
> CREATE TABLE comp_key (
>   key TEXT,
>   clust   INT,
>   num_val DECIMAL,
>   PRIMARY KEY ( key, clust )
> );
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Resolved] (CASSANDRA-7654) CQL INSERT improvement

2014-07-31 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko resolved CASSANDRA-7654.
--

Resolution: Duplicate

> CQL INSERT improvement
> --
>
> Key: CASSANDRA-7654
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7654
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Robert Stupp
>Priority: Minor
>
> It would be nice to be able to add multiple rows using a single {{INSERT}}.
> Restricted to the same partition.
> For example:
> Current behaviour:
> {noformat}
> INSERT INTO comp_key (key, num_val)
>   VALUES ('foo', 1, 41);
> INSERT INTO comp_key (key, num_val)
>   VALUES ('foo', 2, 42);
> {noformat}
> Wanted behaviour:
> {noformat}
> INSERT INTO comp_key (key, num_val)
>   VALUES
> ('foo', 1, 41),
> ('foo', 2, 42),
> ('foo', 3, 42),
> ('foo', 4, 42);
> {noformat}
> Assumed table def:
> {noformat}
> CREATE TABLE comp_key (
>   key TEXT,
>   clust   INT,
>   num_val DECIMAL,
>   PRIMARY KEY ( key, clust )
> );
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7654) CQL INSERT improvement

2014-07-31 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-7654:
--

bq. It also doesn't help with DevCenter either, right?

Right. But it's arguably no big deal.

> CQL INSERT improvement
> --
>
> Key: CASSANDRA-7654
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7654
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Robert Stupp
>Priority: Minor
>
> It would be nice to be able to add multiple rows using a single {{INSERT}}.
> Restricted to the same partition.
> For example:
> Current behaviour:
> {noformat}
> INSERT INTO comp_key (key, num_val)
>   VALUES ('foo', 1, 41);
> INSERT INTO comp_key (key, num_val)
>   VALUES ('foo', 2, 42);
> {noformat}
> Wanted behaviour:
> {noformat}
> INSERT INTO comp_key (key, num_val)
>   VALUES
> ('foo', 1, 41),
> ('foo', 2, 42),
> ('foo', 3, 42),
> ('foo', 4, 42);
> {noformat}
> Assumed table def:
> {noformat}
> CREATE TABLE comp_key (
>   key TEXT,
>   clust   INT,
>   num_val DECIMAL,
>   PRIMARY KEY ( key, clust )
> );
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7638) Revisit GCInspector

2014-07-31 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-7638:
---

u25 is a year old, so that sounds reasonable to me.

maybe 2.1 only?

> Revisit GCInspector
> ---
>
> Key: CASSANDRA-7638
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7638
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Brandon Williams
>Assignee: Brandon Williams
>Priority: Minor
> Fix For: 2.0.10
>
> Attachments: 7638.txt
>
>
> In CASSANDRA-2868 we had to change the api that GCI uses to avoid the native 
> memory leak, but this caused GCI to be less reliable and more 'best effort' 
> than before where it was 100% reliable.  Let's revisit this and see if the 
> native memory leak is fixed in java7.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7654) CQL INSERT improvement

2014-07-31 Thread Jack Krupansky (JIRA)

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

Jack Krupansky commented on CASSANDRA-7654:
---

This appears to be the duplicate - CASSANDRA-5959 - "CQL3 support for 
multi-column insert in a single operation (Batch Insert / Batch Mutate)", which 
was in turn resolved as a duplicate of CASSANDRA-4693 - "CQL Protocol should 
allow multiple PreparedStatements to be atomically executed", which is for the 
feature that [~tjake] referenced.

It used a slightly different syntax, factoring out the partition key:

{code}
insert into results (row_id, (index,value)) values 
((0,text0), (1,text1), (2,text2), ..., (N,textN));
{code}

Which highlights the fact that the example in this issue did not even have the 
partition key specified in either the primary key or the insert column list.

For convenient (future) reference, the batch prepared statement replaces:

{code}
PreparedStatement ps = session.prepare(
   "BEGIN BATCH" +
   "   INSERT INTO messages (user_id, msg_id, title, body) VALUES (?, ?, ?, 
?);" +
   "   INSERT INTO messages (user_id, msg_id, title, body) VALUES (?, ?, ?, 
?);" +
   "   INSERT INTO messages (user_id, msg_id, title, body) VALUES (?, ?, ?, 
?);" +
   "APPLY BATCH"
);
session.execute(ps.bind(uid, mid1, title1, body1, uid, mid2, title2, body2, 
uid, mid3, title3, body3));
{code}

with
{code}
PreparedStatement ps = session.prepare("INSERT INTO messages (user_id, msg_id, 
title, body) VALUES (?, ?, ?, ?)");
BatchStatement batch = new BatchStatement();
batch.add(ps.bind(uid, mid1, title1, body1));
batch.add(ps.bind(uid, mid2, title2, body2));
batch.add(ps.bind(uid, mid3, title3, body3));
session.execute(batch);
{code}

Granted, that doesn't help with cqlsh. It also doesn't help with DevCenter 
either, right?


> CQL INSERT improvement
> --
>
> Key: CASSANDRA-7654
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7654
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Robert Stupp
>Priority: Minor
>
> It would be nice to be able to add multiple rows using a single {{INSERT}}.
> Restricted to the same partition.
> For example:
> Current behaviour:
> {noformat}
> INSERT INTO comp_key (key, num_val)
>   VALUES ('foo', 1, 41);
> INSERT INTO comp_key (key, num_val)
>   VALUES ('foo', 2, 42);
> {noformat}
> Wanted behaviour:
> {noformat}
> INSERT INTO comp_key (key, num_val)
>   VALUES
> ('foo', 1, 41),
> ('foo', 2, 42),
> ('foo', 3, 42),
> ('foo', 4, 42);
> {noformat}
> Assumed table def:
> {noformat}
> CREATE TABLE comp_key (
>   key TEXT,
>   clust   INT,
>   num_val DECIMAL,
>   PRIMARY KEY ( key, clust )
> );
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7638) Revisit GCInspector

2014-07-31 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-7638:
-

requiring >= 1.7u24 is a bit of catch though, but I guess we could detect that 
in shell and just tell them to upgrade.

> Revisit GCInspector
> ---
>
> Key: CASSANDRA-7638
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7638
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Brandon Williams
>Assignee: Brandon Williams
>Priority: Minor
> Fix For: 2.0.10
>
> Attachments: 7638.txt
>
>
> In CASSANDRA-2868 we had to change the api that GCI uses to avoid the native 
> memory leak, but this caused GCI to be less reliable and more 'best effort' 
> than before where it was 100% reliable.  Let's revisit this and see if the 
> native memory leak is fixed in java7.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7638) Revisit GCInspector

2014-07-31 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-7638:
---

Oh man, that's amazing.  It would be fantastic to have that information w/o 
people needing to configure a gc log location.

> Revisit GCInspector
> ---
>
> Key: CASSANDRA-7638
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7638
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Brandon Williams
>Assignee: Brandon Williams
>Priority: Minor
> Fix For: 2.0.10
>
> Attachments: 7638.txt
>
>
> In CASSANDRA-2868 we had to change the api that GCI uses to avoid the native 
> memory leak, but this caused GCI to be less reliable and more 'best effort' 
> than before where it was 100% reliable.  Let's revisit this and see if the 
> native memory leak is fixed in java7.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7638) Revisit GCInspector

2014-07-31 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-7638:
-

Interesting.  It seems to work just as well as the old way, though we could 
probably get rid of cause because that always says 'No GC':

{noformat}
INFO  21:16:29 GC for ConcurrentMarkSweep caused by No GC in 
5282ms(start:65641, end:70923):["Par Eden Space" 1106824 -> 52309680 
(214827008)]["CMS Old Gen" 616303848 -> 307287104 (805306368)]["CMS Perm Gen" 
28911208 -> 28906672 (85983232)]["Code Cache" 4652992 -> 4657984 (50331648)] 
max: 1183252480
{noformat}

Good info besides that, though.

> Revisit GCInspector
> ---
>
> Key: CASSANDRA-7638
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7638
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Brandon Williams
>Assignee: Brandon Williams
>Priority: Minor
> Fix For: 2.0.10
>
> Attachments: 7638.txt
>
>
> In CASSANDRA-2868 we had to change the api that GCI uses to avoid the native 
> memory leak, but this caused GCI to be less reliable and more 'best effort' 
> than before where it was 100% reliable.  Let's revisit this and see if the 
> native memory leak is fixed in java7.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Resolved] (CASSANDRA-7633) Speculating retry for LOCAL_QUORUM send requests to other DC

2014-07-31 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko resolved CASSANDRA-7633.
--

Resolution: Duplicate

Marking as duplicate of CASSANDRA-6887, unless you think it's something else - 
then feel free to reopen.

> Speculating retry for LOCAL_QUORUM send requests to other DC
> 
>
> Key: CASSANDRA-7633
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7633
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: sankalp kohli
>Priority: Minor
>
> C* can potentially send an extra request to other DC for LOCAL_QUORUM which 
> did not get counted. 
> This is a waste effort and we should not send this request. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7651) Tolerate min/max column names of different lengths for slice intersections

2014-07-31 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-7651:
---

+1

> Tolerate min/max column names of different lengths for slice intersections
> --
>
> Key: CASSANDRA-7651
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7651
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Tyler Hobbs
>Assignee: Jonathan Ellis
>Priority: Minor
> Fix For: 2.1.0
>
> Attachments: 7651-v2.txt, 7651.txt
>
>
> As determined in CASSANDRA-7593, we shouldn't depend on min and max column 
> names being the same length for SSTables.  (See {{ColumnSlice.intersects()}} 
> and {{SliceQueryFilter.shouldInclude()}}.)
> CASSANDRA-6237 depends on this.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7511) Commit log grows infinitely after truncate

2014-07-31 Thread Jeremiah Jordan (JIRA)

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

Jeremiah Jordan commented on CASSANDRA-7511:


[~tjake] ran dtests and ant tests and everything looked right to me.

> Commit log grows infinitely after truncate
> --
>
> Key: CASSANDRA-7511
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7511
> Project: Cassandra
>  Issue Type: Bug
> Environment: CentOS 6.5, Oracle Java 7u60, C* 2.0.6, 2.0.9, including 
> earlier 1.0.* versions.
>Reporter: Viktor Jevdokimov
>Assignee: Jeremiah Jordan
>Priority: Minor
>  Labels: commitlog
> Fix For: 2.0.10
>
> Attachments: 7511-2.0-v2.txt, 7511-v3-test.txt, 7511-v3.txt, 7511.txt
>
>
> Commit log grows infinitely after CF truncate operation via cassandra-cli, 
> regardless CF receives writes or not thereafter.
> CF's could be non-CQL Standard and Super column type. Creation of snapshots 
> after truncate is turned off.
> Commit log may start grow promptly, may start grow later, on a few only or on 
> all nodes at once.
> Nothing special in the system log. No idea how to reproduce.
> After rolling restart commit logs are cleared and back to normal. Just 
> annoying to do rolling restart after each truncate.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[2/6] git commit: add cassandra.in.bat

2014-07-31 Thread jbellis
add cassandra.in.bat


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

Branch: refs/heads/cassandra-2.1.0
Commit: abe85903b3b14590a3c365a79515ba727a00dbca
Parents: 85bcd2d
Author: Jonathan Ellis 
Authored: Thu Jul 31 15:49:38 2014 -0500
Committer: Jonathan Ellis 
Committed: Thu Jul 31 15:49:38 2014 -0500

--
 bin/cassandra.in.bat   | 50 +
 tools/bin/cassandra.in.bat | 45 +
 2 files changed, 95 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/abe85903/bin/cassandra.in.bat
--
diff --git a/bin/cassandra.in.bat b/bin/cassandra.in.bat
new file mode 100644
index 000..e3304e7
--- /dev/null
+++ b/bin/cassandra.in.bat
@@ -0,0 +1,50 @@
+@REM
+@REM  Licensed to the Apache Software Foundation (ASF) under one or more
+@REM  contributor license agreements.  See the NOTICE file distributed with
+@REM  this work for additional information regarding copyright ownership.
+@REM  The ASF licenses this file to You under the Apache License, Version 2.0
+@REM  (the "License"); you may not use this file except in compliance with
+@REM  the License.  You may obtain a copy of the License at
+@REM
+@REM  http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM  Unless required by applicable law or agreed to in writing, software
+@REM  distributed under the License is distributed on an "AS IS" BASIS,
+@REM  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@REM  See the License for the specific language governing permissions and
+@REM  limitations under the License.
+
+@echo off
+pushd %~dp0..
+if NOT DEFINED CASSANDRA_HOME set CASSANDRA_HOME=%CD%
+popd
+
+if NOT DEFINED CASSANDRA_CONF set CASSANDRA_CONF="%CASSANDRA_HOME%\conf"
+
+REM the default location for commitlogs, sstables, and saved caches
+REM if not set in cassandra.yaml
+set cassandra_storagedir="%CASSANDRA_HOME%\data"
+
+REM JAVA_HOME can optionally be set here
+REM set JAVA_HOME=""
+
+REM * CLASSPATH library setting *
+
+REM Ensure that any user defined CLASSPATH variables are not used on startup
+set CLASSPATH="%CASSANDRA_HOME%\conf"
+
+REM For each jar in the CASSANDRA_HOME lib directory call append to build the 
CLASSPATH variable.
+for %%i in ("%CASSANDRA_HOME%\lib\*.jar") do call :append "%%i"
+goto :okClasspath
+
+:append
+set CLASSPATH=%CLASSPATH%;%1
+goto :eof
+
+:okClasspath
+
+REM Include the build\classes\main directory so it works in development
+set 
CASSANDRA_CLASSPATH=%CLASSPATH%;"%CASSANDRA_HOME%\build\classes\main";%CASSANDRA_CONF%;"%CASSANDRA_HOME%\build\classes\thrift"
+
+REM Add the default storage location.  Can be overridden in conf\cassandra.yaml
+set CASSANDRA_PARAMS=%CASSANDRA_PARAMS% 
"-Dcassandra.storagedir=%CASSANDRA_HOME%\data"

http://git-wip-us.apache.org/repos/asf/cassandra/blob/abe85903/tools/bin/cassandra.in.bat
--
diff --git a/tools/bin/cassandra.in.bat b/tools/bin/cassandra.in.bat
new file mode 100644
index 000..889fa9b
--- /dev/null
+++ b/tools/bin/cassandra.in.bat
@@ -0,0 +1,45 @@
+@REM
+@REM  Licensed to the Apache Software Foundation (ASF) under one or more
+@REM  contributor license agreements.  See the NOTICE file distributed with
+@REM  this work for additional information regarding copyright ownership.
+@REM  The ASF licenses this file to You under the Apache License, Version 2.0
+@REM  (the "License"); you may not use this file except in compliance with
+@REM  the License.  You may obtain a copy of the License at
+@REM
+@REM  http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM  Unless required by applicable law or agreed to in writing, software
+@REM  distributed under the License is distributed on an "AS IS" BASIS,
+@REM  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@REM  See the License for the specific language governing permissions and
+@REM  limitations under the License.
+
+@echo off
+if NOT DEFINED CASSANDRA_HOME set CASSANDRA_HOME=%CD%\..\..
+if NOT DEFINED CASSANDRA_CONF set CASSANDRA_CONF="%CASSANDRA_HOME%\conf"
+
+REM JAVA_HOME can optionally be set here
+REM set JAVA_HOME=""
+
+REM * CLASSPATH library setting *
+
+REM Ensure that any user defined CLASSPATH variables are not used on startup
+set CLASSPATH="%CASSANDRA_HOME%\conf"
+
+REM For each jar in the CASSANDRA_HOME lib directory call append to build the 
CLASSPATH variable.
+for %%i in ("%CASSANDRA_HOME%\lib\*.jar") do call :append "%%i"
+for %%i in ("%CASSANDRA_HOME%\tools\lib\*.jar")

[6/6] git commit: Merge branch 'cassandra-2.1' into trunk

2014-07-31 Thread jbellis
Merge branch 'cassandra-2.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/77738413
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/77738413
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/77738413

Branch: refs/heads/trunk
Commit: 777384131bb500a45eb70ce2734c3a23000da1bf
Parents: 9b571d3 e3d5b98
Author: Jonathan Ellis 
Authored: Thu Jul 31 15:49:54 2014 -0500
Committer: Jonathan Ellis 
Committed: Thu Jul 31 15:49:54 2014 -0500

--
 bin/cassandra.in.bat   | 50 +
 tools/bin/cassandra.in.bat | 45 +
 2 files changed, 95 insertions(+)
--




[4/6] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1

2014-07-31 Thread jbellis
Merge branch 'cassandra-2.1.0' into cassandra-2.1


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

Branch: refs/heads/trunk
Commit: e3d5b98e488d0942505e84c9a8bd2c5f810447d8
Parents: 93942ba abe8590
Author: Jonathan Ellis 
Authored: Thu Jul 31 15:49:47 2014 -0500
Committer: Jonathan Ellis 
Committed: Thu Jul 31 15:49:47 2014 -0500

--
 bin/cassandra.in.bat   | 50 +
 tools/bin/cassandra.in.bat | 45 +
 2 files changed, 95 insertions(+)
--




[3/6] git commit: add cassandra.in.bat

2014-07-31 Thread jbellis
add cassandra.in.bat


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

Branch: refs/heads/trunk
Commit: abe85903b3b14590a3c365a79515ba727a00dbca
Parents: 85bcd2d
Author: Jonathan Ellis 
Authored: Thu Jul 31 15:49:38 2014 -0500
Committer: Jonathan Ellis 
Committed: Thu Jul 31 15:49:38 2014 -0500

--
 bin/cassandra.in.bat   | 50 +
 tools/bin/cassandra.in.bat | 45 +
 2 files changed, 95 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/abe85903/bin/cassandra.in.bat
--
diff --git a/bin/cassandra.in.bat b/bin/cassandra.in.bat
new file mode 100644
index 000..e3304e7
--- /dev/null
+++ b/bin/cassandra.in.bat
@@ -0,0 +1,50 @@
+@REM
+@REM  Licensed to the Apache Software Foundation (ASF) under one or more
+@REM  contributor license agreements.  See the NOTICE file distributed with
+@REM  this work for additional information regarding copyright ownership.
+@REM  The ASF licenses this file to You under the Apache License, Version 2.0
+@REM  (the "License"); you may not use this file except in compliance with
+@REM  the License.  You may obtain a copy of the License at
+@REM
+@REM  http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM  Unless required by applicable law or agreed to in writing, software
+@REM  distributed under the License is distributed on an "AS IS" BASIS,
+@REM  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@REM  See the License for the specific language governing permissions and
+@REM  limitations under the License.
+
+@echo off
+pushd %~dp0..
+if NOT DEFINED CASSANDRA_HOME set CASSANDRA_HOME=%CD%
+popd
+
+if NOT DEFINED CASSANDRA_CONF set CASSANDRA_CONF="%CASSANDRA_HOME%\conf"
+
+REM the default location for commitlogs, sstables, and saved caches
+REM if not set in cassandra.yaml
+set cassandra_storagedir="%CASSANDRA_HOME%\data"
+
+REM JAVA_HOME can optionally be set here
+REM set JAVA_HOME=""
+
+REM * CLASSPATH library setting *
+
+REM Ensure that any user defined CLASSPATH variables are not used on startup
+set CLASSPATH="%CASSANDRA_HOME%\conf"
+
+REM For each jar in the CASSANDRA_HOME lib directory call append to build the 
CLASSPATH variable.
+for %%i in ("%CASSANDRA_HOME%\lib\*.jar") do call :append "%%i"
+goto :okClasspath
+
+:append
+set CLASSPATH=%CLASSPATH%;%1
+goto :eof
+
+:okClasspath
+
+REM Include the build\classes\main directory so it works in development
+set 
CASSANDRA_CLASSPATH=%CLASSPATH%;"%CASSANDRA_HOME%\build\classes\main";%CASSANDRA_CONF%;"%CASSANDRA_HOME%\build\classes\thrift"
+
+REM Add the default storage location.  Can be overridden in conf\cassandra.yaml
+set CASSANDRA_PARAMS=%CASSANDRA_PARAMS% 
"-Dcassandra.storagedir=%CASSANDRA_HOME%\data"

http://git-wip-us.apache.org/repos/asf/cassandra/blob/abe85903/tools/bin/cassandra.in.bat
--
diff --git a/tools/bin/cassandra.in.bat b/tools/bin/cassandra.in.bat
new file mode 100644
index 000..889fa9b
--- /dev/null
+++ b/tools/bin/cassandra.in.bat
@@ -0,0 +1,45 @@
+@REM
+@REM  Licensed to the Apache Software Foundation (ASF) under one or more
+@REM  contributor license agreements.  See the NOTICE file distributed with
+@REM  this work for additional information regarding copyright ownership.
+@REM  The ASF licenses this file to You under the Apache License, Version 2.0
+@REM  (the "License"); you may not use this file except in compliance with
+@REM  the License.  You may obtain a copy of the License at
+@REM
+@REM  http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM  Unless required by applicable law or agreed to in writing, software
+@REM  distributed under the License is distributed on an "AS IS" BASIS,
+@REM  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@REM  See the License for the specific language governing permissions and
+@REM  limitations under the License.
+
+@echo off
+if NOT DEFINED CASSANDRA_HOME set CASSANDRA_HOME=%CD%\..\..
+if NOT DEFINED CASSANDRA_CONF set CASSANDRA_CONF="%CASSANDRA_HOME%\conf"
+
+REM JAVA_HOME can optionally be set here
+REM set JAVA_HOME=""
+
+REM * CLASSPATH library setting *
+
+REM Ensure that any user defined CLASSPATH variables are not used on startup
+set CLASSPATH="%CASSANDRA_HOME%\conf"
+
+REM For each jar in the CASSANDRA_HOME lib directory call append to build the 
CLASSPATH variable.
+for %%i in ("%CASSANDRA_HOME%\lib\*.jar") do call :append "%%i"
+for %%i in ("%CASSANDRA_HOME%\tools\lib\*.jar") do call :

[5/6] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1

2014-07-31 Thread jbellis
Merge branch 'cassandra-2.1.0' into cassandra-2.1


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

Branch: refs/heads/cassandra-2.1
Commit: e3d5b98e488d0942505e84c9a8bd2c5f810447d8
Parents: 93942ba abe8590
Author: Jonathan Ellis 
Authored: Thu Jul 31 15:49:47 2014 -0500
Committer: Jonathan Ellis 
Committed: Thu Jul 31 15:49:47 2014 -0500

--
 bin/cassandra.in.bat   | 50 +
 tools/bin/cassandra.in.bat | 45 +
 2 files changed, 95 insertions(+)
--




[1/6] git commit: add cassandra.in.bat

2014-07-31 Thread jbellis
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 93942bad0 -> e3d5b98e4
  refs/heads/cassandra-2.1.0 85bcd2d74 -> abe85903b
  refs/heads/trunk 9b571d306 -> 777384131


add cassandra.in.bat


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

Branch: refs/heads/cassandra-2.1
Commit: abe85903b3b14590a3c365a79515ba727a00dbca
Parents: 85bcd2d
Author: Jonathan Ellis 
Authored: Thu Jul 31 15:49:38 2014 -0500
Committer: Jonathan Ellis 
Committed: Thu Jul 31 15:49:38 2014 -0500

--
 bin/cassandra.in.bat   | 50 +
 tools/bin/cassandra.in.bat | 45 +
 2 files changed, 95 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/abe85903/bin/cassandra.in.bat
--
diff --git a/bin/cassandra.in.bat b/bin/cassandra.in.bat
new file mode 100644
index 000..e3304e7
--- /dev/null
+++ b/bin/cassandra.in.bat
@@ -0,0 +1,50 @@
+@REM
+@REM  Licensed to the Apache Software Foundation (ASF) under one or more
+@REM  contributor license agreements.  See the NOTICE file distributed with
+@REM  this work for additional information regarding copyright ownership.
+@REM  The ASF licenses this file to You under the Apache License, Version 2.0
+@REM  (the "License"); you may not use this file except in compliance with
+@REM  the License.  You may obtain a copy of the License at
+@REM
+@REM  http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM  Unless required by applicable law or agreed to in writing, software
+@REM  distributed under the License is distributed on an "AS IS" BASIS,
+@REM  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@REM  See the License for the specific language governing permissions and
+@REM  limitations under the License.
+
+@echo off
+pushd %~dp0..
+if NOT DEFINED CASSANDRA_HOME set CASSANDRA_HOME=%CD%
+popd
+
+if NOT DEFINED CASSANDRA_CONF set CASSANDRA_CONF="%CASSANDRA_HOME%\conf"
+
+REM the default location for commitlogs, sstables, and saved caches
+REM if not set in cassandra.yaml
+set cassandra_storagedir="%CASSANDRA_HOME%\data"
+
+REM JAVA_HOME can optionally be set here
+REM set JAVA_HOME=""
+
+REM * CLASSPATH library setting *
+
+REM Ensure that any user defined CLASSPATH variables are not used on startup
+set CLASSPATH="%CASSANDRA_HOME%\conf"
+
+REM For each jar in the CASSANDRA_HOME lib directory call append to build the 
CLASSPATH variable.
+for %%i in ("%CASSANDRA_HOME%\lib\*.jar") do call :append "%%i"
+goto :okClasspath
+
+:append
+set CLASSPATH=%CLASSPATH%;%1
+goto :eof
+
+:okClasspath
+
+REM Include the build\classes\main directory so it works in development
+set 
CASSANDRA_CLASSPATH=%CLASSPATH%;"%CASSANDRA_HOME%\build\classes\main";%CASSANDRA_CONF%;"%CASSANDRA_HOME%\build\classes\thrift"
+
+REM Add the default storage location.  Can be overridden in conf\cassandra.yaml
+set CASSANDRA_PARAMS=%CASSANDRA_PARAMS% 
"-Dcassandra.storagedir=%CASSANDRA_HOME%\data"

http://git-wip-us.apache.org/repos/asf/cassandra/blob/abe85903/tools/bin/cassandra.in.bat
--
diff --git a/tools/bin/cassandra.in.bat b/tools/bin/cassandra.in.bat
new file mode 100644
index 000..889fa9b
--- /dev/null
+++ b/tools/bin/cassandra.in.bat
@@ -0,0 +1,45 @@
+@REM
+@REM  Licensed to the Apache Software Foundation (ASF) under one or more
+@REM  contributor license agreements.  See the NOTICE file distributed with
+@REM  this work for additional information regarding copyright ownership.
+@REM  The ASF licenses this file to You under the Apache License, Version 2.0
+@REM  (the "License"); you may not use this file except in compliance with
+@REM  the License.  You may obtain a copy of the License at
+@REM
+@REM  http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM  Unless required by applicable law or agreed to in writing, software
+@REM  distributed under the License is distributed on an "AS IS" BASIS,
+@REM  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@REM  See the License for the specific language governing permissions and
+@REM  limitations under the License.
+
+@echo off
+if NOT DEFINED CASSANDRA_HOME set CASSANDRA_HOME=%CD%\..\..
+if NOT DEFINED CASSANDRA_CONF set CASSANDRA_CONF="%CASSANDRA_HOME%\conf"
+
+REM JAVA_HOME can optionally be set here
+REM set JAVA_HOME=""
+
+REM * CLASSPATH library setting *
+
+REM Ensure that any user defined CLASSPATH variables are not used on startup
+set CLASSPATH="%CASSANDRA_HOME%\conf"
+
+REM For each jar in the CASS

[jira] [Commented] (CASSANDRA-7638) Revisit GCInspector

2014-07-31 Thread Yuki Morishita (JIRA)

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

Yuki Morishita commented on CASSANDRA-7638:
---

I wonder if GC JMX notification can be used for accuracy.
I experimented this a year ago (pushded to 
https://github.com/yukim/cassandra/tree/gc_notification), but due to the bug in 
JDK(http://bugs.java.com/bugdatabase/view_bug.do?bug_id=7087969) I set aside.

Just FYI.

> Revisit GCInspector
> ---
>
> Key: CASSANDRA-7638
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7638
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Brandon Williams
>Assignee: Brandon Williams
>Priority: Minor
> Fix For: 2.0.10
>
> Attachments: 7638.txt
>
>
> In CASSANDRA-2868 we had to change the api that GCI uses to avoid the native 
> memory leak, but this caused GCI to be less reliable and more 'best effort' 
> than before where it was 100% reliable.  Let's revisit this and see if the 
> native memory leak is fixed in java7.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[1/4] git commit: Ninja: remove buggy test assertion from 2.1

2014-07-31 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/trunk cf46e4454 -> 9b571d306


Ninja: remove buggy test assertion from 2.1

This was fixed by CASSANDRA-7390, but that fix starts with Cassandra
3.0.


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

Branch: refs/heads/trunk
Commit: 1879d9928b506845f45578580f2a902d41409c8d
Parents: 563a04b
Author: Tyler Hobbs 
Authored: Thu Jul 31 15:41:06 2014 -0500
Committer: Tyler Hobbs 
Committed: Thu Jul 31 15:41:06 2014 -0500

--
 test/unit/org/apache/cassandra/service/MoveTest.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/1879d992/test/unit/org/apache/cassandra/service/MoveTest.java
--
diff --git a/test/unit/org/apache/cassandra/service/MoveTest.java 
b/test/unit/org/apache/cassandra/service/MoveTest.java
index 6ecd500..834411b 100644
--- a/test/unit/org/apache/cassandra/service/MoveTest.java
+++ b/test/unit/org/apache/cassandra/service/MoveTest.java
@@ -138,7 +138,8 @@ public class MoveTest
numMoved++;
 }
 }
-assertEquals("mismatched number of moved token", numMoved, 1);
+// This assertion isn't reliable in 2.0 and 2.1.  See 
CASSANDRA-7390
+// assertEquals("mismatched number of moved token", numMoved, 1);
 }
 
 // moving endpoint back to the normal state



[4/4] git commit: Merge branch 'cassandra-2.1' into trunk

2014-07-31 Thread tylerhobbs
Merge branch 'cassandra-2.1' into trunk

Conflicts:
test/unit/org/apache/cassandra/service/MoveTest.java


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

Branch: refs/heads/trunk
Commit: 9b571d30686f3223834734e167919b115fecda5d
Parents: cf46e44 93942ba
Author: Tyler Hobbs 
Authored: Thu Jul 31 15:43:23 2014 -0500
Committer: Tyler Hobbs 
Committed: Thu Jul 31 15:43:23 2014 -0500

--

--




[3/4] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1

2014-07-31 Thread tylerhobbs
Merge branch 'cassandra-2.1.0' into cassandra-2.1


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

Branch: refs/heads/trunk
Commit: 93942bad00634ddcfa73c97a67190e63a5e63c14
Parents: da1f2db 85bcd2d
Author: Tyler Hobbs 
Authored: Thu Jul 31 15:42:23 2014 -0500
Committer: Tyler Hobbs 
Committed: Thu Jul 31 15:42:23 2014 -0500

--
 test/unit/org/apache/cassandra/service/MoveTest.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--




[2/4] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0

2014-07-31 Thread tylerhobbs
Merge branch 'cassandra-2.0' into cassandra-2.1.0

Conflicts:
test/unit/org/apache/cassandra/service/MoveTest.java


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

Branch: refs/heads/trunk
Commit: 85bcd2d744ceb3f0d0cef8de6c165c5c2f53b602
Parents: 8e4415b 1879d99
Author: Tyler Hobbs 
Authored: Thu Jul 31 15:42:02 2014 -0500
Committer: Tyler Hobbs 
Committed: Thu Jul 31 15:42:02 2014 -0500

--
 test/unit/org/apache/cassandra/service/MoveTest.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/85bcd2d7/test/unit/org/apache/cassandra/service/MoveTest.java
--



[2/3] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0

2014-07-31 Thread tylerhobbs
Merge branch 'cassandra-2.0' into cassandra-2.1.0

Conflicts:
test/unit/org/apache/cassandra/service/MoveTest.java


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

Branch: refs/heads/cassandra-2.1
Commit: 85bcd2d744ceb3f0d0cef8de6c165c5c2f53b602
Parents: 8e4415b 1879d99
Author: Tyler Hobbs 
Authored: Thu Jul 31 15:42:02 2014 -0500
Committer: Tyler Hobbs 
Committed: Thu Jul 31 15:42:02 2014 -0500

--
 test/unit/org/apache/cassandra/service/MoveTest.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/85bcd2d7/test/unit/org/apache/cassandra/service/MoveTest.java
--



[2/2] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0

2014-07-31 Thread tylerhobbs
Merge branch 'cassandra-2.0' into cassandra-2.1.0

Conflicts:
test/unit/org/apache/cassandra/service/MoveTest.java


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

Branch: refs/heads/cassandra-2.1.0
Commit: 85bcd2d744ceb3f0d0cef8de6c165c5c2f53b602
Parents: 8e4415b 1879d99
Author: Tyler Hobbs 
Authored: Thu Jul 31 15:42:02 2014 -0500
Committer: Tyler Hobbs 
Committed: Thu Jul 31 15:42:02 2014 -0500

--
 test/unit/org/apache/cassandra/service/MoveTest.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/85bcd2d7/test/unit/org/apache/cassandra/service/MoveTest.java
--



[3/3] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1

2014-07-31 Thread tylerhobbs
Merge branch 'cassandra-2.1.0' into cassandra-2.1


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

Branch: refs/heads/cassandra-2.1
Commit: 93942bad00634ddcfa73c97a67190e63a5e63c14
Parents: da1f2db 85bcd2d
Author: Tyler Hobbs 
Authored: Thu Jul 31 15:42:23 2014 -0500
Committer: Tyler Hobbs 
Committed: Thu Jul 31 15:42:23 2014 -0500

--
 test/unit/org/apache/cassandra/service/MoveTest.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--




[1/3] git commit: Ninja: remove buggy test assertion from 2.1

2014-07-31 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 da1f2dbb5 -> 93942bad0


Ninja: remove buggy test assertion from 2.1

This was fixed by CASSANDRA-7390, but that fix starts with Cassandra
3.0.


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

Branch: refs/heads/cassandra-2.1
Commit: 1879d9928b506845f45578580f2a902d41409c8d
Parents: 563a04b
Author: Tyler Hobbs 
Authored: Thu Jul 31 15:41:06 2014 -0500
Committer: Tyler Hobbs 
Committed: Thu Jul 31 15:41:06 2014 -0500

--
 test/unit/org/apache/cassandra/service/MoveTest.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/1879d992/test/unit/org/apache/cassandra/service/MoveTest.java
--
diff --git a/test/unit/org/apache/cassandra/service/MoveTest.java 
b/test/unit/org/apache/cassandra/service/MoveTest.java
index 6ecd500..834411b 100644
--- a/test/unit/org/apache/cassandra/service/MoveTest.java
+++ b/test/unit/org/apache/cassandra/service/MoveTest.java
@@ -138,7 +138,8 @@ public class MoveTest
numMoved++;
 }
 }
-assertEquals("mismatched number of moved token", numMoved, 1);
+// This assertion isn't reliable in 2.0 and 2.1.  See 
CASSANDRA-7390
+// assertEquals("mismatched number of moved token", numMoved, 1);
 }
 
 // moving endpoint back to the normal state



[1/2] git commit: Ninja: remove buggy test assertion from 2.1

2014-07-31 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1.0 8e4415b69 -> 85bcd2d74


Ninja: remove buggy test assertion from 2.1

This was fixed by CASSANDRA-7390, but that fix starts with Cassandra
3.0.


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

Branch: refs/heads/cassandra-2.1.0
Commit: 1879d9928b506845f45578580f2a902d41409c8d
Parents: 563a04b
Author: Tyler Hobbs 
Authored: Thu Jul 31 15:41:06 2014 -0500
Committer: Tyler Hobbs 
Committed: Thu Jul 31 15:41:06 2014 -0500

--
 test/unit/org/apache/cassandra/service/MoveTest.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/1879d992/test/unit/org/apache/cassandra/service/MoveTest.java
--
diff --git a/test/unit/org/apache/cassandra/service/MoveTest.java 
b/test/unit/org/apache/cassandra/service/MoveTest.java
index 6ecd500..834411b 100644
--- a/test/unit/org/apache/cassandra/service/MoveTest.java
+++ b/test/unit/org/apache/cassandra/service/MoveTest.java
@@ -138,7 +138,8 @@ public class MoveTest
numMoved++;
 }
 }
-assertEquals("mismatched number of moved token", numMoved, 1);
+// This assertion isn't reliable in 2.0 and 2.1.  See 
CASSANDRA-7390
+// assertEquals("mismatched number of moved token", numMoved, 1);
 }
 
 // moving endpoint back to the normal state



[jira] [Resolved] (CASSANDRA-7654) CQL INSERT improvement

2014-07-31 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko resolved CASSANDRA-7654.
--

Resolution: Not a Problem

Resolving as Not A Problem for now, as there is a (recommended) way to get the 
same behavior (also pretty sure there is a duplicate issue, somewhere, resolved 
with Later).

> CQL INSERT improvement
> --
>
> Key: CASSANDRA-7654
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7654
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Robert Stupp
>Priority: Minor
>
> It would be nice to be able to add multiple rows using a single {{INSERT}}.
> Restricted to the same partition.
> For example:
> Current behaviour:
> {noformat}
> INSERT INTO comp_key (key, num_val)
>   VALUES ('foo', 1, 41);
> INSERT INTO comp_key (key, num_val)
>   VALUES ('foo', 2, 42);
> {noformat}
> Wanted behaviour:
> {noformat}
> INSERT INTO comp_key (key, num_val)
>   VALUES
> ('foo', 1, 41),
> ('foo', 2, 42),
> ('foo', 3, 42),
> ('foo', 4, 42);
> {noformat}
> Assumed table def:
> {noformat}
> CREATE TABLE comp_key (
>   key TEXT,
>   clust   INT,
>   num_val DECIMAL,
>   PRIMARY KEY ( key, clust )
> );
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


git commit: Ninja: remove buggy test assertion from 2.1

2014-07-31 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.0 563a04bf9 -> 1879d9928


Ninja: remove buggy test assertion from 2.1

This was fixed by CASSANDRA-7390, but that fix starts with Cassandra
3.0.


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

Branch: refs/heads/cassandra-2.0
Commit: 1879d9928b506845f45578580f2a902d41409c8d
Parents: 563a04b
Author: Tyler Hobbs 
Authored: Thu Jul 31 15:41:06 2014 -0500
Committer: Tyler Hobbs 
Committed: Thu Jul 31 15:41:06 2014 -0500

--
 test/unit/org/apache/cassandra/service/MoveTest.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/1879d992/test/unit/org/apache/cassandra/service/MoveTest.java
--
diff --git a/test/unit/org/apache/cassandra/service/MoveTest.java 
b/test/unit/org/apache/cassandra/service/MoveTest.java
index 6ecd500..834411b 100644
--- a/test/unit/org/apache/cassandra/service/MoveTest.java
+++ b/test/unit/org/apache/cassandra/service/MoveTest.java
@@ -138,7 +138,8 @@ public class MoveTest
numMoved++;
 }
 }
-assertEquals("mismatched number of moved token", numMoved, 1);
+// This assertion isn't reliable in 2.0 and 2.1.  See 
CASSANDRA-7390
+// assertEquals("mismatched number of moved token", numMoved, 1);
 }
 
 // moving endpoint back to the normal state



[jira] [Commented] (CASSANDRA-7631) Allow Stress to write directly to SSTables

2014-07-31 Thread Russell Alexander Spitzer (JIRA)

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

Russell Alexander Spitzer commented on CASSANDRA-7631:
--

https://github.com/RussellSpitzer/cassandra/compare/CASSANDRA-7631
This should work for User Profiles, but i still have to add in the code for it 
to work with WRITE commands.

Also I need to 
Write to sstable dir by default?
Filter out writes based on token's existing on the node being run on
Check for bad combinations of options
Investigate further performance boosts

> Allow Stress to write directly to SSTables
> --
>
> Key: CASSANDRA-7631
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7631
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
>Reporter: Russell Alexander Spitzer
>Assignee: Russell Alexander Spitzer
>
> One common difficulty with benchmarking machines is the amount of time it 
> takes to initially load data. For machines with a large amount of ram this 
> becomes especially onerous because a very large amount of data needs to be 
> placed on the machine before page-cache can be circumvented. 
> To remedy this I suggest we add a top level flag to Cassandra-Stress which 
> would cause the tool to write directly to sstables rather than actually 
> performing CQL inserts. Internally this would use CQLSStable writer to write 
> directly to sstables while skipping any keys which are not owned by the node 
> stress is running on. The same stress command run on each node in the cluster 
> would then write unique sstables only containing data which that node is 
> responsible for. Following this no further network IO would be required to 
> distribute data as it would all already be correctly in place.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Resolved] (CASSANDRA-7643) Cassandra Schema Template

2014-07-31 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko resolved CASSANDRA-7643.
--

Resolution: Duplicate

Marking as duplicate of CASSANDRA-7662, even though technically it's not.

Between CASSANDRA-7662 and general schema improvements coming in 3.0 I believe 
you'll have something that works well enough for your use case (a few hundred 
tables). The only thing you won't get is the ability for changes to a template 
table to propagate to its child tables, since we aren't going to implement that 
kind of linking, but I hope you are okay with that.

> Cassandra Schema Template 
> --
>
> Key: CASSANDRA-7643
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7643
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Cheng Ren
>Priority: Minor
> Attachments: patch.diff
>
>
> Cassandra schema change is the performance painpoint for us, since it's the 
> global information across the entire cluster. Our production cassandra 
> cluster consists of a lot of  sets of column families, which totals 1000 
> column families, and 38301 columns, which sum up to 3.2MB.
> We have a data model where the primary key is split into two parts K1 , K2. 
> Lets say the cardinality of set K1 is small. We also have a constraint that 
> we frequently want to scan all rows that belong to a particular value of K1. 
> In this case cassandra offers two possible solutions.
> 1) Create a single table with a composite key (K1, K2)
> 2) Create a table per K1, with primary key as K2
> In option #1: The number of tables is only 1, however we lose the ability to 
> easily scan all rows in K1= X without paying the penalty of reading all rows 
> in the table.
> Option #2 : gives us the freedom to scan only a particular value of K1. 
> However it leads to  significant potentially unbounded increase in # of 
> tables. However if the size of set (K1) is relatively small , this is a 
> feasible option with a cleaner data interface.
> An example of this data model is where we have a set of merchants with 
> products. Then K1 = merchant_id and K2 = product Id. The number of merchants 
> is still very small compared to # of products. 
> Option #2 is our solution since size of set k1 for us is relatively small, 
> but also creates a fair amount of tables per K1 which have exactly same 
> columns and metadata, so whenever we need to add/drop one attribute for all 
> of our tables per K1, it puts a lot of loads on the entire cluster, and all 
> backend pipelines will be affected, or even have to be shutdown to 
> accommodate the schema change.
> To reduce the load of this kind of schema change,  we came up with a new 
> feature called "template".  We can create a template, and then create tables 
> with that template. 
> ex: 
> {code}
> create template template_table ( block_id text, PRIMARY KEY (block_id));
> create table table_a, table_b, table_c with template_table;
> {code}
> This allows us to reduce the time of metadata gossip. Moreover, when we need 
> to add one more attribute for all of our merchant, we just need to alter 
> template:
> {code}
> alter template template_table add foo text;
> {code}
> which also alters table_a, table_b, table_c.
> We changed the system keyspace a bit to accommodate the template feature:
> schema_columnfamilies only stores the metadata of template and non-templated 
> column families.
> schema_columns only stores the column info of template and non-templated cfs.
> and we added a new table in system keyspace called 
> schema_columnfamilies_templated,
> which manages the mapping relationship between template and templated cfs.
> So like this:
> schema_columnfamilies_templated:
> keyspace, columnfamily_name, template_name
> XXX, table_a, template_table
> XXX, table_b, template_table
> XXX, table_c, template_table
> We already have some performance results in our 15-node cluster. Normally 
> creating 400 tables takes more than hours for all the migration stage tasks 
> to complete , but if we create 400 tables with templates, it just takes 1 to 
> 2 seconds. It also works great for alter table.  
> We believe what we're proposing here can be very useful for other people in 
> the Cassandra community as well. Attached is our proposed patch for the 
> template schema feature. Is it possible for the community to consider 
> accepting this patch in the main branch of latest Cassandra? Or, would you 
> mind providing us feedbacks? Please let us know if you have any concerns or 
> suggestions regarding the change.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[05/10] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0

2014-07-31 Thread brandonwilliams
Merge branch 'cassandra-2.0' into cassandra-2.1.0

Conflicts:
bin/cassandra-shuffle.bat


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

Branch: refs/heads/cassandra-2.1
Commit: 8e4415b697acc2fc25c52cc3031b0b973fe9fd15
Parents: 0947fb8 563a04b
Author: Brandon Williams 
Authored: Thu Jul 31 15:13:37 2014 -0500
Committer: Brandon Williams 
Committed: Thu Jul 31 15:13:37 2014 -0500

--
 bin/cassandra-shuffle.bat | 37 -
 1 file changed, 37 deletions(-)
--




[01/10] git commit: remove shuffle bat

2014-07-31 Thread brandonwilliams
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.0 1a0aaf049 -> 563a04bf9
  refs/heads/cassandra-2.1 adc138509 -> da1f2dbb5
  refs/heads/cassandra-2.1.0 0947fb8a9 -> 8e4415b69
  refs/heads/trunk 9aeae5887 -> cf46e4454


remove shuffle bat


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

Branch: refs/heads/cassandra-2.0
Commit: 563a04bf98ef394a6455b8c13705425a38c93ea3
Parents: 1a0aaf0
Author: Brandon Williams 
Authored: Thu Jul 31 15:12:28 2014 -0500
Committer: Brandon Williams 
Committed: Thu Jul 31 15:12:28 2014 -0500

--
 bin/cassandra-shuffle.bat | 51 --
 1 file changed, 51 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/563a04bf/bin/cassandra-shuffle.bat
--
diff --git a/bin/cassandra-shuffle.bat b/bin/cassandra-shuffle.bat
deleted file mode 100644
index d920d09..000
--- a/bin/cassandra-shuffle.bat
+++ /dev/null
@@ -1,51 +0,0 @@
-@REM
-@REM  Licensed to the Apache Software Foundation (ASF) under one or more
-@REM  contributor license agreements.  See the NOTICE file distributed with
-@REM  this work for additional information regarding copyright ownership.
-@REM  The ASF licenses this file to You under the Apache License, Version 2.0
-@REM  (the "License"); you may not use this file except in compliance with
-@REM  the License.  You may obtain a copy of the License at
-@REM
-@REM  http://www.apache.org/licenses/LICENSE-2.0
-@REM
-@REM  Unless required by applicable law or agreed to in writing, software
-@REM  distributed under the License is distributed on an "AS IS" BASIS,
-@REM  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-@REM  See the License for the specific language governing permissions and
-@REM  limitations under the License.
-
-
-@echo off
-if "%OS%" == "Windows_NT" setlocal
-
-if NOT DEFINED CASSANDRA_HOME set CASSANDRA_HOME=%~dp0..
-if NOT DEFINED JAVA_HOME goto :err
-
-REM Ensure that any user defined CLASSPATH variables are not used on startup
-set CLASSPATH=
-
-REM For each jar in the CASSANDRA_HOME lib directory call append to build the 
CLASSPATH variable.
-for %%i in ("%CASSANDRA_HOME%\lib\*.jar") do call :append "%%i"
-goto okClasspath
-
-:append
-set CLASSPATH=%CLASSPATH%;%1
-goto :eof
-
-:okClasspath
-REM Include the build\classes\main directory so it works in development
-set 
CASSANDRA_CLASSPATH=%CLASSPATH%;"%CASSANDRA_HOME%\build\classes\main";"%CASSANDRA_HOME%\build\classes\thrift"
-goto runCli
-
-:runCli
-echo Starting Cassandra Client
-"%JAVA_HOME%\bin\java" -cp %CASSANDRA_CLASSPATH% 
org.apache.cassandra.tools.Shuffle %*
-goto finally
-
-:err
-echo The JAVA_HOME environment variable must be set to run this program!
-pause
-
-:finally
-
-ENDLOCAL



[07/10] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0

2014-07-31 Thread brandonwilliams
Merge branch 'cassandra-2.0' into cassandra-2.1.0

Conflicts:
bin/cassandra-shuffle.bat


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

Branch: refs/heads/trunk
Commit: 8e4415b697acc2fc25c52cc3031b0b973fe9fd15
Parents: 0947fb8 563a04b
Author: Brandon Williams 
Authored: Thu Jul 31 15:13:37 2014 -0500
Committer: Brandon Williams 
Committed: Thu Jul 31 15:13:37 2014 -0500

--
 bin/cassandra-shuffle.bat | 37 -
 1 file changed, 37 deletions(-)
--




[08/10] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1

2014-07-31 Thread brandonwilliams
Merge branch 'cassandra-2.1.0' into cassandra-2.1


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

Branch: refs/heads/trunk
Commit: da1f2dbb5ead0c96b854219dc03e9b228148c131
Parents: adc1385 8e4415b
Author: Brandon Williams 
Authored: Thu Jul 31 15:13:48 2014 -0500
Committer: Brandon Williams 
Committed: Thu Jul 31 15:13:48 2014 -0500

--
 bin/cassandra-shuffle.bat | 37 -
 1 file changed, 37 deletions(-)
--




[09/10] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1

2014-07-31 Thread brandonwilliams
Merge branch 'cassandra-2.1.0' into cassandra-2.1


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

Branch: refs/heads/cassandra-2.1
Commit: da1f2dbb5ead0c96b854219dc03e9b228148c131
Parents: adc1385 8e4415b
Author: Brandon Williams 
Authored: Thu Jul 31 15:13:48 2014 -0500
Committer: Brandon Williams 
Committed: Thu Jul 31 15:13:48 2014 -0500

--
 bin/cassandra-shuffle.bat | 37 -
 1 file changed, 37 deletions(-)
--




[03/10] git commit: remove shuffle bat

2014-07-31 Thread brandonwilliams
remove shuffle bat


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

Branch: refs/heads/cassandra-2.1
Commit: 563a04bf98ef394a6455b8c13705425a38c93ea3
Parents: 1a0aaf0
Author: Brandon Williams 
Authored: Thu Jul 31 15:12:28 2014 -0500
Committer: Brandon Williams 
Committed: Thu Jul 31 15:12:28 2014 -0500

--
 bin/cassandra-shuffle.bat | 51 --
 1 file changed, 51 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/563a04bf/bin/cassandra-shuffle.bat
--
diff --git a/bin/cassandra-shuffle.bat b/bin/cassandra-shuffle.bat
deleted file mode 100644
index d920d09..000
--- a/bin/cassandra-shuffle.bat
+++ /dev/null
@@ -1,51 +0,0 @@
-@REM
-@REM  Licensed to the Apache Software Foundation (ASF) under one or more
-@REM  contributor license agreements.  See the NOTICE file distributed with
-@REM  this work for additional information regarding copyright ownership.
-@REM  The ASF licenses this file to You under the Apache License, Version 2.0
-@REM  (the "License"); you may not use this file except in compliance with
-@REM  the License.  You may obtain a copy of the License at
-@REM
-@REM  http://www.apache.org/licenses/LICENSE-2.0
-@REM
-@REM  Unless required by applicable law or agreed to in writing, software
-@REM  distributed under the License is distributed on an "AS IS" BASIS,
-@REM  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-@REM  See the License for the specific language governing permissions and
-@REM  limitations under the License.
-
-
-@echo off
-if "%OS%" == "Windows_NT" setlocal
-
-if NOT DEFINED CASSANDRA_HOME set CASSANDRA_HOME=%~dp0..
-if NOT DEFINED JAVA_HOME goto :err
-
-REM Ensure that any user defined CLASSPATH variables are not used on startup
-set CLASSPATH=
-
-REM For each jar in the CASSANDRA_HOME lib directory call append to build the 
CLASSPATH variable.
-for %%i in ("%CASSANDRA_HOME%\lib\*.jar") do call :append "%%i"
-goto okClasspath
-
-:append
-set CLASSPATH=%CLASSPATH%;%1
-goto :eof
-
-:okClasspath
-REM Include the build\classes\main directory so it works in development
-set 
CASSANDRA_CLASSPATH=%CLASSPATH%;"%CASSANDRA_HOME%\build\classes\main";"%CASSANDRA_HOME%\build\classes\thrift"
-goto runCli
-
-:runCli
-echo Starting Cassandra Client
-"%JAVA_HOME%\bin\java" -cp %CASSANDRA_CLASSPATH% 
org.apache.cassandra.tools.Shuffle %*
-goto finally
-
-:err
-echo The JAVA_HOME environment variable must be set to run this program!
-pause
-
-:finally
-
-ENDLOCAL



[02/10] git commit: remove shuffle bat

2014-07-31 Thread brandonwilliams
remove shuffle bat


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

Branch: refs/heads/cassandra-2.1.0
Commit: 563a04bf98ef394a6455b8c13705425a38c93ea3
Parents: 1a0aaf0
Author: Brandon Williams 
Authored: Thu Jul 31 15:12:28 2014 -0500
Committer: Brandon Williams 
Committed: Thu Jul 31 15:12:28 2014 -0500

--
 bin/cassandra-shuffle.bat | 51 --
 1 file changed, 51 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/563a04bf/bin/cassandra-shuffle.bat
--
diff --git a/bin/cassandra-shuffle.bat b/bin/cassandra-shuffle.bat
deleted file mode 100644
index d920d09..000
--- a/bin/cassandra-shuffle.bat
+++ /dev/null
@@ -1,51 +0,0 @@
-@REM
-@REM  Licensed to the Apache Software Foundation (ASF) under one or more
-@REM  contributor license agreements.  See the NOTICE file distributed with
-@REM  this work for additional information regarding copyright ownership.
-@REM  The ASF licenses this file to You under the Apache License, Version 2.0
-@REM  (the "License"); you may not use this file except in compliance with
-@REM  the License.  You may obtain a copy of the License at
-@REM
-@REM  http://www.apache.org/licenses/LICENSE-2.0
-@REM
-@REM  Unless required by applicable law or agreed to in writing, software
-@REM  distributed under the License is distributed on an "AS IS" BASIS,
-@REM  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-@REM  See the License for the specific language governing permissions and
-@REM  limitations under the License.
-
-
-@echo off
-if "%OS%" == "Windows_NT" setlocal
-
-if NOT DEFINED CASSANDRA_HOME set CASSANDRA_HOME=%~dp0..
-if NOT DEFINED JAVA_HOME goto :err
-
-REM Ensure that any user defined CLASSPATH variables are not used on startup
-set CLASSPATH=
-
-REM For each jar in the CASSANDRA_HOME lib directory call append to build the 
CLASSPATH variable.
-for %%i in ("%CASSANDRA_HOME%\lib\*.jar") do call :append "%%i"
-goto okClasspath
-
-:append
-set CLASSPATH=%CLASSPATH%;%1
-goto :eof
-
-:okClasspath
-REM Include the build\classes\main directory so it works in development
-set 
CASSANDRA_CLASSPATH=%CLASSPATH%;"%CASSANDRA_HOME%\build\classes\main";"%CASSANDRA_HOME%\build\classes\thrift"
-goto runCli
-
-:runCli
-echo Starting Cassandra Client
-"%JAVA_HOME%\bin\java" -cp %CASSANDRA_CLASSPATH% 
org.apache.cassandra.tools.Shuffle %*
-goto finally
-
-:err
-echo The JAVA_HOME environment variable must be set to run this program!
-pause
-
-:finally
-
-ENDLOCAL



[10/10] git commit: Merge branch 'cassandra-2.1' into trunk

2014-07-31 Thread brandonwilliams
Merge branch 'cassandra-2.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/cf46e445
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/cf46e445
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/cf46e445

Branch: refs/heads/trunk
Commit: cf46e4454b8ac0c74328bda23142e1f3c4914f00
Parents: 9aeae58 da1f2db
Author: Brandon Williams 
Authored: Thu Jul 31 15:13:57 2014 -0500
Committer: Brandon Williams 
Committed: Thu Jul 31 15:13:57 2014 -0500

--
 bin/cassandra-shuffle.bat | 37 -
 1 file changed, 37 deletions(-)
--




[06/10] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0

2014-07-31 Thread brandonwilliams
Merge branch 'cassandra-2.0' into cassandra-2.1.0

Conflicts:
bin/cassandra-shuffle.bat


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

Branch: refs/heads/cassandra-2.1.0
Commit: 8e4415b697acc2fc25c52cc3031b0b973fe9fd15
Parents: 0947fb8 563a04b
Author: Brandon Williams 
Authored: Thu Jul 31 15:13:37 2014 -0500
Committer: Brandon Williams 
Committed: Thu Jul 31 15:13:37 2014 -0500

--
 bin/cassandra-shuffle.bat | 37 -
 1 file changed, 37 deletions(-)
--




[04/10] git commit: remove shuffle bat

2014-07-31 Thread brandonwilliams
remove shuffle bat


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

Branch: refs/heads/trunk
Commit: 563a04bf98ef394a6455b8c13705425a38c93ea3
Parents: 1a0aaf0
Author: Brandon Williams 
Authored: Thu Jul 31 15:12:28 2014 -0500
Committer: Brandon Williams 
Committed: Thu Jul 31 15:12:28 2014 -0500

--
 bin/cassandra-shuffle.bat | 51 --
 1 file changed, 51 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/563a04bf/bin/cassandra-shuffle.bat
--
diff --git a/bin/cassandra-shuffle.bat b/bin/cassandra-shuffle.bat
deleted file mode 100644
index d920d09..000
--- a/bin/cassandra-shuffle.bat
+++ /dev/null
@@ -1,51 +0,0 @@
-@REM
-@REM  Licensed to the Apache Software Foundation (ASF) under one or more
-@REM  contributor license agreements.  See the NOTICE file distributed with
-@REM  this work for additional information regarding copyright ownership.
-@REM  The ASF licenses this file to You under the Apache License, Version 2.0
-@REM  (the "License"); you may not use this file except in compliance with
-@REM  the License.  You may obtain a copy of the License at
-@REM
-@REM  http://www.apache.org/licenses/LICENSE-2.0
-@REM
-@REM  Unless required by applicable law or agreed to in writing, software
-@REM  distributed under the License is distributed on an "AS IS" BASIS,
-@REM  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-@REM  See the License for the specific language governing permissions and
-@REM  limitations under the License.
-
-
-@echo off
-if "%OS%" == "Windows_NT" setlocal
-
-if NOT DEFINED CASSANDRA_HOME set CASSANDRA_HOME=%~dp0..
-if NOT DEFINED JAVA_HOME goto :err
-
-REM Ensure that any user defined CLASSPATH variables are not used on startup
-set CLASSPATH=
-
-REM For each jar in the CASSANDRA_HOME lib directory call append to build the 
CLASSPATH variable.
-for %%i in ("%CASSANDRA_HOME%\lib\*.jar") do call :append "%%i"
-goto okClasspath
-
-:append
-set CLASSPATH=%CLASSPATH%;%1
-goto :eof
-
-:okClasspath
-REM Include the build\classes\main directory so it works in development
-set 
CASSANDRA_CLASSPATH=%CLASSPATH%;"%CASSANDRA_HOME%\build\classes\main";"%CASSANDRA_HOME%\build\classes\thrift"
-goto runCli
-
-:runCli
-echo Starting Cassandra Client
-"%JAVA_HOME%\bin\java" -cp %CASSANDRA_CLASSPATH% 
org.apache.cassandra.tools.Shuffle %*
-goto finally
-
-:err
-echo The JAVA_HOME environment variable must be set to run this program!
-pause
-
-:finally
-
-ENDLOCAL



[jira] [Created] (CASSANDRA-7662) Implement templated CREATE TABLE functionality (CREATE TABLE LIKE)

2014-07-31 Thread Aleksey Yeschenko (JIRA)
Aleksey Yeschenko created CASSANDRA-7662:


 Summary: Implement templated CREATE TABLE functionality (CREATE 
TABLE LIKE)
 Key: CASSANDRA-7662
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7662
 Project: Cassandra
  Issue Type: Improvement
Reporter: Aleksey Yeschenko
Priority: Minor
 Fix For: 2.1.1


Implement templated CREATE TABLE functionality (CREATE TABLE LIKE) to simplify 
creating new tables duplicating existing ones (see parent_table part of  
http://www.postgresql.org/docs/9.1/static/sql-createtable.html).

CREATE TABLE  LIKE ; - would create a new table with the 
same columns and options as 



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7651) Tolerate min/max column names of different lengths for slice intersections

2014-07-31 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs updated CASSANDRA-7651:
---

Attachment: 7651-v2.txt

The v2 patch adds unit tests and adds one minor change (that coincidentally 
doesn't affect correctness, but is good for future-proofing) along with some 
comments.

> Tolerate min/max column names of different lengths for slice intersections
> --
>
> Key: CASSANDRA-7651
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7651
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Tyler Hobbs
>Assignee: Jonathan Ellis
>Priority: Minor
> Fix For: 2.1.0
>
> Attachments: 7651-v2.txt, 7651.txt
>
>
> As determined in CASSANDRA-7593, we shouldn't depend on min and max column 
> names being the same length for SSTables.  (See {{ColumnSlice.intersects()}} 
> and {{SliceQueryFilter.shouldInclude()}}.)
> CASSANDRA-6237 depends on this.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7638) Revisit GCInspector

2014-07-31 Thread Brandon Williams (JIRA)

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

Brandon Williams updated CASSANDRA-7638:


Attachment: 7638.txt

Here's a patch that basically reverts CASSANDRA-2868.  I tested this on 1.7u60, 
again setting the GCI interval to 1ms on both a patched and vanilla machine, 
and there is no difference in resident memory usage between them after a few 
hours.  I can see just from startup that this is catching a CMS that we miss 
with the CASSANDRA-2868 way.

> Revisit GCInspector
> ---
>
> Key: CASSANDRA-7638
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7638
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Brandon Williams
>Assignee: Brandon Williams
>Priority: Minor
> Fix For: 2.0.10
>
> Attachments: 7638.txt
>
>
> In CASSANDRA-2868 we had to change the api that GCI uses to avoid the native 
> memory leak, but this caused GCI to be less reliable and more 'best effort' 
> than before where it was 100% reliable.  Let's revisit this and see if the 
> native memory leak is fixed in java7.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7311) Enable incremental backup on a per-keyspace level

2014-07-31 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-7311:
--

[~mishraawake] sorry for the delay. The patch itself looks good to me, 
code-wise, aside from very minor code-style issues (\{ w/out a newline and some 
extra whitespace, nothing serious).

It does seem however that it's a better option overall to have this particular 
setting global and not per-table (see Brandon's and Jeremiah's comments).

So I'm going to resolve this one as 'Not a Problem', but please don't let it 
discourage you from contributing in the future (and once again, sorry for my 
delay in reviewing this).

> Enable incremental backup on a per-keyspace level
> -
>
> Key: CASSANDRA-7311
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7311
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Johnny Miller
>Assignee: pankaj mishra
>Priority: Minor
>  Labels: lhf
> Attachments: 7311-cqlsh-update.txt, cassandra-rebased-2.1.patch, 
> table_incremental_7311.patch
>
>
> Currently incremental backups are globally defined, however this is not 
> always appropriate or required for all keyspaces in a cluster. 
> As this is quite expensive, it would be preferred to either specify the 
> keyspaces that need this (or exclude the ones that don't).



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7311) Enable incremental backup on a per-keyspace level

2014-07-31 Thread Jeremiah Jordan (JIRA)

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

Jeremiah Jordan commented on CASSANDRA-7311:


Agreed.  I think the extra pain it causes to make this per table is not worth 
it.  If you back up anything, you need a script to process it.  Pretty easy to 
have that script throw out stuff you don't want.

> Enable incremental backup on a per-keyspace level
> -
>
> Key: CASSANDRA-7311
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7311
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Johnny Miller
>Assignee: pankaj mishra
>Priority: Minor
>  Labels: lhf
> Fix For: 2.1.1
>
> Attachments: 7311-cqlsh-update.txt, cassandra-rebased-2.1.patch, 
> table_incremental_7311.patch
>
>
> Currently incremental backups are globally defined, however this is not 
> always appropriate or required for all keyspaces in a cluster. 
> As this is quite expensive, it would be preferred to either specify the 
> keyspaces that need this (or exclude the ones that don't).



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7311) Enable incremental backup on a per-keyspace level

2014-07-31 Thread Brandon Williams (JIRA)

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

Brandon Williams commented on CASSANDRA-7311:
-

I didn't have any strong feeling on this ticket, but realizing that you have to 
have a script/app handle the link cleanup anyway, I think the best thing to do 
is keep the backups global and let the script/app decide what it wants to 
actually back up.  The only extra overhead that way is some hardlinks which are 
cheap.

> Enable incremental backup on a per-keyspace level
> -
>
> Key: CASSANDRA-7311
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7311
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Johnny Miller
>Assignee: pankaj mishra
>Priority: Minor
>  Labels: lhf
> Fix For: 2.1.1
>
> Attachments: 7311-cqlsh-update.txt, cassandra-rebased-2.1.patch, 
> table_incremental_7311.patch
>
>
> Currently incremental backups are globally defined, however this is not 
> always appropriate or required for all keyspaces in a cluster. 
> As this is quite expensive, it would be preferred to either specify the 
> keyspaces that need this (or exclude the ones that don't).



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7651) Tolerate min/max column names of different lengths for slice intersections

2014-07-31 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs commented on CASSANDRA-7651:


Thanks, I'll update the unit tests to add some coverage.

> Tolerate min/max column names of different lengths for slice intersections
> --
>
> Key: CASSANDRA-7651
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7651
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Tyler Hobbs
>Assignee: Jonathan Ellis
>Priority: Minor
> Fix For: 2.1.0
>
> Attachments: 7651.txt
>
>
> As determined in CASSANDRA-7593, we shouldn't depend on min and max column 
> names being the same length for SSTables.  (See {{ColumnSlice.intersects()}} 
> and {{SliceQueryFilter.shouldInclude()}}.)
> CASSANDRA-6237 depends on this.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7593) Errors when upgrading through several versions to 2.1

2014-07-31 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs updated CASSANDRA-7593:
---

Attachment: 7593-v2.txt

Okay, 7593-v2.txt takes that approach.  I followed Marcus's repro steps and 
verified that the min/max columns were empty.

> Errors when upgrading through several versions to 2.1
> -
>
> Key: CASSANDRA-7593
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7593
> Project: Cassandra
>  Issue Type: Bug
> Environment: java 1.7
>Reporter: Russ Hatch
>Assignee: Tyler Hobbs
>Priority: Critical
> Fix For: 2.1.0
>
> Attachments: 0001-keep-clusteringSize-in-CompoundComposite.patch, 
> 7593-v2.txt, 7593.txt
>
>
> I'm seeing two different errors cropping up in the dtest which upgrades a 
> cluster through several versions.
> This is the more common error:
> {noformat}
> ERROR [GossipStage:10] 2014-07-22 13:14:30,028 CassandraDaemon.java:168 - 
> Exception in thread Thread[GossipStage:10,5,main]
> java.lang.AssertionError: null
> at 
> org.apache.cassandra.db.filter.SliceQueryFilter.shouldInclude(SliceQueryFilter.java:347)
>  ~[main/:na]
> at 
> org.apache.cassandra.db.filter.QueryFilter.shouldInclude(QueryFilter.java:249)
>  ~[main/:na]
> at 
> org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:249)
>  ~[main/:na]
> at 
> org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:60)
>  ~[main/:na]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1873)
>  ~[main/:na]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1681)
>  ~[main/:na]
> at org.apache.cassandra.db.Keyspace.getRow(Keyspace.java:345) 
> ~[main/:na]
> at 
> org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:59)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.readLocally(SelectStatement.java:293)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.executeInternal(SelectStatement.java:302)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.executeInternal(SelectStatement.java:60)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.QueryProcessor.executeInternal(QueryProcessor.java:263)
>  ~[main/:na]
> at 
> org.apache.cassandra.db.SystemKeyspace.getPreferredIP(SystemKeyspace.java:514)
>  ~[main/:na]
> at 
> org.apache.cassandra.net.OutboundTcpConnectionPool.(OutboundTcpConnectionPool.java:51)
>  ~[main/:na]
> at 
> org.apache.cassandra.net.MessagingService.getConnectionPool(MessagingService.java:522)
>  ~[main/:na]
> at 
> org.apache.cassandra.net.MessagingService.getConnection(MessagingService.java:536)
>  ~[main/:na]
> at 
> org.apache.cassandra.net.MessagingService.sendOneWay(MessagingService.java:689)
>  ~[main/:na]
> at 
> org.apache.cassandra.net.MessagingService.sendReply(MessagingService.java:663)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.EchoVerbHandler.doVerb(EchoVerbHandler.java:40) 
> ~[main/:na]
> at 
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:62) 
> ~[main/:na]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>  ~[na:1.7.0_60]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>  ~[na:1.7.0_60]
> at java.lang.Thread.run(Thread.java:745) ~[na:1.7.0_60]
> {noformat}
> The same test sometimes fails with this exception instead:
> {noformat}
> ERROR [CompactionExecutor:4] 2014-07-22 16:18:21,008 CassandraDaemon.java:168 
> - Exception in thread Thread[CompactionExecutor:4,1,RMI Runtime]
> java.util.concurrent.RejectedExecutionException: Task 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@7059d3e9 
> rejected from 
> org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor@108f1504[Terminated,
>  pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 95]
> at 
> java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2048)
>  ~[na:1.7.0_60]
> at 
> java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:821) 
> ~[na:1.7.0_60]
> at 
> java.util.concurrent.ScheduledThreadPoolExecutor.delayedExecute(ScheduledThreadPoolExecutor.java:325)
>  ~[na:1.7.0_60]
> at 
> java.util.concurrent.ScheduledThreadPoolExecutor.schedule(ScheduledThreadPoolExecutor.java:530)
>  ~[na:1.7.0_60]
> at 
> java.util.concurrent.ScheduledThreadPoolExecutor.execute(ScheduledThreadPoolExecutor.j

[jira] [Commented] (CASSANDRA-7658) stress connects to all nodes when it shouldn't

2014-07-31 Thread Jeremiah Jordan (JIRA)

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

Jeremiah Jordan commented on CASSANDRA-7658:


We definitely need a way to have stress apply a whitelist per the 
WhiteListPolicy.  Restricting node connections is a feature used very often for 
testing.

> stress connects to all nodes when it shouldn't
> --
>
> Key: CASSANDRA-7658
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7658
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
>Reporter: Brandon Williams
>Assignee: Benedict
>Priority: Minor
> Fix For: 2.1.1
>
>
> If you tell stress -node 1,2 in cluster with more nodes, stress appears to do 
> ring discovery and connect to them all anyway (checked via netstat.)  This 
> led to the confusion on CASSANDRA-7567



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-6599) CQL updates should support "column = column - { key1, key2, ... }" syntax for removing map elements

2014-07-31 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko updated CASSANDRA-6599:
-

Attachment: 6599-proto.txt

Attaching a throwaway proto-patch allowing nulls as values in map literals 
(shouldn't really support them in Setter, only in Putter, though).

> CQL updates should support "column = column - { key1, key2, ... }" syntax for 
> removing map elements
> ---
>
> Key: CASSANDRA-6599
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6599
> Project: Cassandra
>  Issue Type: Wish
>Reporter: Gavin
>Assignee: Benjamin Lerer
>Priority: Minor
>  Labels: cql
> Fix For: 2.1.1
>
> Attachments: 6599-proto.txt, CASSANDRA-6599.txt
>
>
> A variable number number of elements can be removed from lists and sets using 
> an update statement of the form "update  set column=column - {} where 
> ...".  This syntax should also be supported for map columns.  This would be 
> especially useful for prepared statements (I know that you can use "set 
> column[...] = null" to remove items in an update statement, but that only 
> works for one element at a time).



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7654) CQL INSERT improvement

2014-07-31 Thread Jeremiah Jordan (JIRA)

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

Jeremiah Jordan commented on CASSANDRA-7654:


Since we optimize batch inserts to a single partition, I don't really see the 
need to add a new funky syntax with restrictions on it to insert.  Just makes 
docs that much more user unfriendly.


> CQL INSERT improvement
> --
>
> Key: CASSANDRA-7654
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7654
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Robert Stupp
>Priority: Minor
>
> It would be nice to be able to add multiple rows using a single {{INSERT}}.
> Restricted to the same partition.
> For example:
> Current behaviour:
> {noformat}
> INSERT INTO comp_key (key, num_val)
>   VALUES ('foo', 1, 41);
> INSERT INTO comp_key (key, num_val)
>   VALUES ('foo', 2, 42);
> {noformat}
> Wanted behaviour:
> {noformat}
> INSERT INTO comp_key (key, num_val)
>   VALUES
> ('foo', 1, 41),
> ('foo', 2, 42),
> ('foo', 3, 42),
> ('foo', 4, 42);
> {noformat}
> Assumed table def:
> {noformat}
> CREATE TABLE comp_key (
>   key TEXT,
>   clust   INT,
>   num_val DECIMAL,
>   PRIMARY KEY ( key, clust )
> );
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7332) NPE in SecondaryIndexManager.deleteFromIndexes

2014-07-31 Thread Duncan Sands (JIRA)

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

Duncan Sands updated CASSANDRA-7332:


Attachment: all_production.tgz

Unfortunately it is not so easy to reproduce.  I've attached an sstable (and 
associated data) that fails to cleanup.

> NPE in SecondaryIndexManager.deleteFromIndexes
> --
>
> Key: CASSANDRA-7332
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7332
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
> Environment: C* 2.0.7, x86-64 ubuntu 12.04
>Reporter: Duncan Sands
>Assignee: Ryan McGuire
>Priority: Minor
> Attachments: all_production.tgz
>
>
> When trying to run "nodetool cleanup", I get this exception on the node:
> ERROR [CompactionExecutor:1363] 2014-05-31 11:55:45,708 CassandraDaemon.java 
> (line 198) Exception in thread Thread[CompactionExecutor:1363,1,RMI Runtime]
> java.lang.NullPointerException
> at 
> org.apache.cassandra.db.index.SecondaryIndexManager.deleteFromIndexes(SecondaryIndexManager.java:460)
> at 
> org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy$Full.cleanup(CompactionManager.java:719)
> at 
> org.apache.cassandra.db.compaction.CompactionManager.doCleanupCompaction(CompactionManager.java:579)
> at 
> org.apache.cassandra.db.compaction.CompactionManager.access$400(CompactionManager.java:62)
> at 
> org.apache.cassandra.db.compaction.CompactionManager$5.perform(CompactionManager.java:274)
> at 
> org.apache.cassandra.db.compaction.CompactionManager$2.call(CompactionManager.java:222)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:744)
> Nodetool itself got this:
> Error occurred during cleanup
> java.util.concurrent.ExecutionException: java.lang.NullPointerException
>   at java.util.concurrent.FutureTask.report(FutureTask.java:122)
>   at java.util.concurrent.FutureTask.get(FutureTask.java:188)
>   at 
> org.apache.cassandra.db.compaction.CompactionManager.performAllSSTableOperation(CompactionManager.java:227)
>   at 
> org.apache.cassandra.db.compaction.CompactionManager.performCleanup(CompactionManager.java:265)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.forceCleanup(ColumnFamilyStore.java:1105)
>   at 
> org.apache.cassandra.service.StorageService.forceKeyspaceCleanup(StorageService.java:2215)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:606)
>   at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:75)
>   at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:606)
>   at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:279)
>   at 
> com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112)
>   at 
> com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:46)
>   at 
> com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237)
>   at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138)
>   at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252)
>   at 
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
>   at 
> com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
>   at 
> javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1487)
>   at 
> javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97)
>   at 
> javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328)
>   at 
> javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1420)
>   at 
> javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:848)
>   at sun.reflect.GeneratedMethodAccessor44.invoke(Unknown Source)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:606)
>   at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerR

[jira] [Created] (CASSANDRA-7661) org.apache.cassandra.utils.BitSetTest fails if you don't have /usr/share/dict/words

2014-07-31 Thread Jeremiah Jordan (JIRA)
Jeremiah Jordan created CASSANDRA-7661:
--

 Summary: org.apache.cassandra.utils.BitSetTest fails if you don't 
have /usr/share/dict/words
 Key: CASSANDRA-7661
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7661
 Project: Cassandra
  Issue Type: Bug
  Components: Tests
Reporter: Jeremiah Jordan
Priority: Trivial


org.apache.cassandra.utils.WordGenerator used by BitSetTests just assumes you 
have the file /usr/share/dict/words on your system.  If you don't it fails.  We 
probably shouldn't have unit tests depending on arbitrary external files.

{noformat}
[junit] Testsuite: org.apache.cassandra.utils.BitSetTest
[junit] Tests run: 4, Failures: 0, Errors: 1, Time elapsed: 2.044 sec
[junit]
[junit] Testcase: compareBitSets(org.apache.cassandra.utils.BitSetTest):
Caused an ERROR
[junit] java.io.FileNotFoundException: /usr/share/dict/words (No such file 
or directory)
[junit] java.lang.RuntimeException: java.io.FileNotFoundException: 
/usr/share/dict/words (No such file or directory)
[junit] at 
org.apache.cassandra.utils.KeyGenerator$WordGenerator.reset(KeyGenerator.java:137)
[junit] at 
org.apache.cassandra.utils.KeyGenerator$WordGenerator.(KeyGenerator.java:126)
[junit] at 
org.apache.cassandra.utils.BitSetTest.compareBitSets(BitSetTest.java:50)
[junit] Caused by: java.io.FileNotFoundException: /usr/share/dict/words (No 
such file or directory)
[junit] at java.io.FileInputStream.open(Native Method)
[junit] at java.io.FileInputStream.(FileInputStream.java:146)
[junit] at java.io.FileInputStream.(FileInputStream.java:101)
[junit] at 
org.apache.cassandra.utils.KeyGenerator$WordGenerator.reset(KeyGenerator.java:135)
[junit]
[junit]
[junit] Test org.apache.cassandra.utils.BitSetTest FAILED
{noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7631) Allow Stress to write directly to SSTables

2014-07-31 Thread Russell Alexander Spitzer (JIRA)

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

Russell Alexander Spitzer commented on CASSANDRA-7631:
--

Looks like that is as fast as I can go, CPU is pegged at max on my MBP. Let me 
clean up the code and I'll get a preview up. I'm relying on CQLSSTableWriter to 
buffer and do the writes which provides (3) for us but limits the program to 1 
CQLSSTableWriter per process since it is not thread-safe.

I think (4) and (5) could be very helpful though to giving that code an easier 
job.

(2) There is much bad argument parsing I still need to add. 

I'm trying to track down one bug at the moment then i'll post a preliminary 
branch. 

> Allow Stress to write directly to SSTables
> --
>
> Key: CASSANDRA-7631
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7631
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
>Reporter: Russell Alexander Spitzer
>Assignee: Russell Alexander Spitzer
>
> One common difficulty with benchmarking machines is the amount of time it 
> takes to initially load data. For machines with a large amount of ram this 
> becomes especially onerous because a very large amount of data needs to be 
> placed on the machine before page-cache can be circumvented. 
> To remedy this I suggest we add a top level flag to Cassandra-Stress which 
> would cause the tool to write directly to sstables rather than actually 
> performing CQL inserts. Internally this would use CQLSStable writer to write 
> directly to sstables while skipping any keys which are not owned by the node 
> stress is running on. The same stress command run on each node in the cluster 
> would then write unique sstables only containing data which that node is 
> responsible for. Following this no further network IO would be required to 
> distribute data as it would all already be correctly in place.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7311) Enable incremental backup on a per-keyspace level

2014-07-31 Thread pankaj mishra (JIRA)

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

pankaj mishra commented on CASSANDRA-7311:
--

 Aleksey Yeschenko  I did not get. What do i have to do?

> Enable incremental backup on a per-keyspace level
> -
>
> Key: CASSANDRA-7311
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7311
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Johnny Miller
>Assignee: pankaj mishra
>Priority: Minor
>  Labels: lhf
> Fix For: 2.1.1
>
> Attachments: 7311-cqlsh-update.txt, cassandra-rebased-2.1.patch, 
> table_incremental_7311.patch
>
>
> Currently incremental backups are globally defined, however this is not 
> always appropriate or required for all keyspaces in a cluster. 
> As this is quite expensive, it would be preferred to either specify the 
> keyspaces that need this (or exclude the ones that don't).



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-6829) nodes sporadically shutting down

2014-07-31 Thread Daniel Meyer (JIRA)

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

Daniel Meyer commented on CASSANDRA-6829:
-

We do have an azure cluster running Cassandra reliably at the moment.  In our 
setup we have a cluster of 6 a7 instances.  The data disks are 16 azure blobs 
in RAID 0 with chunk size 8.  We are using ext4 rather than XFS.  commit log is 
on the ephemeral drive.  I would suggest re-provisioning the instances that 
have experienced the issue.  This does sound like an issue with Azure though.

> nodes sporadically shutting down
> 
>
> Key: CASSANDRA-6829
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6829
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
> Environment: Windows Azure VMs.
> The VMs OS is SUSE Enterprise. I striped 2 logical volumes  for each VM, one 
> for data and one for commitlog, and formatted them as XFS.
> Oracle Java 1.7_45
> Datastax Enterprise 4.0 (Cassandra version 2.0.5.22)
>Reporter: Oded Peer
>
> I deployed a Datastax 4.0 Cassandra cluster in Windows Azure and started load 
> tests. After a while some of the nodes announce shutdown and stop responding 
> to client requests.
> The error preceding the shutdown is "FSWriteError in 
> /mnt/dsedata/lib/cassandra/poc/event_log/poc-event_log-tmp-jb-581-Data.db"  
> "Caused by: java.io.IOException: Input/output error".
> The storage I'm using in my VMs is Azure Blob storage. The VMs OS is SUSE 
> Enterprise. I striped 2 logical volumes  for each VM, one for data and one 
> for commitlog, and formatted them as XFS.
> I am using Oracle Java 1.7_45
> Restarting the Cassandra process resolves the problem for a short while 
> (minutes) afterwards the problem occurs again.
> I noticed that it happens only in tmp files of a specific table. See the 
> errors from 3 random nodes:
> (1) ERROR [CompactionExecutor:48] 2014-03-09 11:38:45,188 
> CassandraDaemon.java (line 192) Exception in thread 
> Thread[CompactionExecutor:48,1,main]
> FSWriteError in 
> /mnt/dsedata/lib/cassandra/poc/event_log/poc-event_log-tmp-jb-409-Data.db
> (2) ERROR [CompactionExecutor:37] 2014-03-10 10:04:30,828 
> CassandraDaemon.java (line 196) Exception in thread 
> Thread[CompactionExecutor:37,1,main]
> FSWriteError in 
> /mnt/dsedata/lib/cassandra/poc/event_log/poc-event_log-tmp-jb-946-Data.db
> (3) ERROR [CompactionExecutor:48] 2014-03-10 10:23:39,248 
> CassandraDaemon.java (line 196) Exception in thread 
> Thread[CompactionExecutor:48,1,main]
> FSWriteError in 
> /mnt/dsedata/lib/cassandra/poc/event_log/poc-event_log-tmp-jb-874-Data.db
> The table is a wide-row table created as:
> CREATE TABLE event_log (
>   time_slice bigint,
>   distribution_key int,
>   event_id text,
>   ... 300 columns ...
>   PRIMARY KEY ((time_slice, distribution_key), event_id)
> ) compaction={'class': 'SizeTieredCompactionStrategy'} AND
>   compression={'sstable_compression': 'LZ4Compressor'};
> CREATE INDEX EVENT_LOG_2IX ON event_log (event_id);
> 'time_slice' represents a 5 minute time-period such as MMddHHmm where 
> 'mm' is between 00 and 55 with increments of 5.
> The Data files under the 'data' directory got to be very big in a very short 
> time after the test started.
> For example:
> 1.5G Mar 10 10:50 
> /mnt/dsedata/lib/cassandra/poc/event_log/poc-event_log-jb-968-Data.db
> 3.0G Mar 10 11:41 
> /mnt/dsedata/lib/cassandra/poc/event_log/poc-event_log-tmp-jb-970-Data.db
> Full stack trace:
> ERROR [CompactionExecutor:37] 2014-03-10 10:04:30,828 CassandraDaemon.java 
> (line 196) Exception in thread Thread[CompactionExecutor:37,1,main]
> FSWriteError in 
> /mnt/dsedata/lib/cassandra/poc/event_log/poc-event_log-tmp-jb-946-Data.db
> at 
> org.apache.cassandra.io.compress.CompressedSequentialWriter.close(CompressedSequentialWriter.java:270)
> at 
> org.apache.cassandra.io.sstable.SSTableWriter.close(SSTableWriter.java:356)
> at 
> org.apache.cassandra.io.sstable.SSTableWriter.closeAndOpenReader(SSTableWriter.java:324)
> at 
> org.apache.cassandra.db.compaction.CompactionTask.runWith(CompactionTask.java:204)
> at 
> org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48)
> at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
> at 
> org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:60)
> at 
> org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:59)
> at 
> org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:197)
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> at java.util.concurrent.FutureTask.ru

[2/7] git commit: Filter cached results correctly.

2014-07-31 Thread brandonwilliams
Filter cached results correctly.

Patch by marcuse, reviewed aleksey for CASSANDRA-7636


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

Branch: refs/heads/cassandra-2.1
Commit: 0947fb8a91ddbf9785a675bafaac51c02dd1f27e
Parents: d4d6246
Author: Brandon Williams 
Authored: Thu Jul 31 12:38:03 2014 -0500
Committer: Brandon Williams 
Committed: Thu Jul 31 12:38:03 2014 -0500

--
 CHANGES.txt |  1 +
 .../apache/cassandra/db/ColumnFamilyStore.java  |  2 +-
 .../apache/cassandra/db/RowCacheCQLTest.java| 40 
 3 files changed, 42 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0947fb8a/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 5210e0d..378e812 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.0-final
+ * Filter cached results correctly (CASSANDRA-7636)
  * Fix tracing on the new SEPExecutor (CASSANDRA-7644)
  * Remove shuffle and taketoken (CASSANDRA-7601)
  * Clean up Windows batch scripts (CASSANDRA-7619)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0947fb8a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
--
diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java 
b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
index fb66c34..8e7bdeb 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@ -1522,7 +1522,7 @@ public class ColumnFamilyStore implements 
ColumnFamilyStoreMBean
 {
 metric.rowCacheHit.inc();
 Tracing.trace("Row cache hit");
-return cachedCf;
+return filterColumnFamily(cachedCf, filter);
 }
 
 metric.rowCacheHitOutOfRange.inc();

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0947fb8a/test/unit/org/apache/cassandra/db/RowCacheCQLTest.java
--
diff --git a/test/unit/org/apache/cassandra/db/RowCacheCQLTest.java 
b/test/unit/org/apache/cassandra/db/RowCacheCQLTest.java
new file mode 100644
index 000..3dc5ce3
--- /dev/null
+++ b/test/unit/org/apache/cassandra/db/RowCacheCQLTest.java
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cassandra.db;
+
+import org.junit.Test;
+
+import org.apache.cassandra.cql3.CQLTester;
+import org.apache.cassandra.cql3.UntypedResultSet;
+import org.apache.cassandra.service.CacheService;
+import static org.junit.Assert.assertEquals;
+
+public class RowCacheCQLTest extends CQLTester
+{
+@Test
+public void test7636() throws Throwable
+{
+CacheService.instance.setRowCacheCapacityInMB(1);
+createTable("CREATE TABLE %s (p1 bigint, c1 int, PRIMARY KEY (p1, c1)) 
WITH caching = '{\"keys\":\"NONE\", \"rows_per_partition\":\"ALL\"}'");
+execute("INSERT INTO %s (p1, c1) VALUES (123, 10)");
+assertEmpty(execute("SELECT * FROM %s WHERE p1=123 and c1 > 1000"));
+UntypedResultSet res = execute("SELECT * FROM %s WHERE p1=123 and c1 > 
0");
+assertEquals(1, res.size());
+assertEmpty(execute("SELECT * FROM %s WHERE p1=123 and c1 > 1000"));
+}
+}



[3/7] git commit: Filter cached results correctly.

2014-07-31 Thread brandonwilliams
Filter cached results correctly.

Patch by marcuse, reviewed aleksey for CASSANDRA-7636


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

Branch: refs/heads/trunk
Commit: 0947fb8a91ddbf9785a675bafaac51c02dd1f27e
Parents: d4d6246
Author: Brandon Williams 
Authored: Thu Jul 31 12:38:03 2014 -0500
Committer: Brandon Williams 
Committed: Thu Jul 31 12:38:03 2014 -0500

--
 CHANGES.txt |  1 +
 .../apache/cassandra/db/ColumnFamilyStore.java  |  2 +-
 .../apache/cassandra/db/RowCacheCQLTest.java| 40 
 3 files changed, 42 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0947fb8a/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 5210e0d..378e812 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.0-final
+ * Filter cached results correctly (CASSANDRA-7636)
  * Fix tracing on the new SEPExecutor (CASSANDRA-7644)
  * Remove shuffle and taketoken (CASSANDRA-7601)
  * Clean up Windows batch scripts (CASSANDRA-7619)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0947fb8a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
--
diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java 
b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
index fb66c34..8e7bdeb 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@ -1522,7 +1522,7 @@ public class ColumnFamilyStore implements 
ColumnFamilyStoreMBean
 {
 metric.rowCacheHit.inc();
 Tracing.trace("Row cache hit");
-return cachedCf;
+return filterColumnFamily(cachedCf, filter);
 }
 
 metric.rowCacheHitOutOfRange.inc();

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0947fb8a/test/unit/org/apache/cassandra/db/RowCacheCQLTest.java
--
diff --git a/test/unit/org/apache/cassandra/db/RowCacheCQLTest.java 
b/test/unit/org/apache/cassandra/db/RowCacheCQLTest.java
new file mode 100644
index 000..3dc5ce3
--- /dev/null
+++ b/test/unit/org/apache/cassandra/db/RowCacheCQLTest.java
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cassandra.db;
+
+import org.junit.Test;
+
+import org.apache.cassandra.cql3.CQLTester;
+import org.apache.cassandra.cql3.UntypedResultSet;
+import org.apache.cassandra.service.CacheService;
+import static org.junit.Assert.assertEquals;
+
+public class RowCacheCQLTest extends CQLTester
+{
+@Test
+public void test7636() throws Throwable
+{
+CacheService.instance.setRowCacheCapacityInMB(1);
+createTable("CREATE TABLE %s (p1 bigint, c1 int, PRIMARY KEY (p1, c1)) 
WITH caching = '{\"keys\":\"NONE\", \"rows_per_partition\":\"ALL\"}'");
+execute("INSERT INTO %s (p1, c1) VALUES (123, 10)");
+assertEmpty(execute("SELECT * FROM %s WHERE p1=123 and c1 > 1000"));
+UntypedResultSet res = execute("SELECT * FROM %s WHERE p1=123 and c1 > 
0");
+assertEquals(1, res.size());
+assertEmpty(execute("SELECT * FROM %s WHERE p1=123 and c1 > 1000"));
+}
+}



[6/7] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1

2014-07-31 Thread brandonwilliams
Merge branch 'cassandra-2.1.0' into cassandra-2.1


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

Branch: refs/heads/cassandra-2.1
Commit: adc138509e897da3c78a87213d678bf5f251e939
Parents: b888f80 0947fb8
Author: Brandon Williams 
Authored: Thu Jul 31 12:39:13 2014 -0500
Committer: Brandon Williams 
Committed: Thu Jul 31 12:39:13 2014 -0500

--
 CHANGES.txt |  1 +
 .../apache/cassandra/db/ColumnFamilyStore.java  |  2 +-
 .../apache/cassandra/db/RowCacheCQLTest.java| 40 
 3 files changed, 42 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/adc13850/CHANGES.txt
--
diff --cc CHANGES.txt
index 4a49256,378e812..2501e51
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,17 -1,5 +1,18 @@@
 +2.1.1
 + * Pig support for hadoop CqlInputFormat (CASSANDRA-6454)
 + * Add listen_interface and rpc_interface options (CASSANDRA-7417)
 + * Improve schema merge performance (CASSANDRA-7444)
 + * Adjust MT depth based on # of partition validating (CASSANDRA-5263)
 + * Optimise NativeCell comparisons (CASSANDRA-6755)
 + * Configurable client timeout for cqlsh (CASSANDRA-7516)
 + * Include snippet of CQL query near syntax error in messages (CASSANDRA-7111)
 +Merged from 2.0:
 + * (cqlsh) Add tab-completion for CREATE/DROP USER IF [NOT] EXISTS 
(CASSANDRA-7611)
 + * Catch errors when the JVM pulls the rug out from GCInspector 
(CASSANDRA-5345)
 +
 +
  2.1.0-final
+  * Filter cached results correctly (CASSANDRA-7636)
   * Fix tracing on the new SEPExecutor (CASSANDRA-7644)
   * Remove shuffle and taketoken (CASSANDRA-7601)
   * Clean up Windows batch scripts (CASSANDRA-7619)



[4/7] git commit: Filter cached results correctly.

2014-07-31 Thread brandonwilliams
Filter cached results correctly.

Patch by marcuse, reviewed aleksey for CASSANDRA-7636


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

Branch: refs/heads/cassandra-2.1.0
Commit: 0947fb8a91ddbf9785a675bafaac51c02dd1f27e
Parents: d4d6246
Author: Brandon Williams 
Authored: Thu Jul 31 12:38:03 2014 -0500
Committer: Brandon Williams 
Committed: Thu Jul 31 12:38:03 2014 -0500

--
 CHANGES.txt |  1 +
 .../apache/cassandra/db/ColumnFamilyStore.java  |  2 +-
 .../apache/cassandra/db/RowCacheCQLTest.java| 40 
 3 files changed, 42 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0947fb8a/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 5210e0d..378e812 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.0-final
+ * Filter cached results correctly (CASSANDRA-7636)
  * Fix tracing on the new SEPExecutor (CASSANDRA-7644)
  * Remove shuffle and taketoken (CASSANDRA-7601)
  * Clean up Windows batch scripts (CASSANDRA-7619)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0947fb8a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
--
diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java 
b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
index fb66c34..8e7bdeb 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@ -1522,7 +1522,7 @@ public class ColumnFamilyStore implements 
ColumnFamilyStoreMBean
 {
 metric.rowCacheHit.inc();
 Tracing.trace("Row cache hit");
-return cachedCf;
+return filterColumnFamily(cachedCf, filter);
 }
 
 metric.rowCacheHitOutOfRange.inc();

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0947fb8a/test/unit/org/apache/cassandra/db/RowCacheCQLTest.java
--
diff --git a/test/unit/org/apache/cassandra/db/RowCacheCQLTest.java 
b/test/unit/org/apache/cassandra/db/RowCacheCQLTest.java
new file mode 100644
index 000..3dc5ce3
--- /dev/null
+++ b/test/unit/org/apache/cassandra/db/RowCacheCQLTest.java
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cassandra.db;
+
+import org.junit.Test;
+
+import org.apache.cassandra.cql3.CQLTester;
+import org.apache.cassandra.cql3.UntypedResultSet;
+import org.apache.cassandra.service.CacheService;
+import static org.junit.Assert.assertEquals;
+
+public class RowCacheCQLTest extends CQLTester
+{
+@Test
+public void test7636() throws Throwable
+{
+CacheService.instance.setRowCacheCapacityInMB(1);
+createTable("CREATE TABLE %s (p1 bigint, c1 int, PRIMARY KEY (p1, c1)) 
WITH caching = '{\"keys\":\"NONE\", \"rows_per_partition\":\"ALL\"}'");
+execute("INSERT INTO %s (p1, c1) VALUES (123, 10)");
+assertEmpty(execute("SELECT * FROM %s WHERE p1=123 and c1 > 1000"));
+UntypedResultSet res = execute("SELECT * FROM %s WHERE p1=123 and c1 > 
0");
+assertEquals(1, res.size());
+assertEmpty(execute("SELECT * FROM %s WHERE p1=123 and c1 > 1000"));
+}
+}



[1/7] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1

2014-07-31 Thread brandonwilliams
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 b888f80d6 -> adc138509
  refs/heads/cassandra-2.1.0 d4d624684 -> 0947fb8a9
  refs/heads/trunk b8a4e4ff7 -> 9aeae5887


Merge branch 'cassandra-2.1.0' into cassandra-2.1


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

Branch: refs/heads/trunk
Commit: b888f80d679b6bf1059ed9a7227b74ea10f06143
Parents: 63407db d4d6246
Author: Jonathan Ellis 
Authored: Thu Jul 31 12:11:27 2014 -0500
Committer: Jonathan Ellis 
Committed: Thu Jul 31 12:11:27 2014 -0500

--
 CHANGES.txt   |  1 +
 .../concurrent/AbstractTracingAwareExecutorService.java   | 10 +-
 2 files changed, 6 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b888f80d/CHANGES.txt
--
diff --cc CHANGES.txt
index 8aedebe,5210e0d..4a49256
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,17 -1,5 +1,18 @@@
 +2.1.1
 + * Pig support for hadoop CqlInputFormat (CASSANDRA-6454)
 + * Add listen_interface and rpc_interface options (CASSANDRA-7417)
 + * Improve schema merge performance (CASSANDRA-7444)
 + * Adjust MT depth based on # of partition validating (CASSANDRA-5263)
 + * Optimise NativeCell comparisons (CASSANDRA-6755)
 + * Configurable client timeout for cqlsh (CASSANDRA-7516)
 + * Include snippet of CQL query near syntax error in messages (CASSANDRA-7111)
 +Merged from 2.0:
 + * (cqlsh) Add tab-completion for CREATE/DROP USER IF [NOT] EXISTS 
(CASSANDRA-7611)
 + * Catch errors when the JVM pulls the rug out from GCInspector 
(CASSANDRA-5345)
 +
 +
  2.1.0-final
+  * Fix tracing on the new SEPExecutor (CASSANDRA-7644)
   * Remove shuffle and taketoken (CASSANDRA-7601)
   * Clean up Windows batch scripts (CASSANDRA-7619)
   * Fix native protocol drop user type notification (CASSANDRA-7571)



[7/7] git commit: Merge branch 'cassandra-2.1' into trunk

2014-07-31 Thread brandonwilliams
Merge branch 'cassandra-2.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/9aeae588
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9aeae588
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9aeae588

Branch: refs/heads/trunk
Commit: 9aeae58877013387bf31f30bcb1b675a674d5850
Parents: b8a4e4f adc1385
Author: Brandon Williams 
Authored: Thu Jul 31 12:39:21 2014 -0500
Committer: Brandon Williams 
Committed: Thu Jul 31 12:39:21 2014 -0500

--
 CHANGES.txt |  1 +
 .../apache/cassandra/db/ColumnFamilyStore.java  |  2 +-
 .../apache/cassandra/db/RowCacheCQLTest.java| 40 
 3 files changed, 42 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9aeae588/CHANGES.txt
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9aeae588/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
--



[5/7] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1

2014-07-31 Thread brandonwilliams
Merge branch 'cassandra-2.1.0' into cassandra-2.1


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

Branch: refs/heads/trunk
Commit: adc138509e897da3c78a87213d678bf5f251e939
Parents: b888f80 0947fb8
Author: Brandon Williams 
Authored: Thu Jul 31 12:39:13 2014 -0500
Committer: Brandon Williams 
Committed: Thu Jul 31 12:39:13 2014 -0500

--
 CHANGES.txt |  1 +
 .../apache/cassandra/db/ColumnFamilyStore.java  |  2 +-
 .../apache/cassandra/db/RowCacheCQLTest.java| 40 
 3 files changed, 42 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/adc13850/CHANGES.txt
--
diff --cc CHANGES.txt
index 4a49256,378e812..2501e51
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,17 -1,5 +1,18 @@@
 +2.1.1
 + * Pig support for hadoop CqlInputFormat (CASSANDRA-6454)
 + * Add listen_interface and rpc_interface options (CASSANDRA-7417)
 + * Improve schema merge performance (CASSANDRA-7444)
 + * Adjust MT depth based on # of partition validating (CASSANDRA-5263)
 + * Optimise NativeCell comparisons (CASSANDRA-6755)
 + * Configurable client timeout for cqlsh (CASSANDRA-7516)
 + * Include snippet of CQL query near syntax error in messages (CASSANDRA-7111)
 +Merged from 2.0:
 + * (cqlsh) Add tab-completion for CREATE/DROP USER IF [NOT] EXISTS 
(CASSANDRA-7611)
 + * Catch errors when the JVM pulls the rug out from GCInspector 
(CASSANDRA-5345)
 +
 +
  2.1.0-final
+  * Filter cached results correctly (CASSANDRA-7636)
   * Fix tracing on the new SEPExecutor (CASSANDRA-7644)
   * Remove shuffle and taketoken (CASSANDRA-7601)
   * Clean up Windows batch scripts (CASSANDRA-7619)



[jira] [Updated] (CASSANDRA-7279) MultiSliceTest.test_with_overlap* unit tests failing in trunk

2014-07-31 Thread Michael Shuler (JIRA)

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

Michael Shuler updated CASSANDRA-7279:
--

Labels: qa-resolved  (was: )

> MultiSliceTest.test_with_overlap* unit tests failing in trunk
> -
>
> Key: CASSANDRA-7279
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7279
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tests
>Reporter: Michael Shuler
>Assignee: Sylvain Lebresne
>Priority: Minor
>  Labels: qa-resolved
> Fix For: 2.1 rc1, 3.0
>
> Attachments: 7279-trunk.txt, 7279-trunkv2.txt, 7279-trunkv3.txt, 
> 7279-trunkv4.txt, 7279_alternative-v2.txt, 7279_alternative.txt
>
>
> Example:
> https://cassci.datastax.com/job/trunk_utest/623/testReport/org.apache.cassandra.thrift/MultiSliceTest/



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7397) BatchlogManagerTest unit test failing

2014-07-31 Thread Michael Shuler (JIRA)

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

Michael Shuler updated CASSANDRA-7397:
--

Labels: qa-resolved  (was: )

> BatchlogManagerTest unit test failing
> -
>
> Key: CASSANDRA-7397
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7397
> Project: Cassandra
>  Issue Type: Bug
> Environment: cassci: Debian Wheezy amd64 / Oracle JDK 1.7_60 / 8G SSD
> my machine: Debian Jessie amd64 / Oracle JDK 1.7_60 / 16G SSD
>Reporter: Michael Shuler
>Assignee: Carl Yeksigian
>  Labels: qa-resolved
> Fix For: 2.0.9, 2.1 rc2, 3.0
>
> Attachments: 7397.patch, system.log.txt
>
>
> This test is passing on cassci, but has failed on other dev machines. This is 
> from my machine on trunk (I'm checking other versions).
> {noformat}
> [junit] Testsuite: org.apache.cassandra.db.BatchlogManagerTest
> [junit] Tests run: 2, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 
> 83.015 sec
> [junit] 
> [junit] - Standard Output ---
> [junit] WARN  19:48:53 Changing /127.0.0.1's host ID from 
> 7d5feaa0-f26a-11e3-9d93-ed61e821317c to 952657a0-f26a-11e3-9d93-ed61e821317c
> [junit] WARN  19:48:53 Changing /127.0.0.1's host ID from 
> 7d5feaa0-f26a-11e3-9d93-ed61e821317c to 952657a0-f26a-11e3-9d93-ed61e821317c
> [junit] -  ---
> [junit] Testcase: 
> testReplay(org.apache.cassandra.db.BatchlogManagerTest):  FAILED
> [junit] expected:<500> but was:<0>
> [junit] junit.framework.AssertionFailedError: expected:<500> but was:<0>
> [junit] at 
> org.apache.cassandra.db.BatchlogManagerTest.testReplay(BatchlogManagerTest.java:91)
> [junit] 
> [junit] 
> [junit] Test org.apache.cassandra.db.BatchlogManagerTest FAILED
> {noformat}
> DEBUG test log attached



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Created] (CASSANDRA-7660) Indicate PK columns in "prepared" native protocol responses

2014-07-31 Thread Tyler Hobbs (JIRA)
Tyler Hobbs created CASSANDRA-7660:
--

 Summary: Indicate PK columns in "prepared" native protocol 
responses
 Key: CASSANDRA-7660
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7660
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Tyler Hobbs
 Fix For: 3.0


Currently, when native protocol drivers prepare statements, they need to check 
their internal representation of the schema to determine which, if any, of the 
columns are part of the partition key.  If the native protocol response 
indicated this, it would remove the drivers' dependency on having an internal 
representation of the schema when preparing statements.

This would need to go in the v4 protocol.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7651) Tolerate min/max column names of different lengths for slice intersections

2014-07-31 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-7651:
--

Attachment: 7651.txt

I guess the reason we have a ticket for this rather than ninja-ing 3 lines is 
to add more SliceQueryFilter tests, but I'm not confident enough of the 
semantics here to be sure what to add.  But here's your three lines!

> Tolerate min/max column names of different lengths for slice intersections
> --
>
> Key: CASSANDRA-7651
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7651
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Tyler Hobbs
>Assignee: Jonathan Ellis
>Priority: Minor
> Fix For: 2.1.0
>
> Attachments: 7651.txt
>
>
> As determined in CASSANDRA-7593, we shouldn't depend on min and max column 
> names being the same length for SSTables.  (See {{ColumnSlice.intersects()}} 
> and {{SliceQueryFilter.shouldInclude()}}.)
> CASSANDRA-6237 depends on this.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7295) BatchlogManagerTest unit test failing in 2.1 & trunk

2014-07-31 Thread Ryan McGuire (JIRA)

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

Ryan McGuire updated CASSANDRA-7295:


Labels: qa-resolved  (was: )

> BatchlogManagerTest unit test failing in 2.1 & trunk
> 
>
> Key: CASSANDRA-7295
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7295
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tests
>Reporter: Michael Shuler
>Assignee: Sylvain Lebresne
>Priority: Minor
>  Labels: qa-resolved
> Fix For: 2.1 rc1
>
>
> Commit 1147ee3 for CASSANDRA-6975 introduced a regression for 
> BatchlogManagerTest in 2.1 and trunk:
> {noformat}
> [junit] Testsuite: org.apache.cassandra.db.BatchlogManagerTest
> [junit] Tests run: 2, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 
> 45.795 sec
> [junit] 
> [junit] - Standard Output ---
> [junit] WARN  18:43:57 Changing /127.0.0.1's host ID from 
> 1c3d6470-e2aa-11e3-beb0-9b2001e5c823 to 32f21350-e2aa-11e3-beb0-9b2001e5c823
> [junit] WARN  18:43:57 Changing /127.0.0.1's host ID from 
> 1c3d6470-e2aa-11e3-beb0-9b2001e5c823 to 32f21350-e2aa-11e3-beb0-9b2001e5c823
> [junit] -  ---
> [junit] Testcase: 
> testReplay(org.apache.cassandra.db.BatchlogManagerTest):  Caused an ERROR
> [junit] Error validating SELECT count(*) FROM %s.%s
> [junit] java.lang.RuntimeException: Error validating SELECT count(*) FROM 
> %s.%s
> [junit] at 
> org.apache.cassandra.cql3.QueryProcessor.executeInternal(QueryProcessor.java:275)
> [junit] at 
> org.apache.cassandra.db.BatchlogManager.countAllBatches(BatchlogManager.java:102)
> [junit] at 
> org.apache.cassandra.db.BatchlogManagerTest.testReplay(BatchlogManagerTest.java:60)
> [junit] Caused by: org.apache.cassandra.exceptions.SyntaxException: line 
> 1:24 no viable alternative at character '%'
> [junit] at 
> org.apache.cassandra.cql3.CqlLexer.throwLastRecognitionError(CqlLexer.java:201)
> [junit] at 
> org.apache.cassandra.cql3.QueryProcessor.parseStatement(QueryProcessor.java:455)
> [junit] at 
> org.apache.cassandra.cql3.QueryProcessor.getStatement(QueryProcessor.java:430)
> [junit] at 
> org.apache.cassandra.cql3.QueryProcessor.parseStatement(QueryProcessor.java:211)
> [junit] at 
> org.apache.cassandra.cql3.QueryProcessor.prepareInternal(QueryProcessor.java:252)
> [junit] at 
> org.apache.cassandra.cql3.QueryProcessor.executeInternal(QueryProcessor.java:262)
> [junit] 
> [junit] 
> [junit] Test org.apache.cassandra.db.BatchlogManagerTest FAILED
> {noformat}
> http://cassci.datastax.com/job/cassandra-2.1_utest/291/testReport/org.apache.cassandra.db/BatchlogManagerTest/testReplay/
> http://cassci.datastax.com/job/trunk_utest/627/testReport/junit/org.apache.cassandra.db/BatchlogManagerTest/testReplay/



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7166) o.a.c.triggers.TriggersSchemaTest unit test fails intermittently in 2.1

2014-07-31 Thread Ryan McGuire (JIRA)

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

Ryan McGuire updated CASSANDRA-7166:


Labels: qa-resolved  (was: )

> o.a.c.triggers.TriggersSchemaTest unit test fails intermittently in 2.1
> ---
>
> Key: CASSANDRA-7166
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7166
> Project: Cassandra
>  Issue Type: Test
>  Components: Tests
>Reporter: Michael Shuler
>Assignee: Michael Shuler
>Priority: Minor
>  Labels: qa-resolved
> Fix For: 2.1 rc1
>
>
> bisecting..



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7599) Dtest on low cardinality secondary indexes failing in 2.1

2014-07-31 Thread Ryan McGuire (JIRA)

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

Ryan McGuire updated CASSANDRA-7599:


Labels: qa-resolved  (was: )

> Dtest on low cardinality secondary indexes failing in 2.1
> -
>
> Key: CASSANDRA-7599
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7599
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core, Tests
>Reporter: Shawn Kumar
>Assignee: Tyler Hobbs
>  Labels: qa-resolved
> Fix For: 2.1.0
>
> Attachments: 7599.txt
>
>
> test_low_cardinality_indexes in secondary_indexes_test.py is failing when 
> tested on the cassandra-2.1 branch. This test has been failing on cassci for 
> a while (at least the last 10 builds) and can easily be reproduced locally as 
> well. It appears to still work on 2.0.
> {code}
> ==
> FAIL: test_low_cardinality_indexes 
> (secondary_indexes_test.TestSecondaryIndexes)
> --
> Traceback (most recent call last):
>   File "/home/shawn/git/cstar5/cassandra-dtest/tools.py", line 213, in wrapped
> f(obj)
>   File "/home/shawn/git/cstar5/cassandra-dtest/secondary_indexes_test.py", 
> line 89, in test_low_cardinality_indexes
> check_request_order()
>   File "/home/shawn/git/cstar5/cassandra-dtest/secondary_indexes_test.py", 
> line 84, in check_request_order
> self.assertTrue('Executing indexed scan' in relevant_events[-1][0], 
> str(relevant_events[-1]))
> AssertionError: (u'Enqueuing request to /127.0.0.2', '127.0.0.1')
> {code}
> The test checks that a series of messages are found in the trace after a 
> select query against an index is carried out. It fails to find an 'Executing 
> indexed scan' from node 1 (which takes the query, note both node2 and node3 
> produced this message). Brief investigation seemed to show that whichever 
> node you create the patient_cql_connection on will not produce this message, 
> indicating perhaps it does not carry out the scan.  Should also note that 
> changing 'numrows' (rows initially added) or 'b' (value on index column we 
> query for) does not appear to make a difference.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Assigned] (CASSANDRA-7651) Tolerate min/max column names of different lengths for slice intersections

2014-07-31 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis reassigned CASSANDRA-7651:
-

Assignee: Jonathan Ellis  (was: Tyler Hobbs)

> Tolerate min/max column names of different lengths for slice intersections
> --
>
> Key: CASSANDRA-7651
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7651
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Tyler Hobbs
>Assignee: Jonathan Ellis
>Priority: Minor
> Fix For: 2.1.0
>
>
> As determined in CASSANDRA-7593, we shouldn't depend on min and max column 
> names being the same length for SSTables.  (See {{ColumnSlice.intersects()}} 
> and {{SliceQueryFilter.shouldInclude()}}.)
> CASSANDRA-6237 depends on this.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Created] (CASSANDRA-7659) cqlsh: DESCRIBE KEYSPACE should order types according to cross-type dependencies

2014-07-31 Thread Tyler Hobbs (JIRA)
Tyler Hobbs created CASSANDRA-7659:
--

 Summary: cqlsh: DESCRIBE KEYSPACE should order types according to 
cross-type dependencies
 Key: CASSANDRA-7659
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7659
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Reporter: Tyler Hobbs
Assignee: Tyler Hobbs
Priority: Minor
 Fix For: 2.1.1


Since UDTs may use other UDTs for fields, DESCRIBE KEYSPACE should list types 
in an order that handles the dependencies.  This was recently done in the 
python driver here: https://github.com/datastax/python-driver/pull/165.  We can 
either update to the latest python driver, or copy that code for cqlsh.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Comment Edited] (CASSANDRA-7631) Allow Stress to write directly to SSTables

2014-07-31 Thread Russell Alexander Spitzer (JIRA)

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

Russell Alexander Spitzer edited comment on CASSANDRA-7631 at 7/31/14 5:16 PM:
---

I eliminated my first bottleneck. I was putting every logical "row" onto the 
ABQ which ends up being bad news when there are 300k a second. Instead I now 
put a list of logical rows (one for each work  unit) onto the ABQ and I can 
keep up with the generation now up to 8 generating threads with still just 1 
consumer. 73k pk/s . 

I'll check with a greater number of generators to see if I can keep up still. 


was (Author: rspitzer):
I eliminated my first bottleneck. I was putting every logical "row" onto the 
ABQ which ends up being bad news when there are 300k a second. Instead I know 
put a list of logical rows (one for each work  unit) onto the ABQ and I can 
keep up with the generation now up to 8 generating threads with still just 1 
consumer. 73k pk/s . 

I'll check with a greater number of generators to see if I can keep up still. 

> Allow Stress to write directly to SSTables
> --
>
> Key: CASSANDRA-7631
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7631
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
>Reporter: Russell Alexander Spitzer
>Assignee: Russell Alexander Spitzer
>
> One common difficulty with benchmarking machines is the amount of time it 
> takes to initially load data. For machines with a large amount of ram this 
> becomes especially onerous because a very large amount of data needs to be 
> placed on the machine before page-cache can be circumvented. 
> To remedy this I suggest we add a top level flag to Cassandra-Stress which 
> would cause the tool to write directly to sstables rather than actually 
> performing CQL inserts. Internally this would use CQLSStable writer to write 
> directly to sstables while skipping any keys which are not owned by the node 
> stress is running on. The same stress command run on each node in the cluster 
> would then write unique sstables only containing data which that node is 
> responsible for. Following this no further network IO would be required to 
> distribute data as it would all already be correctly in place.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[3/5] git commit: Fix tracing on the new SEPExecutor patch by jbellis; reviewed by bes for CASSANDRA-7644

2014-07-31 Thread jbellis
Fix tracing on the new SEPExecutor
patch by jbellis; reviewed by bes for CASSANDRA-7644


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

Branch: refs/heads/trunk
Commit: d4d62468462ac854c4855d31a363deab6a41692d
Parents: ef099c3
Author: Jonathan Ellis 
Authored: Thu Jul 31 10:21:22 2014 -0500
Committer: Jonathan Ellis 
Committed: Thu Jul 31 12:11:20 2014 -0500

--
 CHANGES.txt   |  1 +
 .../concurrent/AbstractTracingAwareExecutorService.java   | 10 +-
 2 files changed, 6 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4d62468/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 0ce0eaa..5210e0d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.0-final
+ * Fix tracing on the new SEPExecutor (CASSANDRA-7644)
  * Remove shuffle and taketoken (CASSANDRA-7601)
  * Clean up Windows batch scripts (CASSANDRA-7619)
  * Fix native protocol drop user type notification (CASSANDRA-7571)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4d62468/src/java/org/apache/cassandra/concurrent/AbstractTracingAwareExecutorService.java
--
diff --git 
a/src/java/org/apache/cassandra/concurrent/AbstractTracingAwareExecutorService.java
 
b/src/java/org/apache/cassandra/concurrent/AbstractTracingAwareExecutorService.java
index 95c55d3..8fa3ec9 100644
--- 
a/src/java/org/apache/cassandra/concurrent/AbstractTracingAwareExecutorService.java
+++ 
b/src/java/org/apache/cassandra/concurrent/AbstractTracingAwareExecutorService.java
@@ -81,12 +81,12 @@ public abstract class AbstractTracingAwareExecutorService 
implements TracingAwar
 
 protected  FutureTask newTaskFor(Runnable runnable, T result)
 {
-return newTaskFor(runnable, result, null);
+return newTaskFor(runnable, result, Tracing.instance.get());
 }
 
 protected  FutureTask newTaskFor(Runnable runnable, T result, 
TraceState traceState)
 {
-if (traceState != null || isTracing())
+if (traceState != null)
 {
 if (runnable instanceof TraceSessionFutureTask)
 return (TraceSessionFutureTask) runnable;
@@ -103,7 +103,7 @@ public abstract class AbstractTracingAwareExecutorService 
implements TracingAwar
 {
 if (callable instanceof TraceSessionFutureTask)
 return (TraceSessionFutureTask) callable;
-return new TraceSessionFutureTask(callable, null);
+return new TraceSessionFutureTask(callable, 
Tracing.instance.get());
 }
 if (callable instanceof FutureTask)
 return (FutureTask) callable;
@@ -128,6 +128,7 @@ public abstract class AbstractTracingAwareExecutorService 
implements TracingAwar
 
 public void run()
 {
+TraceState oldState = Tracing.instance.get();
 Tracing.instance.set(state);
 try
 {
@@ -135,7 +136,7 @@ public abstract class AbstractTracingAwareExecutorService 
implements TracingAwar
 }
 finally
 {
-Tracing.instance.set(null);
+Tracing.instance.set(oldState);
 }
 }
 }
@@ -223,5 +224,4 @@ public abstract class AbstractTracingAwareExecutorService 
implements TracingAwar
 {
 addTask(newTaskFor(command, null, state));
 }
-
 }



  1   2   >