[jira] [Created] (CASSANDRA-8396) repairs creates sstable per each num tokens range

2014-12-01 Thread Alexander Piavlo (JIRA)
Alexander Piavlo created CASSANDRA-8396:
---

 Summary: repairs creates sstable per each num tokens range
 Key: CASSANDRA-8396
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8396
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Alexander Piavlo
Priority: Critical


I have num tokens set to 256
then i run 
`nodetool repair -pr someKeyspace someCF` 
it creates 256 new small sstables - per each range afaiu
on all replica nodes, this is major overkill for read performance.

This happens with 2.1.2 and 2.1.1
I have never anything like that with cassandra 1.0.x



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-7124) Use JMX Notifications to Indicate Success/Failure of Long-Running Operations

2014-12-01 Thread Rajanarayanan Thottuvaikkatumana (JIRA)

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

Rajanarayanan Thottuvaikkatumana commented on CASSANDRA-7124:
-

[~yukim] Is there any way to complete the {{parallelAsyncAllSSTableOperation}} 
without using the mark/unmarkCompacting method call? Thanks

 Use JMX Notifications to Indicate Success/Failure of Long-Running Operations
 

 Key: CASSANDRA-7124
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7124
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Tyler Hobbs
Assignee: Rajanarayanan Thottuvaikkatumana
Priority: Minor
  Labels: lhf
 Fix For: 3.0

 Attachments: cassandra-trunk-cleanup-7124.txt


 If {{nodetool cleanup}} or some other long-running operation takes too long 
 to complete, you'll see an error like the one in CASSANDRA-2126, so you can't 
 tell if the operation completed successfully or not.  CASSANDRA-4767 fixed 
 this for repairs with JMX notifications.  We should do something similar for 
 nodetool cleanup, compact, decommission, move, relocate, etc.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8316) Did not get positive replies from all endpoints error on incremental repair

2014-12-01 Thread Loic Lambiel (JIRA)

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

Loic Lambiel commented on CASSANDRA-8316:
-

Hi guys,

Any chance to get this issue fixed for 2.1.3 ? On our side we face this issue 
on almost all incremental repairs

  Did not get positive replies from all endpoints error on incremental repair
 --

 Key: CASSANDRA-8316
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8316
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: cassandra 2.1.2
Reporter: Loic Lambiel
Assignee: Alan Boudreault
 Attachments: CassandraDaemon-2014-11-25-2.snapshot.tar.gz, test.sh


 Hi,
 I've got an issue with incremental repairs on our production 15 nodes 2.1.2 
 (new cluster, not yet loaded, RF=3)
 After having successfully performed an incremental repair (-par -inc) on 3 
 nodes, I started receiving Repair failed with error Did not get positive 
 replies from all endpoints. from nodetool on all remaining nodes :
 [2014-11-14 09:12:36,488] Starting repair command #3, repairing 108 ranges 
 for keyspace  (seq=false, full=false)
 [2014-11-14 09:12:47,919] Repair failed with error Did not get positive 
 replies from all endpoints.
 All the nodes are up and running and the local system log shows that the 
 repair commands got started and that's it.
 I've also noticed that soon after the repair, several nodes started having 
 more cpu load indefinitely without any particular reason (no tasks / queries, 
 nothing in the logs). I then restarted C* on these nodes and retried the 
 repair on several nodes, which were successful until facing the issue again.
 I tried to repro on our 3 nodes preproduction cluster without success
 It looks like I'm not the only one having this issue: 
 http://www.mail-archive.com/user%40cassandra.apache.org/msg39145.html
 Any idea?
 Thanks
 Loic



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (CASSANDRA-7438) Serializing Row cache alternative (Fully off heap)

2014-12-01 Thread Robert Stupp (JIRA)

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

Robert Stupp edited comment on CASSANDRA-7438 at 12/1/14 9:46 AM:
--

Have pushed the latest changes of OHC to https://github.com/snazy/ohc. It has 
been nearly completely rewritten.

Architecture (in brief):
* OHC consists of multiple segments (default: 2 x #CPUs). Less segments leads 
to more contention, more segments gives no measurable improvement.
* Each segment consists of an off-heap-hash-map (defaults: table-size=8192, 
load-factor=.75). (The hash table requires 8 bytes per bucket)
* Hash entries in a bucket are organized in a double-linked-list
* LRU replacement policy is built-in via its own double-linked-list
* Critical sections that mutually lock a segment are pretty short (code + CPU) 
- just a 'synchronized' keyword, no StampedLock/ReentrantLock
* Capacity for the cache is configured globally and managed locally in each 
segment
* Eviction (or replacement or cleanup) is triggered when free capacity goes 
below a trigger value and cleans up to a target free capacity
* Uses murmur hash on serialized key. Most significant bits are used to find 
the segment, least significant bits for the segment's hash map. 

Non-production relevant stuff:
* Allows to start off-heap access in debug mode, that checks for accesses 
outside of allocated region and produces exceptions instead of SIGSEGV or 
jemalloc errors
* ohc-benchmark updated to reflect changes

About replacement policy: Currently LRU is built in - but I'm not really sold 
on LRU as is. Alternatives could be
* timestamp (not sold on this either - basically the same as LRU)
* LIRS (https://en.wikipedia.org/wiki/LIRS_caching_algorithm), big overhead 
(space)
* 2Q (counts accesses, divides counter regularly)
* LRU+random (50/50) (may give the same result than LIRS, but without LIRS' 
overhead)

But replacement of LRU with something else is out of scope of this ticket and 
should be done with real workloads in C* - although the last one is just a 
additional config parameter.

IMO we should add a per-table option that configures whether the row cache 
receives data on reads+writes or just on reads. Might prevent garbage in the 
cache caused by write heavy tables.

{{Unsafe.allocateMemory()}} gives about 5-10% performance improvement compared 
to jemalloc. Reason fot it might be that JNA library (which has some 
synchronized blocks in it).

IMO OHC is ready to be merged into C* code base.

Edit: the fact that there are two double-linked lists is a left-over of several 
experiments and it will be merged into one double-linked-list. It needs to be 
and will be fixed.


was (Author: snazy):
Have pushed the latest changes of OHC to https://github.com/snazy/ohc. It has 
been nearly completely rewritten.

Architecture (in brief):
* OHC consists of multiple segments (default: 2 x #CPUs). Less segments leads 
to more contention, more segments gives no measurable improvement.
* Each segment consists of an off-heap-hash-map (defaults: table-size=8192, 
load-factor=.75). (The hash table requires 8 bytes per bucket)
* Hash entries in a bucket are organized in a double-linked-list
* LRU replacement policy is built-in via its own double-linked-list
* Critical sections that mutually lock a segment are pretty short (code + CPU) 
- just a 'synchronized' keyword, no StampedLock/ReentrantLock
* Capacity for the cache is configured globally and managed locally in each 
segment
* Eviction (or replacement or cleanup) is triggered when free capacity goes 
below a trigger value and cleans up to a target free capacity
* Uses murmur hash on serialized key. Most significant bits are used to find 
the segment, least significant bits for the segment's hash map. 

Non-production relevant stuff:
* Allows to start off-heap access in debug mode, that checks for accesses 
outside of allocated region and produces exceptions instead of SIGSEGV or 
jemalloc errors
* ohc-benchmark updated to reflect changes

About replacement policy: Currently LRU is built in - but I'm not really sold 
on LRU as is. Alternatives could be
* timestamp (not sold on this either - basically the same as LRU)
* LIRS (https://en.wikipedia.org/wiki/LIRS_caching_algorithm), big overhead 
(space)
* 2Q (counts accesses, divides counter regularly)
* LRU+random (50/50) (may give the same result than LIRS, but without LIRS' 
overhead)
But replacement of LRU with something else is out of scope of this ticket and 
should be done with real workloads in C* - although the last one is just a 
additional config parameter.

IMO we should add a per-table option that configures whether the row cache 
receives data on reads+writes or just on reads. Might prevent garbage in the 
cache caused by write heavy tables.

{{Unsafe.allocateMemory()}} gives about 5-10% performance improvement compared 

[jira] [Commented] (CASSANDRA-8387) Schema inconsistency (cached vs schema_columnfamilies)

2014-12-01 Thread Marcus Olsson (JIRA)

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

Marcus Olsson commented on CASSANDRA-8387:
--

{quote}
Time is not the problem. Your issue is a consequence of CASSANDRA-5202, that 
made table uuids non-deterministic.

I don't see a good way to fix this in 2.1. I will try to handle this scenario 
in CASSANDRA-6038, with the new schema change protocol, but even then, I don't 
see an immediate solution - yet.
{quote}
Could one solution be to add some way for CREATE to use LWT?

{quote}
For now, you should wait for schema agreement before issuing any CREATE 
requests like that. I believe the java driver has a method for it.
{quote}
Ok, is that an exposed method of the driver or is it a part of the CREATE query 
itself? I can't seem to find it.

Also, we are using multiple clients that might execute the same CREATE 
query(with IF NOT EXISTS).

 Schema inconsistency (cached vs schema_columnfamilies)
 --

 Key: CASSANDRA-8387
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8387
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: C* 2.1.1 3-node cluster
Reporter: Marcus Olsson

 While running some tests on a 3-node cluster running C* 2.1.1 we encountered 
 a problem creating the same table schema twice(on different nodes). One thing 
 to note is that one of the nodes clock was ~4 seconds behind the others, but 
 I don't think that's the problem since the exception was reproduced here 
 aswell: http://www.mail-archive.com/user@cassandra.apache.org/msg39560.html.
 While running the same create table statement more than once(on different 
 clients) the logs outputted this on one of the nodes:
 {noformat}
 (node x.x.x.1):
 2014-11-25T16:11:44.651+0100  INFO [SharedPool-Worker-2] 
 MigrationManager.java:248 Create new ColumnFamily: 
 org.apache.cassandra.config.CFMetaData@45c290de[cfId=5e334b40-74b5-11e4-b1b6-017ad0689f5d,ksName=test,cfName=test,cfType=Standard,comparator=org.apache.cassandra.db.marshal.UTF8Type,comment=,readRepairChance=0.0,dcLocalReadRepairChance=0.1,gcGraceSeconds=864000,defaultValidator=org.apache.cassandra.db.marshal.BytesType,keyValidator=org.apache.cassandra.db.marshal.UTF8Type,minCompactionThreshold=4,maxCompactionThreshold=32,columnMetadata=[ColumnDefinition{name=id,
  type=org.apache.cassandra.db.marshal.UTF8Type, kind=CLUSTERING_COLUMN, 
 componentIndex=null, indexName=null, indexType=null}, 
 ColumnDefinition{name=key, type=org.apache.cassandra.db.marshal.UTF8Type, 
 kind=PARTITION_KEY, componentIndex=null, indexName=null, indexType=null}, 
 ColumnDefinition{name=value, type=org.apache.cassandra.db.marshal.BytesType, 
 kind=COMPACT_VALUE, componentIndex=null, indexName=null, 
 indexType=null}],compactionStrategyClass=class 
 org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy,compactionStrategyOptions={},compressionParameters={sstable_compression=org.apache.cassandra.io.compress.LZ4Compressor},bloomFilterFpChance=0.01,memtableFlushPeriod=0,caching={keys:ALL,
  
 rows_per_partition:NONE},defaultTimeToLive=0,minIndexInterval=128,maxIndexInterval=2048,speculativeRetry=99.0PERCENTILE,droppedColumns={},triggers=[],isDense=true]
 ...
 2014-11-25T16:11:44.667+0100  INFO [MigrationStage:1] DefsTables.java:373 
 Loading 
 org.apache.cassandra.config.CFMetaData@40a1ee90[cfId=5bc7c980-74b5-11e4-9131-d9b94a3d8927,ksName=test,cfName=test,cfType=Standard,comparator=org.apache.cassandra.db.marshal.UTF8Type,comment=,readRepairChance=0.0,dcLocalReadRepairChance=0.1,gcGraceSeconds=864000,defaultValidator=org.apache.cassandra.db.marshal.BytesType,keyValidator=org.apache.cassandra.db.marshal.UTF8Type,minCompactionThreshold=4,maxCompactionThreshold=32,columnMetadata=[ColumnDefinition{name=id,
  type=org.apache.cassandra.db.marshal.UTF8Type, kind=CLUSTERING_COLUMN, 
 componentIndex=null, indexName=null, indexType=null}, 
 ColumnDefinition{name=key, type=org.apache.cassandra.db.marshal.UTF8Type, 
 kind=PARTITION_KEY, componentIndex=null, indexName=null, indexType=null}, 
 ColumnDefinition{name=value, type=org.apache.cassandra.db.marshal.BytesType, 
 kind=COMPACT_VALUE, componentIndex=null, indexName=null, 
 indexType=null}],compactionStrategyClass=class 
 org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy,compactionStrategyOptions={},compressionParameters={sstable_compression=org.apache.cassandra.io.compress.LZ4Compressor},bloomFilterFpChance=0.01,memtableFlushPeriod=0,caching={keys:ALL,
  
 rows_per_partition:NONE},defaultTimeToLive=0,minIndexInterval=128,maxIndexInterval=2048,speculativeRetry=99.0PERCENTILE,droppedColumns={},triggers=[],isDense=true]
 ...
 java.lang.RuntimeException: 
 org.apache.cassandra.exceptions.ConfigurationException: Column family ID 
 

[jira] [Comment Edited] (CASSANDRA-7438) Serializing Row cache alternative (Fully off heap)

2014-12-01 Thread Robert Stupp (JIRA)

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

Robert Stupp edited comment on CASSANDRA-7438 at 12/1/14 10:14 AM:
---

Have pushed the latest changes of OHC to https://github.com/snazy/ohc. It has 
been nearly completely rewritten.

Architecture (in brief):
* OHC consists of multiple segments (default: 2 x #CPUs). Less segments leads 
to more contention, more segments gives no measurable improvement.
* Each segment consists of an off-heap-hash-map (defaults: table-size=8192, 
load-factor=.75). (The hash table requires 8 bytes per bucket)
* Hash entries in a bucket are organized in a double-linked-list
* LRU replacement policy is built-in via its own double-linked-list
* Critical sections that mutually lock a segment are pretty short (code + CPU) 
- just a 'synchronized' keyword, no StampedLock/ReentrantLock
* Capacity for the cache is configured globally and managed locally in each 
segment
* Eviction (or replacement or cleanup) is triggered when free capacity goes 
below a trigger value and cleans up to a target free capacity
* Uses murmur hash on serialized key. Most significant bits are used to find 
the segment, least significant bits for the segment's hash map. 

Non-production relevant stuff:
* Allows to start off-heap access in debug mode, that checks for accesses 
outside of allocated region and produces exceptions instead of SIGSEGV or 
jemalloc errors
* ohc-benchmark updated to reflect changes

About replacement policy: Currently LRU is built in - but I'm not really sold 
on LRU as is. Alternatives could be
* timestamp (not sold on this either - basically the same as LRU)
* LIRS (https://en.wikipedia.org/wiki/LIRS_caching_algorithm), big overhead 
(space)
* 2Q (counts accesses, divides counter regularly)
* LRU+random (50/50) (may give the same result than LIRS, but without LIRS' 
overhead)

But replacement of LRU with something else is out of scope of this ticket and 
should be done with real workloads in C* - although the last one is just a 
additional config parameter.

IMO we should add a per-table option that configures whether the row cache 
receives data on reads+writes or just on reads. Might prevent garbage in the 
cache caused by write heavy tables.

{{Unsafe.allocateMemory()}} gives about 5-10% performance improvement compared 
to jemalloc. Reason fot it might be that JNA library (which has some 
synchronized blocks in it).

IMO OHC is ready to be merged into C* code base.

Edit2: (remove edit1)


was (Author: snazy):
Have pushed the latest changes of OHC to https://github.com/snazy/ohc. It has 
been nearly completely rewritten.

Architecture (in brief):
* OHC consists of multiple segments (default: 2 x #CPUs). Less segments leads 
to more contention, more segments gives no measurable improvement.
* Each segment consists of an off-heap-hash-map (defaults: table-size=8192, 
load-factor=.75). (The hash table requires 8 bytes per bucket)
* Hash entries in a bucket are organized in a double-linked-list
* LRU replacement policy is built-in via its own double-linked-list
* Critical sections that mutually lock a segment are pretty short (code + CPU) 
- just a 'synchronized' keyword, no StampedLock/ReentrantLock
* Capacity for the cache is configured globally and managed locally in each 
segment
* Eviction (or replacement or cleanup) is triggered when free capacity goes 
below a trigger value and cleans up to a target free capacity
* Uses murmur hash on serialized key. Most significant bits are used to find 
the segment, least significant bits for the segment's hash map. 

Non-production relevant stuff:
* Allows to start off-heap access in debug mode, that checks for accesses 
outside of allocated region and produces exceptions instead of SIGSEGV or 
jemalloc errors
* ohc-benchmark updated to reflect changes

About replacement policy: Currently LRU is built in - but I'm not really sold 
on LRU as is. Alternatives could be
* timestamp (not sold on this either - basically the same as LRU)
* LIRS (https://en.wikipedia.org/wiki/LIRS_caching_algorithm), big overhead 
(space)
* 2Q (counts accesses, divides counter regularly)
* LRU+random (50/50) (may give the same result than LIRS, but without LIRS' 
overhead)

But replacement of LRU with something else is out of scope of this ticket and 
should be done with real workloads in C* - although the last one is just a 
additional config parameter.

IMO we should add a per-table option that configures whether the row cache 
receives data on reads+writes or just on reads. Might prevent garbage in the 
cache caused by write heavy tables.

{{Unsafe.allocateMemory()}} gives about 5-10% performance improvement compared 
to jemalloc. Reason fot it might be that JNA library (which has some 
synchronized blocks in it).

IMO OHC is ready to be merged into C* code base.


[jira] [Commented] (CASSANDRA-8387) Schema inconsistency (cached vs schema_columnfamilies)

2014-12-01 Thread Jens-U. Mozdzen (JIRA)

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

Jens-U. Mozdzen commented on CASSANDRA-8387:


 Ok, is that an exposed method of the driver or is it a part of the CREATE 
 query itself? I can't seem to find it.

it seems the method was introduced with cassandra-driver-core 2.1.3:

--- cut here ---
Builder newClusterBuilder = Cluster.builder();

newClusterBuilder.withMaxSchemaAgreementWaitSeconds( 30);
--- cut here ---

 Schema inconsistency (cached vs schema_columnfamilies)
 --

 Key: CASSANDRA-8387
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8387
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: C* 2.1.1 3-node cluster
Reporter: Marcus Olsson

 While running some tests on a 3-node cluster running C* 2.1.1 we encountered 
 a problem creating the same table schema twice(on different nodes). One thing 
 to note is that one of the nodes clock was ~4 seconds behind the others, but 
 I don't think that's the problem since the exception was reproduced here 
 aswell: http://www.mail-archive.com/user@cassandra.apache.org/msg39560.html.
 While running the same create table statement more than once(on different 
 clients) the logs outputted this on one of the nodes:
 {noformat}
 (node x.x.x.1):
 2014-11-25T16:11:44.651+0100  INFO [SharedPool-Worker-2] 
 MigrationManager.java:248 Create new ColumnFamily: 
 org.apache.cassandra.config.CFMetaData@45c290de[cfId=5e334b40-74b5-11e4-b1b6-017ad0689f5d,ksName=test,cfName=test,cfType=Standard,comparator=org.apache.cassandra.db.marshal.UTF8Type,comment=,readRepairChance=0.0,dcLocalReadRepairChance=0.1,gcGraceSeconds=864000,defaultValidator=org.apache.cassandra.db.marshal.BytesType,keyValidator=org.apache.cassandra.db.marshal.UTF8Type,minCompactionThreshold=4,maxCompactionThreshold=32,columnMetadata=[ColumnDefinition{name=id,
  type=org.apache.cassandra.db.marshal.UTF8Type, kind=CLUSTERING_COLUMN, 
 componentIndex=null, indexName=null, indexType=null}, 
 ColumnDefinition{name=key, type=org.apache.cassandra.db.marshal.UTF8Type, 
 kind=PARTITION_KEY, componentIndex=null, indexName=null, indexType=null}, 
 ColumnDefinition{name=value, type=org.apache.cassandra.db.marshal.BytesType, 
 kind=COMPACT_VALUE, componentIndex=null, indexName=null, 
 indexType=null}],compactionStrategyClass=class 
 org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy,compactionStrategyOptions={},compressionParameters={sstable_compression=org.apache.cassandra.io.compress.LZ4Compressor},bloomFilterFpChance=0.01,memtableFlushPeriod=0,caching={keys:ALL,
  
 rows_per_partition:NONE},defaultTimeToLive=0,minIndexInterval=128,maxIndexInterval=2048,speculativeRetry=99.0PERCENTILE,droppedColumns={},triggers=[],isDense=true]
 ...
 2014-11-25T16:11:44.667+0100  INFO [MigrationStage:1] DefsTables.java:373 
 Loading 
 org.apache.cassandra.config.CFMetaData@40a1ee90[cfId=5bc7c980-74b5-11e4-9131-d9b94a3d8927,ksName=test,cfName=test,cfType=Standard,comparator=org.apache.cassandra.db.marshal.UTF8Type,comment=,readRepairChance=0.0,dcLocalReadRepairChance=0.1,gcGraceSeconds=864000,defaultValidator=org.apache.cassandra.db.marshal.BytesType,keyValidator=org.apache.cassandra.db.marshal.UTF8Type,minCompactionThreshold=4,maxCompactionThreshold=32,columnMetadata=[ColumnDefinition{name=id,
  type=org.apache.cassandra.db.marshal.UTF8Type, kind=CLUSTERING_COLUMN, 
 componentIndex=null, indexName=null, indexType=null}, 
 ColumnDefinition{name=key, type=org.apache.cassandra.db.marshal.UTF8Type, 
 kind=PARTITION_KEY, componentIndex=null, indexName=null, indexType=null}, 
 ColumnDefinition{name=value, type=org.apache.cassandra.db.marshal.BytesType, 
 kind=COMPACT_VALUE, componentIndex=null, indexName=null, 
 indexType=null}],compactionStrategyClass=class 
 org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy,compactionStrategyOptions={},compressionParameters={sstable_compression=org.apache.cassandra.io.compress.LZ4Compressor},bloomFilterFpChance=0.01,memtableFlushPeriod=0,caching={keys:ALL,
  
 rows_per_partition:NONE},defaultTimeToLive=0,minIndexInterval=128,maxIndexInterval=2048,speculativeRetry=99.0PERCENTILE,droppedColumns={},triggers=[],isDense=true]
 ...
 java.lang.RuntimeException: 
 org.apache.cassandra.exceptions.ConfigurationException: Column family ID 
 mismatch (found 5e334b40-74b5-11e4-b1b6-017ad0689f5d; expected 
 5bc7c980-74b5-11e4-9131-d9b94a3d8927)
 at 
 org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1171) 
 ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.db.DefsTables.updateColumnFamily(DefsTables.java:422) 
 ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 

[jira] [Comment Edited] (CASSANDRA-7438) Serializing Row cache alternative (Fully off heap)

2014-12-01 Thread Robert Stupp (JIRA)

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

Robert Stupp edited comment on CASSANDRA-7438 at 12/1/14 11:00 AM:
---

Have pushed the latest changes of OHC to https://github.com/snazy/ohc. It has 
been nearly completely rewritten.

Architecture (in brief):
* OHC consists of multiple segments (default: 2 x #CPUs). Less segments leads 
to more contention, more segments gives no measurable improvement.
* Each segment consists of an off-heap-hash-map (defaults: table-size=8192, 
load-factor=.75). (The hash table requires 8 bytes per bucket)
* Hash entries in a bucket are organized in a single-linked-list
* LRU replacement policy is built-in via its own double-linked-list
* Critical sections that mutually lock a segment are pretty short (code + CPU) 
- just a 'synchronized' keyword, no StampedLock/ReentrantLock
* Capacity for the cache is configured globally and managed locally in each 
segment
* Eviction (or replacement or cleanup) is triggered when free capacity goes 
below a trigger value and cleans up to a target free capacity
* Uses murmur hash on serialized key. Most significant bits are used to find 
the segment, least significant bits for the segment's hash map. 

Non-production relevant stuff:
* Allows to start off-heap access in debug mode, that checks for accesses 
outside of allocated region and produces exceptions instead of SIGSEGV or 
jemalloc errors
* ohc-benchmark updated to reflect changes

About replacement policy: Currently LRU is built in - but I'm not really sold 
on LRU as is. Alternatives could be
* timestamp (not sold on this either - basically the same as LRU)
* LIRS (https://en.wikipedia.org/wiki/LIRS_caching_algorithm), big overhead 
(space)
* 2Q (counts accesses, divides counter regularly)
* LRU+random (50/50) (may give the same result than LIRS, but without LIRS' 
overhead)

But replacement of LRU with something else is out of scope of this ticket and 
should be done with real workloads in C* - although the last one is just a 
additional config parameter.

IMO we should add a per-table option that configures whether the row cache 
receives data on reads+writes or just on reads. Might prevent garbage in the 
cache caused by write heavy tables.

{{Unsafe.allocateMemory()}} gives about 5-10% performance improvement compared 
to jemalloc. Reason fot it might be that JNA library (which has some 
synchronized blocks in it).

IMO OHC is ready to be merged into C* code base.

Edit3: (sorry for the JIRA noise) - bucket linked list is only a 
single-linked-list - LRU linked list needs to be doubly linked


was (Author: snazy):
Have pushed the latest changes of OHC to https://github.com/snazy/ohc. It has 
been nearly completely rewritten.

Architecture (in brief):
* OHC consists of multiple segments (default: 2 x #CPUs). Less segments leads 
to more contention, more segments gives no measurable improvement.
* Each segment consists of an off-heap-hash-map (defaults: table-size=8192, 
load-factor=.75). (The hash table requires 8 bytes per bucket)
* Hash entries in a bucket are organized in a double-linked-list
* LRU replacement policy is built-in via its own double-linked-list
* Critical sections that mutually lock a segment are pretty short (code + CPU) 
- just a 'synchronized' keyword, no StampedLock/ReentrantLock
* Capacity for the cache is configured globally and managed locally in each 
segment
* Eviction (or replacement or cleanup) is triggered when free capacity goes 
below a trigger value and cleans up to a target free capacity
* Uses murmur hash on serialized key. Most significant bits are used to find 
the segment, least significant bits for the segment's hash map. 

Non-production relevant stuff:
* Allows to start off-heap access in debug mode, that checks for accesses 
outside of allocated region and produces exceptions instead of SIGSEGV or 
jemalloc errors
* ohc-benchmark updated to reflect changes

About replacement policy: Currently LRU is built in - but I'm not really sold 
on LRU as is. Alternatives could be
* timestamp (not sold on this either - basically the same as LRU)
* LIRS (https://en.wikipedia.org/wiki/LIRS_caching_algorithm), big overhead 
(space)
* 2Q (counts accesses, divides counter regularly)
* LRU+random (50/50) (may give the same result than LIRS, but without LIRS' 
overhead)

But replacement of LRU with something else is out of scope of this ticket and 
should be done with real workloads in C* - although the last one is just a 
additional config parameter.

IMO we should add a per-table option that configures whether the row cache 
receives data on reads+writes or just on reads. Might prevent garbage in the 
cache caused by write heavy tables.

{{Unsafe.allocateMemory()}} gives about 5-10% performance improvement compared 
to jemalloc. Reason fot it might be that JNA 

[jira] [Commented] (CASSANDRA-8387) Schema inconsistency (cached vs schema_columnfamilies)

2014-12-01 Thread Marcus Olsson (JIRA)

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

Marcus Olsson commented on CASSANDRA-8387:
--

{quote}
it seems the method was introduced with cassandra-driver-core 2.1.3:

— cut here —
Builder newClusterBuilder = Cluster.builder();

newClusterBuilder.withMaxSchemaAgreementWaitSeconds( 30);
— cut here —
{quote}
It seems that method is for setting the time the client is waiting for schema 
agreement after the CREATE request is executed which I belive won't help when 
there are multiple clients trying to create the same table?

 Schema inconsistency (cached vs schema_columnfamilies)
 --

 Key: CASSANDRA-8387
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8387
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: C* 2.1.1 3-node cluster
Reporter: Marcus Olsson

 While running some tests on a 3-node cluster running C* 2.1.1 we encountered 
 a problem creating the same table schema twice(on different nodes). One thing 
 to note is that one of the nodes clock was ~4 seconds behind the others, but 
 I don't think that's the problem since the exception was reproduced here 
 aswell: http://www.mail-archive.com/user@cassandra.apache.org/msg39560.html.
 While running the same create table statement more than once(on different 
 clients) the logs outputted this on one of the nodes:
 {noformat}
 (node x.x.x.1):
 2014-11-25T16:11:44.651+0100  INFO [SharedPool-Worker-2] 
 MigrationManager.java:248 Create new ColumnFamily: 
 org.apache.cassandra.config.CFMetaData@45c290de[cfId=5e334b40-74b5-11e4-b1b6-017ad0689f5d,ksName=test,cfName=test,cfType=Standard,comparator=org.apache.cassandra.db.marshal.UTF8Type,comment=,readRepairChance=0.0,dcLocalReadRepairChance=0.1,gcGraceSeconds=864000,defaultValidator=org.apache.cassandra.db.marshal.BytesType,keyValidator=org.apache.cassandra.db.marshal.UTF8Type,minCompactionThreshold=4,maxCompactionThreshold=32,columnMetadata=[ColumnDefinition{name=id,
  type=org.apache.cassandra.db.marshal.UTF8Type, kind=CLUSTERING_COLUMN, 
 componentIndex=null, indexName=null, indexType=null}, 
 ColumnDefinition{name=key, type=org.apache.cassandra.db.marshal.UTF8Type, 
 kind=PARTITION_KEY, componentIndex=null, indexName=null, indexType=null}, 
 ColumnDefinition{name=value, type=org.apache.cassandra.db.marshal.BytesType, 
 kind=COMPACT_VALUE, componentIndex=null, indexName=null, 
 indexType=null}],compactionStrategyClass=class 
 org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy,compactionStrategyOptions={},compressionParameters={sstable_compression=org.apache.cassandra.io.compress.LZ4Compressor},bloomFilterFpChance=0.01,memtableFlushPeriod=0,caching={keys:ALL,
  
 rows_per_partition:NONE},defaultTimeToLive=0,minIndexInterval=128,maxIndexInterval=2048,speculativeRetry=99.0PERCENTILE,droppedColumns={},triggers=[],isDense=true]
 ...
 2014-11-25T16:11:44.667+0100  INFO [MigrationStage:1] DefsTables.java:373 
 Loading 
 org.apache.cassandra.config.CFMetaData@40a1ee90[cfId=5bc7c980-74b5-11e4-9131-d9b94a3d8927,ksName=test,cfName=test,cfType=Standard,comparator=org.apache.cassandra.db.marshal.UTF8Type,comment=,readRepairChance=0.0,dcLocalReadRepairChance=0.1,gcGraceSeconds=864000,defaultValidator=org.apache.cassandra.db.marshal.BytesType,keyValidator=org.apache.cassandra.db.marshal.UTF8Type,minCompactionThreshold=4,maxCompactionThreshold=32,columnMetadata=[ColumnDefinition{name=id,
  type=org.apache.cassandra.db.marshal.UTF8Type, kind=CLUSTERING_COLUMN, 
 componentIndex=null, indexName=null, indexType=null}, 
 ColumnDefinition{name=key, type=org.apache.cassandra.db.marshal.UTF8Type, 
 kind=PARTITION_KEY, componentIndex=null, indexName=null, indexType=null}, 
 ColumnDefinition{name=value, type=org.apache.cassandra.db.marshal.BytesType, 
 kind=COMPACT_VALUE, componentIndex=null, indexName=null, 
 indexType=null}],compactionStrategyClass=class 
 org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy,compactionStrategyOptions={},compressionParameters={sstable_compression=org.apache.cassandra.io.compress.LZ4Compressor},bloomFilterFpChance=0.01,memtableFlushPeriod=0,caching={keys:ALL,
  
 rows_per_partition:NONE},defaultTimeToLive=0,minIndexInterval=128,maxIndexInterval=2048,speculativeRetry=99.0PERCENTILE,droppedColumns={},triggers=[],isDense=true]
 ...
 java.lang.RuntimeException: 
 org.apache.cassandra.exceptions.ConfigurationException: Column family ID 
 mismatch (found 5e334b40-74b5-11e4-b1b6-017ad0689f5d; expected 
 5bc7c980-74b5-11e4-9131-d9b94a3d8927)
 at 
 org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1171) 
 ~[apache-cassandra-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.db.DefsTables.updateColumnFamily(DefsTables.java:422) 
 

[jira] [Commented] (CASSANDRA-7688) Add data sizing to a system table

2014-12-01 Thread JIRA

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

Piotr Kołaczkowski commented on CASSANDRA-7688:
---

It would be nice to know also the average partition size in the given table, 
both in bytes and in number of CQL rows. This would be useful to set 
appropriate fetch.size. Additionally, current split generation API does not 
allow to set split size in terms of data size in bytes or number of CQL rows, 
but only by number of partitions. Number of partitions doesn't make a nice 
default, as partitions can vary greatly in size and are extremely use-case 
dependent. So please, don't just copy current describe_splits_ex functionality 
to the new driver, but *improve this*. 

We really don't need the driver / Cassandra to do the splitting for us. Instead 
we need to know:

1. estimate of total amount of data in the table in bytes
2. estimate of total number of CQL rows in the table
3. estimate of total number of partitions in the table

We're interested both in totals (whole cluster; logical sizes; i.e. without 
replicas), and split by token-ranges by node (physical; incuding replicas).

 Add data sizing to a system table
 -

 Key: CASSANDRA-7688
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7688
 Project: Cassandra
  Issue Type: New Feature
Reporter: Jeremiah Jordan
 Fix For: 2.1.3


 Currently you can't implement something similar to describe_splits_ex purely 
 from the a native protocol driver.  
 https://datastax-oss.atlassian.net/browse/JAVA-312 is open to expose easily 
 getting ownership information to a client in the java-driver.  But you still 
 need the data sizing part to get splits of a given size.  We should add the 
 sizing information to a system table so that native clients can get to it.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (CASSANDRA-7688) Add data sizing to a system table

2014-12-01 Thread JIRA

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

Piotr Kołaczkowski edited comment on CASSANDRA-7688 at 12/1/14 12:01 PM:
-

It would be nice to know also the average partition size in the given table, 
both in bytes and in number of CQL rows. This would be useful to set 
appropriate fetch.size. Additionally, current split generation API does not 
allow to set split size in terms of data size in bytes or number of CQL rows, 
but only by number of partitions. Number of partitions doesn't make a nice 
default, as partitions can vary greatly in size and are extremely use-case 
dependent. So please, don't just copy current describe_splits_ex functionality 
to the new driver, but *improve this*. 

We really don't need the driver / Cassandra to do the splitting for us. Instead 
we need to know:

1. estimate of total amount of data in the table in bytes
2. estimate of total number of CQL rows in the table
3. estimate of total number of partitions in the table

We're interested both in totals (whole cluster; logical sizes; i.e. without 
replicas), and split by token-ranges by node (physical; incuding replicas).

Note that this information is useful not just for Spark/Hadoop split 
generation, but also things like e.g. SparkSQL optimizer so it knows how much 
data will it have to process.

The next  step would be providing column data histograms to guide predicate 
selectivity. 


was (Author: pkolaczk):
It would be nice to know also the average partition size in the given table, 
both in bytes and in number of CQL rows. This would be useful to set 
appropriate fetch.size. Additionally, current split generation API does not 
allow to set split size in terms of data size in bytes or number of CQL rows, 
but only by number of partitions. Number of partitions doesn't make a nice 
default, as partitions can vary greatly in size and are extremely use-case 
dependent. So please, don't just copy current describe_splits_ex functionality 
to the new driver, but *improve this*. 

We really don't need the driver / Cassandra to do the splitting for us. Instead 
we need to know:

1. estimate of total amount of data in the table in bytes
2. estimate of total number of CQL rows in the table
3. estimate of total number of partitions in the table

We're interested both in totals (whole cluster; logical sizes; i.e. without 
replicas), and split by token-ranges by node (physical; incuding replicas).

 Add data sizing to a system table
 -

 Key: CASSANDRA-7688
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7688
 Project: Cassandra
  Issue Type: New Feature
Reporter: Jeremiah Jordan
 Fix For: 2.1.3


 Currently you can't implement something similar to describe_splits_ex purely 
 from the a native protocol driver.  
 https://datastax-oss.atlassian.net/browse/JAVA-312 is open to expose easily 
 getting ownership information to a client in the java-driver.  But you still 
 need the data sizing part to get splits of a given size.  We should add the 
 sizing information to a system table so that native clients can get to it.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (CASSANDRA-7688) Add data sizing to a system table

2014-12-01 Thread JIRA

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

Piotr Kołaczkowski edited comment on CASSANDRA-7688 at 12/1/14 12:03 PM:
-

It would be nice to know also the average partition size in the given table, 
both in bytes and in number of CQL rows. This would be useful to set 
appropriate fetch.size. Additionally, current split generation API does not 
allow to set split size in terms of data size in bytes or number of CQL rows, 
but only by number of partitions. Number of partitions doesn't make a nice 
default, as partitions can vary greatly in size and are extremely use-case 
dependent. So please, don't just copy current describe_splits_ex functionality 
to the new driver, but *improve this*. 

We really don't need the driver / Cassandra to do the splitting for us. Instead 
we need to know:

1. estimate of total amount of data in the table in bytes
2. estimate of total number of CQL rows in the table
3. estimate of total number of partitions in the table

We're interested both in totals (whole cluster; logical sizes; i.e. without 
replicas), and split by token-ranges by node (physical; incuding replicas).

Note that this information is useful not just for Spark/Hadoop split 
generation, but also things like e.g. SparkSQL optimizer so it knows how much 
data will it have to process or to set appropriate fetch sizes when getting 
data, etc.

The next  step would be providing column data histograms to guide predicate 
selectivity. 


was (Author: pkolaczk):
It would be nice to know also the average partition size in the given table, 
both in bytes and in number of CQL rows. This would be useful to set 
appropriate fetch.size. Additionally, current split generation API does not 
allow to set split size in terms of data size in bytes or number of CQL rows, 
but only by number of partitions. Number of partitions doesn't make a nice 
default, as partitions can vary greatly in size and are extremely use-case 
dependent. So please, don't just copy current describe_splits_ex functionality 
to the new driver, but *improve this*. 

We really don't need the driver / Cassandra to do the splitting for us. Instead 
we need to know:

1. estimate of total amount of data in the table in bytes
2. estimate of total number of CQL rows in the table
3. estimate of total number of partitions in the table

We're interested both in totals (whole cluster; logical sizes; i.e. without 
replicas), and split by token-ranges by node (physical; incuding replicas).

Note that this information is useful not just for Spark/Hadoop split 
generation, but also things like e.g. SparkSQL optimizer so it knows how much 
data will it have to process.

The next  step would be providing column data histograms to guide predicate 
selectivity. 

 Add data sizing to a system table
 -

 Key: CASSANDRA-7688
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7688
 Project: Cassandra
  Issue Type: New Feature
Reporter: Jeremiah Jordan
 Fix For: 2.1.3


 Currently you can't implement something similar to describe_splits_ex purely 
 from the a native protocol driver.  
 https://datastax-oss.atlassian.net/browse/JAVA-312 is open to expose easily 
 getting ownership information to a client in the java-driver.  But you still 
 need the data sizing part to get splits of a given size.  We should add the 
 sizing information to a system table so that native clients can get to it.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8341) Expose time spent in each thread pool

2014-12-01 Thread Robert Stupp (JIRA)

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

Robert Stupp commented on CASSANDRA-8341:
-

Note: {{TheadMXBean.getCurrentThread...()}} definitely performs better than 
{{System.nanoTime()}} - at least on OSX with a single 8-core CPU.

 Expose time spent in each thread pool
 -

 Key: CASSANDRA-8341
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8341
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Chris Lohfink
Priority: Minor
  Labels: metrics
 Attachments: 8341.patch, 8341v2.txt


 Can increment a counter with time spent in each queue.  This can provide 
 context on how much time is spent percentage wise in each stage.  
 Additionally can be used with littles law in future if ever want to try to 
 tune the size of the pools.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-8397) Support UPDATE with IN requirement for clustering key

2014-12-01 Thread Jens Rantil (JIRA)

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

Jens Rantil updated CASSANDRA-8397:
---
Summary: Support UPDATE with IN requirement for clustering key  (was: 
Support UPDATE with IN for clustering key)

 Support UPDATE with IN requirement for clustering key
 -

 Key: CASSANDRA-8397
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8397
 Project: Cassandra
  Issue Type: Wish
Reporter: Jens Rantil
Priority: Minor

 {noformat}
 CREATE TABLE tink.events (
 userid uuid,
 id timeuuid,
 content text,
 type text,
 PRIMARY KEY (userid, id)
 )
 # Add data
 cqlsh:tink UPDATE events SET content='Hello' WHERE 
 userid=57b47f85-56c4-4968-83cf-4c4e533944e9 AND id IN 
 (046e9da0-7945-11e4-a76f-770773bbbf7e, 046e0160-7945-11e4-a76f-770773bbbf7e);
 code=2200 [Invalid query] message=Invalid operator IN for PRIMARY KEY part 
 id
 {noformat}
 I was surprised this doesn't work.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (CASSANDRA-8397) Support UPDATE with IN for clustering key

2014-12-01 Thread Jens Rantil (JIRA)
Jens Rantil created CASSANDRA-8397:
--

 Summary: Support UPDATE with IN for clustering key
 Key: CASSANDRA-8397
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8397
 Project: Cassandra
  Issue Type: Wish
Reporter: Jens Rantil
Priority: Minor


{noformat}
CREATE TABLE tink.events (
userid uuid,
id timeuuid,
content text,
type text,
PRIMARY KEY (userid, id)
)

# Add data

cqlsh:tink UPDATE events SET content='Hello' WHERE 
userid=57b47f85-56c4-4968-83cf-4c4e533944e9 AND id IN 
(046e9da0-7945-11e4-a76f-770773bbbf7e, 046e0160-7945-11e4-a76f-770773bbbf7e);
code=2200 [Invalid query] message=Invalid operator IN for PRIMARY KEY part id
{noformat}

I was surprised this doesn't work.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-8397) Support UPDATE with IN requirement for clustering key

2014-12-01 Thread Jens Rantil (JIRA)

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

Jens Rantil updated CASSANDRA-8397:
---
Description: 
{noformat}
CREATE TABLE events (
userid uuid,
id timeuuid,
content text,
type text,
PRIMARY KEY (userid, id)
)

# Add data

cqlsh:mykeyspace UPDATE events SET content='Hello' WHERE 
userid=57b47f85-56c4-4968-83cf-4c4e533944e9 AND id IN 
(046e9da0-7945-11e4-a76f-770773bbbf7e, 046e0160-7945-11e4-a76f-770773bbbf7e);
code=2200 [Invalid query] message=Invalid operator IN for PRIMARY KEY part id
{noformat}

I was surprised this doesn't work.

  was:
{noformat}
CREATE TABLE tink.events (
userid uuid,
id timeuuid,
content text,
type text,
PRIMARY KEY (userid, id)
)

# Add data

cqlsh:tink UPDATE events SET content='Hello' WHERE 
userid=57b47f85-56c4-4968-83cf-4c4e533944e9 AND id IN 
(046e9da0-7945-11e4-a76f-770773bbbf7e, 046e0160-7945-11e4-a76f-770773bbbf7e);
code=2200 [Invalid query] message=Invalid operator IN for PRIMARY KEY part id
{noformat}

I was surprised this doesn't work.


 Support UPDATE with IN requirement for clustering key
 -

 Key: CASSANDRA-8397
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8397
 Project: Cassandra
  Issue Type: Wish
Reporter: Jens Rantil
Priority: Minor

 {noformat}
 CREATE TABLE events (
 userid uuid,
 id timeuuid,
 content text,
 type text,
 PRIMARY KEY (userid, id)
 )
 # Add data
 cqlsh:mykeyspace UPDATE events SET content='Hello' WHERE 
 userid=57b47f85-56c4-4968-83cf-4c4e533944e9 AND id IN 
 (046e9da0-7945-11e4-a76f-770773bbbf7e, 046e0160-7945-11e4-a76f-770773bbbf7e);
 code=2200 [Invalid query] message=Invalid operator IN for PRIMARY KEY part 
 id
 {noformat}
 I was surprised this doesn't work.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8341) Expose time spent in each thread pool

2014-12-01 Thread Benedict (JIRA)

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

Benedict commented on CASSANDRA-8341:
-

SEPWorker already grabs the nanoTime on exiting and entering its spin phase, so 
tracking this would be pretty much free (we'd need to check it once if we 
swapped the executor we're working on without entering a spinning state). 
Flushing pent up data is pretty trivial; you can set a max time to buffer, so 
it ensures it's never more than a few seconds (or millis) out of date, say. 
Enough to keep the cost too small to measure.

I'm a little dubious about tracking two completely different properties as the 
same thing though. CPUTime cannot be composed with nanoTime sensibly, so we 
either want to track one or the other across all executors. Since the other 
executors are all the ones that do infrequent expensive work (which is 
explicitly why they haven't been transitioned to SEP), tracking nanoTime on 
them won't be an appreciable cost.

 Expose time spent in each thread pool
 -

 Key: CASSANDRA-8341
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8341
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Chris Lohfink
Priority: Minor
  Labels: metrics
 Attachments: 8341.patch, 8341v2.txt


 Can increment a counter with time spent in each queue.  This can provide 
 context on how much time is spent percentage wise in each stage.  
 Additionally can be used with littles law in future if ever want to try to 
 tune the size of the pools.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8341) Expose time spent in each thread pool

2014-12-01 Thread T Jake Luciani (JIRA)

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

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

I added some code to do this in a branch and have been meaning to break it out. 
 It adds LatencyMetrics to AbstractTracingAwareExecutorService and tracks time 
spent in queue for each FutureTask.

The code is here 
https://github.com/tjake/cassandra/compare/new-executor#diff-9860b2ae7a7e9e05e2165fd319f1398eL26

The SEPExecutor would need something similar added.

 Expose time spent in each thread pool
 -

 Key: CASSANDRA-8341
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8341
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Chris Lohfink
Priority: Minor
  Labels: metrics
 Attachments: 8341.patch, 8341v2.txt


 Can increment a counter with time spent in each queue.  This can provide 
 context on how much time is spent percentage wise in each stage.  
 Additionally can be used with littles law in future if ever want to try to 
 tune the size of the pools.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8341) Expose time spent in each thread pool

2014-12-01 Thread Benedict (JIRA)

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

Benedict commented on CASSANDRA-8341:
-

Ah, that's a good question: are we talking about queue latency or time spent 
processing each queue? The two are very different, and it sounded like we were 
discussing the latter, but the ticket description does sound more like the 
former.

 Expose time spent in each thread pool
 -

 Key: CASSANDRA-8341
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8341
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Chris Lohfink
Priority: Minor
  Labels: metrics
 Attachments: 8341.patch, 8341v2.txt


 Can increment a counter with time spent in each queue.  This can provide 
 context on how much time is spent percentage wise in each stage.  
 Additionally can be used with littles law in future if ever want to try to 
 tune the size of the pools.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-7827) Work around for output name restriction when using MultipleOutputs with CqlBulkOutputFormat

2014-12-01 Thread JIRA

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

Piotr Kołaczkowski commented on CASSANDRA-7827:
---

+1

 Work around for output name restriction when using MultipleOutputs with 
 CqlBulkOutputFormat
 ---

 Key: CASSANDRA-7827
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7827
 Project: Cassandra
  Issue Type: Improvement
  Components: Hadoop
Reporter: Paul Pak
Assignee: Paul Pak
Priority: Minor
  Labels: cql3, hadoop
 Attachments: trunk-7827-v1.txt


 When using MultipleOutputs with CqlBulkOutputFormat, the column family names 
 to output to are restricted to only alphanumeric characters due to the logic 
 found in MultipleOutputs.checkNamedOutputName(). This will provide a way to 
 alias any column family name to a MultipleOutputs compatible output name, so 
 that column family names won't be artificially restricted when using 
 MultipleOutputs.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-2388) ColumnFamilyRecordReader fails for a given split because a host is down, even if records could reasonably be read from other replica.

2014-12-01 Thread JIRA

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

Piotr Kołaczkowski commented on CASSANDRA-2388:
---

+1

 ColumnFamilyRecordReader fails for a given split because a host is down, even 
 if records could reasonably be read from other replica.
 -

 Key: CASSANDRA-2388
 URL: https://issues.apache.org/jira/browse/CASSANDRA-2388
 Project: Cassandra
  Issue Type: Bug
  Components: Hadoop
Affects Versions: 0.6
Reporter: Eldon Stegall
Assignee: Paulo Motta
Priority: Minor
  Labels: hadoop, inputformat
 Fix For: 2.0.12

 Attachments: 0002_On_TException_try_next_split.patch, 
 1.2-CASSANDRA-2388.patch, 2.0-CASSANDRA-2388-v2.patch, 
 2.0-CASSANDRA-2388.patch, CASSANDRA-2388-addition1.patch, 
 CASSANDRA-2388-extended.patch, CASSANDRA-2388.patch, CASSANDRA-2388.patch, 
 CASSANDRA-2388.patch, CASSANDRA-2388.patch


 ColumnFamilyRecordReader only tries the first location for a given split. We 
 should try multiple locations for a given split.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-7688) Add data sizing to a system table

2014-12-01 Thread Benedict (JIRA)

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

Benedict commented on CASSANDRA-7688:
-

This is a fundamentally difficult problem, and to be answered accurately 
basically requires a full compaction. We can track or estimate this data for 
any given sstable easily, and we can estimate the number of overlapping 
partitions between two sstables (though the accuracy I'm unsure of if we 
composed this data across many sstables), but we cannot say how many rows 
within each overlapping partition overlap. The best we could do is probably 
sample some overlapping partitions to see what proportion of row overlap tends 
to prevail, and hope it is representative; if we assume a normal distribution 
of overlap ratio we could return error bounds.

I don't think it's likely this data could be maintained live, at least not 
accurately, or not without significant cost. It would be an on-demand 
calculation that would be moderately expensive. 

 Add data sizing to a system table
 -

 Key: CASSANDRA-7688
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7688
 Project: Cassandra
  Issue Type: New Feature
Reporter: Jeremiah Jordan
 Fix For: 2.1.3


 Currently you can't implement something similar to describe_splits_ex purely 
 from the a native protocol driver.  
 https://datastax-oss.atlassian.net/browse/JAVA-312 is open to expose easily 
 getting ownership information to a client in the java-driver.  But you still 
 need the data sizing part to get splits of a given size.  We should add the 
 sizing information to a system table so that native clients can get to it.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-7688) Add data sizing to a system table

2014-12-01 Thread JIRA

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

Piotr Kołaczkowski commented on CASSANDRA-7688:
---

We only need estimates, not exact values. Factor 1.5x error is considered an 
awesome estimate, factor 3x is still fairly good. 
Also note that Spark/Hadoop does many token range scans. Maybe collecting some 
statistics on the fly, during the scans (or during the compaction) would be 
viable?  And running a full compaction to get statistics more accurate - why 
not? You need to do it anyway to get top speed when scanning data in Spark, 
because a full table scan is doing kind-of implicit compaction anyway, isn't 
it? 

Also, one more thing - it would be good to have those values per column (sorry 
for making it even harder, I know it is not an easy task). At least to know 
that a column is responsible for xx% of data in the table - knowing such thing 
would make a huge difference when estimating data size, because we're not 
always fetching all columns and they may vary in size a lot (e.g. 
collections!). Some sampling on insert would probably be enough.


 Add data sizing to a system table
 -

 Key: CASSANDRA-7688
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7688
 Project: Cassandra
  Issue Type: New Feature
Reporter: Jeremiah Jordan
 Fix For: 2.1.3


 Currently you can't implement something similar to describe_splits_ex purely 
 from the a native protocol driver.  
 https://datastax-oss.atlassian.net/browse/JAVA-312 is open to expose easily 
 getting ownership information to a client in the java-driver.  But you still 
 need the data sizing part to get splits of a given size.  We should add the 
 sizing information to a system table so that native clients can get to it.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-7688) Add data sizing to a system table

2014-12-01 Thread Benedict (JIRA)

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

Benedict commented on CASSANDRA-7688:
-

I'm talking about estimates. We cannot likely even estimate without pretty 
significant cost. Sampling column counts is pretty easy, but knowing how many 
cql rows there are for any merged row is not. There are tricks to make it 
easier, but there are datasets for which the tricks will not work, and any 
estimate would be complete guesswork without sampling the data.

 Add data sizing to a system table
 -

 Key: CASSANDRA-7688
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7688
 Project: Cassandra
  Issue Type: New Feature
Reporter: Jeremiah Jordan
 Fix For: 2.1.3


 Currently you can't implement something similar to describe_splits_ex purely 
 from the a native protocol driver.  
 https://datastax-oss.atlassian.net/browse/JAVA-312 is open to expose easily 
 getting ownership information to a client in the java-driver.  But you still 
 need the data sizing part to get splits of a given size.  We should add the 
 sizing information to a system table so that native clients can get to it.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8341) Expose time spent in each thread pool

2014-12-01 Thread Chris Lohfink (JIRA)

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

Chris Lohfink commented on CASSANDRA-8341:
--

I want to see time spent processing per pool (user time may be more appropriate 
than walltime(nanotime) or cpu's system time).  This way we can track where cpu 
burn is occurring, and display a % of cpu in tpstats/opscenter by pool.  So 
while latencyutils or a histogram would certainly be interesting its more than 
necessary for this task.  A simple counter or meter would be sufficient.

 Expose time spent in each thread pool
 -

 Key: CASSANDRA-8341
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8341
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Chris Lohfink
Priority: Minor
  Labels: metrics
 Attachments: 8341.patch, 8341v2.txt


 Can increment a counter with time spent in each queue.  This can provide 
 context on how much time is spent percentage wise in each stage.  
 Additionally can be used with littles law in future if ever want to try to 
 tune the size of the pools.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8341) Expose time spent in each thread pool

2014-12-01 Thread T Jake Luciani (JIRA)

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

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

Ah, I was confused by the summary then.  I'll open a separate ticket for 
showing time waiting in queue.

 Expose time spent in each thread pool
 -

 Key: CASSANDRA-8341
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8341
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Chris Lohfink
Priority: Minor
  Labels: metrics
 Attachments: 8341.patch, 8341v2.txt


 Can increment a counter with time spent in each queue.  This can provide 
 context on how much time is spent percentage wise in each stage.  
 Additionally can be used with littles law in future if ever want to try to 
 tune the size of the pools.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-8396) repairs creates sstable per each num tokens range

2014-12-01 Thread Philip Thompson (JIRA)

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

Philip Thompson updated CASSANDRA-8396:
---
Reproduced In: 2.1.2, 2.1.1
Fix Version/s: 2.1.3

 repairs creates sstable per each num tokens range
 -

 Key: CASSANDRA-8396
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8396
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Alexander Piavlo
Priority: Critical
 Fix For: 2.1.3


 I have num tokens set to 256
 then i run 
 `nodetool repair -pr someKeyspace someCF` 
 it creates 256 new small sstables - per each range afaiu
 on all replica nodes, this is major overkill for read performance.
 This happens with 2.1.2 and 2.1.1
 I have never anything like that with cassandra 1.0.x



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (CASSANDRA-8398) Expose time spent waiting in thread pool queue

2014-12-01 Thread T Jake Luciani (JIRA)
T Jake Luciani created CASSANDRA-8398:
-

 Summary: Expose time spent waiting in thread pool queue 
 Key: CASSANDRA-8398
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8398
 Project: Cassandra
  Issue Type: Improvement
Reporter: T Jake Luciani
Priority: Minor
 Fix For: 2.1.3


We are missing an important source of latency in our system, the time waiting 
to be processed by thread pools.  We should add a metric for this so someone 
can easily see how much time is spent just waiting to be processed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (CASSANDRA-8341) Expose time spent in each thread pool

2014-12-01 Thread T Jake Luciani (JIRA)

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

T Jake Luciani edited comment on CASSANDRA-8341 at 12/1/14 2:52 PM:


Ah, I was confused by the summary then.  I'll open a separate ticket for 
showing time waiting in queue. CASSANDRA-8398


was (Author: tjake):
Ah, I was confused by the summary then.  I'll open a separate ticket for 
showing time waiting in queue.

 Expose time spent in each thread pool
 -

 Key: CASSANDRA-8341
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8341
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Chris Lohfink
Priority: Minor
  Labels: metrics
 Attachments: 8341.patch, 8341v2.txt


 Can increment a counter with time spent in each queue.  This can provide 
 context on how much time is spent percentage wise in each stage.  
 Additionally can be used with littles law in future if ever want to try to 
 tune the size of the pools.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-8393) support quoted identifiers for index names

2014-12-01 Thread Philip Thompson (JIRA)

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

Philip Thompson updated CASSANDRA-8393:
---
Reproduced In: 2.1.2
Fix Version/s: 2.1.3

 support quoted identifiers for index names
 --

 Key: CASSANDRA-8393
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8393
 Project: Cassandra
  Issue Type: Bug
 Environment: v2.1.2
Reporter: Jonathan Halliday
 Fix For: 2.1.3


 CREATE TABLE quoted_ident ...
 is valid in cql, whilst
 CREATE INDEX quoted_ident ...
 is not.
 This is inconsistent and troublesome for frameworks or tooling that needs to 
 sling around case sensitive identifiers.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8390) The process cannot access the file because it is being used by another process

2014-12-01 Thread Philip Thompson (JIRA)

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

Philip Thompson commented on CASSANDRA-8390:


Are you having this problem running Apache Cassandra on Windows?

 The process cannot access the file because it is being used by another process
 --

 Key: CASSANDRA-8390
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8390
 Project: Cassandra
  Issue Type: Bug
Reporter: Ilya Komolkin

 21:46:27.810 [NonPeriodicTasks:1] ERROR o.a.c.service.CassandraDaemon - 
 Exception in thread Thread[NonPeriodicTasks:1,5,main]
 org.apache.cassandra.io.FSWriteError: java.nio.file.FileSystemException: 
 E:\Upsource_12391\data\cassandra\data\kernel\filechangehistory_t-a277b560764611e48c8e4915424c75fe\kernel-filechangehistory_t-ka-33-Index.db:
  The process cannot access the file because it is being used by another 
 process.
  
 at 
 org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:135) 
 ~[cassandra-all-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:121) 
 ~[cassandra-all-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.io.sstable.SSTable.delete(SSTable.java:113) 
 ~[cassandra-all-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.io.sstable.SSTableDeletingTask.run(SSTableDeletingTask.java:94)
  ~[cassandra-all-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.io.sstable.SSTableReader$6.run(SSTableReader.java:664) 
 ~[cassandra-all-2.1.1.jar:2.1.1]
 at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
 ~[na:1.7.0_71]
 at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
 ~[na:1.7.0_71]
 at 
 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
  ~[na:1.7.0_71]
 at 
 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
  ~[na:1.7.0_71]
 at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  ~[na:1.7.0_71]
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  [na:1.7.0_71]
 at java.lang.Thread.run(Thread.java:745) [na:1.7.0_71]
 Caused by: java.nio.file.FileSystemException: 
 E:\Upsource_12391\data\cassandra\data\kernel\filechangehistory_t-a277b560764611e48c8e4915424c75fe\kernel-filechangehistory_t-ka-33-Index.db:
  The process cannot access the file because it is being used by another 
 process.
  
 at 
 sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:86) 
 ~[na:1.7.0_71]
 at 
 sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97) 
 ~[na:1.7.0_71]
 at 
 sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102) 
 ~[na:1.7.0_71]
 at 
 sun.nio.fs.WindowsFileSystemProvider.implDelete(WindowsFileSystemProvider.java:269)
  ~[na:1.7.0_71]
 at 
 sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103)
  ~[na:1.7.0_71]
 at java.nio.file.Files.delete(Files.java:1079) ~[na:1.7.0_71]
 at 
 org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:131) 
 ~[cassandra-all-2.1.1.jar:2.1.1]
 ... 11 common frames omitted



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8341) Expose time spent in each thread pool

2014-12-01 Thread Benedict (JIRA)

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

Benedict commented on CASSANDRA-8341:
-

That is difficult, since we have stages that perform work that does not consume 
CPU. The RPC stage (for thrift or cql) both spend the majority of their time 
_waiting_ for the relevant work stage to complete. The proposed approaches 
would count this as busy time. The read and write stages also can block on IO, 
the former more often than the latter, but in either case we would count 
erroneously.


 Expose time spent in each thread pool
 -

 Key: CASSANDRA-8341
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8341
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Chris Lohfink
Priority: Minor
  Labels: metrics
 Attachments: 8341.patch, 8341v2.txt


 Can increment a counter with time spent in each queue.  This can provide 
 context on how much time is spent percentage wise in each stage.  
 Additionally can be used with littles law in future if ever want to try to 
 tune the size of the pools.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8390) The process cannot access the file because it is being used by another process

2014-12-01 Thread Ilya Komolkin (JIRA)

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

Ilya Komolkin commented on CASSANDRA-8390:
--

Yes. Windows 8.1

 The process cannot access the file because it is being used by another process
 --

 Key: CASSANDRA-8390
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8390
 Project: Cassandra
  Issue Type: Bug
Reporter: Ilya Komolkin

 21:46:27.810 [NonPeriodicTasks:1] ERROR o.a.c.service.CassandraDaemon - 
 Exception in thread Thread[NonPeriodicTasks:1,5,main]
 org.apache.cassandra.io.FSWriteError: java.nio.file.FileSystemException: 
 E:\Upsource_12391\data\cassandra\data\kernel\filechangehistory_t-a277b560764611e48c8e4915424c75fe\kernel-filechangehistory_t-ka-33-Index.db:
  The process cannot access the file because it is being used by another 
 process.
  
 at 
 org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:135) 
 ~[cassandra-all-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:121) 
 ~[cassandra-all-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.io.sstable.SSTable.delete(SSTable.java:113) 
 ~[cassandra-all-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.io.sstable.SSTableDeletingTask.run(SSTableDeletingTask.java:94)
  ~[cassandra-all-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.io.sstable.SSTableReader$6.run(SSTableReader.java:664) 
 ~[cassandra-all-2.1.1.jar:2.1.1]
 at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
 ~[na:1.7.0_71]
 at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
 ~[na:1.7.0_71]
 at 
 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
  ~[na:1.7.0_71]
 at 
 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
  ~[na:1.7.0_71]
 at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  ~[na:1.7.0_71]
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  [na:1.7.0_71]
 at java.lang.Thread.run(Thread.java:745) [na:1.7.0_71]
 Caused by: java.nio.file.FileSystemException: 
 E:\Upsource_12391\data\cassandra\data\kernel\filechangehistory_t-a277b560764611e48c8e4915424c75fe\kernel-filechangehistory_t-ka-33-Index.db:
  The process cannot access the file because it is being used by another 
 process.
  
 at 
 sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:86) 
 ~[na:1.7.0_71]
 at 
 sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97) 
 ~[na:1.7.0_71]
 at 
 sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102) 
 ~[na:1.7.0_71]
 at 
 sun.nio.fs.WindowsFileSystemProvider.implDelete(WindowsFileSystemProvider.java:269)
  ~[na:1.7.0_71]
 at 
 sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103)
  ~[na:1.7.0_71]
 at java.nio.file.Files.delete(Files.java:1079) ~[na:1.7.0_71]
 at 
 org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:131) 
 ~[cassandra-all-2.1.1.jar:2.1.1]
 ... 11 common frames omitted



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-8390) The process cannot access the file because it is being used by another process

2014-12-01 Thread Philip Thompson (JIRA)

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

Philip Thompson updated CASSANDRA-8390:
---
Reproduced In: 2.1.1

 The process cannot access the file because it is being used by another process
 --

 Key: CASSANDRA-8390
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8390
 Project: Cassandra
  Issue Type: Bug
Reporter: Ilya Komolkin
Assignee: Joshua McKenzie

 21:46:27.810 [NonPeriodicTasks:1] ERROR o.a.c.service.CassandraDaemon - 
 Exception in thread Thread[NonPeriodicTasks:1,5,main]
 org.apache.cassandra.io.FSWriteError: java.nio.file.FileSystemException: 
 E:\Upsource_12391\data\cassandra\data\kernel\filechangehistory_t-a277b560764611e48c8e4915424c75fe\kernel-filechangehistory_t-ka-33-Index.db:
  The process cannot access the file because it is being used by another 
 process.
  
 at 
 org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:135) 
 ~[cassandra-all-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:121) 
 ~[cassandra-all-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.io.sstable.SSTable.delete(SSTable.java:113) 
 ~[cassandra-all-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.io.sstable.SSTableDeletingTask.run(SSTableDeletingTask.java:94)
  ~[cassandra-all-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.io.sstable.SSTableReader$6.run(SSTableReader.java:664) 
 ~[cassandra-all-2.1.1.jar:2.1.1]
 at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
 ~[na:1.7.0_71]
 at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
 ~[na:1.7.0_71]
 at 
 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
  ~[na:1.7.0_71]
 at 
 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
  ~[na:1.7.0_71]
 at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  ~[na:1.7.0_71]
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  [na:1.7.0_71]
 at java.lang.Thread.run(Thread.java:745) [na:1.7.0_71]
 Caused by: java.nio.file.FileSystemException: 
 E:\Upsource_12391\data\cassandra\data\kernel\filechangehistory_t-a277b560764611e48c8e4915424c75fe\kernel-filechangehistory_t-ka-33-Index.db:
  The process cannot access the file because it is being used by another 
 process.
  
 at 
 sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:86) 
 ~[na:1.7.0_71]
 at 
 sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97) 
 ~[na:1.7.0_71]
 at 
 sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102) 
 ~[na:1.7.0_71]
 at 
 sun.nio.fs.WindowsFileSystemProvider.implDelete(WindowsFileSystemProvider.java:269)
  ~[na:1.7.0_71]
 at 
 sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103)
  ~[na:1.7.0_71]
 at java.nio.file.Files.delete(Files.java:1079) ~[na:1.7.0_71]
 at 
 org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:131) 
 ~[cassandra-all-2.1.1.jar:2.1.1]
 ... 11 common frames omitted



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-8390) The process cannot access the file because it is being used by another process

2014-12-01 Thread Philip Thompson (JIRA)

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

Philip Thompson updated CASSANDRA-8390:
---
Assignee: Joshua McKenzie

 The process cannot access the file because it is being used by another process
 --

 Key: CASSANDRA-8390
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8390
 Project: Cassandra
  Issue Type: Bug
Reporter: Ilya Komolkin
Assignee: Joshua McKenzie

 21:46:27.810 [NonPeriodicTasks:1] ERROR o.a.c.service.CassandraDaemon - 
 Exception in thread Thread[NonPeriodicTasks:1,5,main]
 org.apache.cassandra.io.FSWriteError: java.nio.file.FileSystemException: 
 E:\Upsource_12391\data\cassandra\data\kernel\filechangehistory_t-a277b560764611e48c8e4915424c75fe\kernel-filechangehistory_t-ka-33-Index.db:
  The process cannot access the file because it is being used by another 
 process.
  
 at 
 org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:135) 
 ~[cassandra-all-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:121) 
 ~[cassandra-all-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.io.sstable.SSTable.delete(SSTable.java:113) 
 ~[cassandra-all-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.io.sstable.SSTableDeletingTask.run(SSTableDeletingTask.java:94)
  ~[cassandra-all-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.io.sstable.SSTableReader$6.run(SSTableReader.java:664) 
 ~[cassandra-all-2.1.1.jar:2.1.1]
 at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
 ~[na:1.7.0_71]
 at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
 ~[na:1.7.0_71]
 at 
 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
  ~[na:1.7.0_71]
 at 
 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
  ~[na:1.7.0_71]
 at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  ~[na:1.7.0_71]
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  [na:1.7.0_71]
 at java.lang.Thread.run(Thread.java:745) [na:1.7.0_71]
 Caused by: java.nio.file.FileSystemException: 
 E:\Upsource_12391\data\cassandra\data\kernel\filechangehistory_t-a277b560764611e48c8e4915424c75fe\kernel-filechangehistory_t-ka-33-Index.db:
  The process cannot access the file because it is being used by another 
 process.
  
 at 
 sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:86) 
 ~[na:1.7.0_71]
 at 
 sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97) 
 ~[na:1.7.0_71]
 at 
 sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102) 
 ~[na:1.7.0_71]
 at 
 sun.nio.fs.WindowsFileSystemProvider.implDelete(WindowsFileSystemProvider.java:269)
  ~[na:1.7.0_71]
 at 
 sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103)
  ~[na:1.7.0_71]
 at java.nio.file.Files.delete(Files.java:1079) ~[na:1.7.0_71]
 at 
 org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:131) 
 ~[cassandra-all-2.1.1.jar:2.1.1]
 ... 11 common frames omitted



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8267) Only stream from unrepaired sstables during incremental repair

2014-12-01 Thread Marcus Eriksson (JIRA)

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

Marcus Eriksson commented on CASSANDRA-8267:


Did part of 8110 (just the version negotiation), pretty simple but, we have to 
bump messaging version which affects quite a few things, for example, we can't 
migrate schemas between different messaging versions (this could be special 
cased and fixed for this issue of course)

https://github.com/krummas/cassandra/commits/marcuse/8110 - simply splits out 
the header part of StreamInitMessage into its own message and replies with a 
'maxVersion' to that message when setting up the connection to agree on a 
version to use.

I think we should go with the new message solution above though, less risky for 
a minor release

 Only stream from unrepaired sstables during incremental repair
 --

 Key: CASSANDRA-8267
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8267
 Project: Cassandra
  Issue Type: Bug
Reporter: Marcus Eriksson
Assignee: Marcus Eriksson
 Fix For: 2.1.3


 Seems we stream from all sstables even if we do incremental repair, we should 
 limit this to only stream from the unrepaired sstables if we do incremental 
 repair



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (CASSANDRA-8267) Only stream from unrepaired sstables during incremental repair

2014-12-01 Thread Marcus Eriksson (JIRA)

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

Marcus Eriksson edited comment on CASSANDRA-8267 at 12/1/14 3:03 PM:
-

Did part of 8110 (just the version negotiation), pretty simple, but we have to 
bump messaging version which affects quite a few things, for example, we can't 
migrate schemas between different messaging versions (this could be special 
cased and fixed for this issue of course)

https://github.com/krummas/cassandra/commits/marcuse/8110 - simply splits out 
the header part of StreamInitMessage into its own message and replies with a 
'maxVersion' to that message when setting up the connection to agree on a 
version to use.

I think we should go with the new message solution above though, less risky for 
a minor release


was (Author: krummas):
Did part of 8110 (just the version negotiation), pretty simple but, we have to 
bump messaging version which affects quite a few things, for example, we can't 
migrate schemas between different messaging versions (this could be special 
cased and fixed for this issue of course)

https://github.com/krummas/cassandra/commits/marcuse/8110 - simply splits out 
the header part of StreamInitMessage into its own message and replies with a 
'maxVersion' to that message when setting up the connection to agree on a 
version to use.

I think we should go with the new message solution above though, less risky for 
a minor release

 Only stream from unrepaired sstables during incremental repair
 --

 Key: CASSANDRA-8267
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8267
 Project: Cassandra
  Issue Type: Bug
Reporter: Marcus Eriksson
Assignee: Marcus Eriksson
 Fix For: 2.1.3


 Seems we stream from all sstables even if we do incremental repair, we should 
 limit this to only stream from the unrepaired sstables if we do incremental 
 repair



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8267) Only stream from unrepaired sstables during incremental repair

2014-12-01 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-8267:
--

bq. but we have to bump messaging version which affects quite a few things, for 
example, we can't migrate schemas between different messaging versions (this 
could be special cased and fixed for this issue of course)

That's unfortunate :\ I agree, then, with a new message - so long as we do it 
properly for 3.0 in CASSANDRA-8110.

 Only stream from unrepaired sstables during incremental repair
 --

 Key: CASSANDRA-8267
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8267
 Project: Cassandra
  Issue Type: Bug
Reporter: Marcus Eriksson
Assignee: Marcus Eriksson
 Fix For: 2.1.3


 Seems we stream from all sstables even if we do incremental repair, we should 
 limit this to only stream from the unrepaired sstables if we do incremental 
 repair



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8371) DateTieredCompactionStrategy is always compacting

2014-12-01 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-8371:
--

Nothing stopping us from adding another options (w _seconds), preferring it, if 
set, and slowly deprecating _days.

 DateTieredCompactionStrategy is always compacting 
 --

 Key: CASSANDRA-8371
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8371
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: mck
Assignee: Björn Hegerfors
  Labels: compaction, performance
 Attachments: java_gc_counts_rate-month.png, 
 read-latency-recommenders-adview.png, read-latency.png, 
 sstables-recommenders-adviews.png, sstables.png, vg2_iad-month.png


 Running 2.0.11 and having switched a table to 
 [DTCS|https://issues.apache.org/jira/browse/CASSANDRA-6602] we've seen that 
 disk IO and gc count increase, along with the number of reads happening in 
 the compaction hump of cfhistograms.
 Data, and generally performance, looks good, but compactions are always 
 happening, and pending compactions are building up.
 The schema for this is 
 {code}CREATE TABLE search (
   loginid text,
   searchid timeuuid,
   description text,
   searchkey text,
   searchurl text,
   PRIMARY KEY ((loginid), searchid)
 );{code}
 We're sitting on about 82G (per replica) across 6 nodes in 4 DCs.
 CQL executed against this keyspace, and traffic patterns, can be seen in 
 slides 7+8 of https://prezi.com/b9-aj6p2esft/
 Attached are sstables-per-read and read-latency graphs from cfhistograms, and 
 screenshots of our munin graphs as we have gone from STCS, to LCS (week ~44), 
 to DTCS (week ~46).
 These screenshots are also found in the prezi on slides 9-11.
 [~pmcfadin], [~Bj0rn], 
 Can this be a consequence of occasional deleted rows, as is described under 
 (3) in the description of CASSANDRA-6602 ?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-4987) Support more queries when ALLOW FILTERING is used.

2014-12-01 Thread Rajanarayanan Thottuvaikkatumana (JIRA)

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

Rajanarayanan Thottuvaikkatumana commented on CASSANDRA-4987:
-

[~ slebresne] In the Video table example of CASSANDRA-4915, if we issue a 
command {{SELECT * FROM videos WHERE tags = 'Cassandra';}}, then it will give 
error {{code=2200 [Invalid query] message=No secondary indexes on the 
restricted columns support the provided operators: }}. Is the idea to have 
{{ALLOW FILTERING}} option in the SELECT statements to support these kinds of 
WHERE clauses and the like otherwise NOT supported by Cassandra now? Thanks

 Support more queries when ALLOW FILTERING is used.
 --

 Key: CASSANDRA-4987
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4987
 Project: Cassandra
  Issue Type: Improvement
Reporter: Sylvain Lebresne
  Labels: cql
 Fix For: 3.0


 Even after CASSANDRA-4915, there is still a bunch of queries that we don't 
 support even if {{ALLOW FILTERING}} is used. Typically, pretty much any 
 queries with restriction on a non-primary-key column unless we have one of 
 those restriction that is an EQ on an indexed column.
 If {{ALLOW FILTERING}} is used, we could allow those queries out of 
 convenience.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8312) Use live sstables in snapshot repair if possible

2014-12-01 Thread JIRA

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

Jimmy Mårdell commented on CASSANDRA-8312:
--

Ping on this.

I'm okay if you think this patch is unnecessary due to CASSANDRA-7024, but I'd 
still be very happy with some feedback on if this approach is correct. 
[~krummas]?

 Use live sstables in snapshot repair if possible
 

 Key: CASSANDRA-8312
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8312
 Project: Cassandra
  Issue Type: Improvement
Reporter: Jimmy Mårdell
Assignee: Jimmy Mårdell
Priority: Minor
 Attachments: cassandra-2.0-8312-1.txt


 Snapshot repair can be very much slower than parallel repairs because of the 
 overhead of opening the SSTables in the snapshot. This is particular true 
 when using LCS, as you typically have many smaller SSTables then.
 I compared parallel and sequential repair on a small range on one of our 
 clusters (2*3 replicas). With parallel repair, this took 22 seconds. With 
 sequential repair (default in 2.0), the same range took 330 seconds! This is 
 an overhead of 330-22*6 = 198 seconds, just opening SSTables (there were 
 1000+ sstables). Also, opening 1000 sstables for many smaller rangers surely 
 causes lots of memory churning.
 The idea would be to list the sstables in the snapshot, but use the 
 corresponding sstables in the live set if it's still available. For almost 
 all sstables, the original one should still exist.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-8122) Undeclare throwable exception while executing 'nodetool netstats localhost'

2014-12-01 Thread Carl Yeksigian (JIRA)

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

Carl Yeksigian updated CASSANDRA-8122:
--
Attachment: CASSANDRA-8122-2.1-v2.txt
CASSANDRA-8122-2.0-v2.txt

I added a call in NodeProbe to return whether or not the node is starting, so 
that we aren't relying on the text staying the same if we refactor the 
operation modes.

Otherwise, +1 on the fix.

 Undeclare throwable exception while executing 'nodetool netstats localhost'
 ---

 Key: CASSANDRA-8122
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8122
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
 Environment: Cassandra: 2.0.9
Reporter: Vishal Mehta
Assignee: Carl Yeksigian
Priority: Minor
 Attachments: CASSANDRA-8122-1.patch, CASSANDRA-8122-2.0-v2.txt, 
 CASSANDRA-8122-2.1-v2.txt, CASSANDRA-8122-2.1.patch, CASSANDRA-8122.patch


 *Steps*
 # Stop cassandra service
 # Check netstats of nodetool using 'nodetool netstats localhost'
 # Start cassandra service
 # Again check netstats of nodetool using 'nodetool netstats localhost'
 *Expected output*
 Mode: STARTING
 Not sending any streams. (End of output - no further exceptions)
 *Observed output*
 {noformat}
  nodetool netstats localhost
 Mode: STARTING
 Not sending any streams.
 Exception in thread main java.lang.reflect.UndeclaredThrowableException
   at com.sun.proxy.$Proxy6.getReadRepairAttempted(Unknown Source)
   at 
 org.apache.cassandra.tools.NodeProbe.getReadRepairAttempted(NodeProbe.java:897)
   at 
 org.apache.cassandra.tools.NodeCmd.printNetworkStats(NodeCmd.java:726)
   at org.apache.cassandra.tools.NodeCmd.main(NodeCmd.java:1281)
 Caused by: javax.management.InstanceNotFoundException: 
 org.apache.cassandra.db:type=StorageProxy
   at 
 com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(DefaultMBeanServerInterceptor.java:1095)
   at 
 com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:643)
   at 
 com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:678)
   at 
 javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1464)
   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.getAttribute(RMIConnectionImpl.java:657)
   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.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
   at sun.rmi.transport.Transport$1.run(Transport.java:177)
   at sun.rmi.transport.Transport$1.run(Transport.java:174)
   at java.security.AccessController.doPrivileged(Native Method)
   at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
   at 
 sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553)
   at 
 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808)
   at 
 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667)
   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:724)
   at 
 sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:273)
   at 
 sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:251)
   at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:160)
   at com.sun.jmx.remote.internal.PRef.invoke(Unknown Source)
   at 
 javax.management.remote.rmi.RMIConnectionImpl_Stub.getAttribute(Unknown 
 Source)
   at 
 javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.getAttribute(RMIConnector.java:902)
   at 
 javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:267)
   ... 4 more
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[1/6] cassandra git commit: Increase quarantine on replacement

2014-12-01 Thread brandonwilliams
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.0 7a14a77f2 - d8642ae39
  refs/heads/cassandra-2.1 6853d5c9d - 9a4712e4d
  refs/heads/trunk 6348957d1 - 94ba744b3


Increase quarantine on replacement

Patch by brandonwilliams, reviewed by jasobrown for CASSANDRA-8260


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

Branch: refs/heads/cassandra-2.0
Commit: d8642ae396033c059cb75b3c35a2ece067c17035
Parents: 7a14a77
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Dec 1 10:34:26 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Dec 1 10:34:26 2014 -0600

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/gms/Gossiper.java | 25 +++-
 .../cassandra/service/StorageService.java   |  4 
 3 files changed, 29 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8642ae3/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 8f4add9..57c0a26 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.12:
+ * Increase quarantine delay on replacement (CASSANDRA-8260)
  * Expose off-heap memory usage stats (CASSANDRA-7897)
  * Ignore Paxos commits for truncated tables (CASSANDRA-7538)
  * Validate size of indexed column values (CASSANDRA-8280)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8642ae3/src/java/org/apache/cassandra/gms/Gossiper.java
--
diff --git a/src/java/org/apache/cassandra/gms/Gossiper.java 
b/src/java/org/apache/cassandra/gms/Gossiper.java
index eb0cf39..a478405 100644
--- a/src/java/org/apache/cassandra/gms/Gossiper.java
+++ b/src/java/org/apache/cassandra/gms/Gossiper.java
@@ -380,7 +380,29 @@ public class Gossiper implements 
IFailureDetectionEventListener, GossiperMBean
  */
 private void quarantineEndpoint(InetAddress endpoint)
 {
-justRemovedEndpoints.put(endpoint, System.currentTimeMillis());
+quarantineEndpoint(endpoint, System.currentTimeMillis());
+}
+
+/**
+ * Quarantines the endpoint until quarantineExpiration + QUARANTINE_DELAY
+ *
+ * @param endpoint
+ * @param quarantineExpiration
+ */
+private void quarantineEndpoint(InetAddress endpoint, long 
quarantineExpiration)
+{
+justRemovedEndpoints.put(endpoint, quarantineExpiration);
+}
+
+/**
+ * Quarantine endpoint specifically for replacement purposes.
+ * @param endpoint
+ */
+public void replacementQuarantine(InetAddress endpoint)
+{
+// remember, quarantineEndpoint will effectively already add 
QUARANTINE_DELAY, so this is 2x
+logger.debug();
+quarantineEndpoint(endpoint, System.currentTimeMillis() + 
QUARANTINE_DELAY);
 }
 
 /**
@@ -393,6 +415,7 @@ public class Gossiper implements 
IFailureDetectionEventListener, GossiperMBean
 {
 removeEndpoint(endpoint);
 evictFromMembership(endpoint);
+replacementQuarantine(endpoint);
 }
 
 /**

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8642ae3/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 14b397a..601e036 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1607,7 +1607,11 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 
 tokenMetadata.updateNormalTokens(tokensToUpdateInMetadata, endpoint);
 for (InetAddress ep : endpointsToRemove)
+{
 removeEndpoint(ep);
+if (DatabaseDescriptor.isReplacing()  
DatabaseDescriptor.getReplaceAddress().equals(ep))
+Gossiper.instance.replacementQuarantine(ep); // quarantine 
locally longer than normally; see CASSANDRA-8260
+}
 if (!tokensToUpdateInSystemKeyspace.isEmpty())
 SystemKeyspace.updateTokens(endpoint, 
tokensToUpdateInSystemKeyspace);
 if (!localTokensToRemove.isEmpty())



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

2014-12-01 Thread brandonwilliams
Merge branch 'cassandra-2.0' into cassandra-2.1

Conflicts:
CHANGES.txt


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

Branch: refs/heads/trunk
Commit: 9a4712e4dc191d8182389fd4da0f18d46c91fdc7
Parents: 6853d5c d8642ae
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Dec 1 10:36:33 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Dec 1 10:36:33 2014 -0600

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/gms/Gossiper.java | 25 +++-
 .../cassandra/service/StorageService.java   |  4 
 3 files changed, 29 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9a4712e4/CHANGES.txt
--
diff --cc CHANGES.txt
index 2f11996,57c0a26..d454ba2
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,20 -1,5 +1,21 @@@
 -2.0.12:
 +2.1.3
 + * Handle abort() in SSTableRewriter properly (CASSANDRA-8320)
 + * Fix high size calculations for prepared statements (CASSANDRA-8231)
 + * Centralize shared executors (CASSANDRA-8055)
 + * Fix filtering for CONTAINS (KEY) relations on frozen collection
 +   clustering columns when the query is restricted to a single
 +   partition (CASSANDRA-8203)
 + * Do more aggressive entire-sstable TTL expiry checks (CASSANDRA-8243)
 + * Add more log info if readMeter is null (CASSANDRA-8238)
 + * add check of the system wall clock time at startup (CASSANDRA-8305)
 + * Support for frozen collections (CASSANDRA-7859)
 + * Fix overflow on histogram computation (CASSANDRA-8028)
 + * Have paxos reuse the timestamp generation of normal queries 
(CASSANDRA-7801)
 + * Fix incremental repair not remove parent session on remote (CASSANDRA-8291)
 + * Improve JBOD disk utilization (CASSANDRA-7386)
 + * Log failed host when preparing incremental repair (CASSANDRA-8228)
 +Merged from 2.0:
+  * Increase quarantine delay on replacement (CASSANDRA-8260)
   * Expose off-heap memory usage stats (CASSANDRA-7897)
   * Ignore Paxos commits for truncated tables (CASSANDRA-7538)
   * Validate size of indexed column values (CASSANDRA-8280)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9a4712e4/src/java/org/apache/cassandra/gms/Gossiper.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9a4712e4/src/java/org/apache/cassandra/service/StorageService.java
--



[3/6] cassandra git commit: Increase quarantine on replacement

2014-12-01 Thread brandonwilliams
Increase quarantine on replacement

Patch by brandonwilliams, reviewed by jasobrown for CASSANDRA-8260


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

Branch: refs/heads/trunk
Commit: d8642ae396033c059cb75b3c35a2ece067c17035
Parents: 7a14a77
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Dec 1 10:34:26 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Dec 1 10:34:26 2014 -0600

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/gms/Gossiper.java | 25 +++-
 .../cassandra/service/StorageService.java   |  4 
 3 files changed, 29 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8642ae3/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 8f4add9..57c0a26 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.12:
+ * Increase quarantine delay on replacement (CASSANDRA-8260)
  * Expose off-heap memory usage stats (CASSANDRA-7897)
  * Ignore Paxos commits for truncated tables (CASSANDRA-7538)
  * Validate size of indexed column values (CASSANDRA-8280)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8642ae3/src/java/org/apache/cassandra/gms/Gossiper.java
--
diff --git a/src/java/org/apache/cassandra/gms/Gossiper.java 
b/src/java/org/apache/cassandra/gms/Gossiper.java
index eb0cf39..a478405 100644
--- a/src/java/org/apache/cassandra/gms/Gossiper.java
+++ b/src/java/org/apache/cassandra/gms/Gossiper.java
@@ -380,7 +380,29 @@ public class Gossiper implements 
IFailureDetectionEventListener, GossiperMBean
  */
 private void quarantineEndpoint(InetAddress endpoint)
 {
-justRemovedEndpoints.put(endpoint, System.currentTimeMillis());
+quarantineEndpoint(endpoint, System.currentTimeMillis());
+}
+
+/**
+ * Quarantines the endpoint until quarantineExpiration + QUARANTINE_DELAY
+ *
+ * @param endpoint
+ * @param quarantineExpiration
+ */
+private void quarantineEndpoint(InetAddress endpoint, long 
quarantineExpiration)
+{
+justRemovedEndpoints.put(endpoint, quarantineExpiration);
+}
+
+/**
+ * Quarantine endpoint specifically for replacement purposes.
+ * @param endpoint
+ */
+public void replacementQuarantine(InetAddress endpoint)
+{
+// remember, quarantineEndpoint will effectively already add 
QUARANTINE_DELAY, so this is 2x
+logger.debug();
+quarantineEndpoint(endpoint, System.currentTimeMillis() + 
QUARANTINE_DELAY);
 }
 
 /**
@@ -393,6 +415,7 @@ public class Gossiper implements 
IFailureDetectionEventListener, GossiperMBean
 {
 removeEndpoint(endpoint);
 evictFromMembership(endpoint);
+replacementQuarantine(endpoint);
 }
 
 /**

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8642ae3/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 14b397a..601e036 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1607,7 +1607,11 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 
 tokenMetadata.updateNormalTokens(tokensToUpdateInMetadata, endpoint);
 for (InetAddress ep : endpointsToRemove)
+{
 removeEndpoint(ep);
+if (DatabaseDescriptor.isReplacing()  
DatabaseDescriptor.getReplaceAddress().equals(ep))
+Gossiper.instance.replacementQuarantine(ep); // quarantine 
locally longer than normally; see CASSANDRA-8260
+}
 if (!tokensToUpdateInSystemKeyspace.isEmpty())
 SystemKeyspace.updateTokens(endpoint, 
tokensToUpdateInSystemKeyspace);
 if (!localTokensToRemove.isEmpty())



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

2014-12-01 Thread brandonwilliams
Merge branch 'cassandra-2.0' into cassandra-2.1

Conflicts:
CHANGES.txt


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

Branch: refs/heads/cassandra-2.1
Commit: 9a4712e4dc191d8182389fd4da0f18d46c91fdc7
Parents: 6853d5c d8642ae
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Dec 1 10:36:33 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Dec 1 10:36:33 2014 -0600

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/gms/Gossiper.java | 25 +++-
 .../cassandra/service/StorageService.java   |  4 
 3 files changed, 29 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9a4712e4/CHANGES.txt
--
diff --cc CHANGES.txt
index 2f11996,57c0a26..d454ba2
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,20 -1,5 +1,21 @@@
 -2.0.12:
 +2.1.3
 + * Handle abort() in SSTableRewriter properly (CASSANDRA-8320)
 + * Fix high size calculations for prepared statements (CASSANDRA-8231)
 + * Centralize shared executors (CASSANDRA-8055)
 + * Fix filtering for CONTAINS (KEY) relations on frozen collection
 +   clustering columns when the query is restricted to a single
 +   partition (CASSANDRA-8203)
 + * Do more aggressive entire-sstable TTL expiry checks (CASSANDRA-8243)
 + * Add more log info if readMeter is null (CASSANDRA-8238)
 + * add check of the system wall clock time at startup (CASSANDRA-8305)
 + * Support for frozen collections (CASSANDRA-7859)
 + * Fix overflow on histogram computation (CASSANDRA-8028)
 + * Have paxos reuse the timestamp generation of normal queries 
(CASSANDRA-7801)
 + * Fix incremental repair not remove parent session on remote (CASSANDRA-8291)
 + * Improve JBOD disk utilization (CASSANDRA-7386)
 + * Log failed host when preparing incremental repair (CASSANDRA-8228)
 +Merged from 2.0:
+  * Increase quarantine delay on replacement (CASSANDRA-8260)
   * Expose off-heap memory usage stats (CASSANDRA-7897)
   * Ignore Paxos commits for truncated tables (CASSANDRA-7538)
   * Validate size of indexed column values (CASSANDRA-8280)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9a4712e4/src/java/org/apache/cassandra/gms/Gossiper.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9a4712e4/src/java/org/apache/cassandra/service/StorageService.java
--



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

2014-12-01 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/94ba744b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/94ba744b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/94ba744b

Branch: refs/heads/trunk
Commit: 94ba744b373a741c2a42786249f54b73bda02e11
Parents: 6348957 9a4712e
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Dec 1 10:37:04 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Dec 1 10:37:04 2014 -0600

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/gms/Gossiper.java | 25 +++-
 .../cassandra/service/StorageService.java   |  4 
 3 files changed, 29 insertions(+), 1 deletion(-)
--


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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/94ba744b/src/java/org/apache/cassandra/gms/Gossiper.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/94ba744b/src/java/org/apache/cassandra/service/StorageService.java
--



[2/6] cassandra git commit: Increase quarantine on replacement

2014-12-01 Thread brandonwilliams
Increase quarantine on replacement

Patch by brandonwilliams, reviewed by jasobrown for CASSANDRA-8260


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

Branch: refs/heads/cassandra-2.1
Commit: d8642ae396033c059cb75b3c35a2ece067c17035
Parents: 7a14a77
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Dec 1 10:34:26 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Dec 1 10:34:26 2014 -0600

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/gms/Gossiper.java | 25 +++-
 .../cassandra/service/StorageService.java   |  4 
 3 files changed, 29 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8642ae3/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 8f4add9..57c0a26 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.12:
+ * Increase quarantine delay on replacement (CASSANDRA-8260)
  * Expose off-heap memory usage stats (CASSANDRA-7897)
  * Ignore Paxos commits for truncated tables (CASSANDRA-7538)
  * Validate size of indexed column values (CASSANDRA-8280)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8642ae3/src/java/org/apache/cassandra/gms/Gossiper.java
--
diff --git a/src/java/org/apache/cassandra/gms/Gossiper.java 
b/src/java/org/apache/cassandra/gms/Gossiper.java
index eb0cf39..a478405 100644
--- a/src/java/org/apache/cassandra/gms/Gossiper.java
+++ b/src/java/org/apache/cassandra/gms/Gossiper.java
@@ -380,7 +380,29 @@ public class Gossiper implements 
IFailureDetectionEventListener, GossiperMBean
  */
 private void quarantineEndpoint(InetAddress endpoint)
 {
-justRemovedEndpoints.put(endpoint, System.currentTimeMillis());
+quarantineEndpoint(endpoint, System.currentTimeMillis());
+}
+
+/**
+ * Quarantines the endpoint until quarantineExpiration + QUARANTINE_DELAY
+ *
+ * @param endpoint
+ * @param quarantineExpiration
+ */
+private void quarantineEndpoint(InetAddress endpoint, long 
quarantineExpiration)
+{
+justRemovedEndpoints.put(endpoint, quarantineExpiration);
+}
+
+/**
+ * Quarantine endpoint specifically for replacement purposes.
+ * @param endpoint
+ */
+public void replacementQuarantine(InetAddress endpoint)
+{
+// remember, quarantineEndpoint will effectively already add 
QUARANTINE_DELAY, so this is 2x
+logger.debug();
+quarantineEndpoint(endpoint, System.currentTimeMillis() + 
QUARANTINE_DELAY);
 }
 
 /**
@@ -393,6 +415,7 @@ public class Gossiper implements 
IFailureDetectionEventListener, GossiperMBean
 {
 removeEndpoint(endpoint);
 evictFromMembership(endpoint);
+replacementQuarantine(endpoint);
 }
 
 /**

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8642ae3/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 14b397a..601e036 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1607,7 +1607,11 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 
 tokenMetadata.updateNormalTokens(tokensToUpdateInMetadata, endpoint);
 for (InetAddress ep : endpointsToRemove)
+{
 removeEndpoint(ep);
+if (DatabaseDescriptor.isReplacing()  
DatabaseDescriptor.getReplaceAddress().equals(ep))
+Gossiper.instance.replacementQuarantine(ep); // quarantine 
locally longer than normally; see CASSANDRA-8260
+}
 if (!tokensToUpdateInSystemKeyspace.isEmpty())
 SystemKeyspace.updateTokens(endpoint, 
tokensToUpdateInSystemKeyspace);
 if (!localTokensToRemove.isEmpty())



[jira] [Updated] (CASSANDRA-8373) MOVED_NODE Topology Change event is never emitted

2014-12-01 Thread Brandon Williams (JIRA)

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

Brandon Williams updated CASSANDRA-8373:

 Reviewer: Tyler Hobbs  (was: Brandon Williams)
Reproduced In: 2.1.2, 2.0.11, 1.2.19  (was: 1.2.19, 2.0.11, 2.1.2)

 MOVED_NODE Topology Change event is never emitted
 -

 Key: CASSANDRA-8373
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8373
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Adam Holmberg
Assignee: Adam Holmberg
Priority: Minor
 Fix For: 2.0.12, 2.1.3

 Attachments: 8373.txt


 lifeCycleSubscribers.onMove never gets called because [this 
 tokenMetadata.updateNormalTokens|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/StorageService.java#L1585]
  call [changes the endpoint moving 
 status|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/locator/TokenMetadata.java#L190],
  making the later isMoving conditional always false.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-7688) Add data sizing to a system table

2014-12-01 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-7688:
-

To be clear, the target here is hadoop/spark and we're not looking at doing 
anything better than what is currently used by thrift describe_splits. Which is 
based on the sstable stats and that, yes, can be pretty bad for some datasets, 
but improving it is a goal for another ticket.

 Add data sizing to a system table
 -

 Key: CASSANDRA-7688
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7688
 Project: Cassandra
  Issue Type: New Feature
Reporter: Jeremiah Jordan
 Fix For: 2.1.3


 Currently you can't implement something similar to describe_splits_ex purely 
 from the a native protocol driver.  
 https://datastax-oss.atlassian.net/browse/JAVA-312 is open to expose easily 
 getting ownership information to a client in the java-driver.  But you still 
 need the data sizing part to get splits of a given size.  We should add the 
 sizing information to a system table so that native clients can get to it.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-7688) Add data sizing to a system table

2014-12-01 Thread JIRA

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

Piotr Kołaczkowski commented on CASSANDRA-7688:
---

Fair enough. Just saying describe_splits is pretty bad for the reason it is not 
possible to set some reasonable default for split size. Some users were already 
pointing that out in our issue tracker. 

 Add data sizing to a system table
 -

 Key: CASSANDRA-7688
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7688
 Project: Cassandra
  Issue Type: New Feature
Reporter: Jeremiah Jordan
 Fix For: 2.1.3


 Currently you can't implement something similar to describe_splits_ex purely 
 from the a native protocol driver.  
 https://datastax-oss.atlassian.net/browse/JAVA-312 is open to expose easily 
 getting ownership information to a client in the java-driver.  But you still 
 need the data sizing part to get splits of a given size.  We should add the 
 sizing information to a system table so that native clients can get to it.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-6976) Determining replicas to query is very slow with large numbers of nodes or vnodes

2014-12-01 Thread Ariel Weisberg (JIRA)

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

Ariel Weisberg commented on CASSANDRA-6976:
---

bq. the benchmark as tested will have perfect L1 cache occupancy, which in a 
real scenario is unlikely
I recall someone on the Mechanical Sympathy group pointing out that you can 
warm an entire last level cache in some small amount of time, I think it was 
30ish milliseconds. I can't find the post and I could be very wrong, but it was 
definitely milliseconds. My guess is that in the big picture cache effects 
aren't changing the narrative that this takes 10s to 100s of milliseconds. 

bq. the benchmarks did not account for: (all of which should have a negative 
impact on the runtime on getRangeSlice itself)
Is the take away here that I should reopen and run the micro-benchmarks again 
with these configurations?

If it is slow, what is the solution? Even if we lazily materialize the ranges 
the run time of fetching batches of results dominates the in-memory compute of 
getRestrictedRanges. When we talked use cases it seems like people would using 
paging programmatically so only console users would see this poor performance 
outside of the lookup table use case you mentioned.

bq.  guess what really bugs me about this, and what I assumed would be related 
to the problem (but patently can't given the default behaviour) ... I was 
hoping we'd fix that as a result of this work, since that's a lot of duplicated 
effort, but that hardly seems sensible now. 
I didn't quite follow this. Are you talking about getLiveSortedEndpoints called 
from getRangeSlice? I haven't dug deep enough into getRangeSlice to tell you 
where the time in that goes exactly. I would have to do it again and insert 
some probes. I assumed it was dominated by sending remote requests.

bq. What we definitely should do, though, is make sure we're (in general) 
benchmarking behaviour over common config, as our default test configuration is 
not at all representative.
Benchmarking in what scope? This microbenchmark, defaults for workloads in 
cstar, tribal knowledge when doing performance work?



 Determining replicas to query is very slow with large numbers of nodes or 
 vnodes
 

 Key: CASSANDRA-6976
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6976
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Benedict
Assignee: Ariel Weisberg
  Labels: performance
 Attachments: GetRestrictedRanges.java, jmh_output.txt, 
 jmh_output_murmur3.txt, make_jmh_work.patch


 As described in CASSANDRA-6906, this can be ~100ms for a relatively small 
 cluster with vnodes, which is longer than it will spend in transit on the 
 network. This should be much faster.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8056) nodetool snapshot keyspace -cf table -t sametagname does not work on multiple tabes of the same keyspace

2014-12-01 Thread Nick Bailey (JIRA)

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

Nick Bailey commented on CASSANDRA-8056:


Since we are doing this here is CASSANDRA-8348 now a duplicate?

 nodetool snapshot keyspace -cf table -t sametagname does not work on 
 multiple tabes of the same keyspace
 --

 Key: CASSANDRA-8056
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8056
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
 Environment: Cassandra 2.0.6 debian wheezy and squeeze
Reporter: Esha Pathak
Priority: Trivial
  Labels: lhf
 Fix For: 2.0.12

 Attachments: CASSANDRA-8056.txt


 scenario
 keyspace thing has tables : thing:user , thing:object, thing:user_details
 steps to reproduce :
 1. nodetool snapshot thing --column-family user --tag tagname
   Requested creating snapshot for: thing and table: user
   Snapshot directory: tagname
 2.nodetool snapshot thing --column-family object --tag tagname
 Requested creating snapshot for: thing and table: object
 Exception in thread main java.io.IOException: Snapshot tagname already 
 exists.
   at 
 org.apache.cassandra.service.StorageService.takeColumnFamilySnapshot(StorageService.java:2274)
   at sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source)
   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.GeneratedMethodAccessor9.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.GeneratedMethodAccessor39.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(UnicastServerRef.java:322)
   at sun.rmi.transport.Transport$1.run(Transport.java:177)
   at sun.rmi.transport.Transport$1.run(Transport.java:174)
   at java.security.AccessController.doPrivileged(Native Method)
   at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
   at 
 sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556)
   at 
 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811)
   at 
 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670)
   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)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[Cassandra Wiki] Update of HowToContribute by MichaelShuler

2014-12-01 Thread Apache Wiki
Dear Wiki user,

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

The HowToContribute page has been changed by MichaelShuler:
https://wiki.apache.org/cassandra/HowToContribute?action=diffrev1=58rev2=59

   1. View `build/cobertura/html/index.html`
  
  === Continuous integration ===
- Buildbot runs the Cassandra tests continuously: 
http://ci.apache.org/builders/cassandra-trunk.  (Builders for stable branches 
also exist.)
+ Jenkins runs the Cassandra tests continuously: http://cassci.datastax.com/ 
(Builders for stable branches also exist.)
  
  == IDE ==
   * [[RunningCassandraInIDEA]]


[jira] [Resolved] (CASSANDRA-8396) repairs creates sstable per each num tokens range

2014-12-01 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis resolved CASSANDRA-8396.
---
   Resolution: Duplicate
Fix Version/s: (was: 2.1.3)
Reproduced In: 2.1.2, 2.1.1  (was: 2.1.1, 2.1.2)

 repairs creates sstable per each num tokens range
 -

 Key: CASSANDRA-8396
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8396
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Alexander Piavlo
Priority: Critical

 I have num tokens set to 256
 then i run 
 `nodetool repair -pr someKeyspace someCF` 
 it creates 256 new small sstables - per each range afaiu
 on all replica nodes, this is major overkill for read performance.
 This happens with 2.1.2 and 2.1.1
 I have never anything like that with cassandra 1.0.x



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


cassandra git commit: Ninja-add missing consistency levels to cqlsh

2014-12-01 Thread aleksey
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.0 d8642ae39 - 902e43b93


Ninja-add missing consistency levels to cqlsh


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

Branch: refs/heads/cassandra-2.0
Commit: 902e43b935552516b5f840190cca4bf87f7dbf0c
Parents: d8642ae
Author: Aleksey Yeschenko alek...@apache.org
Authored: Mon Dec 1 20:45:07 2014 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Mon Dec 1 20:45:07 2014 +0300

--
 bin/cqlsh | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/902e43b9/bin/cqlsh
--
diff --git a/bin/cqlsh b/bin/cqlsh
index c99b98c..6be9b78 100755
--- a/bin/cqlsh
+++ b/bin/cqlsh
@@ -247,9 +247,11 @@ cqlsh_extra_syntax_rules = r'''
  | THREE
  | QUORUM
  | ALL
- | LOCAL_ONE
  | LOCAL_QUORUM
  | EACH_QUORUM
+ | SERIAL
+ | LOCAL_SERIAL
+ | LOCAL_ONE
  ;
 
 showCommand ::= SHOW what=( VERSION | HOST | SESSION 
sessionid=uuid )



[jira] [Commented] (CASSANDRA-8367) Clash between Cassandra and Crunch mapreduce config

2014-12-01 Thread Michael Shuler (JIRA)

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

Michael Shuler commented on CASSANDRA-8367:
---

[~zvo] do you have a patch that implements the changeover to a different config 
key? Someone could look at that :)

 Clash between Cassandra and Crunch mapreduce config
 ---

 Key: CASSANDRA-8367
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8367
 Project: Cassandra
  Issue Type: Bug
  Components: Hadoop
Reporter: Radovan Zvoncek
Priority: Minor

 We would like to use Cassandra's (Cql)BulkOutputFormats to implement Resource 
 IOs for Crunch. We want to do this to allow Crunch users write results of 
 their jobs directly to Cassandra (thus skipping writing them to file system).
 In the process of doing this, we found out there is a clash in the mapreduce 
 job config. The affected config key is 'mapreduce.output.basename'. Cassandra 
 is using it [1] for something different than Crunch [2]. This is resulting in 
 some obscure behavior I personally don't understand, but it causes the jobs 
 to fail.
 We went ahead and re-implemented the output format classes to use different 
 config key, but we'd very much like to stop using them.
 [1] 
 https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/hadoop/ConfigHelper.java#L54
 [2] 
 https://github.com/apache/crunch/blob/3f13ee65c9debcf6bd7366607f58beae6c73ffe2/crunch-core/src/main/java/org/apache/crunch/io/CrunchOutputs.java#L99



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[1/2] cassandra git commit: Ninja-add missing consistency levels to cqlsh

2014-12-01 Thread aleksey
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 9a4712e4d - 37dfe4303


Ninja-add missing consistency levels to cqlsh


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

Branch: refs/heads/cassandra-2.1
Commit: 902e43b935552516b5f840190cca4bf87f7dbf0c
Parents: d8642ae
Author: Aleksey Yeschenko alek...@apache.org
Authored: Mon Dec 1 20:45:07 2014 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Mon Dec 1 20:45:07 2014 +0300

--
 bin/cqlsh | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/902e43b9/bin/cqlsh
--
diff --git a/bin/cqlsh b/bin/cqlsh
index c99b98c..6be9b78 100755
--- a/bin/cqlsh
+++ b/bin/cqlsh
@@ -247,9 +247,11 @@ cqlsh_extra_syntax_rules = r'''
  | THREE
  | QUORUM
  | ALL
- | LOCAL_ONE
  | LOCAL_QUORUM
  | EACH_QUORUM
+ | SERIAL
+ | LOCAL_SERIAL
+ | LOCAL_ONE
  ;
 
 showCommand ::= SHOW what=( VERSION | HOST | SESSION 
sessionid=uuid )



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

2014-12-01 Thread aleksey
Merge branch 'cassandra-2.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/37dfe430
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/37dfe430
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/37dfe430

Branch: refs/heads/cassandra-2.1
Commit: 37dfe430349d18fa950fc9b0b88acc1ae2a83502
Parents: 9a4712e 902e43b
Author: Aleksey Yeschenko alek...@apache.org
Authored: Mon Dec 1 20:46:41 2014 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Mon Dec 1 20:46:41 2014 +0300

--
 bin/cqlsh | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/37dfe430/bin/cqlsh
--



[1/3] cassandra git commit: Ninja-add missing consistency levels to cqlsh

2014-12-01 Thread aleksey
Repository: cassandra
Updated Branches:
  refs/heads/trunk 94ba744b3 - cb8bda8d4


Ninja-add missing consistency levels to cqlsh


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

Branch: refs/heads/trunk
Commit: 902e43b935552516b5f840190cca4bf87f7dbf0c
Parents: d8642ae
Author: Aleksey Yeschenko alek...@apache.org
Authored: Mon Dec 1 20:45:07 2014 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Mon Dec 1 20:45:07 2014 +0300

--
 bin/cqlsh | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/902e43b9/bin/cqlsh
--
diff --git a/bin/cqlsh b/bin/cqlsh
index c99b98c..6be9b78 100755
--- a/bin/cqlsh
+++ b/bin/cqlsh
@@ -247,9 +247,11 @@ cqlsh_extra_syntax_rules = r'''
  | THREE
  | QUORUM
  | ALL
- | LOCAL_ONE
  | LOCAL_QUORUM
  | EACH_QUORUM
+ | SERIAL
+ | LOCAL_SERIAL
+ | LOCAL_ONE
  ;
 
 showCommand ::= SHOW what=( VERSION | HOST | SESSION 
sessionid=uuid )



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

2014-12-01 Thread aleksey
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/cb8bda8d
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/cb8bda8d
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/cb8bda8d

Branch: refs/heads/trunk
Commit: cb8bda8d47981d2bde98662c934286d8fade2c6c
Parents: 94ba744 37dfe43
Author: Aleksey Yeschenko alek...@apache.org
Authored: Mon Dec 1 20:47:07 2014 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Mon Dec 1 20:47:07 2014 +0300

--
 bin/cqlsh | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
--




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

2014-12-01 Thread aleksey
Merge branch 'cassandra-2.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/37dfe430
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/37dfe430
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/37dfe430

Branch: refs/heads/trunk
Commit: 37dfe430349d18fa950fc9b0b88acc1ae2a83502
Parents: 9a4712e 902e43b
Author: Aleksey Yeschenko alek...@apache.org
Authored: Mon Dec 1 20:46:41 2014 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Mon Dec 1 20:46:41 2014 +0300

--
 bin/cqlsh | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/37dfe430/bin/cqlsh
--



[jira] [Commented] (CASSANDRA-8371) DateTieredCompactionStrategy is always compacting

2014-12-01 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-8371:
---

Marcus pointed out on chat that days is probably the correct resolution in 
most cases, since you will generally want to allow repair to complete before 
sealing it away from compaction.  I'm fine with living with fractional days in 
the occasional case (like stress testing) where it's not.

 DateTieredCompactionStrategy is always compacting 
 --

 Key: CASSANDRA-8371
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8371
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: mck
Assignee: Björn Hegerfors
  Labels: compaction, performance
 Attachments: java_gc_counts_rate-month.png, 
 read-latency-recommenders-adview.png, read-latency.png, 
 sstables-recommenders-adviews.png, sstables.png, vg2_iad-month.png


 Running 2.0.11 and having switched a table to 
 [DTCS|https://issues.apache.org/jira/browse/CASSANDRA-6602] we've seen that 
 disk IO and gc count increase, along with the number of reads happening in 
 the compaction hump of cfhistograms.
 Data, and generally performance, looks good, but compactions are always 
 happening, and pending compactions are building up.
 The schema for this is 
 {code}CREATE TABLE search (
   loginid text,
   searchid timeuuid,
   description text,
   searchkey text,
   searchurl text,
   PRIMARY KEY ((loginid), searchid)
 );{code}
 We're sitting on about 82G (per replica) across 6 nodes in 4 DCs.
 CQL executed against this keyspace, and traffic patterns, can be seen in 
 slides 7+8 of https://prezi.com/b9-aj6p2esft/
 Attached are sstables-per-read and read-latency graphs from cfhistograms, and 
 screenshots of our munin graphs as we have gone from STCS, to LCS (week ~44), 
 to DTCS (week ~46).
 These screenshots are also found in the prezi on slides 9-11.
 [~pmcfadin], [~Bj0rn], 
 Can this be a consequence of occasional deleted rows, as is described under 
 (3) in the description of CASSANDRA-6602 ?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (CASSANDRA-8333) Streaming Error during repair

2014-12-01 Thread Michael Shuler (JIRA)

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

Michael Shuler resolved CASSANDRA-8333.
---
Resolution: Cannot Reproduce

 Streaming Error during repair
 -

 Key: CASSANDRA-8333
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8333
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Windows-7-32 bit, 3GB RAM, Java 1.7.0_55
Reporter: Andreas Schnitzerling
 Attachments: system.log


 During repair, connections are closing and throwing exceptions. CPU is 
 running on 100%, when error occurs. My test-configuration is one node w/ 
 2.1.2 and 11 nodes w/ 2.0.11. If I make repair either on 2.1 or 2.0 I get 
 such an error. But if I have 2.0 everywhere istalled, no error. 2.0 nodes 
 make endless repair in that circumstance. Seems to be incompatibility 
 between 2.0 and 2.1. 
 {panel:title=system.log}
 ERROR [STREAM-OUT-/10.6.8.212] 2014-11-18 12:28:34,948 StreamSession.java:472 
 - [Stream #0866dc80-6f16-11e4-bc5c-5fe413b6852c] Streaming error occurred
 java.io.IOException: Eine bestehende Verbindung wurde softwaregesteuert
 durch den Hostcomputer abgebrochen
   at sun.nio.ch.SocketDispatcher.write0(Native Method) ~[na:1.7.0_55]
   at sun.nio.ch.SocketDispatcher.write(Unknown Source) ~[na:1.7.0_55]
   at sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source) 
 ~[na:1.7.0_55]
   at sun.nio.ch.IOUtil.write(Unknown Source) ~[na:1.7.0_55]
   at sun.nio.ch.SocketChannelImpl.write(Unknown Source) ~[na:1.7.0_55]
   at 
 org.apache.cassandra.io.util.DataOutputStreamAndChannel.write(DataOutputStreamAndChannel.java:48)
  ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.streaming.messages.StreamMessage.serialize(StreamMessage.java:44)
  ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.streaming.ConnectionHandler$OutgoingMessageHandler.sendMessage(ConnectionHandler.java:346)
  [apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.streaming.ConnectionHandler$OutgoingMessageHandler.run(ConnectionHandler.java:326)
  [apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at java.lang.Thread.run(Unknown Source) [na:1.7.0_55]
 ERROR [AntiEntropySessions:1] 2014-11-18 12:28:34,948 RepairSession.java:303 
 - [repair #e10d0240-6f15-11e4-bc5c-5fe413b6852c] session completed with the 
 following error
 org.apache.cassandra.exceptions.RepairException: [repair 
 #e10d0240-6f15-11e4-bc5c-5fe413b6852c on logdata/onlinedata, 
 (-143721749331492309,-139544903266258032]] Sync failed between /10.9.9.241 
 and /10.6.8.212
   at 
 org.apache.cassandra.repair.RepairSession.syncComplete(RepairSession.java:223)
  ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.service.ActiveRepairService.handleMessage(ActiveRepairService.java:389)
  ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.repair.RepairMessageVerbHandler.doVerb(RepairMessageVerbHandler.java:126)
  ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:62) 
 ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
 [na:1.7.0_55]
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
 [na:1.7.0_55]
   at java.lang.Thread.run(Unknown Source) [na:1.7.0_55]
 {panel}
 Since in windows only parallel repair is possible, is there a way to throttle 
 CPU-consumption? I reduced rpc_X_threads to 4 and concurrent_reads/writes to 
 4. But no change. On other nodes is C* 2.0.10 and nothing in their system.log.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8333) Streaming Error during repair

2014-12-01 Thread Michael Shuler (JIRA)

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

Michael Shuler commented on CASSANDRA-8333:
---

Is Eine bestehende Verbindung wurde softwaregesteuert durch den Hostcomputer 
abgebrochen equivalent to Connection reset?

Cassandra is CPU intensive. Generally, it's going to use as much as it can. 
32-bit OS is not recommended and 3G RAM is too little. I appreciate that you 
keep trying with the hardware you have, but this really seems to be a dead end. 
If 2.0 works for you, stay on 2.0.

 Streaming Error during repair
 -

 Key: CASSANDRA-8333
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8333
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Windows-7-32 bit, 3GB RAM, Java 1.7.0_55
Reporter: Andreas Schnitzerling
 Attachments: system.log


 During repair, connections are closing and throwing exceptions. CPU is 
 running on 100%, when error occurs. My test-configuration is one node w/ 
 2.1.2 and 11 nodes w/ 2.0.11. If I make repair either on 2.1 or 2.0 I get 
 such an error. But if I have 2.0 everywhere istalled, no error. 2.0 nodes 
 make endless repair in that circumstance. Seems to be incompatibility 
 between 2.0 and 2.1. 
 {panel:title=system.log}
 ERROR [STREAM-OUT-/10.6.8.212] 2014-11-18 12:28:34,948 StreamSession.java:472 
 - [Stream #0866dc80-6f16-11e4-bc5c-5fe413b6852c] Streaming error occurred
 java.io.IOException: Eine bestehende Verbindung wurde softwaregesteuert
 durch den Hostcomputer abgebrochen
   at sun.nio.ch.SocketDispatcher.write0(Native Method) ~[na:1.7.0_55]
   at sun.nio.ch.SocketDispatcher.write(Unknown Source) ~[na:1.7.0_55]
   at sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source) 
 ~[na:1.7.0_55]
   at sun.nio.ch.IOUtil.write(Unknown Source) ~[na:1.7.0_55]
   at sun.nio.ch.SocketChannelImpl.write(Unknown Source) ~[na:1.7.0_55]
   at 
 org.apache.cassandra.io.util.DataOutputStreamAndChannel.write(DataOutputStreamAndChannel.java:48)
  ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.streaming.messages.StreamMessage.serialize(StreamMessage.java:44)
  ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.streaming.ConnectionHandler$OutgoingMessageHandler.sendMessage(ConnectionHandler.java:346)
  [apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.streaming.ConnectionHandler$OutgoingMessageHandler.run(ConnectionHandler.java:326)
  [apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at java.lang.Thread.run(Unknown Source) [na:1.7.0_55]
 ERROR [AntiEntropySessions:1] 2014-11-18 12:28:34,948 RepairSession.java:303 
 - [repair #e10d0240-6f15-11e4-bc5c-5fe413b6852c] session completed with the 
 following error
 org.apache.cassandra.exceptions.RepairException: [repair 
 #e10d0240-6f15-11e4-bc5c-5fe413b6852c on logdata/onlinedata, 
 (-143721749331492309,-139544903266258032]] Sync failed between /10.9.9.241 
 and /10.6.8.212
   at 
 org.apache.cassandra.repair.RepairSession.syncComplete(RepairSession.java:223)
  ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.service.ActiveRepairService.handleMessage(ActiveRepairService.java:389)
  ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.repair.RepairMessageVerbHandler.doVerb(RepairMessageVerbHandler.java:126)
  ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:62) 
 ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
 [na:1.7.0_55]
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
 [na:1.7.0_55]
   at java.lang.Thread.run(Unknown Source) [na:1.7.0_55]
 {panel}
 Since in windows only parallel repair is possible, is there a way to throttle 
 CPU-consumption? I reduced rpc_X_threads to 4 and concurrent_reads/writes to 
 4. But no change. On other nodes is C* 2.0.10 and nothing in their system.log.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8315) cassandra-env.sh doesn't handle correctly non numeric JDK versions

2014-12-01 Thread Michael Shuler (JIRA)

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

Michael Shuler commented on CASSANDRA-8315:
---

What Cassandra version? (I was also testing -ea releases recently on 2.1 branch 
for another bug and didn't have a problem, so maybe this is something earlier?)

 cassandra-env.sh doesn't handle correctly non numeric JDK versions
 --

 Key: CASSANDRA-8315
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8315
 Project: Cassandra
  Issue Type: Bug
Reporter: Michaël Figuière
Priority: Trivial

 Trying to work around a JDK bug, I've installed a Early Access release of the 
 JDK, which lead to a small, non-blocking error, in {{cassandra-env.sh}} as it 
 expects the patch part of the JDK version to be a number, but on Oracle EA 
 JDKs, the patch number is followed by an {{-ea}} qualifier as in:
 {code}
 $ java -version
 java version 1.7.0_80-ea
 Java(TM) SE Runtime Environment (build 1.7.0_80-ea-b02)
 Java HotSpot(TM) 64-Bit Server VM (build 24.80-b07, mixed mode)
 {code}
 This lead to the following error:
 {code}
 bin/../conf/cassandra-env.sh: line 102: [: 80-ea: integer expression expected
 {code}
 Obviously not a big deal, but we may want to cover this corner case properly 
 by just ignoring the qualifier part of the version.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-7124) Use JMX Notifications to Indicate Success/Failure of Long-Running Operations

2014-12-01 Thread Yuki Morishita (JIRA)

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

Yuki Morishita updated CASSANDRA-7124:
--
Attachment: 7124-wip.txt

[~rnamboodiri]

I attached my version of (work-in-progress) async cleanup.
Please take a look, and see if you can expand it to other operations.

 Use JMX Notifications to Indicate Success/Failure of Long-Running Operations
 

 Key: CASSANDRA-7124
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7124
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Tyler Hobbs
Assignee: Rajanarayanan Thottuvaikkatumana
Priority: Minor
  Labels: lhf
 Fix For: 3.0

 Attachments: 7124-wip.txt, cassandra-trunk-cleanup-7124.txt


 If {{nodetool cleanup}} or some other long-running operation takes too long 
 to complete, you'll see an error like the one in CASSANDRA-2126, so you can't 
 tell if the operation completed successfully or not.  CASSANDRA-4767 fixed 
 this for repairs with JMX notifications.  We should do something similar for 
 nodetool cleanup, compact, decommission, move, relocate, etc.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Reopened] (CASSANDRA-8333) Streaming Error during repair

2014-12-01 Thread Michael Shuler (JIRA)

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

Michael Shuler reopened CASSANDRA-8333:
---

For the sake of testing mixed version repairs, I'm going to reopen.

 Streaming Error during repair
 -

 Key: CASSANDRA-8333
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8333
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Windows-7-32 bit, 3GB RAM, Java 1.7.0_55
Reporter: Andreas Schnitzerling
 Attachments: system.log


 During repair, connections are closing and throwing exceptions. CPU is 
 running on 100%, when error occurs. My test-configuration is one node w/ 
 2.1.2 and 11 nodes w/ 2.0.11. If I make repair either on 2.1 or 2.0 I get 
 such an error. But if I have 2.0 everywhere istalled, no error. 2.0 nodes 
 make endless repair in that circumstance. Seems to be incompatibility 
 between 2.0 and 2.1. 
 {panel:title=system.log}
 ERROR [STREAM-OUT-/10.6.8.212] 2014-11-18 12:28:34,948 StreamSession.java:472 
 - [Stream #0866dc80-6f16-11e4-bc5c-5fe413b6852c] Streaming error occurred
 java.io.IOException: Eine bestehende Verbindung wurde softwaregesteuert
 durch den Hostcomputer abgebrochen
   at sun.nio.ch.SocketDispatcher.write0(Native Method) ~[na:1.7.0_55]
   at sun.nio.ch.SocketDispatcher.write(Unknown Source) ~[na:1.7.0_55]
   at sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source) 
 ~[na:1.7.0_55]
   at sun.nio.ch.IOUtil.write(Unknown Source) ~[na:1.7.0_55]
   at sun.nio.ch.SocketChannelImpl.write(Unknown Source) ~[na:1.7.0_55]
   at 
 org.apache.cassandra.io.util.DataOutputStreamAndChannel.write(DataOutputStreamAndChannel.java:48)
  ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.streaming.messages.StreamMessage.serialize(StreamMessage.java:44)
  ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.streaming.ConnectionHandler$OutgoingMessageHandler.sendMessage(ConnectionHandler.java:346)
  [apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.streaming.ConnectionHandler$OutgoingMessageHandler.run(ConnectionHandler.java:326)
  [apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at java.lang.Thread.run(Unknown Source) [na:1.7.0_55]
 ERROR [AntiEntropySessions:1] 2014-11-18 12:28:34,948 RepairSession.java:303 
 - [repair #e10d0240-6f15-11e4-bc5c-5fe413b6852c] session completed with the 
 following error
 org.apache.cassandra.exceptions.RepairException: [repair 
 #e10d0240-6f15-11e4-bc5c-5fe413b6852c on logdata/onlinedata, 
 (-143721749331492309,-139544903266258032]] Sync failed between /10.9.9.241 
 and /10.6.8.212
   at 
 org.apache.cassandra.repair.RepairSession.syncComplete(RepairSession.java:223)
  ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.service.ActiveRepairService.handleMessage(ActiveRepairService.java:389)
  ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.repair.RepairMessageVerbHandler.doVerb(RepairMessageVerbHandler.java:126)
  ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:62) 
 ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
 [na:1.7.0_55]
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
 [na:1.7.0_55]
   at java.lang.Thread.run(Unknown Source) [na:1.7.0_55]
 {panel}
 Since in windows only parallel repair is possible, is there a way to throttle 
 CPU-consumption? I reduced rpc_X_threads to 4 and concurrent_reads/writes to 
 4. But no change. On other nodes is C* 2.0.10 and nothing in their system.log.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8333) Streaming Error during repair

2014-12-01 Thread Michael Shuler (JIRA)

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

Michael Shuler commented on CASSANDRA-8333:
---

[~enigmacurry] can we get a mixed cassandra version repair dtest running to 
check that's working as expected?

 Streaming Error during repair
 -

 Key: CASSANDRA-8333
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8333
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Windows-7-32 bit, 3GB RAM, Java 1.7.0_55
Reporter: Andreas Schnitzerling
 Attachments: system.log


 During repair, connections are closing and throwing exceptions. CPU is 
 running on 100%, when error occurs. My test-configuration is one node w/ 
 2.1.2 and 11 nodes w/ 2.0.11. If I make repair either on 2.1 or 2.0 I get 
 such an error. But if I have 2.0 everywhere istalled, no error. 2.0 nodes 
 make endless repair in that circumstance. Seems to be incompatibility 
 between 2.0 and 2.1. 
 {panel:title=system.log}
 ERROR [STREAM-OUT-/10.6.8.212] 2014-11-18 12:28:34,948 StreamSession.java:472 
 - [Stream #0866dc80-6f16-11e4-bc5c-5fe413b6852c] Streaming error occurred
 java.io.IOException: Eine bestehende Verbindung wurde softwaregesteuert
 durch den Hostcomputer abgebrochen
   at sun.nio.ch.SocketDispatcher.write0(Native Method) ~[na:1.7.0_55]
   at sun.nio.ch.SocketDispatcher.write(Unknown Source) ~[na:1.7.0_55]
   at sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source) 
 ~[na:1.7.0_55]
   at sun.nio.ch.IOUtil.write(Unknown Source) ~[na:1.7.0_55]
   at sun.nio.ch.SocketChannelImpl.write(Unknown Source) ~[na:1.7.0_55]
   at 
 org.apache.cassandra.io.util.DataOutputStreamAndChannel.write(DataOutputStreamAndChannel.java:48)
  ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.streaming.messages.StreamMessage.serialize(StreamMessage.java:44)
  ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.streaming.ConnectionHandler$OutgoingMessageHandler.sendMessage(ConnectionHandler.java:346)
  [apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.streaming.ConnectionHandler$OutgoingMessageHandler.run(ConnectionHandler.java:326)
  [apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at java.lang.Thread.run(Unknown Source) [na:1.7.0_55]
 ERROR [AntiEntropySessions:1] 2014-11-18 12:28:34,948 RepairSession.java:303 
 - [repair #e10d0240-6f15-11e4-bc5c-5fe413b6852c] session completed with the 
 following error
 org.apache.cassandra.exceptions.RepairException: [repair 
 #e10d0240-6f15-11e4-bc5c-5fe413b6852c on logdata/onlinedata, 
 (-143721749331492309,-139544903266258032]] Sync failed between /10.9.9.241 
 and /10.6.8.212
   at 
 org.apache.cassandra.repair.RepairSession.syncComplete(RepairSession.java:223)
  ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.service.ActiveRepairService.handleMessage(ActiveRepairService.java:389)
  ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.repair.RepairMessageVerbHandler.doVerb(RepairMessageVerbHandler.java:126)
  ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:62) 
 ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
 [na:1.7.0_55]
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
 [na:1.7.0_55]
   at java.lang.Thread.run(Unknown Source) [na:1.7.0_55]
 {panel}
 Since in windows only parallel repair is possible, is there a way to throttle 
 CPU-consumption? I reduced rpc_X_threads to 4 and concurrent_reads/writes to 
 4. But no change. On other nodes is C* 2.0.10 and nothing in their system.log.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


cassandra git commit: Workaround for output name restriction when using MultipleOutputs with CqlBulkOutputFormat

2014-12-01 Thread brandonwilliams
Repository: cassandra
Updated Branches:
  refs/heads/trunk cb8bda8d4 - 7add7ead1


Workaround for output name restriction when using MultipleOutputs with 
CqlBulkOutputFormat

Patch by Paul Pak, reviewed by Piotr Kołaczkowski for CASSANDRA-7827


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

Branch: refs/heads/trunk
Commit: 7add7ead1884325c9c648802b66af45a258104ee
Parents: cb8bda8
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Dec 1 12:00:28 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Dec 1 12:02:13 2014 -0600

--
 .../cassandra/hadoop/cql3/CqlBulkOutputFormat.java   | 11 +++
 .../cassandra/hadoop/cql3/CqlBulkRecordWriter.java   |  7 +++
 2 files changed, 18 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7add7ead/src/java/org/apache/cassandra/hadoop/cql3/CqlBulkOutputFormat.java
--
diff --git a/src/java/org/apache/cassandra/hadoop/cql3/CqlBulkOutputFormat.java 
b/src/java/org/apache/cassandra/hadoop/cql3/CqlBulkOutputFormat.java
index bdc9fbf..78080e2 100644
--- a/src/java/org/apache/cassandra/hadoop/cql3/CqlBulkOutputFormat.java
+++ b/src/java/org/apache/cassandra/hadoop/cql3/CqlBulkOutputFormat.java
@@ -54,6 +54,7 @@ public class CqlBulkOutputFormat extends 
AbstractBulkOutputFormatObject, ListB
 private static final String OUTPUT_CQL_SCHEMA_PREFIX = 
cassandra.columnfamily.schema.;
 private static final String OUTPUT_CQL_INSERT_PREFIX = 
cassandra.columnfamily.insert.;
 private static final String DELETE_SOURCE = 
cassandra.output.delete.source;
+private static final String COLUMNFAMILY_ALIAS_PREFIX = 
cqlbulkoutputformat.columnfamily.alias.;
   
 /** Fills the deprecated OutputFormat interface for streaming. */
 @Deprecated
@@ -114,4 +115,14 @@ public class CqlBulkOutputFormat extends 
AbstractBulkOutputFormatObject, ListB
 {
 return conf.getBoolean(DELETE_SOURCE, false);
 }
+
+public static void setColumnFamilyAlias(Configuration conf, String alias, 
String columnFamily)
+{
+conf.set(COLUMNFAMILY_ALIAS_PREFIX + alias, columnFamily);
+}
+
+public static String getColumnFamilyForAlias(Configuration conf, String 
alias)
+{
+return conf.get(COLUMNFAMILY_ALIAS_PREFIX + alias);
+}
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/7add7ead/src/java/org/apache/cassandra/hadoop/cql3/CqlBulkRecordWriter.java
--
diff --git a/src/java/org/apache/cassandra/hadoop/cql3/CqlBulkRecordWriter.java 
b/src/java/org/apache/cassandra/hadoop/cql3/CqlBulkRecordWriter.java
index e60a240..ebae7a4 100644
--- a/src/java/org/apache/cassandra/hadoop/cql3/CqlBulkRecordWriter.java
+++ b/src/java/org/apache/cassandra/hadoop/cql3/CqlBulkRecordWriter.java
@@ -39,6 +39,7 @@ import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.mapreduce.TaskAttemptContext;
 import org.apache.hadoop.util.Progressable;
 
+
 /**
  * The codeCqlBulkRecordWriter/code maps the output lt;key, valuegt;
  * pairs to a Cassandra column family. In particular, it applies the binded 
variables
@@ -85,6 +86,12 @@ public class CqlBulkRecordWriter extends 
AbstractBulkRecordWriterObject, ListB
 // if anything is missing, exceptions will be thrown here, instead of 
on write()
 keyspace = ConfigHelper.getOutputKeyspace(conf);
 columnFamily = ConfigHelper.getOutputColumnFamily(conf);
+
+// check if columnFamily is aliased
+String aliasedCf = CqlBulkOutputFormat.getColumnFamilyForAlias(conf, 
columnFamily);
+if (aliasedCf != null)
+columnFamily = aliasedCf;
+
 schema = CqlBulkOutputFormat.getColumnFamilySchema(conf, columnFamily);
 insertStatement = 
CqlBulkOutputFormat.getColumnFamilyInsertStatement(conf, columnFamily);
 outputDir = getColumnFamilyDirectory();



[jira] [Resolved] (CASSANDRA-8333) Streaming Error during repair

2014-12-01 Thread Michael Shuler (JIRA)

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

Michael Shuler resolved CASSANDRA-8333.
---
Resolution: Duplicate

I was directed to the linked bugs, which this duplicates - reclosing.

 Streaming Error during repair
 -

 Key: CASSANDRA-8333
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8333
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Windows-7-32 bit, 3GB RAM, Java 1.7.0_55
Reporter: Andreas Schnitzerling
 Attachments: system.log


 During repair, connections are closing and throwing exceptions. CPU is 
 running on 100%, when error occurs. My test-configuration is one node w/ 
 2.1.2 and 11 nodes w/ 2.0.11. If I make repair either on 2.1 or 2.0 I get 
 such an error. But if I have 2.0 everywhere istalled, no error. 2.0 nodes 
 make endless repair in that circumstance. Seems to be incompatibility 
 between 2.0 and 2.1. 
 {panel:title=system.log}
 ERROR [STREAM-OUT-/10.6.8.212] 2014-11-18 12:28:34,948 StreamSession.java:472 
 - [Stream #0866dc80-6f16-11e4-bc5c-5fe413b6852c] Streaming error occurred
 java.io.IOException: Eine bestehende Verbindung wurde softwaregesteuert
 durch den Hostcomputer abgebrochen
   at sun.nio.ch.SocketDispatcher.write0(Native Method) ~[na:1.7.0_55]
   at sun.nio.ch.SocketDispatcher.write(Unknown Source) ~[na:1.7.0_55]
   at sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source) 
 ~[na:1.7.0_55]
   at sun.nio.ch.IOUtil.write(Unknown Source) ~[na:1.7.0_55]
   at sun.nio.ch.SocketChannelImpl.write(Unknown Source) ~[na:1.7.0_55]
   at 
 org.apache.cassandra.io.util.DataOutputStreamAndChannel.write(DataOutputStreamAndChannel.java:48)
  ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.streaming.messages.StreamMessage.serialize(StreamMessage.java:44)
  ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.streaming.ConnectionHandler$OutgoingMessageHandler.sendMessage(ConnectionHandler.java:346)
  [apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.streaming.ConnectionHandler$OutgoingMessageHandler.run(ConnectionHandler.java:326)
  [apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at java.lang.Thread.run(Unknown Source) [na:1.7.0_55]
 ERROR [AntiEntropySessions:1] 2014-11-18 12:28:34,948 RepairSession.java:303 
 - [repair #e10d0240-6f15-11e4-bc5c-5fe413b6852c] session completed with the 
 following error
 org.apache.cassandra.exceptions.RepairException: [repair 
 #e10d0240-6f15-11e4-bc5c-5fe413b6852c on logdata/onlinedata, 
 (-143721749331492309,-139544903266258032]] Sync failed between /10.9.9.241 
 and /10.6.8.212
   at 
 org.apache.cassandra.repair.RepairSession.syncComplete(RepairSession.java:223)
  ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.service.ActiveRepairService.handleMessage(ActiveRepairService.java:389)
  ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.repair.RepairMessageVerbHandler.doVerb(RepairMessageVerbHandler.java:126)
  ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at 
 org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:62) 
 ~[apache-cassandra-2.1.2-SNAPSHOT.jar:2.1.2-SNAPSHOT]
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
 [na:1.7.0_55]
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
 [na:1.7.0_55]
   at java.lang.Thread.run(Unknown Source) [na:1.7.0_55]
 {panel}
 Since in windows only parallel repair is possible, is there a way to throttle 
 CPU-consumption? I reduced rpc_X_threads to 4 and concurrent_reads/writes to 
 4. But no change. On other nodes is C* 2.0.10 and nothing in their system.log.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (CASSANDRA-8330) Confusing Message: ConfigurationException: Found system keyspace files, but they couldn't be loaded!

2014-12-01 Thread Michael Shuler (JIRA)

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

Michael Shuler resolved CASSANDRA-8330.
---
Resolution: Not a Problem

Thanks for the bug report. From your log, it seems that the corrupt files were 
logged as unreadable correctly, and you did the logical thing to get going 
again.  :)

 Confusing Message: ConfigurationException: Found system keyspace files, but 
 they couldn't be loaded!
 

 Key: CASSANDRA-8330
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8330
 Project: Cassandra
  Issue Type: Bug
 Environment: cassandra 2.0.10
Reporter: Karl Mueller
Priority: Minor

 I restarted a node which was not responding to cqlsh. It produced this error:
  INFO [SSTableBatchOpen:3] 2014-11-17 16:36:50,388 SSTableReader.java (line 
 223) Opening /data2/data-cassandra/system/local/system-local-jb-304 (133 
 bytes)
  INFO [SSTableBatchOpen:2] 2014-11-17 16:36:50,388 SSTableReader.java (line 
 223) Opening /data2/data-cassandra/system/local/system-local-jb-305 (80 bytes)
  INFO [main] 2014-11-17 16:36:50,393 AutoSavingCache.java (line 114) reading 
 saved cache /data2/cache-cassandra/system-local-KeyCache-b.db
 ERROR [main] 2014-11-17 16:36:50,543 CassandraDaemon.java (line 265) Fatal 
 exception during initialization
 org.apache.cassandra.exceptions.ConfigurationException: Found system keyspace 
 files, but they couldn't be loaded!
 at 
 org.apache.cassandra.db.SystemKeyspace.checkHealth(SystemKeyspace.java:554)
 at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:261)
 at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:496)
 at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:585)
 After deleting the cache, I still got this error:
  INFO 16:41:43,718 Opening 
 /data2/data-cassandra/system/local/system-local-jb-304 (133 bytes)
  INFO 16:41:43,718 Opening 
 /data2/data-cassandra/system/local/system-local-jb-305 (80 bytes)
 ERROR 16:41:43,877 Fatal exception during initialization
 org.apache.cassandra.exceptions.ConfigurationException: Found system keyspace 
 files, but they couldn't be loaded!
 at 
 org.apache.cassandra.db.SystemKeyspace.checkHealth(SystemKeyspace.java:554)
 at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:261)
 at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:496)
 at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:585)
 I think possibly the node had corrupted one of the files due to it being in a 
 bad state. This would be impossible to replicate, so I don't think the actual 
 bug is that helpful.
 What I did find very confusing was the error message. There's nothing to 
 indicate what the problem is! Is it a corrupt file? A valid file with bad 
 information in it? Referencing something that doesn't exist?! 
 I fixed it by deleting the system keyspace and starting it with its token, 
 but many people wouldn't know to do that at all.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8341) Expose time spent in each thread pool

2014-12-01 Thread Chris Lohfink (JIRA)

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

Chris Lohfink commented on CASSANDRA-8341:
--

I'll write up something in a little bit, but a scheduled task to walk the 
threads and capture the User time from the ThreadMXBean could give a good 
picture of which thread pools are burning cpu (including cpu burnt waiting).  
Can capture it from the SEPWorker when changing assigned executors.  A problem 
is (thanks [~benedict]) in the maybeExecuteImmediately when not adding the 
task, that would need to be wrapped in an expensive call which adds latency to 
read/writes.

 Expose time spent in each thread pool
 -

 Key: CASSANDRA-8341
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8341
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Chris Lohfink
Priority: Minor
  Labels: metrics
 Attachments: 8341.patch, 8341v2.txt


 Can increment a counter with time spent in each queue.  This can provide 
 context on how much time is spent percentage wise in each stage.  
 Additionally can be used with littles law in future if ever want to try to 
 tune the size of the pools.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-6976) Determining replicas to query is very slow with large numbers of nodes or vnodes

2014-12-01 Thread Benedict (JIRA)

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

Benedict commented on CASSANDRA-6976:
-

bq. I recall someone on the Mechanical Sympathy group pointing out that you can 
warm an entire last level cache in some small amount of time, I think it was 
30ish milliseconds. I can't find the post and I could be very wrong, but it was 
definitely milliseconds. My guess is that in the big picture cache effects 
aren't changing the narrative that this takes 10s to 100s of milliseconds.

Sure it does - if an action that is likely memory bound (like this one - after 
all, it does very little in the way of computation and doesn't touch any disk) 
takes time X with a warmed cache, and only touches data that can fit in cache, 
it will take X*K with a cold cache for some K (significantly)  1 - and in real 
operation, especially with many tokens, there is a quite reasonable likelihood 
of a cold cache given the lack of locality and amount of data as the cluster 
grows. This is actually one possibility for improving this behaviour, if we 
cared at all - ensuring the number of cache lines touched is kept low, working 
with primitives for the token ranges and inet addresses to reduce the constant 
factors. This would also improve the normal code paths, not just range slices.

bq. If it is slow, what is the solution? Even if we lazily materialize the 
ranges the run time of fetching batches of results dominates the in-memory 
compute of getRestrictedRanges. When we talked use cases it seems like people 
would using paging programmatically so only console users would see this poor 
performance outside of the lookup table use case you mentioned.

For a lookup (i.e. small) table query, or a range query that can be serviced 
entirely by the local node, it is quite unlikely that the fetching would 
dominate when talking about timescales = 1ms.

bq. I didn't quite follow this. Are you talking about getLiveSortedEndpoints 
called from getRangeSlice? I haven't dug deep enough into getRangeSlice to tell 
you where the time in that goes exactly. I would have to do it again and insert 
some probes. I assumed it was dominated by sending remote requests.

Yes - for your benchmark it would not have spent any much time here, since the 
sort would be a no-op and the list a single entry, but as the number of data 
centres and replication factor grows, and with use of NetworkTopologyStrategy, 
this could be a significant time expenditure. It will also on the aggregate 
affect a certain percentage of cpu time spent on all queries. However since the 
sort order is actually pretty consistent, sorting only when the sort order 
changes would be a way to eliminate this cost.

bq. Benchmarking in what scope? This microbenchmark, defaults for workloads in 
cstar, tribal knowledge when doing performance work?

Like I said, please do feel to drop this particular line of enquiry for the 
moment, since even with all of the above I doubt this is a pressing matter. But 
I don't think this is the end of the topic entirely - at some point this cost 
will be a more measurable percentage of.work done. But these kinds of costs are 
simply not a part of any of our current benchmarking methodology since our 
default configs avoid the code paths entirely (either by having no DCs, low RF, 
low node count, no tokens, and SimpleStrategy), and that is something we should 
address. 

In the meantime it might be worth having a simple short-circuit path for 
queries that may be answered by the local node only, though.

 Determining replicas to query is very slow with large numbers of nodes or 
 vnodes
 

 Key: CASSANDRA-6976
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6976
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Benedict
Assignee: Ariel Weisberg
  Labels: performance
 Attachments: GetRestrictedRanges.java, jmh_output.txt, 
 jmh_output_murmur3.txt, make_jmh_work.patch


 As described in CASSANDRA-6906, this can be ~100ms for a relatively small 
 cluster with vnodes, which is longer than it will spend in transit on the 
 network. This should be much faster.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[1/8] cassandra git commit: Fix undeclared throwable exception while executing 'nodetool netstats localhost'

2014-12-01 Thread brandonwilliams
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.0 902e43b93 - 54b4b99e1
  refs/heads/cassandra-2.1 37dfe4303 - 642487143
  refs/heads/trunk 7add7ead1 - f5fa97819


Fix undeclared throwable exception while executing 'nodetool netstats localhost'

Patch by Vishal Mehta and Carl Yeksigian, reviewed by Carl Yeksigian for
CASSANDRA-8122


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

Branch: refs/heads/cassandra-2.0
Commit: 54b4b99e1e12328005df51feb71448a320a9b7d6
Parents: 902e43b
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Dec 1 12:18:54 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Dec 1 12:18:54 2014 -0600

--
 .../cassandra/service/StorageService.java   |  5 ++
 .../cassandra/service/StorageServiceMBean.java  |  3 ++
 .../org/apache/cassandra/tools/NodeCmd.java | 55 +++-
 .../org/apache/cassandra/tools/NodeProbe.java   |  5 ++
 4 files changed, 42 insertions(+), 26 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/54b4b99e/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 601e036..0456907 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -3387,6 +3387,11 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 return operationMode.toString();
 }
 
+public boolean isStarting()
+{
+return operationMode == Mode.STARTING;
+}
+
 public String getDrainProgress()
 {
 return String.format(Drained %s/%s ColumnFamilies, remainingCFs, 
totalCFs);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/54b4b99e/src/java/org/apache/cassandra/service/StorageServiceMBean.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageServiceMBean.java 
b/src/java/org/apache/cassandra/service/StorageServiceMBean.java
index 2386fc8..0ea08a2 100644
--- a/src/java/org/apache/cassandra/service/StorageServiceMBean.java
+++ b/src/java/org/apache/cassandra/service/StorageServiceMBean.java
@@ -358,6 +358,9 @@ public interface StorageServiceMBean extends 
NotificationEmitter
 /** get the operational mode (leaving, joining, normal, decommissioned, 
client) **/
 public String getOperationMode();
 
+/** Returns whether the storage service is starting or not */
+public boolean isStarting();
+
 /** get the progress of a drain operation */
 public String getDrainProgress();
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/54b4b99e/src/java/org/apache/cassandra/tools/NodeCmd.java
--
diff --git a/src/java/org/apache/cassandra/tools/NodeCmd.java 
b/src/java/org/apache/cassandra/tools/NodeCmd.java
index e4a14b2..b085088 100644
--- a/src/java/org/apache/cassandra/tools/NodeCmd.java
+++ b/src/java/org/apache/cassandra/tools/NodeCmd.java
@@ -762,32 +762,35 @@ public class NodeCmd
 }
 }
 
-outs.printf(Read Repair Statistics:%nAttempted: %d%nMismatch 
(Blocking): %d%nMismatch (Background): %d%n, probe.getReadRepairAttempted(), 
probe.getReadRepairRepairedBlocking(), probe.getReadRepairRepairedBackground());
-
-MessagingServiceMBean ms = probe.msProxy;
-outs.printf(%-25s, Pool Name);
-outs.printf(%10s, Active);
-outs.printf(%10s, Pending);
-outs.printf(%15s%n, Completed);
-
-int pending;
-long completed;
-
-pending = 0;
-for (int n : ms.getCommandPendingTasks().values())
-pending += n;
-completed = 0;
-for (long n : ms.getCommandCompletedTasks().values())
-completed += n;
-outs.printf(%-25s%10s%10s%15s%n, Commands, n/a, pending, 
completed);
-
-pending = 0;
-for (int n : ms.getResponsePendingTasks().values())
-pending += n;
-completed = 0;
-for (long n : ms.getResponseCompletedTasks().values())
-completed += n;
-outs.printf(%-25s%10s%10s%15s%n, Responses, n/a, pending, 
completed);
+if (!probe.isStarting())
+{
+   outs.printf(Read Repair Statistics:%nAttempted: %d%nMismatch 
(Blocking): %d%nMismatch (Background): %d%n, probe.getReadRepairAttempted(), 
probe.getReadRepairRepairedBlocking(), 

[5/8] cassandra git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

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

Branch: refs/heads/trunk
Commit: 74a5f79ad134b6e60f144b77b49c9eaa8b3eb32e
Parents: 37dfe43 54b4b99
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Dec 1 12:21:19 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Dec 1 12:21:19 2014 -0600

--

--




[7/8] cassandra git commit: Fix undeclared throwable exception while executing 'nodetool netstats localhost'

2014-12-01 Thread brandonwilliams
Fix undeclared throwable exception while executing 'nodetool netstats localhost'

Patch by Vishal Mehta and Carl Yeksigian, reviewed by Carl Yeksigian for 
CASSANDRA-8122


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

Branch: refs/heads/cassandra-2.1
Commit: 6424871439c6e203f0531736dcac71b1c50f41d9
Parents: 74a5f79
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Dec 1 12:21:56 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Dec 1 12:21:56 2014 -0600

--
 .../org/apache/cassandra/tools/NodeTool.java| 55 +++-
 1 file changed, 29 insertions(+), 26 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/64248714/src/java/org/apache/cassandra/tools/NodeTool.java
--
diff --git a/src/java/org/apache/cassandra/tools/NodeTool.java 
b/src/java/org/apache/cassandra/tools/NodeTool.java
index fe4535b..5038d29 100644
--- a/src/java/org/apache/cassandra/tools/NodeTool.java
+++ b/src/java/org/apache/cassandra/tools/NodeTool.java
@@ -638,32 +638,35 @@ public class NodeTool
 }
 }
 
-System.out.printf(Read Repair Statistics:%nAttempted: 
%d%nMismatch (Blocking): %d%nMismatch (Background): %d%n, 
probe.getReadRepairAttempted(), probe.getReadRepairRepairedBlocking(), 
probe.getReadRepairRepairedBackground());
-
-MessagingServiceMBean ms = probe.msProxy;
-System.out.printf(%-25s, Pool Name);
-System.out.printf(%10s, Active);
-System.out.printf(%10s, Pending);
-System.out.printf(%15s%n, Completed);
-
-int pending;
-long completed;
-
-pending = 0;
-for (int n : ms.getCommandPendingTasks().values())
-pending += n;
-completed = 0;
-for (long n : ms.getCommandCompletedTasks().values())
-completed += n;
-System.out.printf(%-25s%10s%10s%15s%n, Commands, n/a, 
pending, completed);
-
-pending = 0;
-for (int n : ms.getResponsePendingTasks().values())
-pending += n;
-completed = 0;
-for (long n : ms.getResponseCompletedTasks().values())
-completed += n;
-System.out.printf(%-25s%10s%10s%15s%n, Responses, n/a, 
pending, completed);
+if (!probe.isStarting())
+{
+System.out.printf(Read Repair Statistics:%nAttempted: 
%d%nMismatch (Blocking): %d%nMismatch (Background): %d%n, 
probe.getReadRepairAttempted(), probe.getReadRepairRepairedBlocking(), 
probe.getReadRepairRepairedBackground());
+
+MessagingServiceMBean ms = probe.msProxy;
+System.out.printf(%-25s, Pool Name);
+System.out.printf(%10s, Active);
+System.out.printf(%10s, Pending);
+System.out.printf(%15s%n, Completed);
+
+int pending;
+long completed;
+
+pending = 0;
+for (int n : ms.getCommandPendingTasks().values())
+pending += n;
+completed = 0;
+for (long n : ms.getCommandCompletedTasks().values())
+completed += n;
+System.out.printf(%-25s%10s%10s%15s%n, Commands, n/a, 
pending, completed);
+
+pending = 0;
+for (int n : ms.getResponsePendingTasks().values())
+pending += n;
+completed = 0;
+for (long n : ms.getResponseCompletedTasks().values())
+completed += n;
+System.out.printf(%-25s%10s%10s%15s%n, Responses, n/a, 
pending, completed);
+}
 }
 }
 



[3/8] cassandra git commit: Fix undeclared throwable exception while executing 'nodetool netstats localhost'

2014-12-01 Thread brandonwilliams
Fix undeclared throwable exception while executing 'nodetool netstats localhost'

Patch by Vishal Mehta and Carl Yeksigian, reviewed by Carl Yeksigian for
CASSANDRA-8122


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

Branch: refs/heads/trunk
Commit: 54b4b99e1e12328005df51feb71448a320a9b7d6
Parents: 902e43b
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Dec 1 12:18:54 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Dec 1 12:18:54 2014 -0600

--
 .../cassandra/service/StorageService.java   |  5 ++
 .../cassandra/service/StorageServiceMBean.java  |  3 ++
 .../org/apache/cassandra/tools/NodeCmd.java | 55 +++-
 .../org/apache/cassandra/tools/NodeProbe.java   |  5 ++
 4 files changed, 42 insertions(+), 26 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/54b4b99e/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 601e036..0456907 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -3387,6 +3387,11 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 return operationMode.toString();
 }
 
+public boolean isStarting()
+{
+return operationMode == Mode.STARTING;
+}
+
 public String getDrainProgress()
 {
 return String.format(Drained %s/%s ColumnFamilies, remainingCFs, 
totalCFs);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/54b4b99e/src/java/org/apache/cassandra/service/StorageServiceMBean.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageServiceMBean.java 
b/src/java/org/apache/cassandra/service/StorageServiceMBean.java
index 2386fc8..0ea08a2 100644
--- a/src/java/org/apache/cassandra/service/StorageServiceMBean.java
+++ b/src/java/org/apache/cassandra/service/StorageServiceMBean.java
@@ -358,6 +358,9 @@ public interface StorageServiceMBean extends 
NotificationEmitter
 /** get the operational mode (leaving, joining, normal, decommissioned, 
client) **/
 public String getOperationMode();
 
+/** Returns whether the storage service is starting or not */
+public boolean isStarting();
+
 /** get the progress of a drain operation */
 public String getDrainProgress();
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/54b4b99e/src/java/org/apache/cassandra/tools/NodeCmd.java
--
diff --git a/src/java/org/apache/cassandra/tools/NodeCmd.java 
b/src/java/org/apache/cassandra/tools/NodeCmd.java
index e4a14b2..b085088 100644
--- a/src/java/org/apache/cassandra/tools/NodeCmd.java
+++ b/src/java/org/apache/cassandra/tools/NodeCmd.java
@@ -762,32 +762,35 @@ public class NodeCmd
 }
 }
 
-outs.printf(Read Repair Statistics:%nAttempted: %d%nMismatch 
(Blocking): %d%nMismatch (Background): %d%n, probe.getReadRepairAttempted(), 
probe.getReadRepairRepairedBlocking(), probe.getReadRepairRepairedBackground());
-
-MessagingServiceMBean ms = probe.msProxy;
-outs.printf(%-25s, Pool Name);
-outs.printf(%10s, Active);
-outs.printf(%10s, Pending);
-outs.printf(%15s%n, Completed);
-
-int pending;
-long completed;
-
-pending = 0;
-for (int n : ms.getCommandPendingTasks().values())
-pending += n;
-completed = 0;
-for (long n : ms.getCommandCompletedTasks().values())
-completed += n;
-outs.printf(%-25s%10s%10s%15s%n, Commands, n/a, pending, 
completed);
-
-pending = 0;
-for (int n : ms.getResponsePendingTasks().values())
-pending += n;
-completed = 0;
-for (long n : ms.getResponseCompletedTasks().values())
-completed += n;
-outs.printf(%-25s%10s%10s%15s%n, Responses, n/a, pending, 
completed);
+if (!probe.isStarting())
+{
+   outs.printf(Read Repair Statistics:%nAttempted: %d%nMismatch 
(Blocking): %d%nMismatch (Background): %d%n, probe.getReadRepairAttempted(), 
probe.getReadRepairRepairedBlocking(), probe.getReadRepairRepairedBackground());
+
+   MessagingServiceMBean ms = probe.msProxy;
+   outs.printf(%-25s, Pool Name);
+   outs.printf(%10s, Active);
+  

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

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

Branch: refs/heads/cassandra-2.1
Commit: 74a5f79ad134b6e60f144b77b49c9eaa8b3eb32e
Parents: 37dfe43 54b4b99
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Dec 1 12:21:19 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Dec 1 12:21:19 2014 -0600

--

--




[2/8] cassandra git commit: Fix undeclared throwable exception while executing 'nodetool netstats localhost'

2014-12-01 Thread brandonwilliams
Fix undeclared throwable exception while executing 'nodetool netstats localhost'

Patch by Vishal Mehta and Carl Yeksigian, reviewed by Carl Yeksigian for
CASSANDRA-8122


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

Branch: refs/heads/cassandra-2.1
Commit: 54b4b99e1e12328005df51feb71448a320a9b7d6
Parents: 902e43b
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Dec 1 12:18:54 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Dec 1 12:18:54 2014 -0600

--
 .../cassandra/service/StorageService.java   |  5 ++
 .../cassandra/service/StorageServiceMBean.java  |  3 ++
 .../org/apache/cassandra/tools/NodeCmd.java | 55 +++-
 .../org/apache/cassandra/tools/NodeProbe.java   |  5 ++
 4 files changed, 42 insertions(+), 26 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/54b4b99e/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 601e036..0456907 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -3387,6 +3387,11 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 return operationMode.toString();
 }
 
+public boolean isStarting()
+{
+return operationMode == Mode.STARTING;
+}
+
 public String getDrainProgress()
 {
 return String.format(Drained %s/%s ColumnFamilies, remainingCFs, 
totalCFs);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/54b4b99e/src/java/org/apache/cassandra/service/StorageServiceMBean.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageServiceMBean.java 
b/src/java/org/apache/cassandra/service/StorageServiceMBean.java
index 2386fc8..0ea08a2 100644
--- a/src/java/org/apache/cassandra/service/StorageServiceMBean.java
+++ b/src/java/org/apache/cassandra/service/StorageServiceMBean.java
@@ -358,6 +358,9 @@ public interface StorageServiceMBean extends 
NotificationEmitter
 /** get the operational mode (leaving, joining, normal, decommissioned, 
client) **/
 public String getOperationMode();
 
+/** Returns whether the storage service is starting or not */
+public boolean isStarting();
+
 /** get the progress of a drain operation */
 public String getDrainProgress();
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/54b4b99e/src/java/org/apache/cassandra/tools/NodeCmd.java
--
diff --git a/src/java/org/apache/cassandra/tools/NodeCmd.java 
b/src/java/org/apache/cassandra/tools/NodeCmd.java
index e4a14b2..b085088 100644
--- a/src/java/org/apache/cassandra/tools/NodeCmd.java
+++ b/src/java/org/apache/cassandra/tools/NodeCmd.java
@@ -762,32 +762,35 @@ public class NodeCmd
 }
 }
 
-outs.printf(Read Repair Statistics:%nAttempted: %d%nMismatch 
(Blocking): %d%nMismatch (Background): %d%n, probe.getReadRepairAttempted(), 
probe.getReadRepairRepairedBlocking(), probe.getReadRepairRepairedBackground());
-
-MessagingServiceMBean ms = probe.msProxy;
-outs.printf(%-25s, Pool Name);
-outs.printf(%10s, Active);
-outs.printf(%10s, Pending);
-outs.printf(%15s%n, Completed);
-
-int pending;
-long completed;
-
-pending = 0;
-for (int n : ms.getCommandPendingTasks().values())
-pending += n;
-completed = 0;
-for (long n : ms.getCommandCompletedTasks().values())
-completed += n;
-outs.printf(%-25s%10s%10s%15s%n, Commands, n/a, pending, 
completed);
-
-pending = 0;
-for (int n : ms.getResponsePendingTasks().values())
-pending += n;
-completed = 0;
-for (long n : ms.getResponseCompletedTasks().values())
-completed += n;
-outs.printf(%-25s%10s%10s%15s%n, Responses, n/a, pending, 
completed);
+if (!probe.isStarting())
+{
+   outs.printf(Read Repair Statistics:%nAttempted: %d%nMismatch 
(Blocking): %d%nMismatch (Background): %d%n, probe.getReadRepairAttempted(), 
probe.getReadRepairRepairedBlocking(), probe.getReadRepairRepairedBackground());
+
+   MessagingServiceMBean ms = probe.msProxy;
+   outs.printf(%-25s, Pool Name);
+   outs.printf(%10s, 

[6/8] cassandra git commit: Fix undeclared throwable exception while executing 'nodetool netstats localhost'

2014-12-01 Thread brandonwilliams
Fix undeclared throwable exception while executing 'nodetool netstats localhost'

Patch by Vishal Mehta and Carl Yeksigian, reviewed by Carl Yeksigian for 
CASSANDRA-8122


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

Branch: refs/heads/trunk
Commit: 6424871439c6e203f0531736dcac71b1c50f41d9
Parents: 74a5f79
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Dec 1 12:21:56 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Dec 1 12:21:56 2014 -0600

--
 .../org/apache/cassandra/tools/NodeTool.java| 55 +++-
 1 file changed, 29 insertions(+), 26 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/64248714/src/java/org/apache/cassandra/tools/NodeTool.java
--
diff --git a/src/java/org/apache/cassandra/tools/NodeTool.java 
b/src/java/org/apache/cassandra/tools/NodeTool.java
index fe4535b..5038d29 100644
--- a/src/java/org/apache/cassandra/tools/NodeTool.java
+++ b/src/java/org/apache/cassandra/tools/NodeTool.java
@@ -638,32 +638,35 @@ public class NodeTool
 }
 }
 
-System.out.printf(Read Repair Statistics:%nAttempted: 
%d%nMismatch (Blocking): %d%nMismatch (Background): %d%n, 
probe.getReadRepairAttempted(), probe.getReadRepairRepairedBlocking(), 
probe.getReadRepairRepairedBackground());
-
-MessagingServiceMBean ms = probe.msProxy;
-System.out.printf(%-25s, Pool Name);
-System.out.printf(%10s, Active);
-System.out.printf(%10s, Pending);
-System.out.printf(%15s%n, Completed);
-
-int pending;
-long completed;
-
-pending = 0;
-for (int n : ms.getCommandPendingTasks().values())
-pending += n;
-completed = 0;
-for (long n : ms.getCommandCompletedTasks().values())
-completed += n;
-System.out.printf(%-25s%10s%10s%15s%n, Commands, n/a, 
pending, completed);
-
-pending = 0;
-for (int n : ms.getResponsePendingTasks().values())
-pending += n;
-completed = 0;
-for (long n : ms.getResponseCompletedTasks().values())
-completed += n;
-System.out.printf(%-25s%10s%10s%15s%n, Responses, n/a, 
pending, completed);
+if (!probe.isStarting())
+{
+System.out.printf(Read Repair Statistics:%nAttempted: 
%d%nMismatch (Blocking): %d%nMismatch (Background): %d%n, 
probe.getReadRepairAttempted(), probe.getReadRepairRepairedBlocking(), 
probe.getReadRepairRepairedBackground());
+
+MessagingServiceMBean ms = probe.msProxy;
+System.out.printf(%-25s, Pool Name);
+System.out.printf(%10s, Active);
+System.out.printf(%10s, Pending);
+System.out.printf(%15s%n, Completed);
+
+int pending;
+long completed;
+
+pending = 0;
+for (int n : ms.getCommandPendingTasks().values())
+pending += n;
+completed = 0;
+for (long n : ms.getCommandCompletedTasks().values())
+completed += n;
+System.out.printf(%-25s%10s%10s%15s%n, Commands, n/a, 
pending, completed);
+
+pending = 0;
+for (int n : ms.getResponsePendingTasks().values())
+pending += n;
+completed = 0;
+for (long n : ms.getResponseCompletedTasks().values())
+completed += n;
+System.out.printf(%-25s%10s%10s%15s%n, Responses, n/a, 
pending, completed);
+}
 }
 }
 



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

2014-12-01 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/f5fa9781
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f5fa9781
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f5fa9781

Branch: refs/heads/trunk
Commit: f5fa97819f7d3727f1a649ad01d5334e512f7ed7
Parents: 7add7ea 6424871
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Dec 1 12:23:36 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Dec 1 12:23:36 2014 -0600

--
 .../org/apache/cassandra/tools/NodeTool.java| 55 +++-
 1 file changed, 29 insertions(+), 26 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f5fa9781/src/java/org/apache/cassandra/tools/NodeTool.java
--



[jira] [Assigned] (CASSANDRA-8315) cassandra-env.sh doesn't handle correctly non numeric JDK versions

2014-12-01 Thread Michael Shuler (JIRA)

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

Michael Shuler reassigned CASSANDRA-8315:
-

Assignee: Michael Shuler

 cassandra-env.sh doesn't handle correctly non numeric JDK versions
 --

 Key: CASSANDRA-8315
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8315
 Project: Cassandra
  Issue Type: Bug
Reporter: Michaël Figuière
Assignee: Michael Shuler
Priority: Trivial

 Trying to work around a JDK bug, I've installed a Early Access release of the 
 JDK, which lead to a small, non-blocking error, in {{cassandra-env.sh}} as it 
 expects the patch part of the JDK version to be a number, but on Oracle EA 
 JDKs, the patch number is followed by an {{-ea}} qualifier as in:
 {code}
 $ java -version
 java version 1.7.0_80-ea
 Java(TM) SE Runtime Environment (build 1.7.0_80-ea-b02)
 Java HotSpot(TM) 64-Bit Server VM (build 24.80-b07, mixed mode)
 {code}
 This lead to the following error:
 {code}
 bin/../conf/cassandra-env.sh: line 102: [: 80-ea: integer expression expected
 {code}
 Obviously not a big deal, but we may want to cover this corner case properly 
 by just ignoring the qualifier part of the version.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-8316) Did not get positive replies from all endpoints error on incremental repair

2014-12-01 Thread Philip Thompson (JIRA)

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

Philip Thompson updated CASSANDRA-8316:
---
Fix Version/s: 2.1.3

We are currently investigating the issue.

  Did not get positive replies from all endpoints error on incremental repair
 --

 Key: CASSANDRA-8316
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8316
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: cassandra 2.1.2
Reporter: Loic Lambiel
Assignee: Alan Boudreault
 Fix For: 2.1.3

 Attachments: CassandraDaemon-2014-11-25-2.snapshot.tar.gz, test.sh


 Hi,
 I've got an issue with incremental repairs on our production 15 nodes 2.1.2 
 (new cluster, not yet loaded, RF=3)
 After having successfully performed an incremental repair (-par -inc) on 3 
 nodes, I started receiving Repair failed with error Did not get positive 
 replies from all endpoints. from nodetool on all remaining nodes :
 [2014-11-14 09:12:36,488] Starting repair command #3, repairing 108 ranges 
 for keyspace  (seq=false, full=false)
 [2014-11-14 09:12:47,919] Repair failed with error Did not get positive 
 replies from all endpoints.
 All the nodes are up and running and the local system log shows that the 
 repair commands got started and that's it.
 I've also noticed that soon after the repair, several nodes started having 
 more cpu load indefinitely without any particular reason (no tasks / queries, 
 nothing in the logs). I then restarted C* on these nodes and retried the 
 repair on several nodes, which were successful until facing the issue again.
 I tried to repro on our 3 nodes preproduction cluster without success
 It looks like I'm not the only one having this issue: 
 http://www.mail-archive.com/user%40cassandra.apache.org/msg39145.html
 Any idea?
 Thanks
 Loic



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (CASSANDRA-8366) Repair grows data on nodes, causes load to become unbalanced

2014-12-01 Thread Alan Boudreault (JIRA)

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

Alan Boudreault edited comment on CASSANDRA-8366 at 12/1/14 6:53 PM:
-

I have been able to reproduce the issue with 2.1.2 and branch cassandra-2.1. 
From my tests, the issue seems to be related the parallel incremental repairs. 
I don't see the issue with  full repairs. With full repairs, the storage size 
increases but everything is fine after a compaction.  With incremental repairs, 
I've seen nodes going from 1.5G to 15G of storage size. 

It looks like something is broken with inc repairs. Most of the time, I get one 
of the following errors during the repairs:

* Repair session 6f6c4ae0-78d6-11e4-9b48-b56034537865 for range 
(3074457345618258602,-9223372036854775808] failed with error 
org.apache.cassandra.exceptions.RepairException: [repair 
#6f6c4ae0-78d6-11e4-9b48-b56034537865 on r1/Standard1, 
(3074457345618258602,-9223372036854775808]] Sync failed between /127.0.0.1 and 
/127.0.0.3

* Repair failed with error Did not get positive replies from all endpoints. 
List of failed endpoint(s): [127.0.0.1]

So this issue might be related to CASSANDRA-8316 .  I've attached the script I 
used to reproduce the issue and also 3 result files.


was (Author: aboudreault):
I have been able to reproduce the issue with 2.1.2 and branch cassandra-2.1. 
From my tests, the issue seems to be related the parallel incremental repairs. 
I don't see the issue with  full repairs. With full repairs, the storage size 
increases but everything is fine after a compaction.  With incremental repairs, 
I've seen nodes going from 1.5G to 15G of storage size. 

It looks like something is broken with inc repairs. Most of the time, I get one 
of the following errors during the repairs:

* Repair session 6f6c4ae0-78d6-11e4-9b48-b56034537865 for range 
(3074457345618258602,-9223372036854775808] failed with error 
org.apache.cassandra.exceptions.RepairException: [repair 
#6f6c4ae0-78d6-11e4-9b48-b56034537865 on r1/Standard1, 
(3074457345618258602,-9223372036854775808]] Sync failed between /127.0.0.1 and 
/127.0.0.3

* Repair failed with error Did not get positive replies from all endpoints. 
List of failed endpoint(s): [127.0.0.1]

So this issue might be related to CASSANDRA-8613 .  I've attached the script I 
used to reproduce the issue and also 3 result files.

 Repair grows data on nodes, causes load to become unbalanced
 

 Key: CASSANDRA-8366
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8366
 Project: Cassandra
  Issue Type: Bug
 Environment: 4 node cluster
 2.1.2 Cassandra
 Inserts and reads are done with CQL driver
Reporter: Jan Karlsson
Assignee: Alan Boudreault
 Attachments: results-1750_inc_repair.txt, 
 results-500_1_inc_repairs.txt, results-500_2_inc_repairs.txt, 
 results-500_full_repair_then_inc_repairs.txt, 
 results-500_inc_repairs_not_parallel.txt, test.sh


 There seems to be something weird going on when repairing data.
 I have a program that runs 2 hours which inserts 250 random numbers and reads 
 250 times per second. It creates 2 keyspaces with SimpleStrategy and RF of 3. 
 I use size-tiered compaction for my cluster. 
 After those 2 hours I run a repair and the load of all nodes goes up. If I 
 run incremental repair the load goes up alot more. I saw the load shoot up 8 
 times the original size multiple times with incremental repair. (from 2G to 
 16G)
 with node 9 8 7 and 6 the repro procedure looked like this:
 (Note that running full repair first is not a requirement to reproduce.)
 After 2 hours of 250 reads + 250 writes per second:
 UN  9  583.39 MB  256 ?   28220962-26ae-4eeb-8027-99f96e377406  rack1
 UN  8  584.01 MB  256 ?   f2de6ea1-de88-4056-8fde-42f9c476a090  rack1
 UN  7  583.72 MB  256 ?   2b6b5d66-13c8-43d8-855c-290c0f3c3a0b  rack1
 UN  6  583.84 MB  256 ?   b8bd67f1-a816-46ff-b4a4-136ad5af6d4b  rack1
 Repair -pr -par on all nodes sequentially
 UN  9  746.29 MB  256 ?   28220962-26ae-4eeb-8027-99f96e377406  rack1
 UN  8  751.02 MB  256 ?   f2de6ea1-de88-4056-8fde-42f9c476a090  rack1
 UN  7  748.89 MB  256 ?   2b6b5d66-13c8-43d8-855c-290c0f3c3a0b  rack1
 UN  6  758.34 MB  256 ?   b8bd67f1-a816-46ff-b4a4-136ad5af6d4b  rack1
 repair -inc -par on all nodes sequentially
 UN  9  2.41 GB256 ?   28220962-26ae-4eeb-8027-99f96e377406  rack1
 UN  8  2.53 GB256 ?   f2de6ea1-de88-4056-8fde-42f9c476a090  rack1
 UN  7  2.6 GB 256 ?   2b6b5d66-13c8-43d8-855c-290c0f3c3a0b  rack1
 UN  6  2.17 GB256 ?   b8bd67f1-a816-46ff-b4a4-136ad5af6d4b  rack1
 after rolling restart
 UN  9  1.47 GB   

[jira] [Commented] (CASSANDRA-8371) DateTieredCompactionStrategy is always compacting

2014-12-01 Thread Jonathan Shook (JIRA)

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

Jonathan Shook commented on CASSANDRA-8371:
---

I would be happy to submit a patch that normalized the format of the options, 
removing suffixes from the names and putting them into the values, but still 
honoring the current names with logger warnings. We can deprecate them at some 
point in the future.
I believe that many will be doing stress testing on this strategy, and nearly 
all at a high rate of ingesetion. The use of 0.00069 as a configuration 
option feels a bit strange. 1 minute feels right.

Comments?

 DateTieredCompactionStrategy is always compacting 
 --

 Key: CASSANDRA-8371
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8371
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: mck
Assignee: Björn Hegerfors
  Labels: compaction, performance
 Attachments: java_gc_counts_rate-month.png, 
 read-latency-recommenders-adview.png, read-latency.png, 
 sstables-recommenders-adviews.png, sstables.png, vg2_iad-month.png


 Running 2.0.11 and having switched a table to 
 [DTCS|https://issues.apache.org/jira/browse/CASSANDRA-6602] we've seen that 
 disk IO and gc count increase, along with the number of reads happening in 
 the compaction hump of cfhistograms.
 Data, and generally performance, looks good, but compactions are always 
 happening, and pending compactions are building up.
 The schema for this is 
 {code}CREATE TABLE search (
   loginid text,
   searchid timeuuid,
   description text,
   searchkey text,
   searchurl text,
   PRIMARY KEY ((loginid), searchid)
 );{code}
 We're sitting on about 82G (per replica) across 6 nodes in 4 DCs.
 CQL executed against this keyspace, and traffic patterns, can be seen in 
 slides 7+8 of https://prezi.com/b9-aj6p2esft/
 Attached are sstables-per-read and read-latency graphs from cfhistograms, and 
 screenshots of our munin graphs as we have gone from STCS, to LCS (week ~44), 
 to DTCS (week ~46).
 These screenshots are also found in the prezi on slides 9-11.
 [~pmcfadin], [~Bj0rn], 
 Can this be a consequence of occasional deleted rows, as is described under 
 (3) in the description of CASSANDRA-6602 ?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (CASSANDRA-8399) Reference Counter exception when dropping user type

2014-12-01 Thread Philip Thompson (JIRA)
Philip Thompson created CASSANDRA-8399:
--

 Summary: Reference Counter exception when dropping user type
 Key: CASSANDRA-8399
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8399
 Project: Cassandra
  Issue Type: Bug
Reporter: Philip Thompson
Assignee: Marcus Eriksson
 Fix For: 2.1.3
 Attachments: node2.log

When running the dtest 
{{user_types_test.py:TestUserTypes.test_type_keyspace_permission_isolation}} 
with the current 2.1-HEAD code, very frequently, but not always, when dropping 
a type, the following exception is seen:{code}
ERROR [MigrationStage:1] 2014-12-01 13:54:54,824 CassandraDaemon.java:170 - 
Exception in thread Thread[MigrationStage:1,5,main]
java.lang.AssertionError: Reference counter -1 for 
/var/folders/v3/z4wf_34n1q506_xjdy49gb78gn/T/dtest-eW2RXj/test/node2/data/system/schema_keyspaces-b0f2235744583cdb9631c43e59ce3676/system-sche
ma_keyspaces-ka-14-Data.db
at 
org.apache.cassandra.io.sstable.SSTableReader.releaseReference(SSTableReader.java:1662)
 ~[main/:na]
at 
org.apache.cassandra.io.sstable.SSTableScanner.close(SSTableScanner.java:164) 
~[main/:na]
at 
org.apache.cassandra.utils.MergeIterator.close(MergeIterator.java:62) 
~[main/:na]
at 
org.apache.cassandra.db.ColumnFamilyStore$8.close(ColumnFamilyStore.java:1943) 
~[main/:na]
at 
org.apache.cassandra.db.ColumnFamilyStore.filter(ColumnFamilyStore.java:2116) 
~[main/:na]
at 
org.apache.cassandra.db.ColumnFamilyStore.getRangeSlice(ColumnFamilyStore.java:2029)
 ~[main/:na]
at 
org.apache.cassandra.db.ColumnFamilyStore.getRangeSlice(ColumnFamilyStore.java:1963)
 ~[main/:na]
at 
org.apache.cassandra.db.SystemKeyspace.serializedSchema(SystemKeyspace.java:744)
 ~[main/:na]
at 
org.apache.cassandra.db.SystemKeyspace.serializedSchema(SystemKeyspace.java:731)
 ~[main/:na]
at org.apache.cassandra.config.Schema.updateVersion(Schema.java:374) 
~[main/:na]
at 
org.apache.cassandra.config.Schema.updateVersionAndAnnounce(Schema.java:399) 
~[main/:na]
at org.apache.cassandra.db.DefsTables.mergeSchema(DefsTables.java:167) 
~[main/:na]
at 
org.apache.cassandra.db.DefinitionsUpdateVerbHandler$1.runMayThrow(DefinitionsUpdateVerbHandler.java:49)
 ~[main/:na]
at 
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
~[main/:na]
at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
~[na:1.7.0_67]
at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
~[na:1.7.0_67]
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
~[na:1.7.0_67]
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
[na:1.7.0_67]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_67]{code}

Log of the node with the error is attached.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8371) DateTieredCompactionStrategy is always compacting

2014-12-01 Thread Jonathan Shook (JIRA)

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

Jonathan Shook commented on CASSANDRA-8371:
---

Also, using a different field allows us to require a proper time unit suffix, 
so the more uniform field names could throw a validation exception with a 
helpful message.

 DateTieredCompactionStrategy is always compacting 
 --

 Key: CASSANDRA-8371
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8371
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: mck
Assignee: Björn Hegerfors
  Labels: compaction, performance
 Attachments: java_gc_counts_rate-month.png, 
 read-latency-recommenders-adview.png, read-latency.png, 
 sstables-recommenders-adviews.png, sstables.png, vg2_iad-month.png


 Running 2.0.11 and having switched a table to 
 [DTCS|https://issues.apache.org/jira/browse/CASSANDRA-6602] we've seen that 
 disk IO and gc count increase, along with the number of reads happening in 
 the compaction hump of cfhistograms.
 Data, and generally performance, looks good, but compactions are always 
 happening, and pending compactions are building up.
 The schema for this is 
 {code}CREATE TABLE search (
   loginid text,
   searchid timeuuid,
   description text,
   searchkey text,
   searchurl text,
   PRIMARY KEY ((loginid), searchid)
 );{code}
 We're sitting on about 82G (per replica) across 6 nodes in 4 DCs.
 CQL executed against this keyspace, and traffic patterns, can be seen in 
 slides 7+8 of https://prezi.com/b9-aj6p2esft/
 Attached are sstables-per-read and read-latency graphs from cfhistograms, and 
 screenshots of our munin graphs as we have gone from STCS, to LCS (week ~44), 
 to DTCS (week ~46).
 These screenshots are also found in the prezi on slides 9-11.
 [~pmcfadin], [~Bj0rn], 
 Can this be a consequence of occasional deleted rows, as is described under 
 (3) in the description of CASSANDRA-6602 ?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-6976) Determining replicas to query is very slow with large numbers of nodes or vnodes

2014-12-01 Thread Ariel Weisberg (JIRA)

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

Ariel Weisberg commented on CASSANDRA-6976:
---

bq. Sure it does - if an action that is likely memory bound (like this one - 
after all, i
The entire thing runs in 60 milliseconds with 2000 tokens. That is 2x the time 
to warm up the cache (assuming a correct number for warmup). So warming up the 
cache is definitely impacting the numbers, but not changing it from 100s of 
milliseconds to 10s. Tack on the time  to warm up the last level cache to the 
current time and still the same order of magnitude. We could do the cache 
optimization thing and then find out that in practice the cache is not 
beneficial anyways.

bq. For a lookup (i.e. small) table query, or a range query that can be 
serviced entirely by the local node, it is quite unlikely that the fetching 
would dominate when talking about timescales = 1ms.
Range queries are slow because they produce a lot of ranges. That means 
contacting a lot of nodes. The cost of getRestrictedRanges is proportional to 
the cost of getRangeSlice, but still a small part of overall execution time.

If the lookup table really only needed to contact one node getRestrictedRanges 
wouldn't run for long and would return a small set of ranges right?

bq. Like I said, please do feel to drop this particular line of enquiry for the 
moment, ...
What your describing is that it's bad in production we just don't see it in 
test. I don't see a reason to drop it just because the ticket got caught up in 
implementation details and not the user facing issue we want to address.  
[~jbellis]?

bq. In the meantime it might be worth having a simple short-circuit path for 
queries that may be answered by the local node only, though.
What queries could identify that this shortcut is possible? By nature those 
queries would only hit one local node if they didn't cover a lot of ranges in 
which case all the problem code we are discussing runs relatively fast 
(compared to its worst case).

 Determining replicas to query is very slow with large numbers of nodes or 
 vnodes
 

 Key: CASSANDRA-6976
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6976
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Benedict
Assignee: Ariel Weisberg
  Labels: performance
 Attachments: GetRestrictedRanges.java, jmh_output.txt, 
 jmh_output_murmur3.txt, make_jmh_work.patch


 As described in CASSANDRA-6906, this can be ~100ms for a relatively small 
 cluster with vnodes, which is longer than it will spend in transit on the 
 network. This should be much faster.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (CASSANDRA-8371) DateTieredCompactionStrategy is always compacting

2014-12-01 Thread Jonathan Shook (JIRA)

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

Jonathan Shook edited comment on CASSANDRA-8371 at 12/1/14 6:59 PM:


Also, using a different field allows us to require a proper time unit suffix, 
so the more uniform field names could throw a validation exception with a 
helpful message if it wasn't provided.


was (Author: jshook):
Also, using a different field allows us to require a proper time unit suffix, 
so the more uniform field names could throw a validation exception with a 
helpful message.

 DateTieredCompactionStrategy is always compacting 
 --

 Key: CASSANDRA-8371
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8371
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: mck
Assignee: Björn Hegerfors
  Labels: compaction, performance
 Attachments: java_gc_counts_rate-month.png, 
 read-latency-recommenders-adview.png, read-latency.png, 
 sstables-recommenders-adviews.png, sstables.png, vg2_iad-month.png


 Running 2.0.11 and having switched a table to 
 [DTCS|https://issues.apache.org/jira/browse/CASSANDRA-6602] we've seen that 
 disk IO and gc count increase, along with the number of reads happening in 
 the compaction hump of cfhistograms.
 Data, and generally performance, looks good, but compactions are always 
 happening, and pending compactions are building up.
 The schema for this is 
 {code}CREATE TABLE search (
   loginid text,
   searchid timeuuid,
   description text,
   searchkey text,
   searchurl text,
   PRIMARY KEY ((loginid), searchid)
 );{code}
 We're sitting on about 82G (per replica) across 6 nodes in 4 DCs.
 CQL executed against this keyspace, and traffic patterns, can be seen in 
 slides 7+8 of https://prezi.com/b9-aj6p2esft/
 Attached are sstables-per-read and read-latency graphs from cfhistograms, and 
 screenshots of our munin graphs as we have gone from STCS, to LCS (week ~44), 
 to DTCS (week ~46).
 These screenshots are also found in the prezi on slides 9-11.
 [~pmcfadin], [~Bj0rn], 
 Can this be a consequence of occasional deleted rows, as is described under 
 (3) in the description of CASSANDRA-6602 ?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-8399) Reference Counter exception when dropping user type

2014-12-01 Thread Philip Thompson (JIRA)

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

Philip Thompson updated CASSANDRA-8399:
---
Since Version: 2.1.3

I'm not finished with the git bisect yet, but I cannot reproduce this on 2.1.2

 Reference Counter exception when dropping user type
 ---

 Key: CASSANDRA-8399
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8399
 Project: Cassandra
  Issue Type: Bug
Reporter: Philip Thompson
Assignee: Marcus Eriksson
 Fix For: 2.1.3

 Attachments: node2.log


 When running the dtest 
 {{user_types_test.py:TestUserTypes.test_type_keyspace_permission_isolation}} 
 with the current 2.1-HEAD code, very frequently, but not always, when 
 dropping a type, the following exception is seen:{code}
 ERROR [MigrationStage:1] 2014-12-01 13:54:54,824 CassandraDaemon.java:170 - 
 Exception in thread Thread[MigrationStage:1,5,main]
 java.lang.AssertionError: Reference counter -1 for 
 /var/folders/v3/z4wf_34n1q506_xjdy49gb78gn/T/dtest-eW2RXj/test/node2/data/system/schema_keyspaces-b0f2235744583cdb9631c43e59ce3676/system-sche
 ma_keyspaces-ka-14-Data.db
 at 
 org.apache.cassandra.io.sstable.SSTableReader.releaseReference(SSTableReader.java:1662)
  ~[main/:na]
 at 
 org.apache.cassandra.io.sstable.SSTableScanner.close(SSTableScanner.java:164) 
 ~[main/:na]
 at 
 org.apache.cassandra.utils.MergeIterator.close(MergeIterator.java:62) 
 ~[main/:na]
 at 
 org.apache.cassandra.db.ColumnFamilyStore$8.close(ColumnFamilyStore.java:1943)
  ~[main/:na]
 at 
 org.apache.cassandra.db.ColumnFamilyStore.filter(ColumnFamilyStore.java:2116) 
 ~[main/:na]
 at 
 org.apache.cassandra.db.ColumnFamilyStore.getRangeSlice(ColumnFamilyStore.java:2029)
  ~[main/:na]
 at 
 org.apache.cassandra.db.ColumnFamilyStore.getRangeSlice(ColumnFamilyStore.java:1963)
  ~[main/:na]
 at 
 org.apache.cassandra.db.SystemKeyspace.serializedSchema(SystemKeyspace.java:744)
  ~[main/:na]
 at 
 org.apache.cassandra.db.SystemKeyspace.serializedSchema(SystemKeyspace.java:731)
  ~[main/:na]
 at org.apache.cassandra.config.Schema.updateVersion(Schema.java:374) 
 ~[main/:na]
 at 
 org.apache.cassandra.config.Schema.updateVersionAndAnnounce(Schema.java:399) 
 ~[main/:na]
 at 
 org.apache.cassandra.db.DefsTables.mergeSchema(DefsTables.java:167) 
 ~[main/:na]
 at 
 org.apache.cassandra.db.DefinitionsUpdateVerbHandler$1.runMayThrow(DefinitionsUpdateVerbHandler.java:49)
  ~[main/:na]
 at 
 org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
 ~[main/:na]
 at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
 ~[na:1.7.0_67]
 at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
 ~[na:1.7.0_67]
 at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  ~[na:1.7.0_67]
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  [na:1.7.0_67]
 at java.lang.Thread.run(Thread.java:745) [na:1.7.0_67]{code}
 Log of the node with the error is attached.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8371) DateTieredCompactionStrategy is always compacting

2014-12-01 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-8371:
--

You can't view this in isolation from other parameter names used in different 
places in Cassandra. Whatever you introduce should be consistent with 
everything else.

And we don't do that ('1 minute') anywhere. We provide an option with the 
minimally useful granularity and use that.

FWIW I'm also fine with fractional days - we can switch to that since the 
options are a text-text map.

 DateTieredCompactionStrategy is always compacting 
 --

 Key: CASSANDRA-8371
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8371
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: mck
Assignee: Björn Hegerfors
  Labels: compaction, performance
 Attachments: java_gc_counts_rate-month.png, 
 read-latency-recommenders-adview.png, read-latency.png, 
 sstables-recommenders-adviews.png, sstables.png, vg2_iad-month.png


 Running 2.0.11 and having switched a table to 
 [DTCS|https://issues.apache.org/jira/browse/CASSANDRA-6602] we've seen that 
 disk IO and gc count increase, along with the number of reads happening in 
 the compaction hump of cfhistograms.
 Data, and generally performance, looks good, but compactions are always 
 happening, and pending compactions are building up.
 The schema for this is 
 {code}CREATE TABLE search (
   loginid text,
   searchid timeuuid,
   description text,
   searchkey text,
   searchurl text,
   PRIMARY KEY ((loginid), searchid)
 );{code}
 We're sitting on about 82G (per replica) across 6 nodes in 4 DCs.
 CQL executed against this keyspace, and traffic patterns, can be seen in 
 slides 7+8 of https://prezi.com/b9-aj6p2esft/
 Attached are sstables-per-read and read-latency graphs from cfhistograms, and 
 screenshots of our munin graphs as we have gone from STCS, to LCS (week ~44), 
 to DTCS (week ~46).
 These screenshots are also found in the prezi on slides 9-11.
 [~pmcfadin], [~Bj0rn], 
 Can this be a consequence of occasional deleted rows, as is described under 
 (3) in the description of CASSANDRA-6602 ?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (CASSANDRA-6976) Determining replicas to query is very slow with large numbers of nodes or vnodes

2014-12-01 Thread Ariel Weisberg (JIRA)

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

Ariel Weisberg edited comment on CASSANDRA-6976 at 12/1/14 7:08 PM:


bq. Sure it does - if an action that is likely memory bound (like this one - 
after all, i
The entire thing runs in 60 milliseconds with 2000 tokens. That is 2x the time 
to warm up the cache (assuming a correct number for warmup). So warming up the 
cache is definitely impacting the numbers, but not changing it from 100s of 
milliseconds to 10s. Tack on the time  to warm up the last level cache to the 
current time and still the same order of magnitude.

bq. For a lookup (i.e. small) table query, or a range query that can be 
serviced entirely by the local node, it is quite unlikely that the fetching 
would dominate when talking about timescales = 1ms.
Range queries are slow because they produce a lot of ranges. That means 
contacting a lot of nodes. The cost of getRestrictedRanges is proportional to 
the cost of getRangeSlice, but still a small part of overall execution time.

If the lookup table really only needed to contact one node getRestrictedRanges 
wouldn't run for long and would return a small set of ranges right?

bq. Like I said, please do feel to drop this particular line of enquiry for the 
moment, ...
What your describing is that it's bad in production we just don't see it in 
test. I don't see a reason to drop it just because the ticket got caught up in 
implementation details and not the user facing issue we want to address.  
[~jbellis]?

bq. In the meantime it might be worth having a simple short-circuit path for 
queries that may be answered by the local node only, though.
What queries could identify that this shortcut is possible? By nature those 
queries would only hit one local node if they didn't cover a lot of ranges in 
which case all the problem code we are discussing runs relatively fast 
(compared to its worst case).


was (Author: aweisberg):
bq. Sure it does - if an action that is likely memory bound (like this one - 
after all, i
The entire thing runs in 60 milliseconds with 2000 tokens. That is 2x the time 
to warm up the cache (assuming a correct number for warmup). So warming up the 
cache is definitely impacting the numbers, but not changing it from 100s of 
milliseconds to 10s. Tack on the time  to warm up the last level cache to the 
current time and still the same order of magnitude. We could do the cache 
optimization thing and then find out that in practice the cache is not 
beneficial anyways.

bq. For a lookup (i.e. small) table query, or a range query that can be 
serviced entirely by the local node, it is quite unlikely that the fetching 
would dominate when talking about timescales = 1ms.
Range queries are slow because they produce a lot of ranges. That means 
contacting a lot of nodes. The cost of getRestrictedRanges is proportional to 
the cost of getRangeSlice, but still a small part of overall execution time.

If the lookup table really only needed to contact one node getRestrictedRanges 
wouldn't run for long and would return a small set of ranges right?

bq. Like I said, please do feel to drop this particular line of enquiry for the 
moment, ...
What your describing is that it's bad in production we just don't see it in 
test. I don't see a reason to drop it just because the ticket got caught up in 
implementation details and not the user facing issue we want to address.  
[~jbellis]?

bq. In the meantime it might be worth having a simple short-circuit path for 
queries that may be answered by the local node only, though.
What queries could identify that this shortcut is possible? By nature those 
queries would only hit one local node if they didn't cover a lot of ranges in 
which case all the problem code we are discussing runs relatively fast 
(compared to its worst case).

 Determining replicas to query is very slow with large numbers of nodes or 
 vnodes
 

 Key: CASSANDRA-6976
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6976
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Benedict
Assignee: Ariel Weisberg
  Labels: performance
 Attachments: GetRestrictedRanges.java, jmh_output.txt, 
 jmh_output_murmur3.txt, make_jmh_work.patch


 As described in CASSANDRA-6906, this can be ~100ms for a relatively small 
 cluster with vnodes, which is longer than it will spend in transit on the 
 network. This should be much faster.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8316) Did not get positive replies from all endpoints error on incremental repair

2014-12-01 Thread Alan Boudreault (JIRA)

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

Alan Boudreault commented on CASSANDRA-8316:


This issue seems to be effectively critical. I reproduced the issues on all inc 
repairs while working on CASSANDRA-8366 and have seen very inconsistent results 
in storage size.

  Did not get positive replies from all endpoints error on incremental repair
 --

 Key: CASSANDRA-8316
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8316
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: cassandra 2.1.2
Reporter: Loic Lambiel
Assignee: Alan Boudreault
 Fix For: 2.1.3

 Attachments: CassandraDaemon-2014-11-25-2.snapshot.tar.gz, test.sh


 Hi,
 I've got an issue with incremental repairs on our production 15 nodes 2.1.2 
 (new cluster, not yet loaded, RF=3)
 After having successfully performed an incremental repair (-par -inc) on 3 
 nodes, I started receiving Repair failed with error Did not get positive 
 replies from all endpoints. from nodetool on all remaining nodes :
 [2014-11-14 09:12:36,488] Starting repair command #3, repairing 108 ranges 
 for keyspace  (seq=false, full=false)
 [2014-11-14 09:12:47,919] Repair failed with error Did not get positive 
 replies from all endpoints.
 All the nodes are up and running and the local system log shows that the 
 repair commands got started and that's it.
 I've also noticed that soon after the repair, several nodes started having 
 more cpu load indefinitely without any particular reason (no tasks / queries, 
 nothing in the logs). I then restarted C* on these nodes and retried the 
 repair on several nodes, which were successful until facing the issue again.
 I tried to repro on our 3 nodes preproduction cluster without success
 It looks like I'm not the only one having this issue: 
 http://www.mail-archive.com/user%40cassandra.apache.org/msg39145.html
 Any idea?
 Thanks
 Loic



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[1/3] cassandra git commit: Damnit, Carl

2014-12-01 Thread brandonwilliams
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 642487143 - dd1dd8eb7
  refs/heads/trunk f5fa97819 - 986b7a603


Damnit, Carl


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

Branch: refs/heads/cassandra-2.1
Commit: dd1dd8eb76767d4d81feb3d5c35b78a12bb61162
Parents: 6424871
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Dec 1 13:17:15 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Dec 1 13:17:15 2014 -0600

--
 src/java/org/apache/cassandra/service/StorageService.java  | 5 +
 src/java/org/apache/cassandra/service/StorageServiceMBean.java | 3 +++
 src/java/org/apache/cassandra/tools/NodeProbe.java | 5 +
 3 files changed, 13 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd1dd8eb/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 19b4615..332fbe5 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -3567,6 +3567,11 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 return operationMode.toString();
 }
 
+public boolean isStarting()
+{
+return operationMode == Mode.STARTING;
+}
+
 public String getDrainProgress()
 {
 return String.format(Drained %s/%s ColumnFamilies, remainingCFs, 
totalCFs);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd1dd8eb/src/java/org/apache/cassandra/service/StorageServiceMBean.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageServiceMBean.java 
b/src/java/org/apache/cassandra/service/StorageServiceMBean.java
index e7d6f14..a661b97 100644
--- a/src/java/org/apache/cassandra/service/StorageServiceMBean.java
+++ b/src/java/org/apache/cassandra/service/StorageServiceMBean.java
@@ -365,6 +365,9 @@ public interface StorageServiceMBean extends 
NotificationEmitter
 /** get the operational mode (leaving, joining, normal, decommissioned, 
client) **/
 public String getOperationMode();
 
+/** Returns whether the storage service is starting or not */
+public boolean isStarting();
+
 /** get the progress of a drain operation */
 public String getDrainProgress();
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd1dd8eb/src/java/org/apache/cassandra/tools/NodeProbe.java
--
diff --git a/src/java/org/apache/cassandra/tools/NodeProbe.java 
b/src/java/org/apache/cassandra/tools/NodeProbe.java
index 38d0f74..9c9e93d 100644
--- a/src/java/org/apache/cassandra/tools/NodeProbe.java
+++ b/src/java/org/apache/cassandra/tools/NodeProbe.java
@@ -650,6 +650,11 @@ public class NodeProbe implements AutoCloseable
 return ssProxy.getOperationMode();
 }
 
+public boolean isStarting()
+{
+return ssProxy.isStarting();
+}
+
 public void truncate(String keyspaceName, String cfName)
 {
 try



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

2014-12-01 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/986b7a60
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/986b7a60
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/986b7a60

Branch: refs/heads/trunk
Commit: 986b7a6032938163a429a909065a060cd7cefd8c
Parents: f5fa978 dd1dd8e
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Dec 1 13:17:30 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Dec 1 13:17:30 2014 -0600

--
 src/java/org/apache/cassandra/service/StorageService.java  | 5 +
 src/java/org/apache/cassandra/service/StorageServiceMBean.java | 3 +++
 src/java/org/apache/cassandra/tools/NodeProbe.java | 5 +
 3 files changed, 13 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/986b7a60/src/java/org/apache/cassandra/service/StorageService.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/986b7a60/src/java/org/apache/cassandra/service/StorageServiceMBean.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/986b7a60/src/java/org/apache/cassandra/tools/NodeProbe.java
--



[2/3] cassandra git commit: Damnit, Carl

2014-12-01 Thread brandonwilliams
Damnit, Carl


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

Branch: refs/heads/trunk
Commit: dd1dd8eb76767d4d81feb3d5c35b78a12bb61162
Parents: 6424871
Author: Brandon Williams brandonwilli...@apache.org
Authored: Mon Dec 1 13:17:15 2014 -0600
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Mon Dec 1 13:17:15 2014 -0600

--
 src/java/org/apache/cassandra/service/StorageService.java  | 5 +
 src/java/org/apache/cassandra/service/StorageServiceMBean.java | 3 +++
 src/java/org/apache/cassandra/tools/NodeProbe.java | 5 +
 3 files changed, 13 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd1dd8eb/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 19b4615..332fbe5 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -3567,6 +3567,11 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 return operationMode.toString();
 }
 
+public boolean isStarting()
+{
+return operationMode == Mode.STARTING;
+}
+
 public String getDrainProgress()
 {
 return String.format(Drained %s/%s ColumnFamilies, remainingCFs, 
totalCFs);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd1dd8eb/src/java/org/apache/cassandra/service/StorageServiceMBean.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageServiceMBean.java 
b/src/java/org/apache/cassandra/service/StorageServiceMBean.java
index e7d6f14..a661b97 100644
--- a/src/java/org/apache/cassandra/service/StorageServiceMBean.java
+++ b/src/java/org/apache/cassandra/service/StorageServiceMBean.java
@@ -365,6 +365,9 @@ public interface StorageServiceMBean extends 
NotificationEmitter
 /** get the operational mode (leaving, joining, normal, decommissioned, 
client) **/
 public String getOperationMode();
 
+/** Returns whether the storage service is starting or not */
+public boolean isStarting();
+
 /** get the progress of a drain operation */
 public String getDrainProgress();
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd1dd8eb/src/java/org/apache/cassandra/tools/NodeProbe.java
--
diff --git a/src/java/org/apache/cassandra/tools/NodeProbe.java 
b/src/java/org/apache/cassandra/tools/NodeProbe.java
index 38d0f74..9c9e93d 100644
--- a/src/java/org/apache/cassandra/tools/NodeProbe.java
+++ b/src/java/org/apache/cassandra/tools/NodeProbe.java
@@ -650,6 +650,11 @@ public class NodeProbe implements AutoCloseable
 return ssProxy.getOperationMode();
 }
 
+public boolean isStarting()
+{
+return ssProxy.isStarting();
+}
+
 public void truncate(String keyspaceName, String cfName)
 {
 try



[jira] [Commented] (CASSANDRA-8390) The process cannot access the file because it is being used by another process

2014-12-01 Thread Joshua McKenzie (JIRA)

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

Joshua McKenzie commented on CASSANDRA-8390:


This might be due to mmap'ed index file access - Windows has some known issues 
with deleting files that have actively mmap'ed segments live in memory (see 
CASSANDRA-6993).  Given your data file deleted correctly and access violation 
hit on index, this is the first thing that jumps out to me.  If you see the 
following in your system.log:DiskAccessMode 'auto' determined to be mmap, 
indexAccessMode is mmap, adding the following to your conf\cassandra.yaml file 
might fix this:
disk_access_mode: standard

Please let me know if the above addresses this and I'll push for the 6993 
backport to make it into the next 2.X release.

 The process cannot access the file because it is being used by another process
 --

 Key: CASSANDRA-8390
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8390
 Project: Cassandra
  Issue Type: Bug
Reporter: Ilya Komolkin
Assignee: Joshua McKenzie

 21:46:27.810 [NonPeriodicTasks:1] ERROR o.a.c.service.CassandraDaemon - 
 Exception in thread Thread[NonPeriodicTasks:1,5,main]
 org.apache.cassandra.io.FSWriteError: java.nio.file.FileSystemException: 
 E:\Upsource_12391\data\cassandra\data\kernel\filechangehistory_t-a277b560764611e48c8e4915424c75fe\kernel-filechangehistory_t-ka-33-Index.db:
  The process cannot access the file because it is being used by another 
 process.
  
 at 
 org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:135) 
 ~[cassandra-all-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:121) 
 ~[cassandra-all-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.io.sstable.SSTable.delete(SSTable.java:113) 
 ~[cassandra-all-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.io.sstable.SSTableDeletingTask.run(SSTableDeletingTask.java:94)
  ~[cassandra-all-2.1.1.jar:2.1.1]
 at 
 org.apache.cassandra.io.sstable.SSTableReader$6.run(SSTableReader.java:664) 
 ~[cassandra-all-2.1.1.jar:2.1.1]
 at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
 ~[na:1.7.0_71]
 at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
 ~[na:1.7.0_71]
 at 
 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
  ~[na:1.7.0_71]
 at 
 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
  ~[na:1.7.0_71]
 at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  ~[na:1.7.0_71]
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  [na:1.7.0_71]
 at java.lang.Thread.run(Thread.java:745) [na:1.7.0_71]
 Caused by: java.nio.file.FileSystemException: 
 E:\Upsource_12391\data\cassandra\data\kernel\filechangehistory_t-a277b560764611e48c8e4915424c75fe\kernel-filechangehistory_t-ka-33-Index.db:
  The process cannot access the file because it is being used by another 
 process.
  
 at 
 sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:86) 
 ~[na:1.7.0_71]
 at 
 sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97) 
 ~[na:1.7.0_71]
 at 
 sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102) 
 ~[na:1.7.0_71]
 at 
 sun.nio.fs.WindowsFileSystemProvider.implDelete(WindowsFileSystemProvider.java:269)
  ~[na:1.7.0_71]
 at 
 sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103)
  ~[na:1.7.0_71]
 at java.nio.file.Files.delete(Files.java:1079) ~[na:1.7.0_71]
 at 
 org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:131) 
 ~[cassandra-all-2.1.1.jar:2.1.1]
 ... 11 common frames omitted



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-6976) Determining replicas to query is very slow with large numbers of nodes or vnodes

2014-12-01 Thread Benedict (JIRA)

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

Benedict commented on CASSANDRA-6976:
-

bq.  I don't see a reason to drop it just because the ticket got caught up in 
implementation details and not the user facing issue we want to address.

Well, given the test case that originally produced this concern almost 
certainly had the same methodology you had, I suspect you did indeed track down 
the problem to a non-warm JVM

bq. The entire thing runs in 60 milliseconds with 2000 tokens. That is 2x the 
time to warm up the cache (assuming a correct number for warmup). 

You're assuming that (1) the cache stays warm in normal operation and (2) that 
the warmup figures you have are for similar data distributions and (3) the 
warmup is simply a matter of presence in cache, rather than likelihood of 
eviction (4) all this behaviour has no negative impact outside of the method 
itself. But, like I said, I agree it won't likely make an order of magnitude 
difference by itself. Especially not with current state of C*.

bq. Range queries are slow because they produce a lot of ranges.

Did we determine that if the _result_ is a narrow range the performance is 
significantly faster? Because this stemmed from a situation where the entire 
contents were known to be node-local (because the data was local only, it 
wasn't actually distributed). I wouldn't be at all surprised if it was fine, 
given the likely cause you tracked down, but I don't think we actually 
demonstrated that?

bq. What queries could identify that this shortcut is possible?

I am referring here to the more general case of getLiveSortedEndpoints, which 
is used much more widely. But, like I said, I raised this largely because of a 
general bugging that this whole area of code has many inefficiencies, not 
because it is likely they really matter. The only thing actionable is that we 
*should* take steps to ensure our default (and common) test and benchmark 
configs more accurately represent real cluster configs because we simply do not 
exercise these codepaths right now from a performance perspective.

 Determining replicas to query is very slow with large numbers of nodes or 
 vnodes
 

 Key: CASSANDRA-6976
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6976
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Benedict
Assignee: Ariel Weisberg
  Labels: performance
 Attachments: GetRestrictedRanges.java, jmh_output.txt, 
 jmh_output_murmur3.txt, make_jmh_work.patch


 As described in CASSANDRA-6906, this can be ~100ms for a relatively small 
 cluster with vnodes, which is longer than it will spend in transit on the 
 network. This should be much faster.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8371) DateTieredCompactionStrategy is always compacting

2014-12-01 Thread Jonathan Shook (JIRA)

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

Jonathan Shook commented on CASSANDRA-8371:
---

If we are to hold to the idea of minimally useful granularity, then we haven't 
reached that point with DTCS yet. The only backwards-compatible change that 
provides something workable is in-fact inconsistent with the parameter 
conventions. That's the rub. I am advocating that we fix it in some useful way 
while it is still early, in order to avoid having to deal with 0.00069 and 
the like from now on. My suggestion for suffixes was just base on my own wishes 
for something that was consistent, obvious, and easy to use.

My assertion is essentially that sub 1 day max times will be more common than 
initially assumed.

Regarding repairs, I do not feel comfortable with the notion that the value has 
to always be high enough for repair to see it before the max age. There is no 
guarantee of that. If there is repair involvement, then it should be handled as 
orthogonally as possible. What bad things are we concerned about happening if 
repair has to supplement one of these files after the max age?


 DateTieredCompactionStrategy is always compacting 
 --

 Key: CASSANDRA-8371
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8371
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: mck
Assignee: Björn Hegerfors
  Labels: compaction, performance
 Attachments: java_gc_counts_rate-month.png, 
 read-latency-recommenders-adview.png, read-latency.png, 
 sstables-recommenders-adviews.png, sstables.png, vg2_iad-month.png


 Running 2.0.11 and having switched a table to 
 [DTCS|https://issues.apache.org/jira/browse/CASSANDRA-6602] we've seen that 
 disk IO and gc count increase, along with the number of reads happening in 
 the compaction hump of cfhistograms.
 Data, and generally performance, looks good, but compactions are always 
 happening, and pending compactions are building up.
 The schema for this is 
 {code}CREATE TABLE search (
   loginid text,
   searchid timeuuid,
   description text,
   searchkey text,
   searchurl text,
   PRIMARY KEY ((loginid), searchid)
 );{code}
 We're sitting on about 82G (per replica) across 6 nodes in 4 DCs.
 CQL executed against this keyspace, and traffic patterns, can be seen in 
 slides 7+8 of https://prezi.com/b9-aj6p2esft/
 Attached are sstables-per-read and read-latency graphs from cfhistograms, and 
 screenshots of our munin graphs as we have gone from STCS, to LCS (week ~44), 
 to DTCS (week ~46).
 These screenshots are also found in the prezi on slides 9-11.
 [~pmcfadin], [~Bj0rn], 
 Can this be a consequence of occasional deleted rows, as is described under 
 (3) in the description of CASSANDRA-6602 ?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


  1   2   >