[jira] [Comment Edited] (CASSANDRA-11137) JSON datetime formatting needs timezone

2016-02-08 Thread Ralf Steppacher (JIRA)

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

Ralf Steppacher edited comment on CASSANDRA-11137 at 2/9/16 7:48 AM:
-

My original issue was with the Java driver. I just used cqlsh to demonstrate 
the issue.

Personally I think that adding the timezone is the correct fix. Every datetime 
library will do the "right thing" if the information is included. 


was (Author: ralfsteppacher):
My original issue was with the Java driver. I just used cqlsh to demonstrate 
the issue. (The examples in the ticket description use two different table 
names but they should be the same table. I cannot edit the description.)

Personally I think that adding the timezone is the correct fix. Every datetime 
library will do the "right thing" if the information is included. 

> JSON datetime formatting needs timezone
> ---
>
> Key: CASSANDRA-11137
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11137
> Project: Cassandra
>  Issue Type: Improvement
>  Components: CQL
>Reporter: Stefania
>
> The JSON date time string representation lacks the timezone information:
> {code}
> cqlsh:events> select toJson(created_at) AS created_at from 
> event_by_user_timestamp ;
>  created_at
> ---
>  "2016-01-04 16:05:47.123"
> (1 rows)
> {code}
> vs.
> {code}
> cqlsh:events> select created_at FROM event_by_user_timestamp ;
>  created_at
> --
>  2016-01-04 15:05:47+
> (1 rows)
> cqlsh:events>
> {code}
> To make things even more complicated the JSON timestamp is not returned in 
> UTC.
> At the moment {{DateType}} picks this formatting string {{"-MM-dd 
> HH:mm:ss.SSS"}}. Shouldn't we somehow make this configurable by users or at a 
> minimum add the timezone?



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


[jira] [Commented] (CASSANDRA-11137) JSON datetime formatting needs timezone

2016-02-08 Thread Stefania (JIRA)

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

Stefania commented on CASSANDRA-11137:
--

bq. My original issue was with the Java driver. 

I suspect the Java driver simply prints the JSON string like cqlsh does so the 
fix is definitely in Cassandra.

bq. The examples in the ticket description use two different table names but 
they should be the same table. I cannot edit the description.

Description amended, thank you.

> JSON datetime formatting needs timezone
> ---
>
> Key: CASSANDRA-11137
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11137
> Project: Cassandra
>  Issue Type: Improvement
>  Components: CQL
>Reporter: Stefania
>
> The JSON date time string representation lacks the timezone information:
> {code}
> cqlsh:events> select toJson(created_at) AS created_at from 
> event_by_user_timestamp ;
>  created_at
> ---
>  "2016-01-04 16:05:47.123"
> (1 rows)
> {code}
> vs.
> {code}
> cqlsh:events> select created_at FROM event_by_user_timestamp ;
>  created_at
> --
>  2016-01-04 15:05:47+
> (1 rows)
> cqlsh:events>
> {code}
> To make things even more complicated the JSON timestamp is not returned in 
> UTC.
> At the moment {{DateType}} picks this formatting string {{"-MM-dd 
> HH:mm:ss.SSS"}}. Shouldn't we somehow make this configurable by users or at a 
> minimum add the timezone?



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


[jira] [Updated] (CASSANDRA-11138) cassandra-stress tool - clustering key values not distributed

2016-02-08 Thread Ralf Steppacher (JIRA)

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

Ralf Steppacher updated CASSANDRA-11138:

Description: 
I am trying to get the stress tool to generate random values for three 
clustering keys. I am trying to simulate collecting events per user id (text, 
partition key). Events have a session type (text), event type (text), and 
creation time (timestamp) (clustering keys, in that order). For testing 
purposes I ended up with the following column spec:

{noformat}
columnspec:
- name: created_at
  cluster: uniform(10..10)
- name: event_type
  size: uniform(5..10)
  population: uniform(1..30)
  cluster: uniform(1..30)
- name: session_type
  size: fixed(5)
  population: uniform(1..4)
  cluster: uniform(1..4)
- name: user_id
  size: fixed(15)
  population: uniform(1..100)
- name: message
  size: uniform(10..100)
  population: uniform(1..100B)
{noformat}

My expectation was that this would lead to anywhere between 10 and 1200 rows to 
be created per partition key. But it seems that exactly 10 rows are being 
created, with the {{created_at}} timestamp being the only variable that is 
assigned variable values (per partition key). The {{session_type}} and 
{{event_type}} variables are assigned fixed values. This is even the case if I 
set the cluster distribution to uniform(30..30) and uniform(4..4) respectively. 
With this setting I expected 1200 rows per partition key to be created, as 
announced when running the stress tool, but it is still 10.

{noformat}
[rsteppac@centos bin]$ ./cassandra-stress user profile=../batch_too_large.yaml 
ops\(insert=1\) -log level=verbose 
file=~/centos_eventy_patient_session_event_timestamp_insert_only.log -node 
10.211.55.8
…
Created schema. Sleeping 1s for propagation.
Generating batches with [1..1] partitions and [1..1] rows (of [1200..1200] 
total rows in the partitions)
Improvement over 4 threadCount: 19%
...
{noformat}

Sample of generated data:

{noformat}
cqlsh> select user_id, event_type, session_type, created_at from 
stresscql.batch_too_large LIMIT 30 ;

user_id | event_type   | session_type | created_at
-+--+--+--
  %\x7f\x03/.d29
{noformat}

If I remove the {{created_at}} clustering key, then the other two clustering 
keys are being assigned variable values per partition key.

  was:
I am trying to get the stress tool to generate random values for three 
clustering keys. I am trying to simulate collecting events per user id (text, 
partition key). Events have a session type (text), event type (text), and 
creation time (timestamp) (clustering keys, in that order). For testing 
purposes I ended up with the following column spec:

{noformat}
columnspec:
- name: created_at
  cluster: uniform(10..10)
- name: event_type
  size: uniform(5..10)
  population: uniform(1..30)
  cluster: uniform(1..30)
- name: session_type
  size: fixed(5)
  population: uniform(1..4)
  cluster: uniform(1..4)
- name: user_id
  size: fixed(15)
  population: uniform(1..100)
- name: message
  size: uniform(10..100)
  population: uniform(1..100B)
{noformat}

My expectation was that this would lead to anywhere between 10 and 1200 rows to 
be created per partition key. But it seems that exactly 10 rows are being 
created, with the {{created_at}} timestamp being the only variable that is 
assigned variable values (per partition key). The {{session_type}} and 
{{event_type}} variables are assigned fixed values. This is even the case if I 
set the cluster distribution to uniform(30..30) and uniform(4..4) respectively. 
With this setting I expected 1200 rows per partition key to be created, as 
announced when running the stress tool, but it is still 10.

{noformat}
[rsteppac@centos bin]$ ./cassandra-stress user profile=../batch_too_large.yaml 
ops\(insert=1\) -log level=verbose 
file=~/centos_eventy_patient_session_event_timestamp_insert_only.log -node 
10.211.55.8
…
Created schema. Sleeping 1s for propagation.
Generating batches with [1..1] partitions and [1..1] rows (of [1200..1200] 
total rows in the partitions)
Improvement over 4 threadCount: 19%
...
{noformat}

Sample of generated data:

{noformat}
cqlsh> select user_id, event_type, session_type, created_at from 
stresscql.batch_too_large LIMIT 30 ;

user_id | event_type   | session_type | created_at
-+--+--+--
  %\x7f\x03/.d29
{noformat}

If I remove the created_at clustering keys then the other two clustering keys 
are assigned variable values per partition key.


> cassandra-stress tool - clustering key values not distributed
> -
>
> Key: CASSANDRA-11138
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11138
> 

[jira] [Created] (CASSANDRA-11138) cassandra-stress tool - clustering key values not distributed

2016-02-08 Thread Ralf Steppacher (JIRA)
Ralf Steppacher created CASSANDRA-11138:
---

 Summary: cassandra-stress tool - clustering key values not 
distributed
 Key: CASSANDRA-11138
 URL: https://issues.apache.org/jira/browse/CASSANDRA-11138
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
 Environment: Cassandra 2.2.4, Centos 6.5, Java 8
Reporter: Ralf Steppacher


I am trying to get the stress tool to generate random values for three 
clustering keys. I am trying to simulate collecting events per user id (text, 
partition key). Events have a session type (text), event type (text), and 
creation time (timestamp) (clustering keys, in that order). For testing 
purposes I ended up with the following column spec:

{noformat}
columnspec:
- name: created_at
  cluster: uniform(10..10)
- name: event_type
  size: uniform(5..10)
  population: uniform(1..30)
  cluster: uniform(1..30)
- name: session_type
  size: fixed(5)
  population: uniform(1..4)
  cluster: uniform(1..4)
- name: user_id
  size: fixed(15)
  population: uniform(1..100)
- name: message
  size: uniform(10..100)
  population: uniform(1..100B)
{noformat}

My expectation was that this would lead to anywhere between 10 and 1200 rows to 
be created per partition key. But it seems that exactly 10 rows are being 
created, with the {{created_at}} timestamp being the only variable that is 
assigned variable values (per partition key). The {{session_type}} and 
{{event_type}} variables are assigned fixed values. This is even the case if I 
set the cluster distribution to uniform(30..30) and uniform(4..4) respectively. 
With this setting I expected 1200 rows per partition key to be created, as 
announced when running the stress tool, but it is still 10.

{noformat}
[rsteppac@centos bin]$ ./cassandra-stress user profile=../batch_too_large.yaml 
ops\(insert=1\) -log level=verbose 
file=~/centos_eventy_patient_session_event_timestamp_insert_only.log -node 
10.211.55.8
…
Created schema. Sleeping 1s for propagation.
Generating batches with [1..1] partitions and [1..1] rows (of [1200..1200] 
total rows in the partitions)
Improvement over 4 threadCount: 19%
...
{noformat}

Sample of generated data:

{noformat}
cqlsh> select user_id, event_type, session_type, created_at from 
stresscql.batch_too_large LIMIT 30 ;

user_id | event_type   | session_type | created_at
-+--+--+--
  %\x7f\x03/.d29
{noformat}

If I remove the created_at clustering keys then the other two clustering keys 
are assigned variable values per partition key.



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


[jira] [Updated] (CASSANDRA-11137) JSON datetime formatting needs timezone

2016-02-08 Thread Stefania (JIRA)

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

Stefania updated CASSANDRA-11137:
-
Description: 
The JSON date time string representation lacks the timezone information:

{code}
cqlsh:events> select toJson(created_at) AS created_at from 
event_by_user_timestamp ;

 created_at
---
 "2016-01-04 16:05:47.123"

(1 rows)
{code}

vs.

{code}
cqlsh:events> select created_at FROM event_by_user_timestamp ;

 created_at
--
 2016-01-04 15:05:47+

(1 rows)
cqlsh:events>
{code}

To make things even more complicated the JSON timestamp is not returned in UTC.

At the moment {{DateType}} picks this formatting string {{"-MM-dd 
HH:mm:ss.SSS"}}. Shouldn't we somehow make this configurable by users or at a 
minimum add the timezone?

  was:
The JSON date time string representation lacks the timezone information:

{code}
cqlsh:events> select toJson(created_at) AS created_at from 
event_by_patient_timestamp ;

 created_at
---
 "2016-01-04 16:05:47.123"

(1 rows)
{code}

vs.

{code}
cqlsh:events> select created_at FROM event_by_user_timestamp ;

 created_at
--
 2016-01-04 15:05:47+

(1 rows)
cqlsh:events>
{code}

To make things even more complicated the JSON timestamp is not returned in UTC.

At the moment {{DateType}} picks this formatting string {{"-MM-dd 
HH:mm:ss.SSS"}}. Shouldn't we somehow make this configurable by users or at a 
minimum add the timezone?


> JSON datetime formatting needs timezone
> ---
>
> Key: CASSANDRA-11137
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11137
> Project: Cassandra
>  Issue Type: Improvement
>  Components: CQL
>Reporter: Stefania
>
> The JSON date time string representation lacks the timezone information:
> {code}
> cqlsh:events> select toJson(created_at) AS created_at from 
> event_by_user_timestamp ;
>  created_at
> ---
>  "2016-01-04 16:05:47.123"
> (1 rows)
> {code}
> vs.
> {code}
> cqlsh:events> select created_at FROM event_by_user_timestamp ;
>  created_at
> --
>  2016-01-04 15:05:47+
> (1 rows)
> cqlsh:events>
> {code}
> To make things even more complicated the JSON timestamp is not returned in 
> UTC.
> At the moment {{DateType}} picks this formatting string {{"-MM-dd 
> HH:mm:ss.SSS"}}. Shouldn't we somehow make this configurable by users or at a 
> minimum add the timezone?



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


[jira] [Commented] (CASSANDRA-11137) JSON datetime formatting needs timezone

2016-02-08 Thread Ralf Steppacher (JIRA)

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

Ralf Steppacher commented on CASSANDRA-11137:
-

My original issue was with the Java driver. I just used cqlsh to demonstrate 
the issue. (The examples in the ticket description use two different table 
names but they should be the same table. I cannot edit the description.)

Personally I think that adding the timezone is the correct fix. Every datetime 
library will do the "right thing" if the information is included. 

> JSON datetime formatting needs timezone
> ---
>
> Key: CASSANDRA-11137
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11137
> Project: Cassandra
>  Issue Type: Improvement
>  Components: CQL
>Reporter: Stefania
>
> The JSON date time string representation lacks the timezone information:
> {code}
> cqlsh:events> select toJson(created_at) AS created_at from 
> event_by_patient_timestamp ;
>  created_at
> ---
>  "2016-01-04 16:05:47.123"
> (1 rows)
> {code}
> vs.
> {code}
> cqlsh:events> select created_at FROM event_by_user_timestamp ;
>  created_at
> --
>  2016-01-04 15:05:47+
> (1 rows)
> cqlsh:events>
> {code}
> To make things even more complicated the JSON timestamp is not returned in 
> UTC.
> At the moment {{DateType}} picks this formatting string {{"-MM-dd 
> HH:mm:ss.SSS"}}. Shouldn't we somehow make this configurable by users or at a 
> minimum add the timezone?



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


[12/14] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2016-02-08 Thread marcuse
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/cassandra-3.0
Commit: a598ebeef47e7affa9d59d0bb95abe71447eed5b
Parents: 0d30540 c08aaf6
Author: Marcus Eriksson 
Authored: Tue Feb 9 07:14:23 2016 +0100
Committer: Marcus Eriksson 
Committed: Tue Feb 9 07:15:40 2016 +0100

--
 CHANGES.txt| 1 +
 doc/cql3/CQL.textile   | 2 +-
 pylib/cqlshlib/cql3handling.py | 1 -
 .../db/compaction/DateTieredCompactionStrategyOptions.java | 6 ++
 4 files changed, 8 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a598ebee/CHANGES.txt
--
diff --cc CHANGES.txt
index c6111e5,fdd1122..4074c66
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -8,45 -4,10 +8,46 @@@ Merged from 2.2.6
  Merged from 2.1:
   * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
   * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
+  * Make it clear what DTCS timestamp_resolution is used for (CASSANDRA-11041)
 - * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
  
  
 +3.0.3
 + * Remove double initialization of newly added tables (CASSANDRA-11027)
 + * Filter keys searcher results by target range (CASSANDRA-11104)
 + * Fix deserialization of legacy read commands (CASSANDRA-11087)
 + * Fix incorrect computation of deletion time in sstable metadata 
(CASSANDRA-11102)
 + * Avoid memory leak when collecting sstable metadata (CASSANDRA-11026)
 + * Mutations do not block for completion under view lock contention 
(CASSANDRA-10779)
 + * Invalidate legacy schema tables when unloading them (CASSANDRA-11071)
 + * (cqlsh) handle INSERT and UPDATE statements with LWT conditions correctly
 +   (CASSANDRA-11003)
 + * Fix DISTINCT queries in mixed version clusters (CASSANDRA-10762)
 + * Migrate build status for indexes along with legacy schema (CASSANDRA-11046)
 + * Ensure SSTables for legacy KEYS indexes can be read (CASSANDRA-11045)
 + * Added support for IBM zSystems architecture (CASSANDRA-11054)
 + * Update CQL documentation (CASSANDRA-10899)
 + * Check the column name, not cell name, for dropped columns when reading
 +   legacy sstables (CASSANDRA-11018)
 + * Don't attempt to index clustering values of static rows (CASSANDRA-11021)
 + * Remove checksum files after replaying hints (CASSANDRA-10947)
 + * Support passing base table metadata to custom 2i validation 
(CASSANDRA-10924)
 + * Ensure stale index entries are purged during reads (CASSANDRA-11013)
 + * Fix AssertionError when removing from list using UPDATE (CASSANDRA-10954)
 + * Fix UnsupportedOperationException when reading old sstable with range
 +   tombstone (CASSANDRA-10743)
 + * MV should use the maximum timestamp of the primary key (CASSANDRA-10910)
 + * Fix potential assertion error during compaction (CASSANDRA-10944)
 + * Fix counting of received sstables in streaming (CASSANDRA-10949)
 + * Implement hints compression (CASSANDRA-9428)
 + * Fix potential assertion error when reading static columns (CASSANDRA-10903)
 + * Avoid NoSuchElementException when executing empty batch (CASSANDRA-10711)
 + * Avoid building PartitionUpdate in toString (CASSANDRA-10897)
 + * Reduce heap spent when receiving many SSTables (CASSANDRA-10797)
 + * Add back support for 3rd party auth providers to bulk loader 
(CASSANDRA-10873)
 + * Eliminate the dependency on jgrapht for UDT resolution (CASSANDRA-10653)
 + * (Hadoop) Close Clusters and Sessions in Hadoop Input/Output classes 
(CASSANDRA-10837)
 + * Fix sstableloader not working with upper case keyspace name 
(CASSANDRA-10806)
 +Merged from 2.2:
  2.2.5
   * maxPurgeableTimestamp needs to check memtables too (CASSANDRA-9949)
   * Apply change to compaction throughput in real time (CASSANDRA-10025)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a598ebee/doc/cql3/CQL.textile
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a598ebee/pylib/cqlshlib/cql3handling.py
--



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

2016-02-08 Thread marcuse
Merge branch 'cassandra-2.1' into cassandra-2.2


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

Branch: refs/heads/cassandra-2.2
Commit: c08aaf69b4bb62e2fe50342dfaa329dfd833ee1e
Parents: 029b22e 725b9b1
Author: Marcus Eriksson 
Authored: Tue Feb 9 07:14:00 2016 +0100
Committer: Marcus Eriksson 
Committed: Tue Feb 9 07:14:00 2016 +0100

--
 CHANGES.txt| 3 ++-
 doc/cql3/CQL.textile   | 2 +-
 pylib/cqlshlib/cql3handling.py | 1 -
 .../db/compaction/DateTieredCompactionStrategyOptions.java | 6 ++
 4 files changed, 9 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c08aaf69/CHANGES.txt
--
diff --cc CHANGES.txt
index 770c394,72b3d59..fdd1122
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,41 -1,11 +1,42 @@@
 -2.1.14
 - * Make it clear what DTCS timestamp_resolution is used for (CASSANDRA-11041)
 +2.2.6
 + * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)
 + * Fix paging on DISTINCT queries repeats result when first row in partition 
changes (CASSANDRA-10010)
 +Merged from 2.1:
   * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
   * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
++ * Make it clear what DTCS timestamp_resolution is used for (CASSANDRA-11041)
+  * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
  
  
 -2.1.13
 +2.2.5
 + * maxPurgeableTimestamp needs to check memtables too (CASSANDRA-9949)
 + * Apply change to compaction throughput in real time (CASSANDRA-10025)
 + * Fix potential NPE on ORDER BY queries with IN (CASSANDRA-10955)
 + * Avoid over-fetching during the page of range queries (CASSANDRA-8521)
 + * Start L0 STCS-compactions even if there is a L0 -> L1 compaction
 +   going (CASSANDRA-10979)
 + * Make UUID LSB unique per process (CASSANDRA-7925)
 + * Avoid NPE when performing sstable tasks (scrub etc.) (CASSANDRA-10980)
 + * Make sure client gets tombstone overwhelmed warning (CASSANDRA-9465)
 + * Fix error streaming section more than 2GB (CASSANDRA-10961)
 + * (cqlsh) Also apply --connect-timeout to control connection
 +   timeout (CASSANDRA-10959)
 + * Histogram buckets exposed in jmx are sorted incorrectly (CASSANDRA-10975)
 + * Enable GC logging by default (CASSANDRA-10140)
 + * Optimize pending range computation (CASSANDRA-9258)
 + * Skip commit log and saved cache directories in SSTable version startup 
check (CASSANDRA-10902)
 + * drop/alter user should be case sensitive (CASSANDRA-10817)
 + * jemalloc detection fails due to quoting issues in regexv (CASSANDRA-10946)
 + * Support counter-columns for native aggregates (sum,avg,max,min) 
(CASSANDRA-9977)
 + * (cqlsh) show correct column names for empty result sets (CASSANDRA-9813)
 + * Add new types to Stress (CASSANDRA-9556)
 + * Add property to allow listening on broadcast interface (CASSANDRA-9748)
 + * Fix regression in split size on CqlInputFormat (CASSANDRA-10835)
 + * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
 + * Disable reloading of GossipingPropertyFileSnitch (CASSANDRA-9474)
 + * Verify tables in pseudo-system keyspaces at startup (CASSANDRA-10761)
 + * (cqlsh) encode input correctly when saving history
 +Merged from 2.1:
-  * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
   * Fix isJoined return true only after becoming cluster member 
(CASANDRA-11007)
   * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
   * Avoid NPE when incremental repair fails (CASSANDRA-10909)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c08aaf69/doc/cql3/CQL.textile
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c08aaf69/pylib/cqlshlib/cql3handling.py
--



[03/14] cassandra git commit: Make it clear what timestamp_resolution is used for

2016-02-08 Thread marcuse
Make it clear what timestamp_resolution is used for

Patch by marcuse; reviewed by Jeff Jirsa for CASSANDRA-11041


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

Branch: refs/heads/cassandra-2.2
Commit: b8408f068bf2fc73f632d09239ba892a9835416f
Parents: 6fe70c6
Author: Marcus Eriksson 
Authored: Wed Jan 20 08:58:05 2016 +0100
Committer: Marcus Eriksson 
Committed: Tue Feb 9 07:08:22 2016 +0100

--
 CHANGES.txt| 1 +
 doc/cql3/CQL.textile   | 2 +-
 pylib/cqlshlib/cql3handling.py | 1 -
 .../db/compaction/DateTieredCompactionStrategyOptions.java | 6 ++
 4 files changed, 8 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8408f06/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 806e6d5..e5d6ff1 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.14
+ * Make it clear what DTCS timestamp_resolution is used for (CASSANDRA-11041)
  * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
 
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8408f06/doc/cql3/CQL.textile
--
diff --git a/doc/cql3/CQL.textile b/doc/cql3/CQL.textile
index 3b69fcc..812a75e 100644
--- a/doc/cql3/CQL.textile
+++ b/doc/cql3/CQL.textile
@@ -347,7 +347,7 @@ The @compaction@ property must at least define the 
@'class'@ sub-option, that de
 | @bucket_low@ | SizeTieredCompactionStrategy| 0.5 
 | Size tiered consider sstables to be within the same bucket if their size 
is within [average_size * @bucket_low@, average_size * @bucket_high@ ] (i.e the 
default groups sstable whose sizes diverges by at most 50%)|
 | @bucket_high@| SizeTieredCompactionStrategy| 1.5 
 | Size tiered consider sstables to be within the same bucket if their size 
is within [average_size * @bucket_low@, average_size * @bucket_high@ ] (i.e the 
default groups sstable whose sizes diverges by at most 50%).|
 | @sstable_size_in_mb@ | LeveledCompactionStrategy   | 5MB 
 | The target size (in MB) for sstables in the leveled strategy. Note that 
while sstable sizes should stay less or equal to @sstable_size_in_mb@, it is 
possible to exceptionally have a larger sstable as during compaction, data for 
a given partition key are never split into 2 sstables|
-| @timestamp_resolution@   | DateTieredCompactionStrategy| 
MICROSECONDS | The timestamp resolution used when inserting data, could be 
MILLISECONDS, MICROSECONDS etc (should be understandable by Java TimeUnit)|
+| @timestamp_resolution@   | DateTieredCompactionStrategy| 
MICROSECONDS | The timestamp resolution used when inserting data, could be 
MILLISECONDS, MICROSECONDS etc (should be understandable by Java TimeUnit) - 
don't change this unless you do mutations with USING TIMESTAMP 
 (or equivalent directly in the client)|
 | @base_time_seconds@  | DateTieredCompactionStrategy| 60  
 | The base size of the time windows. |
 | @max_sstable_age_days@   | DateTieredCompactionStrategy| 365 
 | SSTables only containing data that is older than this will never be 
compacted. |
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8408f06/pylib/cqlshlib/cql3handling.py
--
diff --git a/pylib/cqlshlib/cql3handling.py b/pylib/cqlshlib/cql3handling.py
index 38f118f..029e0c7 100644
--- a/pylib/cqlshlib/cql3handling.py
+++ b/pylib/cqlshlib/cql3handling.py
@@ -470,7 +470,6 @@ def cf_prop_val_mapkey_completer(ctxt, cass):
 elif csc == 'DateTieredCompactionStrategy':
 opts.add('base_time_seconds')
 opts.add('max_sstable_age_days')
-opts.add('timestamp_resolution')
 opts.add('min_threshold')
 opts.add('max_window_size_seconds')
 return map(escape_value, opts)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8408f06/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyOptions.java
--
diff --git 
a/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyOptions.java
 
b/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyOptions.java
index 5803115..78a0cab 100644
--- 
a/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionS

[11/14] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

2016-02-08 Thread marcuse
Merge branch 'cassandra-2.1' into cassandra-2.2


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

Branch: refs/heads/trunk
Commit: c08aaf69b4bb62e2fe50342dfaa329dfd833ee1e
Parents: 029b22e 725b9b1
Author: Marcus Eriksson 
Authored: Tue Feb 9 07:14:00 2016 +0100
Committer: Marcus Eriksson 
Committed: Tue Feb 9 07:14:00 2016 +0100

--
 CHANGES.txt| 3 ++-
 doc/cql3/CQL.textile   | 2 +-
 pylib/cqlshlib/cql3handling.py | 1 -
 .../db/compaction/DateTieredCompactionStrategyOptions.java | 6 ++
 4 files changed, 9 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c08aaf69/CHANGES.txt
--
diff --cc CHANGES.txt
index 770c394,72b3d59..fdd1122
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,41 -1,11 +1,42 @@@
 -2.1.14
 - * Make it clear what DTCS timestamp_resolution is used for (CASSANDRA-11041)
 +2.2.6
 + * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)
 + * Fix paging on DISTINCT queries repeats result when first row in partition 
changes (CASSANDRA-10010)
 +Merged from 2.1:
   * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
   * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
++ * Make it clear what DTCS timestamp_resolution is used for (CASSANDRA-11041)
+  * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
  
  
 -2.1.13
 +2.2.5
 + * maxPurgeableTimestamp needs to check memtables too (CASSANDRA-9949)
 + * Apply change to compaction throughput in real time (CASSANDRA-10025)
 + * Fix potential NPE on ORDER BY queries with IN (CASSANDRA-10955)
 + * Avoid over-fetching during the page of range queries (CASSANDRA-8521)
 + * Start L0 STCS-compactions even if there is a L0 -> L1 compaction
 +   going (CASSANDRA-10979)
 + * Make UUID LSB unique per process (CASSANDRA-7925)
 + * Avoid NPE when performing sstable tasks (scrub etc.) (CASSANDRA-10980)
 + * Make sure client gets tombstone overwhelmed warning (CASSANDRA-9465)
 + * Fix error streaming section more than 2GB (CASSANDRA-10961)
 + * (cqlsh) Also apply --connect-timeout to control connection
 +   timeout (CASSANDRA-10959)
 + * Histogram buckets exposed in jmx are sorted incorrectly (CASSANDRA-10975)
 + * Enable GC logging by default (CASSANDRA-10140)
 + * Optimize pending range computation (CASSANDRA-9258)
 + * Skip commit log and saved cache directories in SSTable version startup 
check (CASSANDRA-10902)
 + * drop/alter user should be case sensitive (CASSANDRA-10817)
 + * jemalloc detection fails due to quoting issues in regexv (CASSANDRA-10946)
 + * Support counter-columns for native aggregates (sum,avg,max,min) 
(CASSANDRA-9977)
 + * (cqlsh) show correct column names for empty result sets (CASSANDRA-9813)
 + * Add new types to Stress (CASSANDRA-9556)
 + * Add property to allow listening on broadcast interface (CASSANDRA-9748)
 + * Fix regression in split size on CqlInputFormat (CASSANDRA-10835)
 + * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
 + * Disable reloading of GossipingPropertyFileSnitch (CASSANDRA-9474)
 + * Verify tables in pseudo-system keyspaces at startup (CASSANDRA-10761)
 + * (cqlsh) encode input correctly when saving history
 +Merged from 2.1:
-  * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
   * Fix isJoined return true only after becoming cluster member 
(CASANDRA-11007)
   * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
   * Avoid NPE when incremental repair fails (CASSANDRA-10909)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c08aaf69/doc/cql3/CQL.textile
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c08aaf69/pylib/cqlshlib/cql3handling.py
--



[02/14] cassandra git commit: Make it clear what timestamp_resolution is used for

2016-02-08 Thread marcuse
Make it clear what timestamp_resolution is used for

Patch by marcuse; reviewed by Jeff Jirsa for CASSANDRA-11041


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

Branch: refs/heads/trunk
Commit: b8408f068bf2fc73f632d09239ba892a9835416f
Parents: 6fe70c6
Author: Marcus Eriksson 
Authored: Wed Jan 20 08:58:05 2016 +0100
Committer: Marcus Eriksson 
Committed: Tue Feb 9 07:08:22 2016 +0100

--
 CHANGES.txt| 1 +
 doc/cql3/CQL.textile   | 2 +-
 pylib/cqlshlib/cql3handling.py | 1 -
 .../db/compaction/DateTieredCompactionStrategyOptions.java | 6 ++
 4 files changed, 8 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8408f06/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 806e6d5..e5d6ff1 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.14
+ * Make it clear what DTCS timestamp_resolution is used for (CASSANDRA-11041)
  * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
 
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8408f06/doc/cql3/CQL.textile
--
diff --git a/doc/cql3/CQL.textile b/doc/cql3/CQL.textile
index 3b69fcc..812a75e 100644
--- a/doc/cql3/CQL.textile
+++ b/doc/cql3/CQL.textile
@@ -347,7 +347,7 @@ The @compaction@ property must at least define the 
@'class'@ sub-option, that de
 | @bucket_low@ | SizeTieredCompactionStrategy| 0.5 
 | Size tiered consider sstables to be within the same bucket if their size 
is within [average_size * @bucket_low@, average_size * @bucket_high@ ] (i.e the 
default groups sstable whose sizes diverges by at most 50%)|
 | @bucket_high@| SizeTieredCompactionStrategy| 1.5 
 | Size tiered consider sstables to be within the same bucket if their size 
is within [average_size * @bucket_low@, average_size * @bucket_high@ ] (i.e the 
default groups sstable whose sizes diverges by at most 50%).|
 | @sstable_size_in_mb@ | LeveledCompactionStrategy   | 5MB 
 | The target size (in MB) for sstables in the leveled strategy. Note that 
while sstable sizes should stay less or equal to @sstable_size_in_mb@, it is 
possible to exceptionally have a larger sstable as during compaction, data for 
a given partition key are never split into 2 sstables|
-| @timestamp_resolution@   | DateTieredCompactionStrategy| 
MICROSECONDS | The timestamp resolution used when inserting data, could be 
MILLISECONDS, MICROSECONDS etc (should be understandable by Java TimeUnit)|
+| @timestamp_resolution@   | DateTieredCompactionStrategy| 
MICROSECONDS | The timestamp resolution used when inserting data, could be 
MILLISECONDS, MICROSECONDS etc (should be understandable by Java TimeUnit) - 
don't change this unless you do mutations with USING TIMESTAMP 
 (or equivalent directly in the client)|
 | @base_time_seconds@  | DateTieredCompactionStrategy| 60  
 | The base size of the time windows. |
 | @max_sstable_age_days@   | DateTieredCompactionStrategy| 365 
 | SSTables only containing data that is older than this will never be 
compacted. |
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8408f06/pylib/cqlshlib/cql3handling.py
--
diff --git a/pylib/cqlshlib/cql3handling.py b/pylib/cqlshlib/cql3handling.py
index 38f118f..029e0c7 100644
--- a/pylib/cqlshlib/cql3handling.py
+++ b/pylib/cqlshlib/cql3handling.py
@@ -470,7 +470,6 @@ def cf_prop_val_mapkey_completer(ctxt, cass):
 elif csc == 'DateTieredCompactionStrategy':
 opts.add('base_time_seconds')
 opts.add('max_sstable_age_days')
-opts.add('timestamp_resolution')
 opts.add('min_threshold')
 opts.add('max_window_size_seconds')
 return map(escape_value, opts)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8408f06/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyOptions.java
--
diff --git 
a/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyOptions.java
 
b/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyOptions.java
index 5803115..78a0cab 100644
--- 
a/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyO

[04/14] cassandra git commit: Make it clear what timestamp_resolution is used for

2016-02-08 Thread marcuse
Make it clear what timestamp_resolution is used for

Patch by marcuse; reviewed by Jeff Jirsa for CASSANDRA-11041


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

Branch: refs/heads/cassandra-3.0
Commit: b8408f068bf2fc73f632d09239ba892a9835416f
Parents: 6fe70c6
Author: Marcus Eriksson 
Authored: Wed Jan 20 08:58:05 2016 +0100
Committer: Marcus Eriksson 
Committed: Tue Feb 9 07:08:22 2016 +0100

--
 CHANGES.txt| 1 +
 doc/cql3/CQL.textile   | 2 +-
 pylib/cqlshlib/cql3handling.py | 1 -
 .../db/compaction/DateTieredCompactionStrategyOptions.java | 6 ++
 4 files changed, 8 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8408f06/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 806e6d5..e5d6ff1 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.14
+ * Make it clear what DTCS timestamp_resolution is used for (CASSANDRA-11041)
  * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
 
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8408f06/doc/cql3/CQL.textile
--
diff --git a/doc/cql3/CQL.textile b/doc/cql3/CQL.textile
index 3b69fcc..812a75e 100644
--- a/doc/cql3/CQL.textile
+++ b/doc/cql3/CQL.textile
@@ -347,7 +347,7 @@ The @compaction@ property must at least define the 
@'class'@ sub-option, that de
 | @bucket_low@ | SizeTieredCompactionStrategy| 0.5 
 | Size tiered consider sstables to be within the same bucket if their size 
is within [average_size * @bucket_low@, average_size * @bucket_high@ ] (i.e the 
default groups sstable whose sizes diverges by at most 50%)|
 | @bucket_high@| SizeTieredCompactionStrategy| 1.5 
 | Size tiered consider sstables to be within the same bucket if their size 
is within [average_size * @bucket_low@, average_size * @bucket_high@ ] (i.e the 
default groups sstable whose sizes diverges by at most 50%).|
 | @sstable_size_in_mb@ | LeveledCompactionStrategy   | 5MB 
 | The target size (in MB) for sstables in the leveled strategy. Note that 
while sstable sizes should stay less or equal to @sstable_size_in_mb@, it is 
possible to exceptionally have a larger sstable as during compaction, data for 
a given partition key are never split into 2 sstables|
-| @timestamp_resolution@   | DateTieredCompactionStrategy| 
MICROSECONDS | The timestamp resolution used when inserting data, could be 
MILLISECONDS, MICROSECONDS etc (should be understandable by Java TimeUnit)|
+| @timestamp_resolution@   | DateTieredCompactionStrategy| 
MICROSECONDS | The timestamp resolution used when inserting data, could be 
MILLISECONDS, MICROSECONDS etc (should be understandable by Java TimeUnit) - 
don't change this unless you do mutations with USING TIMESTAMP 
 (or equivalent directly in the client)|
 | @base_time_seconds@  | DateTieredCompactionStrategy| 60  
 | The base size of the time windows. |
 | @max_sstable_age_days@   | DateTieredCompactionStrategy| 365 
 | SSTables only containing data that is older than this will never be 
compacted. |
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8408f06/pylib/cqlshlib/cql3handling.py
--
diff --git a/pylib/cqlshlib/cql3handling.py b/pylib/cqlshlib/cql3handling.py
index 38f118f..029e0c7 100644
--- a/pylib/cqlshlib/cql3handling.py
+++ b/pylib/cqlshlib/cql3handling.py
@@ -470,7 +470,6 @@ def cf_prop_val_mapkey_completer(ctxt, cass):
 elif csc == 'DateTieredCompactionStrategy':
 opts.add('base_time_seconds')
 opts.add('max_sstable_age_days')
-opts.add('timestamp_resolution')
 opts.add('min_threshold')
 opts.add('max_window_size_seconds')
 return map(escape_value, opts)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8408f06/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyOptions.java
--
diff --git 
a/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyOptions.java
 
b/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyOptions.java
index 5803115..78a0cab 100644
--- 
a/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionS

[08/14] cassandra git commit: fix CHANGES.txt after 2.1.13 release

2016-02-08 Thread marcuse
fix CHANGES.txt after 2.1.13 release


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

Branch: refs/heads/cassandra-3.0
Commit: 725b9b1f7f16ff8ad8e77ad0f7679d39bc7f05b2
Parents: b8408f0
Author: Marcus Eriksson 
Authored: Tue Feb 9 07:09:54 2016 +0100
Committer: Marcus Eriksson 
Committed: Tue Feb 9 07:09:54 2016 +0100

--
 CHANGES.txt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/725b9b1f/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index e5d6ff1..72b3d59 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,11 +1,11 @@
 2.1.14
  * Make it clear what DTCS timestamp_resolution is used for (CASSANDRA-11041)
  * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
+ * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
+ * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
 
 
 2.1.13
- * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
- * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
  * Fix isJoined return true only after becoming cluster member (CASANDRA-11007)
  * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
  * Avoid NPE when incremental repair fails (CASSANDRA-10909)



[14/14] cassandra git commit: Merge branch 'cassandra-3.0' into trunk

2016-02-08 Thread marcuse
Merge branch 'cassandra-3.0' into trunk


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

Branch: refs/heads/trunk
Commit: 9adc6d82097e30bc25f218a65ed71f36d3cf0dab
Parents: c227b92 a598ebe
Author: Marcus Eriksson 
Authored: Tue Feb 9 07:16:00 2016 +0100
Committer: Marcus Eriksson 
Committed: Tue Feb 9 07:16:00 2016 +0100

--
 CHANGES.txt| 1 +
 doc/cql3/CQL.textile   | 2 +-
 pylib/cqlshlib/cql3handling.py | 1 -
 .../db/compaction/DateTieredCompactionStrategyOptions.java | 6 ++
 4 files changed, 8 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9adc6d82/CHANGES.txt
--
diff --cc CHANGES.txt
index 86996d9,4074c66..f2e37a5
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -24,13 -8,10 +24,14 @@@ Merged from 2.2.6
  Merged from 2.1:
   * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
   * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
+  * Make it clear what DTCS timestamp_resolution is used for (CASSANDRA-11041)
  
  
 -3.0.3
 +3.3
 + * Avoid infinite loop if owned range is smaller than number of
 +   data dirs (CASSANDRA-11034)
 + * Avoid bootstrap hanging when existing nodes have no data to stream 
(CASSANDRA-11010)
 +Merged from 3.0:
   * Remove double initialization of newly added tables (CASSANDRA-11027)
   * Filter keys searcher results by target range (CASSANDRA-11104)
   * Fix deserialization of legacy read commands (CASSANDRA-11087)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9adc6d82/doc/cql3/CQL.textile
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9adc6d82/pylib/cqlshlib/cql3handling.py
--



[09/14] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

2016-02-08 Thread marcuse
Merge branch 'cassandra-2.1' into cassandra-2.2


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

Branch: refs/heads/cassandra-3.0
Commit: c08aaf69b4bb62e2fe50342dfaa329dfd833ee1e
Parents: 029b22e 725b9b1
Author: Marcus Eriksson 
Authored: Tue Feb 9 07:14:00 2016 +0100
Committer: Marcus Eriksson 
Committed: Tue Feb 9 07:14:00 2016 +0100

--
 CHANGES.txt| 3 ++-
 doc/cql3/CQL.textile   | 2 +-
 pylib/cqlshlib/cql3handling.py | 1 -
 .../db/compaction/DateTieredCompactionStrategyOptions.java | 6 ++
 4 files changed, 9 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c08aaf69/CHANGES.txt
--
diff --cc CHANGES.txt
index 770c394,72b3d59..fdd1122
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,41 -1,11 +1,42 @@@
 -2.1.14
 - * Make it clear what DTCS timestamp_resolution is used for (CASSANDRA-11041)
 +2.2.6
 + * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)
 + * Fix paging on DISTINCT queries repeats result when first row in partition 
changes (CASSANDRA-10010)
 +Merged from 2.1:
   * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
   * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
++ * Make it clear what DTCS timestamp_resolution is used for (CASSANDRA-11041)
+  * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
  
  
 -2.1.13
 +2.2.5
 + * maxPurgeableTimestamp needs to check memtables too (CASSANDRA-9949)
 + * Apply change to compaction throughput in real time (CASSANDRA-10025)
 + * Fix potential NPE on ORDER BY queries with IN (CASSANDRA-10955)
 + * Avoid over-fetching during the page of range queries (CASSANDRA-8521)
 + * Start L0 STCS-compactions even if there is a L0 -> L1 compaction
 +   going (CASSANDRA-10979)
 + * Make UUID LSB unique per process (CASSANDRA-7925)
 + * Avoid NPE when performing sstable tasks (scrub etc.) (CASSANDRA-10980)
 + * Make sure client gets tombstone overwhelmed warning (CASSANDRA-9465)
 + * Fix error streaming section more than 2GB (CASSANDRA-10961)
 + * (cqlsh) Also apply --connect-timeout to control connection
 +   timeout (CASSANDRA-10959)
 + * Histogram buckets exposed in jmx are sorted incorrectly (CASSANDRA-10975)
 + * Enable GC logging by default (CASSANDRA-10140)
 + * Optimize pending range computation (CASSANDRA-9258)
 + * Skip commit log and saved cache directories in SSTable version startup 
check (CASSANDRA-10902)
 + * drop/alter user should be case sensitive (CASSANDRA-10817)
 + * jemalloc detection fails due to quoting issues in regexv (CASSANDRA-10946)
 + * Support counter-columns for native aggregates (sum,avg,max,min) 
(CASSANDRA-9977)
 + * (cqlsh) show correct column names for empty result sets (CASSANDRA-9813)
 + * Add new types to Stress (CASSANDRA-9556)
 + * Add property to allow listening on broadcast interface (CASSANDRA-9748)
 + * Fix regression in split size on CqlInputFormat (CASSANDRA-10835)
 + * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
 + * Disable reloading of GossipingPropertyFileSnitch (CASSANDRA-9474)
 + * Verify tables in pseudo-system keyspaces at startup (CASSANDRA-10761)
 + * (cqlsh) encode input correctly when saving history
 +Merged from 2.1:
-  * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
   * Fix isJoined return true only after becoming cluster member 
(CASANDRA-11007)
   * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
   * Avoid NPE when incremental repair fails (CASSANDRA-10909)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c08aaf69/doc/cql3/CQL.textile
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c08aaf69/pylib/cqlshlib/cql3handling.py
--



[01/14] cassandra git commit: Make it clear what timestamp_resolution is used for

2016-02-08 Thread marcuse
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 6fe70c652 -> 725b9b1f7
  refs/heads/cassandra-2.2 029b22e84 -> c08aaf69b
  refs/heads/cassandra-3.0 0d30540f6 -> a598ebeef
  refs/heads/trunk c227b928a -> 9adc6d820


Make it clear what timestamp_resolution is used for

Patch by marcuse; reviewed by Jeff Jirsa for CASSANDRA-11041


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

Branch: refs/heads/cassandra-2.1
Commit: b8408f068bf2fc73f632d09239ba892a9835416f
Parents: 6fe70c6
Author: Marcus Eriksson 
Authored: Wed Jan 20 08:58:05 2016 +0100
Committer: Marcus Eriksson 
Committed: Tue Feb 9 07:08:22 2016 +0100

--
 CHANGES.txt| 1 +
 doc/cql3/CQL.textile   | 2 +-
 pylib/cqlshlib/cql3handling.py | 1 -
 .../db/compaction/DateTieredCompactionStrategyOptions.java | 6 ++
 4 files changed, 8 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8408f06/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 806e6d5..e5d6ff1 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.14
+ * Make it clear what DTCS timestamp_resolution is used for (CASSANDRA-11041)
  * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
 
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8408f06/doc/cql3/CQL.textile
--
diff --git a/doc/cql3/CQL.textile b/doc/cql3/CQL.textile
index 3b69fcc..812a75e 100644
--- a/doc/cql3/CQL.textile
+++ b/doc/cql3/CQL.textile
@@ -347,7 +347,7 @@ The @compaction@ property must at least define the 
@'class'@ sub-option, that de
 | @bucket_low@ | SizeTieredCompactionStrategy| 0.5 
 | Size tiered consider sstables to be within the same bucket if their size 
is within [average_size * @bucket_low@, average_size * @bucket_high@ ] (i.e the 
default groups sstable whose sizes diverges by at most 50%)|
 | @bucket_high@| SizeTieredCompactionStrategy| 1.5 
 | Size tiered consider sstables to be within the same bucket if their size 
is within [average_size * @bucket_low@, average_size * @bucket_high@ ] (i.e the 
default groups sstable whose sizes diverges by at most 50%).|
 | @sstable_size_in_mb@ | LeveledCompactionStrategy   | 5MB 
 | The target size (in MB) for sstables in the leveled strategy. Note that 
while sstable sizes should stay less or equal to @sstable_size_in_mb@, it is 
possible to exceptionally have a larger sstable as during compaction, data for 
a given partition key are never split into 2 sstables|
-| @timestamp_resolution@   | DateTieredCompactionStrategy| 
MICROSECONDS | The timestamp resolution used when inserting data, could be 
MILLISECONDS, MICROSECONDS etc (should be understandable by Java TimeUnit)|
+| @timestamp_resolution@   | DateTieredCompactionStrategy| 
MICROSECONDS | The timestamp resolution used when inserting data, could be 
MILLISECONDS, MICROSECONDS etc (should be understandable by Java TimeUnit) - 
don't change this unless you do mutations with USING TIMESTAMP 
 (or equivalent directly in the client)|
 | @base_time_seconds@  | DateTieredCompactionStrategy| 60  
 | The base size of the time windows. |
 | @max_sstable_age_days@   | DateTieredCompactionStrategy| 365 
 | SSTables only containing data that is older than this will never be 
compacted. |
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8408f06/pylib/cqlshlib/cql3handling.py
--
diff --git a/pylib/cqlshlib/cql3handling.py b/pylib/cqlshlib/cql3handling.py
index 38f118f..029e0c7 100644
--- a/pylib/cqlshlib/cql3handling.py
+++ b/pylib/cqlshlib/cql3handling.py
@@ -470,7 +470,6 @@ def cf_prop_val_mapkey_completer(ctxt, cass):
 elif csc == 'DateTieredCompactionStrategy':
 opts.add('base_time_seconds')
 opts.add('max_sstable_age_days')
-opts.add('timestamp_resolution')
 opts.add('min_threshold')
 opts.add('max_window_size_seconds')
 return map(escape_value, opts)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8408f06/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyOptions.java
--
diff --git 
a/src/java/org/apache/cassandra/db/compactio

[13/14] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2016-02-08 Thread marcuse
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/trunk
Commit: a598ebeef47e7affa9d59d0bb95abe71447eed5b
Parents: 0d30540 c08aaf6
Author: Marcus Eriksson 
Authored: Tue Feb 9 07:14:23 2016 +0100
Committer: Marcus Eriksson 
Committed: Tue Feb 9 07:15:40 2016 +0100

--
 CHANGES.txt| 1 +
 doc/cql3/CQL.textile   | 2 +-
 pylib/cqlshlib/cql3handling.py | 1 -
 .../db/compaction/DateTieredCompactionStrategyOptions.java | 6 ++
 4 files changed, 8 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a598ebee/CHANGES.txt
--
diff --cc CHANGES.txt
index c6111e5,fdd1122..4074c66
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -8,45 -4,10 +8,46 @@@ Merged from 2.2.6
  Merged from 2.1:
   * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
   * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
+  * Make it clear what DTCS timestamp_resolution is used for (CASSANDRA-11041)
 - * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
  
  
 +3.0.3
 + * Remove double initialization of newly added tables (CASSANDRA-11027)
 + * Filter keys searcher results by target range (CASSANDRA-11104)
 + * Fix deserialization of legacy read commands (CASSANDRA-11087)
 + * Fix incorrect computation of deletion time in sstable metadata 
(CASSANDRA-11102)
 + * Avoid memory leak when collecting sstable metadata (CASSANDRA-11026)
 + * Mutations do not block for completion under view lock contention 
(CASSANDRA-10779)
 + * Invalidate legacy schema tables when unloading them (CASSANDRA-11071)
 + * (cqlsh) handle INSERT and UPDATE statements with LWT conditions correctly
 +   (CASSANDRA-11003)
 + * Fix DISTINCT queries in mixed version clusters (CASSANDRA-10762)
 + * Migrate build status for indexes along with legacy schema (CASSANDRA-11046)
 + * Ensure SSTables for legacy KEYS indexes can be read (CASSANDRA-11045)
 + * Added support for IBM zSystems architecture (CASSANDRA-11054)
 + * Update CQL documentation (CASSANDRA-10899)
 + * Check the column name, not cell name, for dropped columns when reading
 +   legacy sstables (CASSANDRA-11018)
 + * Don't attempt to index clustering values of static rows (CASSANDRA-11021)
 + * Remove checksum files after replaying hints (CASSANDRA-10947)
 + * Support passing base table metadata to custom 2i validation 
(CASSANDRA-10924)
 + * Ensure stale index entries are purged during reads (CASSANDRA-11013)
 + * Fix AssertionError when removing from list using UPDATE (CASSANDRA-10954)
 + * Fix UnsupportedOperationException when reading old sstable with range
 +   tombstone (CASSANDRA-10743)
 + * MV should use the maximum timestamp of the primary key (CASSANDRA-10910)
 + * Fix potential assertion error during compaction (CASSANDRA-10944)
 + * Fix counting of received sstables in streaming (CASSANDRA-10949)
 + * Implement hints compression (CASSANDRA-9428)
 + * Fix potential assertion error when reading static columns (CASSANDRA-10903)
 + * Avoid NoSuchElementException when executing empty batch (CASSANDRA-10711)
 + * Avoid building PartitionUpdate in toString (CASSANDRA-10897)
 + * Reduce heap spent when receiving many SSTables (CASSANDRA-10797)
 + * Add back support for 3rd party auth providers to bulk loader 
(CASSANDRA-10873)
 + * Eliminate the dependency on jgrapht for UDT resolution (CASSANDRA-10653)
 + * (Hadoop) Close Clusters and Sessions in Hadoop Input/Output classes 
(CASSANDRA-10837)
 + * Fix sstableloader not working with upper case keyspace name 
(CASSANDRA-10806)
 +Merged from 2.2:
  2.2.5
   * maxPurgeableTimestamp needs to check memtables too (CASSANDRA-9949)
   * Apply change to compaction throughput in real time (CASSANDRA-10025)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a598ebee/doc/cql3/CQL.textile
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a598ebee/pylib/cqlshlib/cql3handling.py
--



[06/14] cassandra git commit: fix CHANGES.txt after 2.1.13 release

2016-02-08 Thread marcuse
fix CHANGES.txt after 2.1.13 release


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

Branch: refs/heads/cassandra-2.1
Commit: 725b9b1f7f16ff8ad8e77ad0f7679d39bc7f05b2
Parents: b8408f0
Author: Marcus Eriksson 
Authored: Tue Feb 9 07:09:54 2016 +0100
Committer: Marcus Eriksson 
Committed: Tue Feb 9 07:09:54 2016 +0100

--
 CHANGES.txt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/725b9b1f/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index e5d6ff1..72b3d59 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,11 +1,11 @@
 2.1.14
  * Make it clear what DTCS timestamp_resolution is used for (CASSANDRA-11041)
  * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
+ * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
+ * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
 
 
 2.1.13
- * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
- * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
  * Fix isJoined return true only after becoming cluster member (CASANDRA-11007)
  * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
  * Avoid NPE when incremental repair fails (CASSANDRA-10909)



[05/14] cassandra git commit: fix CHANGES.txt after 2.1.13 release

2016-02-08 Thread marcuse
fix CHANGES.txt after 2.1.13 release


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

Branch: refs/heads/trunk
Commit: 725b9b1f7f16ff8ad8e77ad0f7679d39bc7f05b2
Parents: b8408f0
Author: Marcus Eriksson 
Authored: Tue Feb 9 07:09:54 2016 +0100
Committer: Marcus Eriksson 
Committed: Tue Feb 9 07:09:54 2016 +0100

--
 CHANGES.txt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/725b9b1f/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index e5d6ff1..72b3d59 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,11 +1,11 @@
 2.1.14
  * Make it clear what DTCS timestamp_resolution is used for (CASSANDRA-11041)
  * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
+ * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
+ * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
 
 
 2.1.13
- * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
- * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
  * Fix isJoined return true only after becoming cluster member (CASANDRA-11007)
  * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
  * Avoid NPE when incremental repair fails (CASSANDRA-10909)



[07/14] cassandra git commit: fix CHANGES.txt after 2.1.13 release

2016-02-08 Thread marcuse
fix CHANGES.txt after 2.1.13 release


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

Branch: refs/heads/cassandra-2.2
Commit: 725b9b1f7f16ff8ad8e77ad0f7679d39bc7f05b2
Parents: b8408f0
Author: Marcus Eriksson 
Authored: Tue Feb 9 07:09:54 2016 +0100
Committer: Marcus Eriksson 
Committed: Tue Feb 9 07:09:54 2016 +0100

--
 CHANGES.txt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/725b9b1f/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index e5d6ff1..72b3d59 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,11 +1,11 @@
 2.1.14
  * Make it clear what DTCS timestamp_resolution is used for (CASSANDRA-11041)
  * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
+ * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
+ * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
 
 
 2.1.13
- * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
- * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
  * Fix isJoined return true only after becoming cluster member (CASANDRA-11007)
  * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
  * Avoid NPE when incremental repair fails (CASSANDRA-10909)



[jira] [Updated] (CASSANDRA-11041) Make it clear what timestamp_resolution is used for with DTCS

2016-02-08 Thread Marcus Eriksson (JIRA)

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

Marcus Eriksson updated CASSANDRA-11041:

Reviewer: Jeff Jirsa

> Make it clear what timestamp_resolution is used for with DTCS
> -
>
> Key: CASSANDRA-11041
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11041
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Marcus Eriksson
>Assignee: Marcus Eriksson
>  Labels: docs-impacting, dtcs
> Fix For: 2.1.x, 2.2.x, 3.0.x, 3.x
>
>
> We have had a few cases lately where users misunderstand what 
> timestamp_resolution does, we should;
> * make the option not autocomplete in cqlsh
> * update documentation
> * log a warning



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


[jira] [Updated] (CASSANDRA-11052) Cannot use Java 8 lambda expression inside UDF code body

2016-02-08 Thread Sean Bridges (JIRA)

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

Sean Bridges updated CASSANDRA-11052:
-
Attachment: 11052-2.patch

> Cannot use Java 8 lambda expression inside UDF code body
> 
>
> Key: CASSANDRA-11052
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11052
> Project: Cassandra
>  Issue Type: Improvement
>  Components: CQL
>Reporter: DOAN DuyHai
>Assignee: Robert Stupp
> Fix For: 3.x
>
> Attachments: 11052-2.patch, 11052.patch
>
>
> When creating the following **UDF** using Java 8 lambda syntax
> {code:sql}
>  CREATE FUNCTION IF NOT EXISTS music.udf(state map, styles 
> list)
>  RETURNS NULL ON NULL INPUT
>  RETURNS map
>  LANGUAGE java
>  AS $$
>styles.forEach((Object o) -> {
>String style = (String)o;
>if(state.containsKey(style)) {
> state.put(style, (Long)state.get(style)+1);
>} else {
> state.put(style, 1L);   
>}
>});
>
>return state;
>  $$;
> {code}
>  I got the following exception:
> {code:java}
> Caused by: com.datastax.driver.core.exceptions.InvalidQueryException: Could 
> not compile function 'music.udf' from Java source: 
> org.apache.cassandra.exceptions.InvalidRequestException: Java source 
> compilation failed:
> Line 2: The type java.util.function.Consumer cannot be resolved. It is 
> indirectly referenced from required .class files
> Line 2: The method forEach(Consumer) from the type Iterable refers to the 
> missing type Consumer
> Line 2: The target type of this expression must be a functional interface
>   at 
> com.datastax.driver.core.Responses$Error.asException(Responses.java:136)
>   at 
> com.datastax.driver.core.DefaultResultSetFuture.onSet(DefaultResultSetFuture.java:179)
>   at 
> com.datastax.driver.core.RequestHandler.setFinalResult(RequestHandler.java:184)
>   at 
> com.datastax.driver.core.RequestHandler.access$2500(RequestHandler.java:43)
>   at 
> com.datastax.driver.core.RequestHandler$SpeculativeExecution.setFinalResult(RequestHandler.java:798)
>   at 
> com.datastax.driver.core.RequestHandler$SpeculativeExecution.onSet(RequestHandler.java:617)
>   at 
> com.datastax.driver.core.Connection$Dispatcher.channelRead0(Connection.java:1005)
>   at 
> com.datastax.driver.core.Connection$Dispatcher.channelRead0(Connection.java:928)
>   at 
> io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
>   at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:318)
>   at 
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:304)
>   at 
> io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:266)
>   at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:318)
>   at 
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:304)
>   at 
> io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
>   at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:318)
>   at 
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:304)
>   at 
> io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:276)
>   at 
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:263)
>   at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:318)
>   at 
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:304)
>   at 
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:846)
>   at 
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)
>   at 
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
>   at 
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
>   at 
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
>   at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
>   at 
> io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112)
>   ... 1 more
> {code}
>  It looks like the compiler requires importing java.util.Consumer but I have 
> checked the source code and compiler options already support Java 8 source 
> code so I'm pretty puzzled here ...
> /cc [~snazy]



--
This message was sent by Atl

[jira] [Commented] (CASSANDRA-9714) sstableloader appears to use the cassandra.yaml outgoing stream throttle

2016-02-08 Thread Yuki Morishita (JIRA)

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

Yuki Morishita commented on CASSANDRA-9714:
---

||branch||testall||dtest||
|[9714-2.1|https://github.com/yukim/cassandra/tree/9714-2.1]|[testall|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-9714-2.1-testall/lastCompletedBuild/testReport/]|[dtest|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-9714-2.1-dtest/lastCompletedBuild/testReport/]|
|[9714-2.2|https://github.com/yukim/cassandra/tree/9714-2.2]|[testall|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-9714-2.2-testall/lastCompletedBuild/testReport/]|[dtest|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-9714-2.2-dtest/lastCompletedBuild/testReport/]|
|[9714-3.0|https://github.com/yukim/cassandra/tree/9714-3.0]|[testall|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-9714-3.0-testall/lastCompletedBuild/testReport/]|[dtest|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-9714-3.0-dtest/lastCompletedBuild/testReport/]|
|[9714-trunk|https://github.com/yukim/cassandra/tree/9714-trunk]|[testall|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-9714-trunk-testall/lastCompletedBuild/testReport/]|[dtest|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-9714-trunk-dtest/lastCompletedBuild/testReport/]|

Looks like sstableloader starts taking cassandra.yaml default after the change 
in CASSANDRA-7585. Patch fixes by explicitly assigning 0 to both streaming 
throughput and inter-dc streaming throughput.

> sstableloader appears to use the cassandra.yaml outgoing stream throttle
> 
>
> Key: CASSANDRA-9714
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9714
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Reporter: Jeremy Hanna
>Assignee: Yuki Morishita
> Fix For: 2.1.x, 2.2.x, 3.0.x, 3.x
>
>
> When trying to use the sstableloader, we found (through the metrics in 
> opscenter) that the stream throughput was constant at about 24MB/s.  We 
> didn't run it with the --throttle option so according to the help output and 
> the BulkLoader code it should be unthrottled.  However when it was 
> unthrottled in the cassandra.yaml in the loader's classpath, it got up to the 
> low hundreds of MB/s.It sounds like when starting up it takes the 
> cassandra.yaml attributes and overrides the default throttle setting of the 
> loader.



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


[jira] [Updated] (CASSANDRA-9714) sstableloader appears to use the cassandra.yaml outgoing stream throttle

2016-02-08 Thread Yuki Morishita (JIRA)

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

Yuki Morishita updated CASSANDRA-9714:
--
Fix Version/s: 3.x
   3.0.x
   2.2.x
   2.1.x

> sstableloader appears to use the cassandra.yaml outgoing stream throttle
> 
>
> Key: CASSANDRA-9714
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9714
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Reporter: Jeremy Hanna
>Assignee: Yuki Morishita
> Fix For: 2.1.x, 2.2.x, 3.0.x, 3.x
>
>
> When trying to use the sstableloader, we found (through the metrics in 
> opscenter) that the stream throughput was constant at about 24MB/s.  We 
> didn't run it with the --throttle option so according to the help output and 
> the BulkLoader code it should be unthrottled.  However when it was 
> unthrottled in the cassandra.yaml in the loader's classpath, it got up to the 
> low hundreds of MB/s.It sounds like when starting up it takes the 
> cassandra.yaml attributes and overrides the default throttle setting of the 
> loader.



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


[jira] [Assigned] (CASSANDRA-9714) sstableloader appears to use the cassandra.yaml outgoing stream throttle

2016-02-08 Thread Yuki Morishita (JIRA)

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

Yuki Morishita reassigned CASSANDRA-9714:
-

Assignee: Yuki Morishita

> sstableloader appears to use the cassandra.yaml outgoing stream throttle
> 
>
> Key: CASSANDRA-9714
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9714
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Reporter: Jeremy Hanna
>Assignee: Yuki Morishita
> Fix For: 2.1.x, 2.2.x, 3.0.x, 3.x
>
>
> When trying to use the sstableloader, we found (through the metrics in 
> opscenter) that the stream throughput was constant at about 24MB/s.  We 
> didn't run it with the --throttle option so according to the help output and 
> the BulkLoader code it should be unthrottled.  However when it was 
> unthrottled in the cassandra.yaml in the loader's classpath, it got up to the 
> low hundreds of MB/s.It sounds like when starting up it takes the 
> cassandra.yaml attributes and overrides the default throttle setting of the 
> loader.



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


[cassandra] Git Push Summary

2016-02-08 Thread jake
Repository: cassandra
Updated Tags:  refs/tags/3.3-tentative [deleted] 5669c6967


[cassandra] Git Push Summary

2016-02-08 Thread jake
Repository: cassandra
Updated Tags:  refs/tags/cassandra-3.3 [created] d92d8c429


[jira] [Commented] (CASSANDRA-8180) Optimize disk seek using min/max column name meta data when the LIMIT clause is used

2016-02-08 Thread Stefania (JIRA)

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

Stefania commented on CASSANDRA-8180:
-

Thanks for the review Branimir! 

The patch for trunk is 
[here|https://github.com/stef1927/cassandra/commits/8180], rebased and squashed.

Launched one more CI round, if all good will move the ticket to ready to commit:

||trunk||
|[testall|http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-8180-testall/]|
|[dtest|http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-8180-dtest/]|


> Optimize disk seek using min/max column name meta data when the LIMIT clause 
> is used
> 
>
> Key: CASSANDRA-8180
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8180
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local Write-Read Paths
> Environment: Cassandra 2.0.10
>Reporter: DOAN DuyHai
>Assignee: Stefania
>Priority: Minor
> Fix For: 3.x
>
> Attachments: 8180_001.yaml, 8180_002.yaml
>
>
> I was working on an example of sensor data table (timeseries) and face a use 
> case where C* does not optimize read on disk.
> {code}
> cqlsh:test> CREATE TABLE test(id int, col int, val text, PRIMARY KEY(id,col)) 
> WITH CLUSTERING ORDER BY (col DESC);
> cqlsh:test> INSERT INTO test(id, col , val ) VALUES ( 1, 10, '10');
> ...
> >nodetool flush test test
> ...
> cqlsh:test> INSERT INTO test(id, col , val ) VALUES ( 1, 20, '20');
> ...
> >nodetool flush test test
> ...
> cqlsh:test> INSERT INTO test(id, col , val ) VALUES ( 1, 30, '30');
> ...
> >nodetool flush test test
> {code}
> After that, I activate request tracing:
> {code}
> cqlsh:test> SELECT * FROM test WHERE id=1 LIMIT 1;
>  activity  | 
> timestamp| source| source_elapsed
> ---+--+---+
> execute_cql3_query | 
> 23:48:46,498 | 127.0.0.1 |  0
> Parsing SELECT * FROM test WHERE id=1 LIMIT 1; | 
> 23:48:46,498 | 127.0.0.1 | 74
>Preparing statement | 
> 23:48:46,499 | 127.0.0.1 |253
>   Executing single-partition query on test | 
> 23:48:46,499 | 127.0.0.1 |930
>   Acquiring sstable references | 
> 23:48:46,499 | 127.0.0.1 |943
>Merging memtable tombstones | 
> 23:48:46,499 | 127.0.0.1 |   1032
>Key cache hit for sstable 3 | 
> 23:48:46,500 | 127.0.0.1 |   1160
>Seeking to partition beginning in data file | 
> 23:48:46,500 | 127.0.0.1 |   1173
>Key cache hit for sstable 2 | 
> 23:48:46,500 | 127.0.0.1 |   1889
>Seeking to partition beginning in data file | 
> 23:48:46,500 | 127.0.0.1 |   1901
>Key cache hit for sstable 1 | 
> 23:48:46,501 | 127.0.0.1 |   2373
>Seeking to partition beginning in data file | 
> 23:48:46,501 | 127.0.0.1 |   2384
>  Skipped 0/3 non-slice-intersecting sstables, included 0 due to tombstones | 
> 23:48:46,501 | 127.0.0.1 |   2768
> Merging data from memtables and 3 sstables | 
> 23:48:46,501 | 127.0.0.1 |   2784
> Read 2 live and 0 tombstoned cells | 
> 23:48:46,501 | 127.0.0.1 |   2976
>   Request complete | 
> 23:48:46,501 | 127.0.0.1 |   3551
> {code}
> We can clearly see that C* hits 3 SSTables on disk instead of just one, 
> although it has the min/max column meta data to decide which SSTable contains 
> the most recent data.
> Funny enough, if we add a clause on the clustering column to the select, this 
> time C* optimizes the read path:
> {code}
> cqlsh:test> SELECT * FROM test WHERE id=1 AND col > 25 LIMIT 1;
>  activity  | 
> timestamp| source| source_elapsed
> ---+--+---+
> execute_cql3_query | 
> 23:52:31,888 | 127.0.0.1 |  0
>Parsing SELECT *

[jira] [Commented] (CASSANDRA-11090) Hinted Handoff loop

2016-02-08 Thread Blake Eggleston (JIRA)

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

Blake Eggleston commented on CASSANDRA-11090:
-

ah I missed that. +1 then

> Hinted Handoff loop
> ---
>
> Key: CASSANDRA-11090
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11090
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Blake Eggleston
>Assignee: Aleksey Yeschenko
>Priority: Minor
> Fix For: 3.0.x, 3.x
>
>
> After the hints executor finishes sending hints, another hints file is 
> created for the same host, which is then processed on the next go around. 
> This continues indefinitely. The new hint files are empty, so there shouldn't 
> be any network traffic. However, there's still unnecessary hint activity, and 
> the hint crc file isn't deleted in the 3.0 branch after hints are dispatched 
> (but is in trunk), so any hint activity will trigger ~8640 files being 
> created per day until the node is restarted. Restarting the node fixes the 
> problem, after the existing hint files are processed. 
> This can be duplicated on cassandra-3.0 to trunk with this script: 
> https://gist.github.com/bdeggleston/13fbb9e70c0c0bd277c7



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


[jira] [Comment Edited] (CASSANDRA-11082) netty's level hadn't prevent OOM when receiver handle slow.

2016-02-08 Thread fujian (JIRA)

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

fujian edited comment on CASSANDRA-11082 at 2/9/16 12:58 AM:
-

The case is corner but it can happen if I write one driver to send lots of 
requests without read any response.
so it is one protect method to prevent similar cases though it is very hard to 
happen such as slow clients.
In other words, it is best practice for safe system though it is low ratio to 
happen.

there are three solutions for it:
(1) just check isWritable() and if the value is false, drop the response. it is 
safe but it is rude.
(2) just check isWritable() and if the value is false, close the channel. if 
use this solution, if the high water mark is set low it maybe be confused with 
big data response.
(3) just check isWritable() and if the value is false, set AutoRead to false so 
that the client can slow down and can't send request at last.

[~tjake]  [~slebresne] WDYT? And Can I apply one patch for the solution? 3ks.

Jian




was (Author: fujian1115):
The case is corner but it can happen if I write one driver to send lots of 
requests without read any response.
so it is one protect method to prevent similar cases though it is very hard to 
happen such as slow clients.

there are three solutions for it:
(1) just check isWritable() and if the value is false, drop the response. it is 
safe but it is rude.
(2) just check isWritable() and if the value is false, close the channel. if 
use this solution, if the high water mark is set low it maybe be confused with 
big data response.
(3) just check isWritable() and if the value is false, set AutoRead to false so 
that the client can slow down and can't send request at last.

[~tjake]  [~slebresne] WDYT? And Can I apply one patch for the solution? 3ks.

Jian



> netty's level hadn't prevent OOM when receiver handle slow.
> ---
>
> Key: CASSANDRA-11082
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11082
> Project: Cassandra
>  Issue Type: Bug
>  Components: Streaming and Messaging
>Reporter: fujian
>
> as we know, netty will OOM when received client is slow.
> due to  if receiver can't handle response fast so that cassandra server can't 
> flush data. it will cause channeloutbuffer with big size.
> we see the cassandra had configure write high/low water level, but I can't 
> found any code to judge iswritable. so it will have possible OOM
> why cassandra hadn't handle this case?



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


[jira] [Comment Edited] (CASSANDRA-11082) netty's level hadn't prevent OOM when receiver handle slow.

2016-02-08 Thread fujian (JIRA)

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

fujian edited comment on CASSANDRA-11082 at 2/9/16 12:56 AM:
-

The case is corner but it can happen if I write one driver to send lots of 
requests without read any response.
so it is one protect method to prevent similar cases though it is very hard to 
happen such as slow clients.

there are three solutions for it:
(1) just check isWritable() and if the value is false, drop the response. it is 
safe but it is rude.
(2) just check isWritable() and if the value is false, close the channel. if 
use this solution, if the high water mark is set low it maybe be confused with 
big data response.
(3) just check isWritable() and if the value is false, set AutoRead to false so 
that the client can slow down and can't send request at last.

[~tjake] WDYT? And Can I apply one patch for it? 3ks.

Jian




was (Author: fujian1115):
The case is corner but it can happen if I write one driver to send lots of 
requests without read any response.
so it is one protect method to prevent similar cases though it is very hard to 
happen such as slow clients.

there are three solutions for it:
(1) just check isWritable() and if the value is false, drop the response. it is 
safe but it is rude.
(2) just check isWritable() and if the value is false, close the channel. if 
use this solution, if the high water mark is set low it maybe be confused with 
big data response.
(3) just check isWritable() and if the value is false, set AutoRead to false so 
that the client can slow down and can't send request at last.

[~tjake]WDYT? And Can I apply one patch for it? 3ks.

Jian



> netty's level hadn't prevent OOM when receiver handle slow.
> ---
>
> Key: CASSANDRA-11082
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11082
> Project: Cassandra
>  Issue Type: Bug
>  Components: Streaming and Messaging
>Reporter: fujian
>
> as we know, netty will OOM when received client is slow.
> due to  if receiver can't handle response fast so that cassandra server can't 
> flush data. it will cause channeloutbuffer with big size.
> we see the cassandra had configure write high/low water level, but I can't 
> found any code to judge iswritable. so it will have possible OOM
> why cassandra hadn't handle this case?



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


[jira] [Comment Edited] (CASSANDRA-11082) netty's level hadn't prevent OOM when receiver handle slow.

2016-02-08 Thread fujian (JIRA)

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

fujian edited comment on CASSANDRA-11082 at 2/9/16 12:57 AM:
-

The case is corner but it can happen if I write one driver to send lots of 
requests without read any response.
so it is one protect method to prevent similar cases though it is very hard to 
happen such as slow clients.

there are three solutions for it:
(1) just check isWritable() and if the value is false, drop the response. it is 
safe but it is rude.
(2) just check isWritable() and if the value is false, close the channel. if 
use this solution, if the high water mark is set low it maybe be confused with 
big data response.
(3) just check isWritable() and if the value is false, set AutoRead to false so 
that the client can slow down and can't send request at last.

[~tjake]  [~slebresne] WDYT? And Can I apply one patch for the solution? 3ks.

Jian




was (Author: fujian1115):
The case is corner but it can happen if I write one driver to send lots of 
requests without read any response.
so it is one protect method to prevent similar cases though it is very hard to 
happen such as slow clients.

there are three solutions for it:
(1) just check isWritable() and if the value is false, drop the response. it is 
safe but it is rude.
(2) just check isWritable() and if the value is false, close the channel. if 
use this solution, if the high water mark is set low it maybe be confused with 
big data response.
(3) just check isWritable() and if the value is false, set AutoRead to false so 
that the client can slow down and can't send request at last.

[~tjake] WDYT? And Can I apply one patch for it? 3ks.

Jian



> netty's level hadn't prevent OOM when receiver handle slow.
> ---
>
> Key: CASSANDRA-11082
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11082
> Project: Cassandra
>  Issue Type: Bug
>  Components: Streaming and Messaging
>Reporter: fujian
>
> as we know, netty will OOM when received client is slow.
> due to  if receiver can't handle response fast so that cassandra server can't 
> flush data. it will cause channeloutbuffer with big size.
> we see the cassandra had configure write high/low water level, but I can't 
> found any code to judge iswritable. so it will have possible OOM
> why cassandra hadn't handle this case?



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


[jira] [Comment Edited] (CASSANDRA-11082) netty's level hadn't prevent OOM when receiver handle slow.

2016-02-08 Thread fujian (JIRA)

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

fujian edited comment on CASSANDRA-11082 at 2/9/16 12:56 AM:
-

The case is corner but it can happen if I write one driver to send lots of 
requests without read any response.
so it is one protect method to prevent similar cases though it is very hard to 
happen such as slow clients.

there are three solutions for it:
(1) just check isWritable() and if the value is false, drop the response. it is 
safe but it is rude.
(2) just check isWritable() and if the value is false, close the channel. if 
use this solution, if the high water mark is set low it maybe be confused with 
big data response.
(3) just check isWritable() and if the value is false, set AutoRead to false so 
that the client can slow down and can't send request at last.

[~tjake]WDYT? And Can I apply one patch for it? 3ks.

Jian




was (Author: fujian1115):
The case is corner but it can happen if I write one driver to send lots of 
requests without read any response.
so it is one protect method to prevent similar cases though it is very hard to 
happen such as slow clients.

there are three solutions for it:
(1) just check isWritable() and if the value is false, drop the response. it is 
safe but it is rude.
(2) just check isWritable() and if the value is false, close the channel. if 
use this solution, if the high water mark is set low it maybe be confused with 
big data response.
(3) just check isWritable() and if the value is false, set AutoRead to false so 
that the client can slow down and can't send request at last.

WDYT? And Can I apply one patch for it? 3ks.

Jian



> netty's level hadn't prevent OOM when receiver handle slow.
> ---
>
> Key: CASSANDRA-11082
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11082
> Project: Cassandra
>  Issue Type: Bug
>  Components: Streaming and Messaging
>Reporter: fujian
>
> as we know, netty will OOM when received client is slow.
> due to  if receiver can't handle response fast so that cassandra server can't 
> flush data. it will cause channeloutbuffer with big size.
> we see the cassandra had configure write high/low water level, but I can't 
> found any code to judge iswritable. so it will have possible OOM
> why cassandra hadn't handle this case?



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


[jira] [Comment Edited] (CASSANDRA-11082) netty's level hadn't prevent OOM when receiver handle slow.

2016-02-08 Thread fujian (JIRA)

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

fujian edited comment on CASSANDRA-11082 at 2/9/16 12:55 AM:
-

The case is corner but it can happen if I write one driver to send lots of 
requests without read any response.
so it is one protect method to prevent similar cases though it is very hard to 
happen such as slow clients.

there are three solutions for it:
(1) just check isWritable() and if the value is false, drop the response. it is 
safe but it is rude.
(2) just check isWritable() and if the value is false, close the channel. if 
use this solution, if the high water mark is set low it maybe be confused with 
big data response.
(3) just check isWritable() and if the value is false, set AutoRead to false so 
that the client can slow down and can't send request at last.

WDYT? And Can I apply one patch for it? 3ks.

Jian




was (Author: fujian1115):
The case is corner but it can happen if I write one driver to send lots of 
requests without read any response.
so it is one protect method to prevent similar cases though it is very hard to 
happen such as slow clients.

there are three solutions for it:
(1) just check isWritable() and if the value is false, drop the response. it is 
safe but it is rude.
(2) just check isWritable() and if the value is false, close the channel. if 
use this solution, if the high water mark is set low it maybe be confused with 
big data response.
(3) just check isWritable() and if the value is false, set AutoRead to false so 
that the client can slow down and can't send request at last.

WDYT? And Can I apply one patch for it? 3ks.

Jian



> netty's level hadn't prevent OOM when receiver handle slow.
> ---
>
> Key: CASSANDRA-11082
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11082
> Project: Cassandra
>  Issue Type: Bug
>  Components: Streaming and Messaging
>Reporter: fujian
>
> as we know, netty will OOM when received client is slow.
> due to  if receiver can't handle response fast so that cassandra server can't 
> flush data. it will cause channeloutbuffer with big size.
> we see the cassandra had configure write high/low water level, but I can't 
> found any code to judge iswritable. so it will have possible OOM
> why cassandra hadn't handle this case?



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


[jira] [Commented] (CASSANDRA-11082) netty's level hadn't prevent OOM when receiver handle slow.

2016-02-08 Thread fujian (JIRA)

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

fujian commented on CASSANDRA-11082:


The case is corner but it can happen if I write one driver to send lots of 
requests without read any response.
so it is one protect method to prevent similar cases though it is very hard to 
happen such as slow clients.

there are three solutions for it:
(1) just check isWritable() and if the value is false, drop the response. it is 
safe but it is rude.
(2) just check isWritable() and if the value is false, close the channel. if 
use this solution, if the high water mark is set low it maybe be confused with 
big data response.
(3) just check isWritable() and if the value is false, set AutoRead to false so 
that the client can slow down and can't send request at last.

WDYT?  Can I apply one patch for it? 3ks.

Jian



> netty's level hadn't prevent OOM when receiver handle slow.
> ---
>
> Key: CASSANDRA-11082
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11082
> Project: Cassandra
>  Issue Type: Bug
>  Components: Streaming and Messaging
>Reporter: fujian
>
> as we know, netty will OOM when received client is slow.
> due to  if receiver can't handle response fast so that cassandra server can't 
> flush data. it will cause channeloutbuffer with big size.
> we see the cassandra had configure write high/low water level, but I can't 
> found any code to judge iswritable. so it will have possible OOM
> why cassandra hadn't handle this case?



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


[jira] [Created] (CASSANDRA-11137) JSON datetime formatting needs timezone

2016-02-08 Thread Stefania (JIRA)
Stefania created CASSANDRA-11137:


 Summary: JSON datetime formatting needs timezone
 Key: CASSANDRA-11137
 URL: https://issues.apache.org/jira/browse/CASSANDRA-11137
 Project: Cassandra
  Issue Type: Improvement
  Components: CQL
Reporter: Stefania


The JSON date time string representation lacks the timezone information:

{code}
cqlsh:events> select toJson(created_at) AS created_at from 
event_by_patient_timestamp ;

 created_at
---
 "2016-01-04 16:05:47.123"

(1 rows)
{code}

vs.

{code}
cqlsh:events> select created_at FROM event_by_user_timestamp ;

 created_at
--
 2016-01-04 15:05:47+

(1 rows)
cqlsh:events>
{code}

To make things even more complicated the JSON timestamp is not returned in UTC.

At the moment {{DateType}} picks this formatting string {{"-MM-dd 
HH:mm:ss.SSS"}}. Shouldn't we somehow make this configurable by users or at a 
minimum add the timezone?



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


[jira] [Comment Edited] (CASSANDRA-11082) netty's level hadn't prevent OOM when receiver handle slow.

2016-02-08 Thread fujian (JIRA)

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

fujian edited comment on CASSANDRA-11082 at 2/9/16 12:54 AM:
-

The case is corner but it can happen if I write one driver to send lots of 
requests without read any response.
so it is one protect method to prevent similar cases though it is very hard to 
happen such as slow clients.

there are three solutions for it:
(1) just check isWritable() and if the value is false, drop the response. it is 
safe but it is rude.
(2) just check isWritable() and if the value is false, close the channel. if 
use this solution, if the high water mark is set low it maybe be confused with 
big data response.
(3) just check isWritable() and if the value is false, set AutoRead to false so 
that the client can slow down and can't send request at last.

WDYT? And Can I apply one patch for it? 3ks.

Jian




was (Author: fujian1115):
The case is corner but it can happen if I write one driver to send lots of 
requests without read any response.
so it is one protect method to prevent similar cases though it is very hard to 
happen such as slow clients.

there are three solutions for it:
(1) just check isWritable() and if the value is false, drop the response. it is 
safe but it is rude.
(2) just check isWritable() and if the value is false, close the channel. if 
use this solution, if the high water mark is set low it maybe be confused with 
big data response.
(3) just check isWritable() and if the value is false, set AutoRead to false so 
that the client can slow down and can't send request at last.

WDYT?  Can I apply one patch for it? 3ks.

Jian



> netty's level hadn't prevent OOM when receiver handle slow.
> ---
>
> Key: CASSANDRA-11082
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11082
> Project: Cassandra
>  Issue Type: Bug
>  Components: Streaming and Messaging
>Reporter: fujian
>
> as we know, netty will OOM when received client is slow.
> due to  if receiver can't handle response fast so that cassandra server can't 
> flush data. it will cause channeloutbuffer with big size.
> we see the cassandra had configure write high/low water level, but I can't 
> found any code to judge iswritable. so it will have possible OOM
> why cassandra hadn't handle this case?



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


[jira] [Updated] (CASSANDRA-7276) Include keyspace and table names in logs where possible

2016-02-08 Thread Anubhav Kale (JIRA)

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

Anubhav Kale updated CASSANDRA-7276:

Attachment: 0001-Better-Logging-for-KS-CF.patch

Attached first cut of this.

With current approach, I have omitted BatchLog*VerbHandler and 
Repair*VerbHandler since they operate on Collection of mutations. This would 
mean we change the interface to collection of KS, instead of just the KS as 
originally suggested. We can do that, but we may lose the goal we are after 
here if MessageDeliveryTask simply prints a collection of KS and CF when 
something goes wrong. 

I took a stab at manually updating log stmts in KFS and CompactionManager. We 
can add logs in other places later once this first pass is committed (to keep 
merges sane).

Also, there is a possibility of introducing a base class for 
IKeyspaceAwareVerbHandler but I did not do that for readability sake (else the 
tree starts getting too deep).

In logs, should we use KS and CF or Keyspace and Table ? I don't believe there 
is a consistent pattern as such.

> Include keyspace and table names in logs where possible
> ---
>
> Key: CASSANDRA-7276
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7276
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Tyler Hobbs
>Priority: Minor
>  Labels: bootcamp, lhf
> Fix For: 2.1.x
>
> Attachments: 0001-Better-Logging-for-KS-CF.patch, 
> 2.1-CASSANDRA-7276-v1.txt, cassandra-2.1-7276-compaction.txt, 
> cassandra-2.1-7276.txt, cassandra-2.1.9-7276-v2.txt, cassandra-2.1.9-7276.txt
>
>
> Most error messages and stacktraces give you no clue as to what keyspace or 
> table was causing the problem.  For example:
> {noformat}
> ERROR [MutationStage:61648] 2014-05-20 12:05:45,145 CassandraDaemon.java 
> (line 198) Exception in thread Thread[MutationStage:61648,5,main]
> java.lang.IllegalArgumentException
> at java.nio.Buffer.limit(Unknown Source)
> at 
> org.apache.cassandra.db.marshal.AbstractCompositeType.getBytes(AbstractCompositeType.java:63)
> at 
> org.apache.cassandra.db.marshal.AbstractCompositeType.getWithShortLength(AbstractCompositeType.java:72)
> at 
> org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:98)
> at 
> org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:35)
> at 
> edu.stanford.ppl.concurrent.SnapTreeMap$1.compareTo(SnapTreeMap.java:538)
> at 
> edu.stanford.ppl.concurrent.SnapTreeMap.attemptUpdate(SnapTreeMap.java:1108)
> at 
> edu.stanford.ppl.concurrent.SnapTreeMap.updateUnderRoot(SnapTreeMap.java:1059)
> at edu.stanford.ppl.concurrent.SnapTreeMap.update(SnapTreeMap.java:1023)
> at 
> edu.stanford.ppl.concurrent.SnapTreeMap.putIfAbsent(SnapTreeMap.java:985)
> at 
> org.apache.cassandra.db.AtomicSortedColumns$Holder.addColumn(AtomicSortedColumns.java:328)
> at 
> org.apache.cassandra.db.AtomicSortedColumns.addAllWithSizeDelta(AtomicSortedColumns.java:200)
> at org.apache.cassandra.db.Memtable.resolve(Memtable.java:226)
> at org.apache.cassandra.db.Memtable.put(Memtable.java:173)
> at 
> org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:893)
> at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:368)
> at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:333)
> at org.apache.cassandra.db.RowMutation.apply(RowMutation.java:206)
> at 
> org.apache.cassandra.db.RowMutationVerbHandler.doVerb(RowMutationVerbHandler.java:56)
> at 
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:60)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
> {noformat}
> We should try to include info on the keyspace and column family in the error 
> messages or logs whenever possible.  This includes reads, writes, 
> compactions, flushes, repairs, and probably more.



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


[jira] [Commented] (CASSANDRA-11090) Hinted Handoff loop

2016-02-08 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-11090:
---

I could, but it would change the semantics around closing the current writer. 
Right now we only close in {{flush()}} if we are forced to switch the writer if 
it exceeds the max configured hint file size. With this change, we would do it 
unconditionally.

> Hinted Handoff loop
> ---
>
> Key: CASSANDRA-11090
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11090
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Blake Eggleston
>Assignee: Aleksey Yeschenko
>Priority: Minor
> Fix For: 3.0.x, 3.x
>
>
> After the hints executor finishes sending hints, another hints file is 
> created for the same host, which is then processed on the next go around. 
> This continues indefinitely. The new hint files are empty, so there shouldn't 
> be any network traffic. However, there's still unnecessary hint activity, and 
> the hint crc file isn't deleted in the 3.0 branch after hints are dispatched 
> (but is in trunk), so any hint activity will trigger ~8640 files being 
> created per day until the node is restarted. Restarting the node fixes the 
> problem, after the existing hint files are processed. 
> This can be duplicated on cassandra-3.0 to trunk with this script: 
> https://gist.github.com/bdeggleston/13fbb9e70c0c0bd277c7



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


[jira] [Commented] (CASSANDRA-10767) Checking version of Cassandra command creates `cassandra.logdir_IS_UNDEFINED/`

2016-02-08 Thread Yuki Morishita (JIRA)

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

Yuki Morishita commented on CASSANDRA-10767:


I ended up only fixing cassandra scripts for both *nix/windows.
Scripts for others are fixed in CASSANDRA-10679. (For 3.0+, and since this is 
not a big deal, I don't think we need to backport it.)

||branch||testall||dtest||
|[10767-2.1|https://github.com/yukim/cassandra/tree/10767-2.1]|[testall|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-10767-2.1-testall/lastCompletedBuild/testReport/]|[dtest|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-10767-2.1-dtest/lastCompletedBuild/testReport/]|
|[10767-2.2|https://github.com/yukim/cassandra/tree/10767-2.2]|[testall|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-10767-2.2-testall/lastCompletedBuild/testReport/]|[dtest|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-10767-2.2-dtest/lastCompletedBuild/testReport/]|
|[10767-3.0|https://github.com/yukim/cassandra/tree/10767-3.0]|[testall|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-10767-3.0-testall/lastCompletedBuild/testReport/]|[dtest|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-10767-3.0-dtest/lastCompletedBuild/testReport/]|
|[10767-trunk|https://github.com/yukim/cassandra/tree/10767-trunk]|[testall|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-10767-trunk-testall/lastCompletedBuild/testReport/]|[dtest|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-10767-trunk-dtest/lastCompletedBuild/testReport/]|


> Checking version of Cassandra command creates `cassandra.logdir_IS_UNDEFINED/`
> --
>
> Key: CASSANDRA-10767
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10767
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
> Environment: $ cassandra -v   
>  
> 2.1.2
> MacOSX 10.9.5
> $ brew info cassandra 
>  [14:15:41]
> cassandra: stable 2.2.3 (bottled)
> Eventually consistent, distributed key-value store
> https://cassandra.apache.org
> /usr/local/Cellar/cassandra/2.1.2 (3975 files, 92M) *
>   Built from source
> From: 
> https://github.com/Homebrew/homebrew/blob/master/Library/Formula/cassandra.rb
> ==> Caveats
> To have launchd start cassandra at login:
>   ln -sfv /usr/local/opt/cassandra/*.plist ~/Library/LaunchAgents
> Then to load cassandra now:
>   launchctl load ~/Library/LaunchAgents/homebrew.mxcl.cassandra.plist
>Reporter: Jens Rantil
>Assignee: Yuki Morishita
>Priority: Trivial
> Fix For: 2.1.x, 2.2.x, 3.0.x, 3.x
>
>
> When I execute `cassandra -v` on the terminal the directory 
> `cassandra.logdir_IS_UNDEFINED` is created in my CWD:
> {noformat}
> $ tree cassandra.logdir_IS_UNDEFINED
> cassandra.logdir_IS_UNDEFINED
> └── system.log
> 0 directories, 1 file
> {noformat}
> Expected: That no log file nor directory is created when I'm simply checking 
> the version of Cassandra. Feels a bit ridiculous.
> Additionals: Just double checking, is this a bundling issue that should be 
> reported to Homebrew? Probably not, right?



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


[jira] [Commented] (CASSANDRA-11090) Hinted Handoff loop

2016-02-08 Thread Blake Eggleston (JIRA)

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

Blake Eggleston commented on CASSANDRA-11090:
-

Functionally, this is fine, but could you're checking iterator.hasNext twice. 
Could you move the flushInternal call under the original hasNext check? So it 
looks like this:

{code}
if (!iterator.hasNext())
break;
flushInternal(iterator, store);
{code}

> Hinted Handoff loop
> ---
>
> Key: CASSANDRA-11090
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11090
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Blake Eggleston
>Assignee: Aleksey Yeschenko
>Priority: Minor
> Fix For: 3.0.x, 3.x
>
>
> After the hints executor finishes sending hints, another hints file is 
> created for the same host, which is then processed on the next go around. 
> This continues indefinitely. The new hint files are empty, so there shouldn't 
> be any network traffic. However, there's still unnecessary hint activity, and 
> the hint crc file isn't deleted in the 3.0 branch after hints are dispatched 
> (but is in trunk), so any hint activity will trigger ~8640 files being 
> created per day until the node is restarted. Restarting the node fixes the 
> problem, after the existing hint files are processed. 
> This can be duplicated on cassandra-3.0 to trunk with this script: 
> https://gist.github.com/bdeggleston/13fbb9e70c0c0bd277c7



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


[jira] [Updated] (CASSANDRA-6719) redesign loadnewsstables

2016-02-08 Thread Yuki Morishita (JIRA)

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

Yuki Morishita updated CASSANDRA-6719:
--
Reviewer: Yuki Morishita

> redesign loadnewsstables
> 
>
> Key: CASSANDRA-6719
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6719
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Tools
>Reporter: Jonathan Ellis
>Priority: Minor
>  Labels: lhf
> Fix For: 3.x
>
> Attachments: 6719.patch
>
>
> CFSMBean.loadNewSSTables scans data directories for new sstables dropped 
> there by an external agent.  This is dangerous because of possible filename 
> conflicts with existing or newly generated sstables.
> Instead, we should support leaving the new sstables in a separate directory 
> (specified by a parameter, or configured as a new location in yaml) and take 
> care of renaming as necessary automagically.



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


[jira] [Commented] (CASSANDRA-6719) redesign loadnewsstables

2016-02-08 Thread Yuki Morishita (JIRA)

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

Yuki Morishita commented on CASSANDRA-6719:
---

[~cngupte] Sorry for not responding this one for awhile.
Are you still interested in working?

Regarding your question,

1. Yes, you should take care of those as well all the way to nodetool.
2. For now, I want to keep current JXM API and behavior as they are, but with 
warning message for your new API/behavior.

If you can still work, can you rebase your patch on top of current trunk?
I looked at your current work, and I think you are going in the right direction.


> redesign loadnewsstables
> 
>
> Key: CASSANDRA-6719
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6719
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Tools
>Reporter: Jonathan Ellis
>Priority: Minor
>  Labels: lhf
> Fix For: 3.x
>
> Attachments: 6719.patch
>
>
> CFSMBean.loadNewSSTables scans data directories for new sstables dropped 
> there by an external agent.  This is dangerous because of possible filename 
> conflicts with existing or newly generated sstables.
> Instead, we should support leaving the new sstables in a separate directory 
> (specified by a parameter, or configured as a new location in yaml) and take 
> care of renaming as necessary automagically.



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


[jira] [Commented] (CASSANDRA-7276) Include keyspace and table names in logs where possible

2016-02-08 Thread Anubhav Kale (JIRA)

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

Anubhav Kale commented on CASSANDRA-7276:
-

I will take a stab at this. 

> Include keyspace and table names in logs where possible
> ---
>
> Key: CASSANDRA-7276
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7276
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Tyler Hobbs
>Priority: Minor
>  Labels: bootcamp, lhf
> Fix For: 2.1.x
>
> Attachments: 2.1-CASSANDRA-7276-v1.txt, 
> cassandra-2.1-7276-compaction.txt, cassandra-2.1-7276.txt, 
> cassandra-2.1.9-7276-v2.txt, cassandra-2.1.9-7276.txt
>
>
> Most error messages and stacktraces give you no clue as to what keyspace or 
> table was causing the problem.  For example:
> {noformat}
> ERROR [MutationStage:61648] 2014-05-20 12:05:45,145 CassandraDaemon.java 
> (line 198) Exception in thread Thread[MutationStage:61648,5,main]
> java.lang.IllegalArgumentException
> at java.nio.Buffer.limit(Unknown Source)
> at 
> org.apache.cassandra.db.marshal.AbstractCompositeType.getBytes(AbstractCompositeType.java:63)
> at 
> org.apache.cassandra.db.marshal.AbstractCompositeType.getWithShortLength(AbstractCompositeType.java:72)
> at 
> org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:98)
> at 
> org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:35)
> at 
> edu.stanford.ppl.concurrent.SnapTreeMap$1.compareTo(SnapTreeMap.java:538)
> at 
> edu.stanford.ppl.concurrent.SnapTreeMap.attemptUpdate(SnapTreeMap.java:1108)
> at 
> edu.stanford.ppl.concurrent.SnapTreeMap.updateUnderRoot(SnapTreeMap.java:1059)
> at edu.stanford.ppl.concurrent.SnapTreeMap.update(SnapTreeMap.java:1023)
> at 
> edu.stanford.ppl.concurrent.SnapTreeMap.putIfAbsent(SnapTreeMap.java:985)
> at 
> org.apache.cassandra.db.AtomicSortedColumns$Holder.addColumn(AtomicSortedColumns.java:328)
> at 
> org.apache.cassandra.db.AtomicSortedColumns.addAllWithSizeDelta(AtomicSortedColumns.java:200)
> at org.apache.cassandra.db.Memtable.resolve(Memtable.java:226)
> at org.apache.cassandra.db.Memtable.put(Memtable.java:173)
> at 
> org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:893)
> at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:368)
> at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:333)
> at org.apache.cassandra.db.RowMutation.apply(RowMutation.java:206)
> at 
> org.apache.cassandra.db.RowMutationVerbHandler.doVerb(RowMutationVerbHandler.java:56)
> at 
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:60)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
> {noformat}
> We should try to include info on the keyspace and column family in the error 
> messages or logs whenever possible.  This includes reads, writes, 
> compactions, flushes, repairs, and probably more.



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


[jira] [Commented] (CASSANDRA-9945) Add transparent data encryption core classes

2016-02-08 Thread Jason Brown (JIRA)

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

Jason Brown commented on CASSANDRA-9945:


[~jeffl] I'm waiting on several more patches to be reviewed so more of the 
functionality can be complete (CASSANDRA-9633, CASSANDRA-11040), plus one or 
two more I need to open source.

> Add transparent data encryption core classes
> 
>
> Key: CASSANDRA-9945
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9945
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Jason Brown
>Assignee: Jason Brown
>  Labels: encryption
> Fix For: 3.2
>
>
> This patch will add the core infrastructure classes necessary for transparent 
> data encryption (file-level encryption), as required for CASSANDRA-6018 and 
> CASSANDRA-9633.  The phrase "transparent data encryption", while not the most 
> aesthetically pleasing, seems to be used throughout the database industry 
> (Oracle, SQLQServer, Datastax Enterprise) to describe file level encryption, 
> so we'll go with that, as well. 



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


[jira] [Commented] (CASSANDRA-9945) Add transparent data encryption core classes

2016-02-08 Thread Jeff Liu (JIRA)

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

Jeff Liu commented on CASSANDRA-9945:
-

Thanks, [~jjordan], do you know when should I expect the transparent encryption 
to be fully available? we have some business requirement that comes in later 
this year that requires encryption for data at rest. I'm trying to align up the 
schedule.

> Add transparent data encryption core classes
> 
>
> Key: CASSANDRA-9945
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9945
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Jason Brown
>Assignee: Jason Brown
>  Labels: encryption
> Fix For: 3.2
>
>
> This patch will add the core infrastructure classes necessary for transparent 
> data encryption (file-level encryption), as required for CASSANDRA-6018 and 
> CASSANDRA-9633.  The phrase "transparent data encryption", while not the most 
> aesthetically pleasing, seems to be used throughout the database industry 
> (Oracle, SQLQServer, Datastax Enterprise) to describe file level encryption, 
> so we'll go with that, as well. 



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


[jira] [Commented] (CASSANDRA-11090) Hinted Handoff loop

2016-02-08 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-11090:
---

Pushed a simple fix here - checking for iterator emptiness before proceeding to 
create a file.

||branch||testall||dtest||
|[11090-3.0|https://github.com/iamaleksey/cassandra/tree/11090-3.0]|[testall|http://cassci.datastax.com/view/Dev/view/iamaleksey/job/iamaleksey-11090-3.0-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/iamaleksey/job/iamaleksey-11090-3.0-dtest]|
|[11090-3.4|https://github.com/iamaleksey/cassandra/tree/11090-3.4]|[testall|http://cassci.datastax.com/view/Dev/view/iamaleksey/job/iamaleksey-11090-3.4-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/iamaleksey/job/iamaleksey-11090-3.4-dtest]|

> Hinted Handoff loop
> ---
>
> Key: CASSANDRA-11090
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11090
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Blake Eggleston
>Assignee: Aleksey Yeschenko
>Priority: Minor
> Fix For: 3.0.x, 3.x
>
>
> After the hints executor finishes sending hints, another hints file is 
> created for the same host, which is then processed on the next go around. 
> This continues indefinitely. The new hint files are empty, so there shouldn't 
> be any network traffic. However, there's still unnecessary hint activity, and 
> the hint crc file isn't deleted in the 3.0 branch after hints are dispatched 
> (but is in trunk), so any hint activity will trigger ~8640 files being 
> created per day until the node is restarted. Restarting the node fixes the 
> problem, after the existing hint files are processed. 
> This can be duplicated on cassandra-3.0 to trunk with this script: 
> https://gist.github.com/bdeggleston/13fbb9e70c0c0bd277c7



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


[jira] [Commented] (CASSANDRA-11128) Unexpected exception during request; AssertionError: null

2016-02-08 Thread Russ Hatch (JIRA)

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

Russ Hatch commented on CASSANDRA-11128:


[~slebresne] I suspect it's not a regression, but on 3.0.2 there's another 
issue cropping up earlier in the test run that could be masking 
(CASSANDRA-10612, possibly a test problem(?), not certain at this point).

> Unexpected exception during request; AssertionError: null
> -
>
> Key: CASSANDRA-11128
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11128
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Russ Hatch
> Fix For: 3.0.x
>
>
> Post upgrade from 2.1 to 3.0.3 (3.0.3-tentative) I'm intermittently seeing 
> this exception:
> {noformat}
> ['ERROR [SharedPool-Worker-3] 2016-02-05 22:38:08,444 Message.java:611 - 
> Unexpected exception during request; channel = [id: 0xb5fa21d0, 
> /127.0.0.1:46096 => /127.0.0.1:9042]\njava.lang.AssertionError: null 
> org.apache.cassandra.db.ReadCommand$Serializer.serializedSize(ReadCommand.java:619)
>  ~[main/:na] 
> org.apache.cassandra.db.ReadCommand$Serializer.serializedSize(ReadCommand.java:523)
>  ~[main/:na]
> at org.apache.cassandra.net.MessageOut.payloadSize(MessageOut.java:166) 
> ~[main/:na]
> at 
> org.apache.cassandra.net.OutboundTcpConnectionPool.getConnection(OutboundTcpConnectionPool.java:72)
>  ~[main/:na]
> at 
> org.apache.cassandra.net.MessagingService.getConnection(MessagingService.java:609)
>  ~[main/:na]
> at 
> org.apache.cassandra.net.MessagingService.sendOneWay(MessagingService.java:758)
>  ~[main/:na]
> at 
> org.apache.cassandra.net.MessagingService.sendRR(MessagingService.java:701) 
> ~[main/:na]
> at 
> org.apache.cassandra.net.MessagingService.sendRRWithFailure(MessagingService.java:684)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.AbstractReadExecutor.makeRequests(AbstractReadExecutor.java:110)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.AbstractReadExecutor.makeDataRequests(AbstractReadExecutor.java:85)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.AbstractReadExecutor$SpeculatingReadExecutor.executeAsync(AbstractReadExecutor.java:264)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.StorageProxy$SinglePartitionReadLifecycle.doInitialQueries(StorageProxy.java:1689)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.StorageProxy.fetchRows(StorageProxy.java:1644) 
> ~[main/:na]
> at 
> org.apache.cassandra.service.StorageProxy.readRegular(StorageProxy.java:1591) 
> ~[main/:na]
> at org.apache.cassandra.service.StorageProxy.read(StorageProxy.java:1510) 
> ~[main/:na]
> at 
> org.apache.cassandra.db.SinglePartitionReadCommand.execute(SinglePartitionReadCommand.java:302)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.pager.AbstractQueryPager.fetchPage(AbstractQueryPager.java:67)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.pager.SinglePartitionPager.fetchPage(SinglePartitionPager.java:34)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement$Pager$NormalPager.fetchPage(SelectStatement.java:302)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:338)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:214)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:76)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:206)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.QueryProcessor.processPrepared(QueryProcessor.java:472)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.QueryProcessor.processPrepared(QueryProcessor.java:449)
>  ~[main/:na]
> at 
> org.apache.cassandra.transport.messages.ExecuteMessage.execute(ExecuteMessage.java:130)
>  ~[main/:na]
> at 
> org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:507)
>  [main/:na]
> at 
> org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:401)
>  [main/:na]
> at 
> io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
>  [netty-all-4.0.23.Final.jar:4.0.23.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
>  [netty-all-4.0.23.Final.jar:4.0.23.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:32)
>  [netty-all-4.0.23.Final.jar:4.0.23.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:324)
>  [netty-all-4.0.23.Final.jar:4.0.23.Final]
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> [na:1.8.0_51]
> at 
> org.apache.cassandra.concurrent.AbstractLocal

[jira] [Updated] (CASSANDRA-9633) Add ability to encrypt sstables

2016-02-08 Thread Blake Eggleston (JIRA)

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

Blake Eggleston updated CASSANDRA-9633:
---
Reviewer: Blake Eggleston

> Add ability to encrypt sstables
> ---
>
> Key: CASSANDRA-9633
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9633
> Project: Cassandra
>  Issue Type: New Feature
>Reporter: Jason Brown
>Assignee: Jason Brown
>  Labels: encryption, security, sstable
> Fix For: 3.x
>
>
> Add option to allow encrypting of sstables.
> I have a version of this functionality built on cassandra 2.0 that 
> piggy-backs on the existing sstable compression functionality and ICompressor 
> interface (similar in nature to what DataStax Enterprise does). However, if 
> we're adding the feature to the main OSS product, I'm not sure if we want to 
> use the pluggable compression framework or if it's worth investigating a 
> different path. I think there's a lot of upside in reusing the sstable 
> compression scheme, but perhaps add a new component in cqlsh for table 
> encryption and a corresponding field in CFMD.
> Encryption configuration in the yaml can use the same mechanism as 
> CASSANDRA-6018 (which is currently pending internal review).



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


[jira] [Resolved] (CASSANDRA-11076) LEAK detected after bootstrapping a new node

2016-02-08 Thread Marcus Eriksson (JIRA)

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

Marcus Eriksson resolved CASSANDRA-11076.
-
   Resolution: Cannot Reproduce
Fix Version/s: (was: 3.0.x)

ok, cannot reproduce, reopen if the test starts failing again

> LEAK detected after bootstrapping a new node
> 
>
> Key: CASSANDRA-11076
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11076
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Eduard Tudenhoefner
>Assignee: Marcus Eriksson
>
> Sequence of events:
> * start up a 2 node cluster
> * bootstrap one additional node so that the cluster consists of 3 nodes in 
> total
> * the bootstrapped node will contain the LEAK error in the log file
> {code}
> INFO  [main] 2016-01-26 10:59:06,206  Server.java:162 - Starting listening 
> for CQL clients on /0.0.0.0:9042 (unencrypted)...
> INFO  [main] 2016-01-26 10:59:06,269  ThriftServer.java:119 - Binding thrift 
> service to /0.0.0.0:9160
> INFO  [Thread-6] 2016-01-26 10:59:06,280  ThriftServer.java:136 - Listening 
> for thrift clients...
> INFO  [HANDSHAKE-/10.200.178.183] 2016-01-26 10:59:06,703  
> OutboundTcpConnection.java:503 - Handshaking version with /10.200.178.183
> INFO  [RMI TCP Connection(4)-10.200.178.183] 2016-01-26 10:59:20,079  
> StorageService.java:1099 - rebuild from dc: (any dc)
> INFO  [RMI TCP Connection(4)-10.200.178.183] 2016-01-26 10:59:20,090  
> RangeStreamer.java:339 - Some ranges of 
> [(-9223372036854775808,-3074457345618258603], 
> (-3074457345618258603,3074457345618258602]] are already available. Skipping 
> streaming those ranges.
> INFO  [RMI TCP Connection(4)-10.200.178.183] 2016-01-26 10:59:20,091  
> RangeStreamer.java:339 - Some ranges of 
> [(-9223372036854775808,-3074457345618258603], 
> (-3074457345618258603,3074457345618258602]] are already available. Skipping 
> streaming those ranges.
> INFO  [RMI TCP Connection(4)-10.200.178.183] 2016-01-26 10:59:20,092  
> RangeStreamer.java:339 - Some ranges of 
> [(3074457345618258602,-9223372036854775808], 
> (-9223372036854775808,-3074457345618258603], 
> (-3074457345618258603,3074457345618258602]] are already available. Skipping 
> streaming those ranges.
> INFO  [RMI TCP Connection(4)-10.200.178.183] 2016-01-26 10:59:20,093  
> RangeStreamer.java:339 - Some ranges of 
> [(3074457345618258602,-9223372036854775808], 
> (-9223372036854775808,-3074457345618258603], 
> (-3074457345618258603,3074457345618258602]] are already available. Skipping 
> streaming those ranges.
> INFO  [RMI TCP Connection(4)-10.200.178.183] 2016-01-26 10:59:20,094  
> StreamResultFuture.java:86 - [Stream #d9bbe900-c41b-11e5-8540-d1e65b596c03] 
> Executing streaming plan for Rebuild
> INFO  [StreamConnectionEstablisher:3] 2016-01-26 10:59:20,095  
> StreamSession.java:238 - [Stream #d9bbe900-c41b-11e5-8540-d1e65b596c03] 
> Starting streaming to /10.200.178.185
> INFO  [StreamConnectionEstablisher:4] 2016-01-26 10:59:20,096  
> StreamSession.java:238 - [Stream #d9bbe900-c41b-11e5-8540-d1e65b596c03] 
> Starting streaming to /10.200.178.193
> INFO  [StreamConnectionEstablisher:4] 2016-01-26 10:59:20,097  
> StreamCoordinator.java:213 - [Stream #d9bbe900-c41b-11e5-8540-d1e65b596c03, 
> ID#0] Beginning stream session with /10.200.178.193
> INFO  [StreamConnectionEstablisher:3] 2016-01-26 10:59:20,098  
> StreamCoordinator.java:213 - [Stream #d9bbe900-c41b-11e5-8540-d1e65b596c03, 
> ID#0] Beginning stream session with /10.200.178.185
> INFO  [STREAM-IN-/10.200.178.185] 2016-01-26 10:59:20,102  
> StreamResultFuture.java:182 - [Stream #d9bbe900-c41b-11e5-8540-d1e65b596c03] 
> Session with /10.200.178.185 is complete
> INFO  [STREAM-IN-/10.200.178.193] 2016-01-26 10:59:20,359  
> StreamResultFuture.java:182 - [Stream #d9bbe900-c41b-11e5-8540-d1e65b596c03] 
> Session with /10.200.178.193 is complete
> INFO  [STREAM-IN-/10.200.178.193] 2016-01-26 10:59:20,362  
> StreamResultFuture.java:214 - [Stream #d9bbe900-c41b-11e5-8540-d1e65b596c03] 
> All sessions completed
> ERROR [Reference-Reaper:1] 2016-01-26 11:00:39,410  Ref.java:197 - LEAK 
> DETECTED: a reference 
> (org.apache.cassandra.utils.concurrent.Ref$State@1c7d1dcf) to @2011417651 was 
> not released before the reference was garbage collected
> ERROR [Reference-Reaper:1] 2016-01-26 11:00:39,411  Ref.java:228 - Allocate 
> trace org.apache.cassandra.utils.concurrent.Ref$State@1c7d1dcf:
> Thread[SharedPool-Worker-6,5,main]
>   at java.lang.Thread.getStackTrace(Thread.java:1552)
>   at org.apache.cassandra.utils.concurrent.Ref$Debug.(Ref.java:218)
>   at org.apache.cassandra.utils.concurrent.Ref$State.(Ref.java:148)
>   at org.apache.cassandra.utils.concurrent.Ref.(Ref.java:70)
>   at 
> org.apache.cassandra.utils.memory.BufferPool$Chunk.setAttachment(BufferPool.java:646)
>   a

[jira] [Commented] (CASSANDRA-11099) Prepared metadata does not include CAS applied column

2016-02-08 Thread Chris Bannister (JIRA)

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

Chris Bannister commented on CASSANDRA-11099:
-

I realised when I started looking into the returned metadata that is not as 
simple as I had thought. I would be great to have fixed for protocol 5 though. 
Another option to mitigate is that if a client requests skip_metadata for a CAS 
statement Cassandra should ignore it and return the result metadata, this 
shouldn't be breaking.

> Prepared metadata does not include CAS applied column
> -
>
> Key: CASSANDRA-11099
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11099
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Chris Bannister
>Priority: Minor
>  Labels: protocolv5
>
> When executing a CAS statement the first column is the [applied] boolean 
> column indicating success, but when preparing it does get returned. This 
> means that clients can not cache the prepared statement result metadata to 
> use instead of the execute metadata.



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


[jira] [Updated] (CASSANDRA-11090) Hinted Handoff loop

2016-02-08 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko updated CASSANDRA-11090:
--
Reviewer: Blake Eggleston

> Hinted Handoff loop
> ---
>
> Key: CASSANDRA-11090
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11090
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Blake Eggleston
>Assignee: Aleksey Yeschenko
>Priority: Minor
> Fix For: 3.0.x, 3.x
>
>
> After the hints executor finishes sending hints, another hints file is 
> created for the same host, which is then processed on the next go around. 
> This continues indefinitely. The new hint files are empty, so there shouldn't 
> be any network traffic. However, there's still unnecessary hint activity, and 
> the hint crc file isn't deleted in the 3.0 branch after hints are dispatched 
> (but is in trunk), so any hint activity will trigger ~8640 files being 
> created per day until the node is restarted. Restarting the node fixes the 
> problem, after the existing hint files are processed. 
> This can be duplicated on cassandra-3.0 to trunk with this script: 
> https://gist.github.com/bdeggleston/13fbb9e70c0c0bd277c7



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


[jira] [Updated] (CASSANDRA-9967) Determine if a Materialized View is finished building, without having to query each node

2016-02-08 Thread Joshua McKenzie (JIRA)

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

Joshua McKenzie updated CASSANDRA-9967:
---
Assignee: Carl Yeksigian

> Determine if a Materialized View is finished building, without having to 
> query each node
> 
>
> Key: CASSANDRA-9967
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9967
> Project: Cassandra
>  Issue Type: New Feature
>Reporter: Alan Boudreault
>Assignee: Carl Yeksigian
>Priority: Minor
>  Labels: lhf
> Fix For: 3.x
>
>
> Since MVs are eventually consistent with its base table, It would nice if we 
> could easily know the state of the MV after its creation, so we could wait 
> until the MV is built before doing some operations.
> // cc [~mbroecheler] [~tjake] [~carlyeks] [~enigmacurry]



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


[jira] [Updated] (CASSANDRA-11090) Hinted Handoff loop

2016-02-08 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko updated CASSANDRA-11090:
--
Priority: Minor  (was: Major)

> Hinted Handoff loop
> ---
>
> Key: CASSANDRA-11090
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11090
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Blake Eggleston
>Assignee: Aleksey Yeschenko
>Priority: Minor
> Fix For: 3.0.x, 3.x
>
>
> After the hints executor finishes sending hints, another hints file is 
> created for the same host, which is then processed on the next go around. 
> This continues indefinitely. The new hint files are empty, so there shouldn't 
> be any network traffic. However, there's still unnecessary hint activity, and 
> the hint crc file isn't deleted in the 3.0 branch after hints are dispatched 
> (but is in trunk), so any hint activity will trigger ~8640 files being 
> created per day until the node is restarted. Restarting the node fixes the 
> problem, after the existing hint files are processed. 
> This can be duplicated on cassandra-3.0 to trunk with this script: 
> https://gist.github.com/bdeggleston/13fbb9e70c0c0bd277c7



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


[jira] [Updated] (CASSANDRA-10697) Leak detected while running offline scrub

2016-02-08 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-10697:
-
Assignee: Marcus Eriksson

> Leak detected while running offline scrub
> -
>
> Key: CASSANDRA-10697
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10697
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
> Environment: C* 2.1.9 on Debian Wheezy
>Reporter: mlowicki
>Assignee: Marcus Eriksson
>Priority: Critical
> Fix For: 2.1.x, 2.2.x, 3.0.x, 3.x
>
>
> I got couple of those:
> {code}
> ERROR 05:09:15 LEAK DETECTED: a reference 
> (org.apache.cassandra.utils.concurrent.Ref$State@3b60e162) to class 
> org.apache.cassandra.io.sstable.SSTableReader$InstanceTidier@1433208674:/var/lib/cassandra/data/sync/entity2-e24b5040199b11e5a30f75bb514ae072/sync-entity2-ka-405434
>  was not released before the reference was garbage collected
> {code}
> and then:
> {code}
> Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
> at 
> org.apache.cassandra.io.compress.CompressedRandomAccessReader.decompressChunk(CompressedRandomAccessReader.java:99)
> at 
> org.apache.cassandra.io.compress.CompressedRandomAccessReader.reBuffer(CompressedRandomAccessReader.java:81)
> at 
> org.apache.cassandra.io.util.RandomAccessReader.read(RandomAccessReader.java:353)
> at java.io.RandomAccessFile.readFully(RandomAccessFile.java:444)
> at java.io.RandomAccessFile.readFully(RandomAccessFile.java:424)
> at 
> org.apache.cassandra.io.util.RandomAccessReader.readBytes(RandomAccessReader.java:378)
> at 
> org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:348)
> at 
> org.apache.cassandra.utils.ByteBufferUtil.readWithShortLength(ByteBufferUtil.java:327)
> at 
> org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:397)
> at 
> org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:381)
> at 
> org.apache.cassandra.db.OnDiskAtom$Serializer.deserializeFromSSTable(OnDiskAtom.java:75)
> at 
> org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:52)
> at 
> org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:46)
> at 
> com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
> at 
> com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
> at 
> org.apache.cassandra.io.sstable.SSTableIdentityIterator.hasNext(SSTableIdentityIterator.java:120)
> at 
> org.apache.cassandra.utils.MergeIterator$OneToOne.computeNext(MergeIterator.java:202)
> at 
> com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
> at 
> com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
> at 
> com.google.common.collect.Iterators$7.computeNext(Iterators.java:645)
> at 
> com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
> at 
> com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
> at 
> org.apache.cassandra.db.ColumnIndex$Builder.buildForCompaction(ColumnIndex.java:165)
> at 
> org.apache.cassandra.db.compaction.LazilyCompactedRow.write(LazilyCompactedRow.java:121)
> at 
> org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:192)
> at 
> org.apache.cassandra.io.sstable.SSTableRewriter.append(SSTableRewriter.java:127)
> at 
> org.apache.cassandra.io.sstable.SSTableRewriter.tryAppend(SSTableRewriter.java:158)
> at 
> org.apache.cassandra.db.compaction.Scrubber.scrub(Scrubber.java:220)
> at 
> org.apache.cassandra.tools.StandaloneScrubber.main(StandaloneScrubber.java:116)
> {code}



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


[jira] [Commented] (CASSANDRA-11076) LEAK detected after bootstrapping a new node

2016-02-08 Thread Eduard Tudenhoefner (JIRA)

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

Eduard Tudenhoefner commented on CASSANDRA-11076:
-

[~krummas] for a while, it was happening every time in our tests, but as of Feb 
3rd I also cannot reproduce the issue anymore in our tests. 

> LEAK detected after bootstrapping a new node
> 
>
> Key: CASSANDRA-11076
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11076
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Eduard Tudenhoefner
>Assignee: Marcus Eriksson
> Fix For: 3.0.x
>
>
> Sequence of events:
> * start up a 2 node cluster
> * bootstrap one additional node so that the cluster consists of 3 nodes in 
> total
> * the bootstrapped node will contain the LEAK error in the log file
> {code}
> INFO  [main] 2016-01-26 10:59:06,206  Server.java:162 - Starting listening 
> for CQL clients on /0.0.0.0:9042 (unencrypted)...
> INFO  [main] 2016-01-26 10:59:06,269  ThriftServer.java:119 - Binding thrift 
> service to /0.0.0.0:9160
> INFO  [Thread-6] 2016-01-26 10:59:06,280  ThriftServer.java:136 - Listening 
> for thrift clients...
> INFO  [HANDSHAKE-/10.200.178.183] 2016-01-26 10:59:06,703  
> OutboundTcpConnection.java:503 - Handshaking version with /10.200.178.183
> INFO  [RMI TCP Connection(4)-10.200.178.183] 2016-01-26 10:59:20,079  
> StorageService.java:1099 - rebuild from dc: (any dc)
> INFO  [RMI TCP Connection(4)-10.200.178.183] 2016-01-26 10:59:20,090  
> RangeStreamer.java:339 - Some ranges of 
> [(-9223372036854775808,-3074457345618258603], 
> (-3074457345618258603,3074457345618258602]] are already available. Skipping 
> streaming those ranges.
> INFO  [RMI TCP Connection(4)-10.200.178.183] 2016-01-26 10:59:20,091  
> RangeStreamer.java:339 - Some ranges of 
> [(-9223372036854775808,-3074457345618258603], 
> (-3074457345618258603,3074457345618258602]] are already available. Skipping 
> streaming those ranges.
> INFO  [RMI TCP Connection(4)-10.200.178.183] 2016-01-26 10:59:20,092  
> RangeStreamer.java:339 - Some ranges of 
> [(3074457345618258602,-9223372036854775808], 
> (-9223372036854775808,-3074457345618258603], 
> (-3074457345618258603,3074457345618258602]] are already available. Skipping 
> streaming those ranges.
> INFO  [RMI TCP Connection(4)-10.200.178.183] 2016-01-26 10:59:20,093  
> RangeStreamer.java:339 - Some ranges of 
> [(3074457345618258602,-9223372036854775808], 
> (-9223372036854775808,-3074457345618258603], 
> (-3074457345618258603,3074457345618258602]] are already available. Skipping 
> streaming those ranges.
> INFO  [RMI TCP Connection(4)-10.200.178.183] 2016-01-26 10:59:20,094  
> StreamResultFuture.java:86 - [Stream #d9bbe900-c41b-11e5-8540-d1e65b596c03] 
> Executing streaming plan for Rebuild
> INFO  [StreamConnectionEstablisher:3] 2016-01-26 10:59:20,095  
> StreamSession.java:238 - [Stream #d9bbe900-c41b-11e5-8540-d1e65b596c03] 
> Starting streaming to /10.200.178.185
> INFO  [StreamConnectionEstablisher:4] 2016-01-26 10:59:20,096  
> StreamSession.java:238 - [Stream #d9bbe900-c41b-11e5-8540-d1e65b596c03] 
> Starting streaming to /10.200.178.193
> INFO  [StreamConnectionEstablisher:4] 2016-01-26 10:59:20,097  
> StreamCoordinator.java:213 - [Stream #d9bbe900-c41b-11e5-8540-d1e65b596c03, 
> ID#0] Beginning stream session with /10.200.178.193
> INFO  [StreamConnectionEstablisher:3] 2016-01-26 10:59:20,098  
> StreamCoordinator.java:213 - [Stream #d9bbe900-c41b-11e5-8540-d1e65b596c03, 
> ID#0] Beginning stream session with /10.200.178.185
> INFO  [STREAM-IN-/10.200.178.185] 2016-01-26 10:59:20,102  
> StreamResultFuture.java:182 - [Stream #d9bbe900-c41b-11e5-8540-d1e65b596c03] 
> Session with /10.200.178.185 is complete
> INFO  [STREAM-IN-/10.200.178.193] 2016-01-26 10:59:20,359  
> StreamResultFuture.java:182 - [Stream #d9bbe900-c41b-11e5-8540-d1e65b596c03] 
> Session with /10.200.178.193 is complete
> INFO  [STREAM-IN-/10.200.178.193] 2016-01-26 10:59:20,362  
> StreamResultFuture.java:214 - [Stream #d9bbe900-c41b-11e5-8540-d1e65b596c03] 
> All sessions completed
> ERROR [Reference-Reaper:1] 2016-01-26 11:00:39,410  Ref.java:197 - LEAK 
> DETECTED: a reference 
> (org.apache.cassandra.utils.concurrent.Ref$State@1c7d1dcf) to @2011417651 was 
> not released before the reference was garbage collected
> ERROR [Reference-Reaper:1] 2016-01-26 11:00:39,411  Ref.java:228 - Allocate 
> trace org.apache.cassandra.utils.concurrent.Ref$State@1c7d1dcf:
> Thread[SharedPool-Worker-6,5,main]
>   at java.lang.Thread.getStackTrace(Thread.java:1552)
>   at org.apache.cassandra.utils.concurrent.Ref$Debug.(Ref.java:218)
>   at org.apache.cassandra.utils.concurrent.Ref$State.(Ref.java:148)
>   at org.apache.cassandra.utils.concurrent.Ref.(Ref.java:70)
>  

[jira] [Commented] (CASSANDRA-11090) Hinted Handoff loop

2016-02-08 Thread Blake Eggleston (JIRA)

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

Blake Eggleston commented on CASSANDRA-11090:
-

Ok, looks like the crc problem is gone in the current 3.0 branch.

The main issue I'm seeing though, is that any hint activity starts an infinite 
loop of empty hint file creation / processing. In the script I linked in the 
description, some data is inserted while there's a node down, creating a hints 
file. When the node is brought up, the hints are transmitted, as you'd expect. 
After that, every 10 seconds, another hints file (empty this time) is created 
for that node, and processed / deleted.

It's less of an issue if the crc problem is fixed, but will still create a lot 
of noise in the logs for moderately sized clusters.

> Hinted Handoff loop
> ---
>
> Key: CASSANDRA-11090
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11090
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Blake Eggleston
>Assignee: Aleksey Yeschenko
> Fix For: 3.0.x, 3.x
>
>
> After the hints executor finishes sending hints, another hints file is 
> created for the same host, which is then processed on the next go around. 
> This continues indefinitely. The new hint files are empty, so there shouldn't 
> be any network traffic. However, there's still unnecessary hint activity, and 
> the hint crc file isn't deleted in the 3.0 branch after hints are dispatched 
> (but is in trunk), so any hint activity will trigger ~8640 files being 
> created per day until the node is restarted. Restarting the node fixes the 
> problem, after the existing hint files are processed. 
> This can be duplicated on cassandra-3.0 to trunk with this script: 
> https://gist.github.com/bdeggleston/13fbb9e70c0c0bd277c7



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


[jira] [Commented] (CASSANDRA-8643) merkle tree creation fails with NoSuchElementException

2016-02-08 Thread Marcus Eriksson (JIRA)

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

Marcus Eriksson commented on CASSANDRA-8643:


[~Jan Karlsson] what version are you on now? Are you running incremental 
repairs?

> merkle tree creation fails with NoSuchElementException
> --
>
> Key: CASSANDRA-8643
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8643
> Project: Cassandra
>  Issue Type: Bug
> Environment: We are running on a three node cluster with three in 
> replication(C* 2.1.1). It uses a default C* installation and STCS.
>Reporter: Jan Karlsson
> Fix For: 2.1.3
>
>
> We have a problem that we encountered during testing over the weekend. 
> During the tests we noticed that repairs started to fail. This error has 
> occured on multiple non-coordinator nodes during repair. It also ran at least 
> once without producing this error.
> We run repair -pr on all nodes on different days. CPU values were around 40% 
> and disk was 50% full.
> From what I understand, the coordinator asked for merkle trees from the other 
> two nodes. However one of the nodes fails to create his merkle tree.
> Unfortunately we do not have a way to reproduce this problem.
> The coordinator receives:
> {noformat}
> 2015-01-09T17:55:57.091+0100  INFO [RepairJobTask:4] RepairJob.java:145 
> [repair #59455950-9820-11e4-b5c1-7797064e1316] requesting merkle trees for 
> censored (to [/xx.90, /xx.98, /xx.82])
> 2015-01-09T17:55:58.516+0100  INFO [AntiEntropyStage:1] 
> RepairSession.java:171 [repair #59455950-9820-11e4-b5c1-7797064e1316] 
> Received merkle tree for censored from /xx.90
> 2015-01-09T17:55:59.581+0100 ERROR [AntiEntropySessions:76] 
> RepairSession.java:303 [repair #59455950-9820-11e4-b5c1-7797064e1316] session 
> completed with the following error
> org.apache.cassandra.exceptions.RepairException: [repair 
> #59455950-9820-11e4-b5c1-7797064e1316 on censored/censored, 
> (-6476420463551243930,-6471459119674373580]] Validation failed in /xx.98
> at 
> org.apache.cassandra.repair.RepairSession.validationComplete(RepairSession.java:166)
>  ~[apache-cassandra-2.1.1.jar:2.1.1]
> at 
> org.apache.cassandra.service.ActiveRepairService.handleMessage(ActiveRepairService.java:384)
>  ~[apache-cassandra-2.1.1.jar:2.1.1]
> at 
> org.apache.cassandra.repair.RepairMessageVerbHandler.doVerb(RepairMessageVerbHandler.java:126)
>  ~[apache-cassandra-2.1.1.jar:2.1.1]
> at 
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:62) 
> ~[apache-cassandra-2.1.1.jar:2.1.1]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>  [na:1.7.0_51]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>  [na:1.7.0_51]
> at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]
> 2015-01-09T17:55:59.582+0100 ERROR [AntiEntropySessions:76] 
> CassandraDaemon.java:153 Exception in thread 
> Thread[AntiEntropySessions:76,5,RMI Runtime]
> java.lang.RuntimeException: org.apache.cassandra.exceptions.RepairException: 
> [repair #59455950-9820-11e4-b5c1-7797064e1316 on censored/censored, 
> (-6476420463551243930,-6471459119674373580]] Validation failed in /xx.98
> at com.google.common.base.Throwables.propagate(Throwables.java:160) 
> ~[guava-16.0.jar:na]
> at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:32) 
> ~[apache-cassandra-2.1.1.jar:2.1.1]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
> ~[na:1.7.0_51]
> at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
> ~[na:1.7.0_51]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>  ~[na:1.7.0_51]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>  [na:1.7.0_51]
>at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51] Caused by: 
> org.apache.cassandra.exceptions.RepairException: [repair 
> #59455950-9820-11e4-b5c1-7797064e1316 on censored/censored, 
> (-6476420463551243930,-6471459119674373580]] Validation failed in /xx.98
> at 
> org.apache.cassandra.repair.RepairSession.validationComplete(RepairSession.java:166)
>  ~[apache-cassandra-2.1.1.jar:2.1.1]
> at 
> org.apache.cassandra.service.ActiveRepairService.handleMessage(ActiveRepairService.java:384)
>  ~[apache-cassandra-2.1.1.jar:2.1.1]
> at 
> org.apache.cassandra.repair.RepairMessageVerbHandler.doVerb(RepairMessageVerbHandler.java:126)
>  ~[apache-cassandra-2.1.1.jar:2.1.1]
> at 
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:62) 
> ~[apache-cassandra-2.1.1.jar:2.1.1]
> ... 3 

[jira] [Reopened] (CASSANDRA-8643) merkle tree creation fails with NoSuchElementException

2016-02-08 Thread Marcus Eriksson (JIRA)

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

Marcus Eriksson reopened CASSANDRA-8643:


> merkle tree creation fails with NoSuchElementException
> --
>
> Key: CASSANDRA-8643
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8643
> Project: Cassandra
>  Issue Type: Bug
> Environment: We are running on a three node cluster with three in 
> replication(C* 2.1.1). It uses a default C* installation and STCS.
>Reporter: Jan Karlsson
> Fix For: 2.1.3
>
>
> We have a problem that we encountered during testing over the weekend. 
> During the tests we noticed that repairs started to fail. This error has 
> occured on multiple non-coordinator nodes during repair. It also ran at least 
> once without producing this error.
> We run repair -pr on all nodes on different days. CPU values were around 40% 
> and disk was 50% full.
> From what I understand, the coordinator asked for merkle trees from the other 
> two nodes. However one of the nodes fails to create his merkle tree.
> Unfortunately we do not have a way to reproduce this problem.
> The coordinator receives:
> {noformat}
> 2015-01-09T17:55:57.091+0100  INFO [RepairJobTask:4] RepairJob.java:145 
> [repair #59455950-9820-11e4-b5c1-7797064e1316] requesting merkle trees for 
> censored (to [/xx.90, /xx.98, /xx.82])
> 2015-01-09T17:55:58.516+0100  INFO [AntiEntropyStage:1] 
> RepairSession.java:171 [repair #59455950-9820-11e4-b5c1-7797064e1316] 
> Received merkle tree for censored from /xx.90
> 2015-01-09T17:55:59.581+0100 ERROR [AntiEntropySessions:76] 
> RepairSession.java:303 [repair #59455950-9820-11e4-b5c1-7797064e1316] session 
> completed with the following error
> org.apache.cassandra.exceptions.RepairException: [repair 
> #59455950-9820-11e4-b5c1-7797064e1316 on censored/censored, 
> (-6476420463551243930,-6471459119674373580]] Validation failed in /xx.98
> at 
> org.apache.cassandra.repair.RepairSession.validationComplete(RepairSession.java:166)
>  ~[apache-cassandra-2.1.1.jar:2.1.1]
> at 
> org.apache.cassandra.service.ActiveRepairService.handleMessage(ActiveRepairService.java:384)
>  ~[apache-cassandra-2.1.1.jar:2.1.1]
> at 
> org.apache.cassandra.repair.RepairMessageVerbHandler.doVerb(RepairMessageVerbHandler.java:126)
>  ~[apache-cassandra-2.1.1.jar:2.1.1]
> at 
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:62) 
> ~[apache-cassandra-2.1.1.jar:2.1.1]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>  [na:1.7.0_51]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>  [na:1.7.0_51]
> at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]
> 2015-01-09T17:55:59.582+0100 ERROR [AntiEntropySessions:76] 
> CassandraDaemon.java:153 Exception in thread 
> Thread[AntiEntropySessions:76,5,RMI Runtime]
> java.lang.RuntimeException: org.apache.cassandra.exceptions.RepairException: 
> [repair #59455950-9820-11e4-b5c1-7797064e1316 on censored/censored, 
> (-6476420463551243930,-6471459119674373580]] Validation failed in /xx.98
> at com.google.common.base.Throwables.propagate(Throwables.java:160) 
> ~[guava-16.0.jar:na]
> at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:32) 
> ~[apache-cassandra-2.1.1.jar:2.1.1]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
> ~[na:1.7.0_51]
> at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
> ~[na:1.7.0_51]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>  ~[na:1.7.0_51]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>  [na:1.7.0_51]
>at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51] Caused by: 
> org.apache.cassandra.exceptions.RepairException: [repair 
> #59455950-9820-11e4-b5c1-7797064e1316 on censored/censored, 
> (-6476420463551243930,-6471459119674373580]] Validation failed in /xx.98
> at 
> org.apache.cassandra.repair.RepairSession.validationComplete(RepairSession.java:166)
>  ~[apache-cassandra-2.1.1.jar:2.1.1]
> at 
> org.apache.cassandra.service.ActiveRepairService.handleMessage(ActiveRepairService.java:384)
>  ~[apache-cassandra-2.1.1.jar:2.1.1]
> at 
> org.apache.cassandra.repair.RepairMessageVerbHandler.doVerb(RepairMessageVerbHandler.java:126)
>  ~[apache-cassandra-2.1.1.jar:2.1.1]
> at 
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:62) 
> ~[apache-cassandra-2.1.1.jar:2.1.1]
> ... 3 common frames omitted
> {noformat}
> While one of the other nodes produces this error:
> {noformat}
> 2015-01-09T17:55:59.574+0100 ERROR [V

[jira] [Updated] (CASSANDRA-11116) Gossiper#isEnabled is not thread safe

2016-02-08 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko updated CASSANDRA-6:
--
Fix Version/s: 2.1.14

> Gossiper#isEnabled is not thread safe
> -
>
> Key: CASSANDRA-6
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Sergio Bossa
>Assignee: Ariel Weisberg
>Priority: Critical
> Fix For: 2.1.14, 2.2.6, 3.0.4, 3.4
>
>
> {{Gossiper#isEnabled()}} relies on the presence of {{scheduledGossipTask}}, 
> which is not final nor volatile. As a consequence, when such method is called 
> on a different thread, i.e. the gossip stage thread, it is sometimes detected 
> as not enabled, causing particularly obscure failures.
> This is shown by the following logs. First the gossiper is started:
> {noformat}
> 1 TRACE [Thread-29] 2016-02-03 19:21:31,232  Gossiper.java (line 1310) gossip 
> started with generation 1454527291
> {noformat}
> Then the same node misses a gossip message because the gossiper is seen as 
> disabled:
> {noformat}
> 1 TRACE [GossipStage:1] 2016-02-03 19:21:32,016  
> GossipDigestSynVerbHandler.java (line 44) Ignoring GossipDigestSynMessage 
> because gossip is disabled
> {noformat}



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


[jira] [Commented] (CASSANDRA-11116) Gossiper#isEnabled is not thread safe

2016-02-08 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-6:
---

Additionally committed to 2.1 in {{6fe70c65291d01f1f1b1c5edaa727fbbb79eb617}}.

> Gossiper#isEnabled is not thread safe
> -
>
> Key: CASSANDRA-6
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Sergio Bossa
>Assignee: Ariel Weisberg
>Priority: Critical
> Fix For: 2.1.14, 2.2.6, 3.0.4, 3.4
>
>
> {{Gossiper#isEnabled()}} relies on the presence of {{scheduledGossipTask}}, 
> which is not final nor volatile. As a consequence, when such method is called 
> on a different thread, i.e. the gossip stage thread, it is sometimes detected 
> as not enabled, causing particularly obscure failures.
> This is shown by the following logs. First the gossiper is started:
> {noformat}
> 1 TRACE [Thread-29] 2016-02-03 19:21:31,232  Gossiper.java (line 1310) gossip 
> started with generation 1454527291
> {noformat}
> Then the same node misses a gossip message because the gossiper is seen as 
> disabled:
> {noformat}
> 1 TRACE [GossipStage:1] 2016-02-03 19:21:32,016  
> GossipDigestSynVerbHandler.java (line 44) Ignoring GossipDigestSynMessage 
> because gossip is disabled
> {noformat}



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


[09/10] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2016-02-08 Thread aleksey
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/trunk
Commit: 0d30540f6a93d4ee711a629d622efdf0c02315ef
Parents: 15092e6 029b22e
Author: Aleksey Yeschenko 
Authored: Mon Feb 8 15:53:36 2016 +
Committer: Aleksey Yeschenko 
Committed: Mon Feb 8 15:53:36 2016 +

--
 CHANGES.txt | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d30540f/CHANGES.txt
--
diff --cc CHANGES.txt
index 03a8bc8,770c394..c6111e5
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,11 -1,8 +1,12 @@@
 -2.2.6
 +3.0.4
 + * Fix leak detection strong reference loop using weak reference 
(CASSANDRA-11120)
 + * Configurie BatchlogManager to stop delayed tasks on shutdown 
(CASSANDRA-11062)
 + * Hadoop integration is incompatible with Cassandra Driver 3.0.0 
(CASSANDRA-11001)
- Merged from 2.2.6
++Merged from 2.2.6:
   * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)
-  * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
+  * Fix paging on DISTINCT queries repeats result when first row in partition 
changes (CASSANDRA-10010)
  Merged from 2.1:
+  * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
   * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
  
  



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

2016-02-08 Thread aleksey
Merge branch 'cassandra-3.0' into trunk


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

Branch: refs/heads/trunk
Commit: c227b928a9cfd49450fda6bc349e75f9b783c083
Parents: 1d7f312 0d30540
Author: Aleksey Yeschenko 
Authored: Mon Feb 8 15:53:48 2016 +
Committer: Aleksey Yeschenko 
Committed: Mon Feb 8 15:53:48 2016 +

--
 CHANGES.txt | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
--


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



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

2016-02-08 Thread aleksey
Merge branch 'cassandra-2.1' into cassandra-2.2


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

Branch: refs/heads/cassandra-2.2
Commit: 029b22e84d13f714b9a999fe7d6a1e6f8a5cfc0a
Parents: d295c7c 6fe70c6
Author: Aleksey Yeschenko 
Authored: Mon Feb 8 15:52:07 2016 +
Committer: Aleksey Yeschenko 
Committed: Mon Feb 8 15:52:07 2016 +

--
 CHANGES.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/029b22e8/CHANGES.txt
--
diff --cc CHANGES.txt
index b0a5062,806e6d5..770c394
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,40 -1,9 +1,40 @@@
 -2.1.14
 +2.2.6
 + * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)
-  * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
 + * Fix paging on DISTINCT queries repeats result when first row in partition 
changes (CASSANDRA-10010)
 +Merged from 2.1:
+  * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
 + * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
  
  
 -2.1.13
 - * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
 +2.2.5
 + * maxPurgeableTimestamp needs to check memtables too (CASSANDRA-9949)
 + * Apply change to compaction throughput in real time (CASSANDRA-10025)
 + * Fix potential NPE on ORDER BY queries with IN (CASSANDRA-10955)
 + * Avoid over-fetching during the page of range queries (CASSANDRA-8521)
 + * Start L0 STCS-compactions even if there is a L0 -> L1 compaction
 +   going (CASSANDRA-10979)
 + * Make UUID LSB unique per process (CASSANDRA-7925)
 + * Avoid NPE when performing sstable tasks (scrub etc.) (CASSANDRA-10980)
 + * Make sure client gets tombstone overwhelmed warning (CASSANDRA-9465)
 + * Fix error streaming section more than 2GB (CASSANDRA-10961)
 + * (cqlsh) Also apply --connect-timeout to control connection
 +   timeout (CASSANDRA-10959)
 + * Histogram buckets exposed in jmx are sorted incorrectly (CASSANDRA-10975)
 + * Enable GC logging by default (CASSANDRA-10140)
 + * Optimize pending range computation (CASSANDRA-9258)
 + * Skip commit log and saved cache directories in SSTable version startup 
check (CASSANDRA-10902)
 + * drop/alter user should be case sensitive (CASSANDRA-10817)
 + * jemalloc detection fails due to quoting issues in regexv (CASSANDRA-10946)
 + * Support counter-columns for native aggregates (sum,avg,max,min) 
(CASSANDRA-9977)
 + * (cqlsh) show correct column names for empty result sets (CASSANDRA-9813)
 + * Add new types to Stress (CASSANDRA-9556)
 + * Add property to allow listening on broadcast interface (CASSANDRA-9748)
 + * Fix regression in split size on CqlInputFormat (CASSANDRA-10835)
 + * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
 + * Disable reloading of GossipingPropertyFileSnitch (CASSANDRA-9474)
 + * Verify tables in pseudo-system keyspaces at startup (CASSANDRA-10761)
 + * (cqlsh) encode input correctly when saving history
 +Merged from 2.1:
   * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
   * Fix isJoined return true only after becoming cluster member 
(CASANDRA-11007)
   * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)



[04/10] cassandra git commit: Gossiper#isEnabled is not thread safe

2016-02-08 Thread aleksey
Gossiper#isEnabled is not thread safe

patch by aweisberg; reviewed by jasobrown for CASSANDRA-6


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

Branch: refs/heads/trunk
Commit: 6fe70c65291d01f1f1b1c5edaa727fbbb79eb617
Parents: dd23adf
Author: Ariel Weisberg 
Authored: Fri Feb 5 13:59:38 2016 -0800
Committer: Aleksey Yeschenko 
Committed: Mon Feb 8 15:50:59 2016 +

--
 CHANGES.txt | 4 
 src/java/org/apache/cassandra/gms/Gossiper.java | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6fe70c65/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 054ad1d..806e6d5 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,7 @@
+2.1.14
+ * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
+
+
 2.1.13
  * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
  * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6fe70c65/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 ebdd5bd..ae99829 100644
--- a/src/java/org/apache/cassandra/gms/Gossiper.java
+++ b/src/java/org/apache/cassandra/gms/Gossiper.java
@@ -78,7 +78,7 @@ public class Gossiper implements 
IFailureDetectionEventListener, GossiperMBean
 SILENT_SHUTDOWN_STATES.add(VersionedValue.STATUS_BOOTSTRAPPING);
 }
 
-private ScheduledFuture scheduledGossipTask;
+private volatile ScheduledFuture scheduledGossipTask;
 private static final ReentrantLock taskLock = new ReentrantLock();
 public final static int intervalInMillis = 1000;
 public final static int QUARANTINE_DELAY = StorageService.RING_DELAY * 2;



[02/10] cassandra git commit: Gossiper#isEnabled is not thread safe

2016-02-08 Thread aleksey
Gossiper#isEnabled is not thread safe

patch by aweisberg; reviewed by jasobrown for CASSANDRA-6


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

Branch: refs/heads/cassandra-2.2
Commit: 6fe70c65291d01f1f1b1c5edaa727fbbb79eb617
Parents: dd23adf
Author: Ariel Weisberg 
Authored: Fri Feb 5 13:59:38 2016 -0800
Committer: Aleksey Yeschenko 
Committed: Mon Feb 8 15:50:59 2016 +

--
 CHANGES.txt | 4 
 src/java/org/apache/cassandra/gms/Gossiper.java | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6fe70c65/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 054ad1d..806e6d5 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,7 @@
+2.1.14
+ * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
+
+
 2.1.13
  * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
  * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6fe70c65/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 ebdd5bd..ae99829 100644
--- a/src/java/org/apache/cassandra/gms/Gossiper.java
+++ b/src/java/org/apache/cassandra/gms/Gossiper.java
@@ -78,7 +78,7 @@ public class Gossiper implements 
IFailureDetectionEventListener, GossiperMBean
 SILENT_SHUTDOWN_STATES.add(VersionedValue.STATUS_BOOTSTRAPPING);
 }
 
-private ScheduledFuture scheduledGossipTask;
+private volatile ScheduledFuture scheduledGossipTask;
 private static final ReentrantLock taskLock = new ReentrantLock();
 public final static int intervalInMillis = 1000;
 public final static int QUARANTINE_DELAY = StorageService.RING_DELAY * 2;



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

2016-02-08 Thread aleksey
Merge branch 'cassandra-2.1' into cassandra-2.2


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

Branch: refs/heads/cassandra-3.0
Commit: 029b22e84d13f714b9a999fe7d6a1e6f8a5cfc0a
Parents: d295c7c 6fe70c6
Author: Aleksey Yeschenko 
Authored: Mon Feb 8 15:52:07 2016 +
Committer: Aleksey Yeschenko 
Committed: Mon Feb 8 15:52:07 2016 +

--
 CHANGES.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/029b22e8/CHANGES.txt
--
diff --cc CHANGES.txt
index b0a5062,806e6d5..770c394
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,40 -1,9 +1,40 @@@
 -2.1.14
 +2.2.6
 + * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)
-  * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
 + * Fix paging on DISTINCT queries repeats result when first row in partition 
changes (CASSANDRA-10010)
 +Merged from 2.1:
+  * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
 + * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
  
  
 -2.1.13
 - * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
 +2.2.5
 + * maxPurgeableTimestamp needs to check memtables too (CASSANDRA-9949)
 + * Apply change to compaction throughput in real time (CASSANDRA-10025)
 + * Fix potential NPE on ORDER BY queries with IN (CASSANDRA-10955)
 + * Avoid over-fetching during the page of range queries (CASSANDRA-8521)
 + * Start L0 STCS-compactions even if there is a L0 -> L1 compaction
 +   going (CASSANDRA-10979)
 + * Make UUID LSB unique per process (CASSANDRA-7925)
 + * Avoid NPE when performing sstable tasks (scrub etc.) (CASSANDRA-10980)
 + * Make sure client gets tombstone overwhelmed warning (CASSANDRA-9465)
 + * Fix error streaming section more than 2GB (CASSANDRA-10961)
 + * (cqlsh) Also apply --connect-timeout to control connection
 +   timeout (CASSANDRA-10959)
 + * Histogram buckets exposed in jmx are sorted incorrectly (CASSANDRA-10975)
 + * Enable GC logging by default (CASSANDRA-10140)
 + * Optimize pending range computation (CASSANDRA-9258)
 + * Skip commit log and saved cache directories in SSTable version startup 
check (CASSANDRA-10902)
 + * drop/alter user should be case sensitive (CASSANDRA-10817)
 + * jemalloc detection fails due to quoting issues in regexv (CASSANDRA-10946)
 + * Support counter-columns for native aggregates (sum,avg,max,min) 
(CASSANDRA-9977)
 + * (cqlsh) show correct column names for empty result sets (CASSANDRA-9813)
 + * Add new types to Stress (CASSANDRA-9556)
 + * Add property to allow listening on broadcast interface (CASSANDRA-9748)
 + * Fix regression in split size on CqlInputFormat (CASSANDRA-10835)
 + * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
 + * Disable reloading of GossipingPropertyFileSnitch (CASSANDRA-9474)
 + * Verify tables in pseudo-system keyspaces at startup (CASSANDRA-10761)
 + * (cqlsh) encode input correctly when saving history
 +Merged from 2.1:
   * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
   * Fix isJoined return true only after becoming cluster member 
(CASANDRA-11007)
   * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)



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

2016-02-08 Thread aleksey
Merge branch 'cassandra-2.1' into cassandra-2.2


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

Branch: refs/heads/trunk
Commit: 029b22e84d13f714b9a999fe7d6a1e6f8a5cfc0a
Parents: d295c7c 6fe70c6
Author: Aleksey Yeschenko 
Authored: Mon Feb 8 15:52:07 2016 +
Committer: Aleksey Yeschenko 
Committed: Mon Feb 8 15:52:07 2016 +

--
 CHANGES.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/029b22e8/CHANGES.txt
--
diff --cc CHANGES.txt
index b0a5062,806e6d5..770c394
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,40 -1,9 +1,40 @@@
 -2.1.14
 +2.2.6
 + * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)
-  * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
 + * Fix paging on DISTINCT queries repeats result when first row in partition 
changes (CASSANDRA-10010)
 +Merged from 2.1:
+  * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
 + * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
  
  
 -2.1.13
 - * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
 +2.2.5
 + * maxPurgeableTimestamp needs to check memtables too (CASSANDRA-9949)
 + * Apply change to compaction throughput in real time (CASSANDRA-10025)
 + * Fix potential NPE on ORDER BY queries with IN (CASSANDRA-10955)
 + * Avoid over-fetching during the page of range queries (CASSANDRA-8521)
 + * Start L0 STCS-compactions even if there is a L0 -> L1 compaction
 +   going (CASSANDRA-10979)
 + * Make UUID LSB unique per process (CASSANDRA-7925)
 + * Avoid NPE when performing sstable tasks (scrub etc.) (CASSANDRA-10980)
 + * Make sure client gets tombstone overwhelmed warning (CASSANDRA-9465)
 + * Fix error streaming section more than 2GB (CASSANDRA-10961)
 + * (cqlsh) Also apply --connect-timeout to control connection
 +   timeout (CASSANDRA-10959)
 + * Histogram buckets exposed in jmx are sorted incorrectly (CASSANDRA-10975)
 + * Enable GC logging by default (CASSANDRA-10140)
 + * Optimize pending range computation (CASSANDRA-9258)
 + * Skip commit log and saved cache directories in SSTable version startup 
check (CASSANDRA-10902)
 + * drop/alter user should be case sensitive (CASSANDRA-10817)
 + * jemalloc detection fails due to quoting issues in regexv (CASSANDRA-10946)
 + * Support counter-columns for native aggregates (sum,avg,max,min) 
(CASSANDRA-9977)
 + * (cqlsh) show correct column names for empty result sets (CASSANDRA-9813)
 + * Add new types to Stress (CASSANDRA-9556)
 + * Add property to allow listening on broadcast interface (CASSANDRA-9748)
 + * Fix regression in split size on CqlInputFormat (CASSANDRA-10835)
 + * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
 + * Disable reloading of GossipingPropertyFileSnitch (CASSANDRA-9474)
 + * Verify tables in pseudo-system keyspaces at startup (CASSANDRA-10761)
 + * (cqlsh) encode input correctly when saving history
 +Merged from 2.1:
   * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
   * Fix isJoined return true only after becoming cluster member 
(CASANDRA-11007)
   * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)



[08/10] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2016-02-08 Thread aleksey
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/cassandra-3.0
Commit: 0d30540f6a93d4ee711a629d622efdf0c02315ef
Parents: 15092e6 029b22e
Author: Aleksey Yeschenko 
Authored: Mon Feb 8 15:53:36 2016 +
Committer: Aleksey Yeschenko 
Committed: Mon Feb 8 15:53:36 2016 +

--
 CHANGES.txt | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d30540f/CHANGES.txt
--
diff --cc CHANGES.txt
index 03a8bc8,770c394..c6111e5
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,11 -1,8 +1,12 @@@
 -2.2.6
 +3.0.4
 + * Fix leak detection strong reference loop using weak reference 
(CASSANDRA-11120)
 + * Configurie BatchlogManager to stop delayed tasks on shutdown 
(CASSANDRA-11062)
 + * Hadoop integration is incompatible with Cassandra Driver 3.0.0 
(CASSANDRA-11001)
- Merged from 2.2.6
++Merged from 2.2.6:
   * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)
-  * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
+  * Fix paging on DISTINCT queries repeats result when first row in partition 
changes (CASSANDRA-10010)
  Merged from 2.1:
+  * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
   * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
  
  



[03/10] cassandra git commit: Gossiper#isEnabled is not thread safe

2016-02-08 Thread aleksey
Gossiper#isEnabled is not thread safe

patch by aweisberg; reviewed by jasobrown for CASSANDRA-6


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

Branch: refs/heads/cassandra-3.0
Commit: 6fe70c65291d01f1f1b1c5edaa727fbbb79eb617
Parents: dd23adf
Author: Ariel Weisberg 
Authored: Fri Feb 5 13:59:38 2016 -0800
Committer: Aleksey Yeschenko 
Committed: Mon Feb 8 15:50:59 2016 +

--
 CHANGES.txt | 4 
 src/java/org/apache/cassandra/gms/Gossiper.java | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6fe70c65/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 054ad1d..806e6d5 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,7 @@
+2.1.14
+ * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
+
+
 2.1.13
  * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
  * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6fe70c65/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 ebdd5bd..ae99829 100644
--- a/src/java/org/apache/cassandra/gms/Gossiper.java
+++ b/src/java/org/apache/cassandra/gms/Gossiper.java
@@ -78,7 +78,7 @@ public class Gossiper implements 
IFailureDetectionEventListener, GossiperMBean
 SILENT_SHUTDOWN_STATES.add(VersionedValue.STATUS_BOOTSTRAPPING);
 }
 
-private ScheduledFuture scheduledGossipTask;
+private volatile ScheduledFuture scheduledGossipTask;
 private static final ReentrantLock taskLock = new ReentrantLock();
 public final static int intervalInMillis = 1000;
 public final static int QUARANTINE_DELAY = StorageService.RING_DELAY * 2;



[01/10] cassandra git commit: Gossiper#isEnabled is not thread safe

2016-02-08 Thread aleksey
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 dd23adf14 -> 6fe70c652
  refs/heads/cassandra-2.2 d295c7c69 -> 029b22e84
  refs/heads/cassandra-3.0 15092e634 -> 0d30540f6
  refs/heads/trunk 1d7f3129a -> c227b928a


Gossiper#isEnabled is not thread safe

patch by aweisberg; reviewed by jasobrown for CASSANDRA-6


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

Branch: refs/heads/cassandra-2.1
Commit: 6fe70c65291d01f1f1b1c5edaa727fbbb79eb617
Parents: dd23adf
Author: Ariel Weisberg 
Authored: Fri Feb 5 13:59:38 2016 -0800
Committer: Aleksey Yeschenko 
Committed: Mon Feb 8 15:50:59 2016 +

--
 CHANGES.txt | 4 
 src/java/org/apache/cassandra/gms/Gossiper.java | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6fe70c65/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 054ad1d..806e6d5 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,7 @@
+2.1.14
+ * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
+
+
 2.1.13
  * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
  * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6fe70c65/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 ebdd5bd..ae99829 100644
--- a/src/java/org/apache/cassandra/gms/Gossiper.java
+++ b/src/java/org/apache/cassandra/gms/Gossiper.java
@@ -78,7 +78,7 @@ public class Gossiper implements 
IFailureDetectionEventListener, GossiperMBean
 SILENT_SHUTDOWN_STATES.add(VersionedValue.STATUS_BOOTSTRAPPING);
 }
 
-private ScheduledFuture scheduledGossipTask;
+private volatile ScheduledFuture scheduledGossipTask;
 private static final ReentrantLock taskLock = new ReentrantLock();
 public final static int intervalInMillis = 1000;
 public final static int QUARANTINE_DELAY = StorageService.RING_DELAY * 2;



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

2016-02-08 Thread aleksey
Merge branch 'cassandra-3.0' into trunk


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

Branch: refs/heads/trunk
Commit: 1d7f3129ad95f5303c0fc71d00e5764b5e53424e
Parents: 1e6e3d4 15092e6
Author: Aleksey Yeschenko 
Authored: Mon Feb 8 15:42:08 2016 +
Committer: Aleksey Yeschenko 
Committed: Mon Feb 8 15:42:08 2016 +

--
 CHANGES.txt |  1 +
 .../io/sstable/format/SSTableReader.java| 17 +
 .../apache/cassandra/utils/concurrent/Ref.java  | 15 ++--
 .../utils/concurrent/RefCountedTest.java| 36 
 4 files changed, 60 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/1d7f3129/CHANGES.txt
--
diff --cc CHANGES.txt
index 8351032,03a8bc8..0f1b4d3
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,20 -1,5 +1,21 @@@
 -3.0.4
 +3.4
 + * Add LIKE support to CQL3 (CASSANDRA-11067)
 + * Generic Java UDF types (CASSANDRA-10819)
 + * cqlsh: Include sub-second precision in timestamps by default 
(CASSANDRA-10428)
 + * Set javac encoding to utf-8 (CASSANDRA-11077)
 + * Integrate SASI index into Cassandra (CASSANDRA-10661)
 + * Add --skip-flush option to nodetool snapshot
 + * Skip values for non-queried columns (CASSANDRA-10657)
 + * Add support for secondary indexes on static columns (CASSANDRA-8103)
 + * CommitLogUpgradeTestMaker creates broken commit logs (CASSANDRA-11051)
 + * Add metric for number of dropped mutations (CASSANDRA-10866)
 + * Simplify row cache invalidation code (CASSANDRA-10396)
 + * Support user-defined compaction through nodetool (CASSANDRA-10660)
 + * Stripe view locks by key and table ID to reduce contention 
(CASSANDRA-10981)
 + * Add nodetool gettimeout and settimeout commands (CASSANDRA-10953)
 + * Add 3.0 metadata to sstablemetadata output (CASSANDRA-10838)
 +Merged from 3.0:
+  * Fix leak detection strong reference loop using weak reference 
(CASSANDRA-11120)
   * Configurie BatchlogManager to stop delayed tasks on shutdown 
(CASSANDRA-11062)
   * Hadoop integration is incompatible with Cassandra Driver 3.0.0 
(CASSANDRA-11001)
  Merged from 2.2.6

http://git-wip-us.apache.org/repos/asf/cassandra/blob/1d7f3129/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
--



[2/3] cassandra git commit: Fix leak detection strong reference loop using weak reference

2016-02-08 Thread aleksey
Fix leak detection strong reference loop using weak reference

patch by Ariel Weisberg; reviewed by by Jeremiah Jordan for
CASSANDRA-11120


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

Branch: refs/heads/trunk
Commit: 15092e6344a23612cb1793b82d1f80a1cbb1dafa
Parents: 0a1cfaa
Author: Ariel Weisberg 
Authored: Fri Feb 5 11:09:00 2016 -0500
Committer: Aleksey Yeschenko 
Committed: Mon Feb 8 15:38:19 2016 +

--
 CHANGES.txt |  1 +
 .../io/sstable/format/SSTableReader.java| 17 +
 .../apache/cassandra/utils/concurrent/Ref.java  | 15 ++--
 .../utils/concurrent/RefCountedTest.java| 36 
 4 files changed, 60 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/15092e63/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 1fbe301..03a8bc8 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.4
+ * Fix leak detection strong reference loop using weak reference 
(CASSANDRA-11120)
  * Configurie BatchlogManager to stop delayed tasks on shutdown 
(CASSANDRA-11062)
  * Hadoop integration is incompatible with Cassandra Driver 3.0.0 
(CASSANDRA-11001)
 Merged from 2.2.6

http://git-wip-us.apache.org/repos/asf/cassandra/blob/15092e63/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
--
diff --git a/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java 
b/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
index 8788766..1618516 100644
--- a/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
+++ b/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
@@ -18,6 +18,7 @@
 package org.apache.cassandra.io.sstable.format;
 
 import java.io.*;
+import java.lang.ref.WeakReference;
 import java.nio.ByteBuffer;
 import java.util.*;
 import java.util.concurrent.*;
@@ -2200,6 +2201,7 @@ public abstract class SSTableReader extends SSTable 
implements SelfRefCounted> NULL = new 
WeakReference<>(null);
 // keyed by descriptor, mapping to the shared GlobalTidy for that 
descriptor
 static final ConcurrentMap> lookup = new 
ConcurrentHashMap<>();
 
@@ -2209,7 +2211,7 @@ public abstract class SSTableReader extends SSTable 
implements SelfRefCounted> readMeterSyncFuture = NULL;
 // shared state managing if the logical sstable has been compacted; 
this is used in cleanup
 private volatile Runnable obsoletion;
 
@@ -2228,13 +2230,13 @@ public abstract class SSTableReader extends SSTable 
implements SelfRefCounted(syncExecutor.scheduleAtFixedRate(new Runnable()
 {
 public void run()
 {
@@ -2244,15 +2246,16 @@ public abstract class SSTableReader extends SSTable 
implements SelfRefCounted readMeterSyncFutureLocal = 
readMeterSyncFuture.get();
+if (readMeterSyncFutureLocal != null)
 {
-readMeterSyncFuture.cancel(true);
-readMeterSyncFuture = null;
+readMeterSyncFutureLocal.cancel(true);
+readMeterSyncFuture = NULL;
 }
 }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/15092e63/src/java/org/apache/cassandra/utils/concurrent/Ref.java
--
diff --git a/src/java/org/apache/cassandra/utils/concurrent/Ref.java 
b/src/java/org/apache/cassandra/utils/concurrent/Ref.java
index 25ebde9..02eccbb 100644
--- a/src/java/org/apache/cassandra/utils/concurrent/Ref.java
+++ b/src/java/org/apache/cassandra/utils/concurrent/Ref.java
@@ -1,7 +1,9 @@
 package org.apache.cassandra.utils.concurrent;
 
 import java.lang.ref.PhantomReference;
+import java.lang.ref.Reference;
 import java.lang.ref.ReferenceQueue;
+import java.lang.ref.WeakReference;
 import java.lang.reflect.Field;
 import java.lang.reflect.Modifier;
 import java.util.*;
@@ -14,7 +16,6 @@ import org.slf4j.LoggerFactory;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Preconditions;
-import com.google.common.collect.Iterables;
 
 import org.apache.cassandra.concurrent.NamedThreadFactory;
 import org.apache.cassandra.db.ColumnFamilyStore;
@@ -466,7 +467,7 @@ public final class Ref implements RefCounted
 while (collectionIterator.hasNext() && (nextItem = 
collectionIterator.next()) == null){}
 if (nextItem != null)
 {
-if (isMapIterator && nextItem

[jira] [Commented] (CASSANDRA-11120) Leak Detected while bringing nodes up and down when under stress.

2016-02-08 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-11120:
---

Thanks. Committed as 
[15092e6344a23612cb1793b82d1f80a1cbb1dafa|https://github.com/apache/cassandra/commit/15092e6344a23612cb1793b82d1f80a1cbb1dafa]
 to 3.0 and merged with trunk.

> Leak Detected while bringing nodes up and down when under stress.
> -
>
> Key: CASSANDRA-11120
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11120
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Jeremiah Jordan
>Assignee: Ariel Weisberg
>Priority: Minor
> Fix For: 3.0.x, 3.x
>
>
> So after CASSANDRA-10688 has been fixed I'm able to reproduce some leaks 
> consistently with my stress test suite that is doing repairs/stress/bringing 
> nodes up and down.
> One such example:
> {noformat}
> ERROR [Strong-Reference-Leak-Detector:1] 2016-02-03 23:32:38,827  
> NoSpamLogger.java:97 - Strong self-ref loop detected 
> [/var/lib/cassandra/data/keyspace1/standard1-7cddd4c1cacc11e5aa69f375b464842d/ma-14-big,
>  private java.util.concurrent.ScheduledFuture 
> org.apache.cassandra.io.sstable.format.SSTableReader$GlobalTidy.readMeterSyncFuture-java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask,
>  final java.util.concurrent.ScheduledThreadPoolExecutor 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.this$0-java.util.concurrent.ScheduledThreadPoolExecutor,
>  private final java.util.HashSet 
> java.util.concurrent.ThreadPoolExecutor.workers-java.util.HashSet, private 
> transient java.util.HashMap java.util.HashSet.map-java.util.HashMap, 
> transient java.util.HashMap$Node[] 
> java.util.HashMap.table-[Ljava.util.HashMap$Node;, transient 
> java.util.HashMap$Node[] java.util.HashMap.table-java.util.HashMap$Node, 
> final java.lang.Object 
> java.util.HashMap$Node.key-java.util.concurrent.ThreadPoolExecutor$Worker, 
> final java.lang.Thread 
> java.util.concurrent.ThreadPoolExecutor$Worker.thread-java.lang.Thread, 
> private java.lang.ThreadGroup java.lang.Thread.group-java.lang.ThreadGroup, 
> private final java.lang.ThreadGroup 
> java.lang.ThreadGroup.parent-java.lang.ThreadGroup, java.lang.Thread[] 
> java.lang.ThreadGroup.threads-[Ljava.lang.Thread;, java.lang.Thread[] 
> java.lang.ThreadGroup.threads-java.lang.Thread, private java.lang.Runnable 
> java.lang.Thread.target-java.util.concurrent.ThreadPoolExecutor$Worker, final 
> java.util.concurrent.ThreadPoolExecutor 
> java.util.concurrent.ThreadPoolExecutor$Worker.this$0-java.util.concurrent.ScheduledThreadPoolExecutor,
>  private final java.util.concurrent.BlockingQueue 
> java.util.concurrent.ThreadPoolExecutor.workQueue-java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue,
>  private final java.util.concurrent.BlockingQueue 
> java.util.concurrent.ThreadPoolExecutor.workQueue-java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask,
>  private java.util.concurrent.Callable 
> java.util.concurrent.FutureTask.callable-java.util.concurrent.Executors$RunnableAdapter,
>  final java.lang.Runnable 
> java.util.concurrent.Executors$RunnableAdapter.task-sun.rmi.transport.DGCImpl$1,
>  final sun.rmi.transport.DGCImpl 
> sun.rmi.transport.DGCImpl$1.this$0-sun.rmi.transport.DGCImpl, private 
> java.util.Map sun.rmi.transport.DGCImpl.leaseTable-java.util.HashMap, 
> transient java.util.HashMap$Node[] 
> java.util.HashMap.table-[Ljava.util.HashMap$Node;, transient 
> java.util.HashMap$Node[] java.util.HashMap.table-java.util.HashMap$Node, 
> java.lang.Object 
> java.util.HashMap$Node.value-sun.rmi.transport.DGCImpl$LeaseInfo, 
> java.util.Set 
> sun.rmi.transport.DGCImpl$LeaseInfo.notifySet-java.util.HashSet, private 
> transient java.util.HashMap java.util.HashSet.map-java.util.HashMap, 
> transient java.util.HashMap$Node[] 
> java.util.HashMap.table-[Ljava.util.HashMap$Node;, transient 
> java.util.HashMap$Node[] java.util.HashMap.table-java.util.HashMap$Node, 
> final java.lang.Object java.util.HashMap$Node.key-sun.rmi.transport.Target, 
> private final sun.rmi.transport.WeakRef 
> sun.rmi.transport.Target.weakImpl-sun.rmi.transport.WeakRef, private 
> java.lang.Object 
> sun.rmi.transport.WeakRef.strongRef-javax.management.remote.rmi.RMIJRMPServerImpl,
>  private final java.util.List 
> javax.management.remote.rmi.RMIServerImpl.clientList-java.util.ArrayList, 
> transient java.lang.Object[] 
> java.util.ArrayList.elementData-[Ljava.lang.Object;, transient 
> java.lang.Object[] 
> java.util.ArrayList.elementData-java.lang.ref.WeakReference, private 
> java.lang.Object 
> java.lang.ref.Reference.referent-javax.management.remote.rmi.RMIConnectionImpl,
>  priva

[1/3] cassandra git commit: Fix leak detection strong reference loop using weak reference

2016-02-08 Thread aleksey
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 0a1cfaace -> 15092e634
  refs/heads/trunk 1e6e3d4d2 -> 1d7f3129a


Fix leak detection strong reference loop using weak reference

patch by Ariel Weisberg; reviewed by by Jeremiah Jordan for
CASSANDRA-11120


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

Branch: refs/heads/cassandra-3.0
Commit: 15092e6344a23612cb1793b82d1f80a1cbb1dafa
Parents: 0a1cfaa
Author: Ariel Weisberg 
Authored: Fri Feb 5 11:09:00 2016 -0500
Committer: Aleksey Yeschenko 
Committed: Mon Feb 8 15:38:19 2016 +

--
 CHANGES.txt |  1 +
 .../io/sstable/format/SSTableReader.java| 17 +
 .../apache/cassandra/utils/concurrent/Ref.java  | 15 ++--
 .../utils/concurrent/RefCountedTest.java| 36 
 4 files changed, 60 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/15092e63/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 1fbe301..03a8bc8 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.4
+ * Fix leak detection strong reference loop using weak reference 
(CASSANDRA-11120)
  * Configurie BatchlogManager to stop delayed tasks on shutdown 
(CASSANDRA-11062)
  * Hadoop integration is incompatible with Cassandra Driver 3.0.0 
(CASSANDRA-11001)
 Merged from 2.2.6

http://git-wip-us.apache.org/repos/asf/cassandra/blob/15092e63/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
--
diff --git a/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java 
b/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
index 8788766..1618516 100644
--- a/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
+++ b/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
@@ -18,6 +18,7 @@
 package org.apache.cassandra.io.sstable.format;
 
 import java.io.*;
+import java.lang.ref.WeakReference;
 import java.nio.ByteBuffer;
 import java.util.*;
 import java.util.concurrent.*;
@@ -2200,6 +2201,7 @@ public abstract class SSTableReader extends SSTable 
implements SelfRefCounted> NULL = new 
WeakReference<>(null);
 // keyed by descriptor, mapping to the shared GlobalTidy for that 
descriptor
 static final ConcurrentMap> lookup = new 
ConcurrentHashMap<>();
 
@@ -2209,7 +2211,7 @@ public abstract class SSTableReader extends SSTable 
implements SelfRefCounted> readMeterSyncFuture = NULL;
 // shared state managing if the logical sstable has been compacted; 
this is used in cleanup
 private volatile Runnable obsoletion;
 
@@ -2228,13 +2230,13 @@ public abstract class SSTableReader extends SSTable 
implements SelfRefCounted(syncExecutor.scheduleAtFixedRate(new Runnable()
 {
 public void run()
 {
@@ -2244,15 +2246,16 @@ public abstract class SSTableReader extends SSTable 
implements SelfRefCounted readMeterSyncFutureLocal = 
readMeterSyncFuture.get();
+if (readMeterSyncFutureLocal != null)
 {
-readMeterSyncFuture.cancel(true);
-readMeterSyncFuture = null;
+readMeterSyncFutureLocal.cancel(true);
+readMeterSyncFuture = NULL;
 }
 }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/15092e63/src/java/org/apache/cassandra/utils/concurrent/Ref.java
--
diff --git a/src/java/org/apache/cassandra/utils/concurrent/Ref.java 
b/src/java/org/apache/cassandra/utils/concurrent/Ref.java
index 25ebde9..02eccbb 100644
--- a/src/java/org/apache/cassandra/utils/concurrent/Ref.java
+++ b/src/java/org/apache/cassandra/utils/concurrent/Ref.java
@@ -1,7 +1,9 @@
 package org.apache.cassandra.utils.concurrent;
 
 import java.lang.ref.PhantomReference;
+import java.lang.ref.Reference;
 import java.lang.ref.ReferenceQueue;
+import java.lang.ref.WeakReference;
 import java.lang.reflect.Field;
 import java.lang.reflect.Modifier;
 import java.util.*;
@@ -14,7 +16,6 @@ import org.slf4j.LoggerFactory;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Preconditions;
-import com.google.common.collect.Iterables;
 
 import org.apache.cassandra.concurrent.NamedThreadFactory;
 import org.apache.cassandra.db.ColumnFamilyStore;
@@ -466,7 +467,7 @@ public final class Ref implements RefCounted
 while (collectionIterator.hasNext() && (nextItem = 
coll

[jira] [Commented] (CASSANDRA-11128) Unexpected exception during request; AssertionError: null

2016-02-08 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-11128:
--

Do we know if it's a regression or not? That is, have we run this on 3.0.2 for 
instance enough to be sure it's not affected. Can we try to bisect if so?

> Unexpected exception during request; AssertionError: null
> -
>
> Key: CASSANDRA-11128
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11128
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Russ Hatch
> Fix For: 3.0.x
>
>
> Post upgrade from 2.1 to 3.0.3 (3.0.3-tentative) I'm intermittently seeing 
> this exception:
> {noformat}
> ['ERROR [SharedPool-Worker-3] 2016-02-05 22:38:08,444 Message.java:611 - 
> Unexpected exception during request; channel = [id: 0xb5fa21d0, 
> /127.0.0.1:46096 => /127.0.0.1:9042]\njava.lang.AssertionError: null 
> org.apache.cassandra.db.ReadCommand$Serializer.serializedSize(ReadCommand.java:619)
>  ~[main/:na] 
> org.apache.cassandra.db.ReadCommand$Serializer.serializedSize(ReadCommand.java:523)
>  ~[main/:na]
> at org.apache.cassandra.net.MessageOut.payloadSize(MessageOut.java:166) 
> ~[main/:na]
> at 
> org.apache.cassandra.net.OutboundTcpConnectionPool.getConnection(OutboundTcpConnectionPool.java:72)
>  ~[main/:na]
> at 
> org.apache.cassandra.net.MessagingService.getConnection(MessagingService.java:609)
>  ~[main/:na]
> at 
> org.apache.cassandra.net.MessagingService.sendOneWay(MessagingService.java:758)
>  ~[main/:na]
> at 
> org.apache.cassandra.net.MessagingService.sendRR(MessagingService.java:701) 
> ~[main/:na]
> at 
> org.apache.cassandra.net.MessagingService.sendRRWithFailure(MessagingService.java:684)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.AbstractReadExecutor.makeRequests(AbstractReadExecutor.java:110)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.AbstractReadExecutor.makeDataRequests(AbstractReadExecutor.java:85)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.AbstractReadExecutor$SpeculatingReadExecutor.executeAsync(AbstractReadExecutor.java:264)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.StorageProxy$SinglePartitionReadLifecycle.doInitialQueries(StorageProxy.java:1689)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.StorageProxy.fetchRows(StorageProxy.java:1644) 
> ~[main/:na]
> at 
> org.apache.cassandra.service.StorageProxy.readRegular(StorageProxy.java:1591) 
> ~[main/:na]
> at org.apache.cassandra.service.StorageProxy.read(StorageProxy.java:1510) 
> ~[main/:na]
> at 
> org.apache.cassandra.db.SinglePartitionReadCommand.execute(SinglePartitionReadCommand.java:302)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.pager.AbstractQueryPager.fetchPage(AbstractQueryPager.java:67)
>  ~[main/:na]
> at 
> org.apache.cassandra.service.pager.SinglePartitionPager.fetchPage(SinglePartitionPager.java:34)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement$Pager$NormalPager.fetchPage(SelectStatement.java:302)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:338)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:214)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:76)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:206)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.QueryProcessor.processPrepared(QueryProcessor.java:472)
>  ~[main/:na]
> at 
> org.apache.cassandra.cql3.QueryProcessor.processPrepared(QueryProcessor.java:449)
>  ~[main/:na]
> at 
> org.apache.cassandra.transport.messages.ExecuteMessage.execute(ExecuteMessage.java:130)
>  ~[main/:na]
> at 
> org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:507)
>  [main/:na]
> at 
> org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:401)
>  [main/:na]
> at 
> io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
>  [netty-all-4.0.23.Final.jar:4.0.23.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
>  [netty-all-4.0.23.Final.jar:4.0.23.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:32)
>  [netty-all-4.0.23.Final.jar:4.0.23.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:324)
>  [netty-all-4.0.23.Final.jar:4.0.23.Final]
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> [na:1.8.0_51]
> at 
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocal

[jira] [Commented] (CASSANDRA-11120) Leak Detected while bringing nodes up and down when under stress.

2016-02-08 Thread Ariel Weisberg (JIRA)

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

Ariel Weisberg commented on CASSANDRA-11120:


Code is the same across all versions. You can ignore the 3.3 and trunk branches.

> Leak Detected while bringing nodes up and down when under stress.
> -
>
> Key: CASSANDRA-11120
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11120
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Jeremiah Jordan
>Assignee: Ariel Weisberg
>Priority: Minor
> Fix For: 3.0.x, 3.x
>
>
> So after CASSANDRA-10688 has been fixed I'm able to reproduce some leaks 
> consistently with my stress test suite that is doing repairs/stress/bringing 
> nodes up and down.
> One such example:
> {noformat}
> ERROR [Strong-Reference-Leak-Detector:1] 2016-02-03 23:32:38,827  
> NoSpamLogger.java:97 - Strong self-ref loop detected 
> [/var/lib/cassandra/data/keyspace1/standard1-7cddd4c1cacc11e5aa69f375b464842d/ma-14-big,
>  private java.util.concurrent.ScheduledFuture 
> org.apache.cassandra.io.sstable.format.SSTableReader$GlobalTidy.readMeterSyncFuture-java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask,
>  final java.util.concurrent.ScheduledThreadPoolExecutor 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.this$0-java.util.concurrent.ScheduledThreadPoolExecutor,
>  private final java.util.HashSet 
> java.util.concurrent.ThreadPoolExecutor.workers-java.util.HashSet, private 
> transient java.util.HashMap java.util.HashSet.map-java.util.HashMap, 
> transient java.util.HashMap$Node[] 
> java.util.HashMap.table-[Ljava.util.HashMap$Node;, transient 
> java.util.HashMap$Node[] java.util.HashMap.table-java.util.HashMap$Node, 
> final java.lang.Object 
> java.util.HashMap$Node.key-java.util.concurrent.ThreadPoolExecutor$Worker, 
> final java.lang.Thread 
> java.util.concurrent.ThreadPoolExecutor$Worker.thread-java.lang.Thread, 
> private java.lang.ThreadGroup java.lang.Thread.group-java.lang.ThreadGroup, 
> private final java.lang.ThreadGroup 
> java.lang.ThreadGroup.parent-java.lang.ThreadGroup, java.lang.Thread[] 
> java.lang.ThreadGroup.threads-[Ljava.lang.Thread;, java.lang.Thread[] 
> java.lang.ThreadGroup.threads-java.lang.Thread, private java.lang.Runnable 
> java.lang.Thread.target-java.util.concurrent.ThreadPoolExecutor$Worker, final 
> java.util.concurrent.ThreadPoolExecutor 
> java.util.concurrent.ThreadPoolExecutor$Worker.this$0-java.util.concurrent.ScheduledThreadPoolExecutor,
>  private final java.util.concurrent.BlockingQueue 
> java.util.concurrent.ThreadPoolExecutor.workQueue-java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue,
>  private final java.util.concurrent.BlockingQueue 
> java.util.concurrent.ThreadPoolExecutor.workQueue-java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask,
>  private java.util.concurrent.Callable 
> java.util.concurrent.FutureTask.callable-java.util.concurrent.Executors$RunnableAdapter,
>  final java.lang.Runnable 
> java.util.concurrent.Executors$RunnableAdapter.task-sun.rmi.transport.DGCImpl$1,
>  final sun.rmi.transport.DGCImpl 
> sun.rmi.transport.DGCImpl$1.this$0-sun.rmi.transport.DGCImpl, private 
> java.util.Map sun.rmi.transport.DGCImpl.leaseTable-java.util.HashMap, 
> transient java.util.HashMap$Node[] 
> java.util.HashMap.table-[Ljava.util.HashMap$Node;, transient 
> java.util.HashMap$Node[] java.util.HashMap.table-java.util.HashMap$Node, 
> java.lang.Object 
> java.util.HashMap$Node.value-sun.rmi.transport.DGCImpl$LeaseInfo, 
> java.util.Set 
> sun.rmi.transport.DGCImpl$LeaseInfo.notifySet-java.util.HashSet, private 
> transient java.util.HashMap java.util.HashSet.map-java.util.HashMap, 
> transient java.util.HashMap$Node[] 
> java.util.HashMap.table-[Ljava.util.HashMap$Node;, transient 
> java.util.HashMap$Node[] java.util.HashMap.table-java.util.HashMap$Node, 
> final java.lang.Object java.util.HashMap$Node.key-sun.rmi.transport.Target, 
> private final sun.rmi.transport.WeakRef 
> sun.rmi.transport.Target.weakImpl-sun.rmi.transport.WeakRef, private 
> java.lang.Object 
> sun.rmi.transport.WeakRef.strongRef-javax.management.remote.rmi.RMIJRMPServerImpl,
>  private final java.util.List 
> javax.management.remote.rmi.RMIServerImpl.clientList-java.util.ArrayList, 
> transient java.lang.Object[] 
> java.util.ArrayList.elementData-[Ljava.lang.Object;, transient 
> java.lang.Object[] 
> java.util.ArrayList.elementData-java.lang.ref.WeakReference, private 
> java.lang.Object 
> java.lang.ref.Reference.referent-javax.management.remote.rmi.RMIConnectionImpl,
>  private final javax.management.MBeanServer 
> javax.management.remote.rmi.RMIConnectionImpl.mbeanServer-com.su

[jira] [Updated] (CASSANDRA-11062) BatchlogManager May Attempt to Flush Hints After HintsService is Shutdown

2016-02-08 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko updated CASSANDRA-11062:
--
Component/s: Local Write-Read Paths

> BatchlogManager May Attempt to Flush Hints After HintsService is Shutdown
> -
>
> Key: CASSANDRA-11062
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11062
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local Write-Read Paths
>Reporter: Caleb William Rackliffe
>Assignee: Caleb William Rackliffe
>Priority: Minor
> Fix For: 3.0.4, 3.4
>
> Attachments: 11062-3.0.txt
>
>
> {{ScheduledThreadPoolExecutor}}'s default behavior is to keep running delayed 
> tasks after shutdown, so I think that means {{BatchlogManager}} is trying to 
> call {{replayFailedBatches()}} after drain has instructed both it and the 
> {{HintsService}} to shut down. When this happens, we get an exception when 
> that tries to submit a task to the executor in {{HintsWriteExecutor}}:
> {noformat}
> ERROR [BatchlogTasks:1] 2016-01-22 17:01:38,936  CassandraDaemon.java:195 - 
> Exception in thread Thread[BatchlogTasks:1,5,main]
> java.util.concurrent.RejectedExecutionException: ThreadPoolExecutor has shut 
> down
>   at 
> org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor$1.rejectedExecution(DebuggableThreadPoolExecutor.java:61)
>  ~[cassandra-all-3.0.1.816.jar:3.0.1.816]
>   at 
> java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:823) 
> [na:1.8.0_65]
>   at 
> java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1369) 
> [na:1.8.0_65]
>   at 
> org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor.execute(DebuggableThreadPoolExecutor.java:165)
>  ~[cassandra-all-3.0.1.816.jar:3.0.1.816]
>   at 
> java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
>  ~[na:1.8.0_65]
>   at 
> org.apache.cassandra.hints.HintsWriteExecutor.flushBufferPool(HintsWriteExecutor.java:89)
>  ~[cassandra-all-3.0.1.816.jar:3.0.1.816]
>   at 
> org.apache.cassandra.hints.HintsService.flushAndFsyncBlockingly(HintsService.java:177)
>  ~[cassandra-all-3.0.1.816.jar:3.0.1.816]
>   at 
> org.apache.cassandra.batchlog.BatchlogManager.processBatchlogEntries(BatchlogManager.java:259)
>  ~[cassandra-all-3.0.1.816.jar:3.0.1.816]
>   at 
> org.apache.cassandra.batchlog.BatchlogManager.replayFailedBatches(BatchlogManager.java:200)
>  ~[cassandra-all-3.0.1.816.jar:3.0.1.816]
>   at 
> org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor$UncomplainingRunnable.run(DebuggableScheduledThreadPoolExecutor.java:118)
>  ~[cassandra-all-3.0.1.816.jar:3.0.1.816]
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> [na:1.8.0_65]
>   at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) 
> [na:1.8.0_65]
>   at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
>  [na:1.8.0_65]
>   at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
>  [na:1.8.0_65]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  [na:1.8.0_65]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_65]
> {noformat}



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


[jira] [Commented] (CASSANDRA-11062) BatchlogManager May Attempt to Flush Hints After HintsService is Shutdown

2016-02-08 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-11062:
---

+1 and committed as 
[0a1cfaaceade1317e9fc802d77e39371e745dee3|https://github.com/apache/cassandra/commit/0a1cfaaceade1317e9fc802d77e39371e745dee3]
 to 3.0 and merged with trunk.

I did run the tests locally. In the future, though, even for patches as minor 
as this one, please have cassci results attached to your patch available 
tickets.

> BatchlogManager May Attempt to Flush Hints After HintsService is Shutdown
> -
>
> Key: CASSANDRA-11062
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11062
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Caleb William Rackliffe
>Assignee: Caleb William Rackliffe
>Priority: Minor
> Fix For: 3.0.4, 3.4
>
> Attachments: 11062-3.0.txt
>
>
> {{ScheduledThreadPoolExecutor}}'s default behavior is to keep running delayed 
> tasks after shutdown, so I think that means {{BatchlogManager}} is trying to 
> call {{replayFailedBatches()}} after drain has instructed both it and the 
> {{HintsService}} to shut down. When this happens, we get an exception when 
> that tries to submit a task to the executor in {{HintsWriteExecutor}}:
> {noformat}
> ERROR [BatchlogTasks:1] 2016-01-22 17:01:38,936  CassandraDaemon.java:195 - 
> Exception in thread Thread[BatchlogTasks:1,5,main]
> java.util.concurrent.RejectedExecutionException: ThreadPoolExecutor has shut 
> down
>   at 
> org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor$1.rejectedExecution(DebuggableThreadPoolExecutor.java:61)
>  ~[cassandra-all-3.0.1.816.jar:3.0.1.816]
>   at 
> java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:823) 
> [na:1.8.0_65]
>   at 
> java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1369) 
> [na:1.8.0_65]
>   at 
> org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor.execute(DebuggableThreadPoolExecutor.java:165)
>  ~[cassandra-all-3.0.1.816.jar:3.0.1.816]
>   at 
> java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
>  ~[na:1.8.0_65]
>   at 
> org.apache.cassandra.hints.HintsWriteExecutor.flushBufferPool(HintsWriteExecutor.java:89)
>  ~[cassandra-all-3.0.1.816.jar:3.0.1.816]
>   at 
> org.apache.cassandra.hints.HintsService.flushAndFsyncBlockingly(HintsService.java:177)
>  ~[cassandra-all-3.0.1.816.jar:3.0.1.816]
>   at 
> org.apache.cassandra.batchlog.BatchlogManager.processBatchlogEntries(BatchlogManager.java:259)
>  ~[cassandra-all-3.0.1.816.jar:3.0.1.816]
>   at 
> org.apache.cassandra.batchlog.BatchlogManager.replayFailedBatches(BatchlogManager.java:200)
>  ~[cassandra-all-3.0.1.816.jar:3.0.1.816]
>   at 
> org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor$UncomplainingRunnable.run(DebuggableScheduledThreadPoolExecutor.java:118)
>  ~[cassandra-all-3.0.1.816.jar:3.0.1.816]
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> [na:1.8.0_65]
>   at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) 
> [na:1.8.0_65]
>   at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
>  [na:1.8.0_65]
>   at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
>  [na:1.8.0_65]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  [na:1.8.0_65]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_65]
> {noformat}



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


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

2016-02-08 Thread aleksey
Merge branch 'cassandra-3.0' into trunk


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

Branch: refs/heads/trunk
Commit: 1e6e3d4d2737c81cade4afe33effa7125934cf8b
Parents: 71ccb16 0a1cfaa
Author: Aleksey Yeschenko 
Authored: Mon Feb 8 13:09:58 2016 +
Committer: Aleksey Yeschenko 
Committed: Mon Feb 8 13:09:58 2016 +

--
 CHANGES.txt | 1 +
 src/java/org/apache/cassandra/batchlog/BatchlogManager.java | 9 -
 2 files changed, 9 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/1e6e3d4d/CHANGES.txt
--
diff --cc CHANGES.txt
index 2d50c10,1fbe301..8351032
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,20 -1,5 +1,21 @@@
 -3.0.4
 +3.4
 + * Add LIKE support to CQL3 (CASSANDRA-11067)
 + * Generic Java UDF types (CASSANDRA-10819)
 + * cqlsh: Include sub-second precision in timestamps by default 
(CASSANDRA-10428)
 + * Set javac encoding to utf-8 (CASSANDRA-11077)
 + * Integrate SASI index into Cassandra (CASSANDRA-10661)
 + * Add --skip-flush option to nodetool snapshot
 + * Skip values for non-queried columns (CASSANDRA-10657)
 + * Add support for secondary indexes on static columns (CASSANDRA-8103)
 + * CommitLogUpgradeTestMaker creates broken commit logs (CASSANDRA-11051)
 + * Add metric for number of dropped mutations (CASSANDRA-10866)
 + * Simplify row cache invalidation code (CASSANDRA-10396)
 + * Support user-defined compaction through nodetool (CASSANDRA-10660)
 + * Stripe view locks by key and table ID to reduce contention 
(CASSANDRA-10981)
 + * Add nodetool gettimeout and settimeout commands (CASSANDRA-10953)
 + * Add 3.0 metadata to sstablemetadata output (CASSANDRA-10838)
 +Merged from 3.0:
+  * Configurie BatchlogManager to stop delayed tasks on shutdown 
(CASSANDRA-11062)
   * Hadoop integration is incompatible with Cassandra Driver 3.0.0 
(CASSANDRA-11001)
  Merged from 2.2.6
   * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)



[1/3] cassandra git commit: Configurie BatchlogManager to stop delayed tasks on shutdown

2016-02-08 Thread aleksey
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 23f629628 -> 0a1cfaace
  refs/heads/trunk 71ccb16bf -> 1e6e3d4d2


Configurie BatchlogManager to stop delayed tasks on shutdown

patch by Caleb Rackliffe; reviewed by Aleksey Yeschenko for
CASSANDRA-11062


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

Branch: refs/heads/cassandra-3.0
Commit: 0a1cfaaceade1317e9fc802d77e39371e745dee3
Parents: 23f6296
Author: Caleb Rackliffe 
Authored: Fri Jan 22 18:04:09 2016 -0800
Committer: Aleksey Yeschenko 
Committed: Mon Feb 8 13:08:38 2016 +

--
 CHANGES.txt | 1 +
 src/java/org/apache/cassandra/batchlog/BatchlogManager.java | 9 -
 2 files changed, 9 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0a1cfaac/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 6302ce6..1fbe301 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.4
+ * Configurie BatchlogManager to stop delayed tasks on shutdown 
(CASSANDRA-11062)
  * Hadoop integration is incompatible with Cassandra Driver 3.0.0 
(CASSANDRA-11001)
 Merged from 2.2.6
  * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0a1cfaac/src/java/org/apache/cassandra/batchlog/BatchlogManager.java
--
diff --git a/src/java/org/apache/cassandra/batchlog/BatchlogManager.java 
b/src/java/org/apache/cassandra/batchlog/BatchlogManager.java
index 1c98c2a..7ccc6f8 100644
--- a/src/java/org/apache/cassandra/batchlog/BatchlogManager.java
+++ b/src/java/org/apache/cassandra/batchlog/BatchlogManager.java
@@ -72,7 +72,14 @@ public class BatchlogManager implements BatchlogManagerMBean
 private volatile UUID lastReplayedUuid = UUIDGen.minTimeUUID(0);
 
 // Single-thread executor service for scheduling and serializing log 
replay.
-private final ScheduledExecutorService batchlogTasks = new 
DebuggableScheduledThreadPoolExecutor("BatchlogTasks");
+private final ScheduledExecutorService batchlogTasks;
+
+public BatchlogManager()
+{
+ScheduledThreadPoolExecutor executor = new 
DebuggableScheduledThreadPoolExecutor("BatchlogTasks");
+executor.setExecuteExistingDelayedTasksAfterShutdownPolicy(false);
+batchlogTasks = executor;
+}
 
 public void start()
 {



[jira] [Commented] (CASSANDRA-10540) RangeAwareCompaction

2016-02-08 Thread Marcus Eriksson (JIRA)

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

Marcus Eriksson commented on CASSANDRA-10540:
-

[rebased|https://github.com/krummas/cassandra/commits/marcuse/10540] and test 
runs looks clean:
http://cassci.datastax.com/job/krummas-marcuse-10540-dtest/
http://cassci.datastax.com/job/krummas-marcuse-10540-testall/

> RangeAwareCompaction
> 
>
> Key: CASSANDRA-10540
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10540
> Project: Cassandra
>  Issue Type: New Feature
>Reporter: Marcus Eriksson
>Assignee: Marcus Eriksson
> Fix For: 3.x
>
>
> Broken out from CASSANDRA-6696, we should split sstables based on ranges 
> during compaction.
> Requirements;
> * dont create tiny sstables - keep them bunched together until a single vnode 
> is big enough (configurable how big that is)
> * make it possible to run existing compaction strategies on the per-range 
> sstables
> We should probably add a global compaction strategy parameter that states 
> whether this should be enabled or not.



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


[2/3] cassandra git commit: Configurie BatchlogManager to stop delayed tasks on shutdown

2016-02-08 Thread aleksey
Configurie BatchlogManager to stop delayed tasks on shutdown

patch by Caleb Rackliffe; reviewed by Aleksey Yeschenko for
CASSANDRA-11062


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

Branch: refs/heads/trunk
Commit: 0a1cfaaceade1317e9fc802d77e39371e745dee3
Parents: 23f6296
Author: Caleb Rackliffe 
Authored: Fri Jan 22 18:04:09 2016 -0800
Committer: Aleksey Yeschenko 
Committed: Mon Feb 8 13:08:38 2016 +

--
 CHANGES.txt | 1 +
 src/java/org/apache/cassandra/batchlog/BatchlogManager.java | 9 -
 2 files changed, 9 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0a1cfaac/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 6302ce6..1fbe301 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.4
+ * Configurie BatchlogManager to stop delayed tasks on shutdown 
(CASSANDRA-11062)
  * Hadoop integration is incompatible with Cassandra Driver 3.0.0 
(CASSANDRA-11001)
 Merged from 2.2.6
  * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0a1cfaac/src/java/org/apache/cassandra/batchlog/BatchlogManager.java
--
diff --git a/src/java/org/apache/cassandra/batchlog/BatchlogManager.java 
b/src/java/org/apache/cassandra/batchlog/BatchlogManager.java
index 1c98c2a..7ccc6f8 100644
--- a/src/java/org/apache/cassandra/batchlog/BatchlogManager.java
+++ b/src/java/org/apache/cassandra/batchlog/BatchlogManager.java
@@ -72,7 +72,14 @@ public class BatchlogManager implements BatchlogManagerMBean
 private volatile UUID lastReplayedUuid = UUIDGen.minTimeUUID(0);
 
 // Single-thread executor service for scheduling and serializing log 
replay.
-private final ScheduledExecutorService batchlogTasks = new 
DebuggableScheduledThreadPoolExecutor("BatchlogTasks");
+private final ScheduledExecutorService batchlogTasks;
+
+public BatchlogManager()
+{
+ScheduledThreadPoolExecutor executor = new 
DebuggableScheduledThreadPoolExecutor("BatchlogTasks");
+executor.setExecuteExistingDelayedTasksAfterShutdownPolicy(false);
+batchlogTasks = executor;
+}
 
 public void start()
 {



[jira] [Commented] (CASSANDRA-8643) merkle tree creation fails with NoSuchElementException

2016-02-08 Thread Jan Karlsson (JIRA)

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

Jan Karlsson commented on CASSANDRA-8643:
-

We hit it again. This time we had more time debugging the situation and we 
might have found the problem. It started occuring when we switched to 
LeveledCompactionStrategy. However it does not occur consistently. We usually 
get it once every 2-3 runs.

We enabled assertions and got "received out of order wrt". The problem we found 
is that the ranges of the tables are intersecting but the getScanners method in 
LCS expects them to be non-intersecting (as all sstables in the same level 
should not be intersecting). 

It could be that during the snapshot, a compaction occurs which writes more 
sstables into the level. Then when it is supplied to the repair job, it fails 
due to the ranges intersecting in the new and old sstables. 

When we tried repairing with -par, we did not hit it. It also worked with 2.2.4 
(which runs -par by default).

> merkle tree creation fails with NoSuchElementException
> --
>
> Key: CASSANDRA-8643
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8643
> Project: Cassandra
>  Issue Type: Bug
> Environment: We are running on a three node cluster with three in 
> replication(C* 2.1.1). It uses a default C* installation and STCS.
>Reporter: Jan Karlsson
> Fix For: 2.1.3
>
>
> We have a problem that we encountered during testing over the weekend. 
> During the tests we noticed that repairs started to fail. This error has 
> occured on multiple non-coordinator nodes during repair. It also ran at least 
> once without producing this error.
> We run repair -pr on all nodes on different days. CPU values were around 40% 
> and disk was 50% full.
> From what I understand, the coordinator asked for merkle trees from the other 
> two nodes. However one of the nodes fails to create his merkle tree.
> Unfortunately we do not have a way to reproduce this problem.
> The coordinator receives:
> {noformat}
> 2015-01-09T17:55:57.091+0100  INFO [RepairJobTask:4] RepairJob.java:145 
> [repair #59455950-9820-11e4-b5c1-7797064e1316] requesting merkle trees for 
> censored (to [/xx.90, /xx.98, /xx.82])
> 2015-01-09T17:55:58.516+0100  INFO [AntiEntropyStage:1] 
> RepairSession.java:171 [repair #59455950-9820-11e4-b5c1-7797064e1316] 
> Received merkle tree for censored from /xx.90
> 2015-01-09T17:55:59.581+0100 ERROR [AntiEntropySessions:76] 
> RepairSession.java:303 [repair #59455950-9820-11e4-b5c1-7797064e1316] session 
> completed with the following error
> org.apache.cassandra.exceptions.RepairException: [repair 
> #59455950-9820-11e4-b5c1-7797064e1316 on censored/censored, 
> (-6476420463551243930,-6471459119674373580]] Validation failed in /xx.98
> at 
> org.apache.cassandra.repair.RepairSession.validationComplete(RepairSession.java:166)
>  ~[apache-cassandra-2.1.1.jar:2.1.1]
> at 
> org.apache.cassandra.service.ActiveRepairService.handleMessage(ActiveRepairService.java:384)
>  ~[apache-cassandra-2.1.1.jar:2.1.1]
> at 
> org.apache.cassandra.repair.RepairMessageVerbHandler.doVerb(RepairMessageVerbHandler.java:126)
>  ~[apache-cassandra-2.1.1.jar:2.1.1]
> at 
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:62) 
> ~[apache-cassandra-2.1.1.jar:2.1.1]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>  [na:1.7.0_51]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>  [na:1.7.0_51]
> at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]
> 2015-01-09T17:55:59.582+0100 ERROR [AntiEntropySessions:76] 
> CassandraDaemon.java:153 Exception in thread 
> Thread[AntiEntropySessions:76,5,RMI Runtime]
> java.lang.RuntimeException: org.apache.cassandra.exceptions.RepairException: 
> [repair #59455950-9820-11e4-b5c1-7797064e1316 on censored/censored, 
> (-6476420463551243930,-6471459119674373580]] Validation failed in /xx.98
> at com.google.common.base.Throwables.propagate(Throwables.java:160) 
> ~[guava-16.0.jar:na]
> at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:32) 
> ~[apache-cassandra-2.1.1.jar:2.1.1]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
> ~[na:1.7.0_51]
> at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
> ~[na:1.7.0_51]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>  ~[na:1.7.0_51]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>  [na:1.7.0_51]
>at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51] Caused by: 
> org.apache.cassandr

[jira] [Commented] (CASSANDRA-8180) Optimize disk seek using min/max column name meta data when the LIMIT clause is used

2016-02-08 Thread Branimir Lambov (JIRA)

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

Branimir Lambov commented on CASSANDRA-8180:


Changes look good and patch looks good.

> Optimize disk seek using min/max column name meta data when the LIMIT clause 
> is used
> 
>
> Key: CASSANDRA-8180
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8180
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local Write-Read Paths
> Environment: Cassandra 2.0.10
>Reporter: DOAN DuyHai
>Assignee: Stefania
>Priority: Minor
> Fix For: 3.x
>
> Attachments: 8180_001.yaml, 8180_002.yaml
>
>
> I was working on an example of sensor data table (timeseries) and face a use 
> case where C* does not optimize read on disk.
> {code}
> cqlsh:test> CREATE TABLE test(id int, col int, val text, PRIMARY KEY(id,col)) 
> WITH CLUSTERING ORDER BY (col DESC);
> cqlsh:test> INSERT INTO test(id, col , val ) VALUES ( 1, 10, '10');
> ...
> >nodetool flush test test
> ...
> cqlsh:test> INSERT INTO test(id, col , val ) VALUES ( 1, 20, '20');
> ...
> >nodetool flush test test
> ...
> cqlsh:test> INSERT INTO test(id, col , val ) VALUES ( 1, 30, '30');
> ...
> >nodetool flush test test
> {code}
> After that, I activate request tracing:
> {code}
> cqlsh:test> SELECT * FROM test WHERE id=1 LIMIT 1;
>  activity  | 
> timestamp| source| source_elapsed
> ---+--+---+
> execute_cql3_query | 
> 23:48:46,498 | 127.0.0.1 |  0
> Parsing SELECT * FROM test WHERE id=1 LIMIT 1; | 
> 23:48:46,498 | 127.0.0.1 | 74
>Preparing statement | 
> 23:48:46,499 | 127.0.0.1 |253
>   Executing single-partition query on test | 
> 23:48:46,499 | 127.0.0.1 |930
>   Acquiring sstable references | 
> 23:48:46,499 | 127.0.0.1 |943
>Merging memtable tombstones | 
> 23:48:46,499 | 127.0.0.1 |   1032
>Key cache hit for sstable 3 | 
> 23:48:46,500 | 127.0.0.1 |   1160
>Seeking to partition beginning in data file | 
> 23:48:46,500 | 127.0.0.1 |   1173
>Key cache hit for sstable 2 | 
> 23:48:46,500 | 127.0.0.1 |   1889
>Seeking to partition beginning in data file | 
> 23:48:46,500 | 127.0.0.1 |   1901
>Key cache hit for sstable 1 | 
> 23:48:46,501 | 127.0.0.1 |   2373
>Seeking to partition beginning in data file | 
> 23:48:46,501 | 127.0.0.1 |   2384
>  Skipped 0/3 non-slice-intersecting sstables, included 0 due to tombstones | 
> 23:48:46,501 | 127.0.0.1 |   2768
> Merging data from memtables and 3 sstables | 
> 23:48:46,501 | 127.0.0.1 |   2784
> Read 2 live and 0 tombstoned cells | 
> 23:48:46,501 | 127.0.0.1 |   2976
>   Request complete | 
> 23:48:46,501 | 127.0.0.1 |   3551
> {code}
> We can clearly see that C* hits 3 SSTables on disk instead of just one, 
> although it has the min/max column meta data to decide which SSTable contains 
> the most recent data.
> Funny enough, if we add a clause on the clustering column to the select, this 
> time C* optimizes the read path:
> {code}
> cqlsh:test> SELECT * FROM test WHERE id=1 AND col > 25 LIMIT 1;
>  activity  | 
> timestamp| source| source_elapsed
> ---+--+---+
> execute_cql3_query | 
> 23:52:31,888 | 127.0.0.1 |  0
>Parsing SELECT * FROM test WHERE id=1 AND col > 25 LIMIT 1; | 
> 23:52:31,888 | 127.0.0.1 | 60
>Preparing statement | 
> 23:52:31,888 | 127.0.0.1 |277
>   Executing single-partition query on test | 
> 23:52:31,889 | 127.0.0.1 |961
> 

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

2016-02-08 Thread jake
Author: jake
Date: Mon Feb  8 14:15:18 2016
New Revision: 1729177

URL: http://svn.apache.org/viewvc?rev=1729177&view=rev
Log:
2.2.5 and 2.1.13 release

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

Modified: cassandra/site/publish/download/index.html
URL: 
http://svn.apache.org/viewvc/cassandra/site/publish/download/index.html?rev=1729177&r1=1729176&r2=1729177&view=diff
==
--- cassandra/site/publish/download/index.html (original)
+++ cassandra/site/publish/download/index.html Mon Feb  8 14:15:18 2016
@@ -89,16 +89,16 @@
 

  Apache Cassandra 2.2 is supported until November 2016. 
- The latest release is 2.2.4,
- released on 2015-12-07.
+ The latest release is 2.2.5,
+ released on 2016-02-08.

 

  
-   http://www.apache.org/dyn/closer.lua/cassandra/2.2.4/apache-cassandra-2.2.4-bin.tar.gz";>apache-cassandra-2.2.4-bin.tar.gz
-   [http://www.apache.org/dist/cassandra/2.2.4/apache-cassandra-2.2.4-bin.tar.gz.asc";>PGP]
-   [http://www.apache.org/dist/cassandra/2.2.4/apache-cassandra-2.2.4-bin.tar.gz.md5";>MD5]
-   [http://www.apache.org/dist/cassandra/2.2.4/apache-cassandra-2.2.4-bin.tar.gz.sha1";>SHA1]
+   http://www.apache.org/dyn/closer.lua/cassandra/2.2.5/apache-cassandra-2.2.5-bin.tar.gz";>apache-cassandra-2.2.5-bin.tar.gz
+   [http://www.apache.org/dist/cassandra/2.2.5/apache-cassandra-2.2.5-bin.tar.gz.asc";>PGP]
+   [http://www.apache.org/dist/cassandra/2.2.5/apache-cassandra-2.2.5-bin.tar.gz.md5";>MD5]
+   [http://www.apache.org/dist/cassandra/2.2.5/apache-cassandra-2.2.5-bin.tar.gz.sha1";>SHA1]
  
 
 http://wiki.apache.org/cassandra/DebianPackaging";>Debian 
installation instructions
@@ -109,15 +109,15 @@
 
   
 Apache Cassandra 2.1 is supported until November 2016 with critical 
fixes only.
-The latest release is 2.1.12, released on 2015-12-07.
+The latest release is 2.1.13, released on 2016-02-08.
   
 
   
 
-http://www.apache.org/dyn/closer.lua/cassandra/2.1.12/apache-cassandra-2.1.12-bin.tar.gz";>apache-cassandra-2.1.12-bin.tar.gz
-[http://www.apache.org/dist/cassandra/2.1.12/apache-cassandra-2.1.12-bin.tar.gz.asc";>PGP]
-[http://www.apache.org/dist/cassandra/2.1.12/apache-cassandra-2.1.12-bin.tar.gz.md5";>MD5]
-[http://www.apache.org/dist/cassandra/2.1.12/apache-cassandra-2.1.12-bin.tar.gz.sha1";>SHA1]
+http://www.apache.org/dyn/closer.lua/cassandra/2.1.13/apache-cassandra-2.1.13-bin.tar.gz";>apache-cassandra-2.1.13-bin.tar.gz
+[http://www.apache.org/dist/cassandra/2.1.13/apache-cassandra-2.1.13-bin.tar.gz.asc";>PGP]
+[http://www.apache.org/dist/cassandra/2.1.13/apache-cassandra-2.1.13-bin.tar.gz.md5";>MD5]
+[http://www.apache.org/dist/cassandra/2.1.13/apache-cassandra-2.1.13-bin.tar.gz.sha1";>SHA1]
 
   
 
@@ -169,16 +169,16 @@
 [http://www.apache.org/dist/cassandra/3.0.2/apache-cassandra-3.0.2-src.tar.gz.sha1";>SHA1]
 
 
-http://www.apache.org/dyn/closer.lua/cassandra/2.2.4/apache-cassandra-2.2.4-src.tar.gz";>apache-cassandra-2.2.4-src.tar.gz
-[http://www.apache.org/dist/cassandra/2.2.4/apache-cassandra-2.2.4-src.tar.gz.asc";>PGP]
-[http://www.apache.org/dist/cassandra/2.2.4/apache-cassandra-2.2.4-src.tar.gz.md5";>MD5]
-[http://www.apache.org/dist/cassandra/2.2.4/apache-cassandra-2.2.4-src.tar.gz.sha1";>SHA1]
+http://www.apache.org/dyn/closer.lua/cassandra/2.2.5/apache-cassandra-2.2.5-src.tar.gz";>apache-cassandra-2.2.5-src.tar.gz
+[http://www.apache.org/dist/cassandra/2.2.5/apache-cassandra-2.2.5-src.tar.gz.asc";>PGP]
+[http://www.apache.org/dist/cassandra/2.2.5/apache-cassandra-2.2.5-src.tar.gz.md5";>MD5]
+[http://www.apache.org/dist/cassandra/2.2.5/apache-cassandra-2.2.5-src.tar.gz.sha1";>SHA1]
 
 
-http://www.apache.org/dyn/closer.lua/cassandra/2.1.12/apache-cassandra-2.1.12-src.tar.gz";>apache-cassandra-2.1.12-src.tar.gz
-[http://www.apache.org/dist/cassandra/2.1.12/apache-cassandra-2.1.12-src.tar.gz.asc";>PGP]
-[http://www.apache.org/dist/cassandra/2.1.12/apache-cassandra-2.1.12-src.tar.gz.md5";>MD5]
-[http://www.apache.org/dist/cassandra/2.1.12/apache-cassandra-2.1.12-src.tar.gz.sha1";>SHA1]
+http://www.apache.org/dyn/closer.lua/cassandra/2.1.13/apache-cassandra-2.1.13-src.tar.gz";>apache-cassandra-2.1.13-src.tar.gz
+[http://www.apache.org/dist/cassandra/2.1.13/apache-cassandra-2.1.13-src.tar.gz.asc";>PGP]
+[http://www.apache.org/dist/cassandra/2.1.13/apache-cassandra-2.1.13-src.tar.gz.md5";>MD5]
+[http://www.apache.org/dist/cassandra/2.1.13/apache-cassandra-2.1.13-src.tar.gz.sha1";>SHA1]
 
   
   

Modified: cassandra/site/publish/index.html
URL: 
http://svn.apache.org/viewvc/cassandra/site/publish/index.html?rev=1729177&r1=1729176&r2=1729177&view=diff

[jira] [Commented] (CASSANDRA-11082) netty's level hadn't prevent OOM when receiver handle slow.

2016-02-08 Thread T Jake Luciani (JIRA)

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

T Jake Luciani commented on CASSANDRA-11082:


It's true, we should be checking isWritable() though I don't imagine we should 
condone/support many slow clients as a good use case for cassandra (it should 
be behind a firewall with local connections). 

The simplest place to put it is in our flushing logic.  But what should we do 
drop the data on the floor? I imagine that would break the protocol so might be 
better to simply close the connection? wdyt [~slebresne]

> netty's level hadn't prevent OOM when receiver handle slow.
> ---
>
> Key: CASSANDRA-11082
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11082
> Project: Cassandra
>  Issue Type: Bug
>  Components: Streaming and Messaging
>Reporter: fujian
>
> as we know, netty will OOM when received client is slow.
> due to  if receiver can't handle response fast so that cassandra server can't 
> flush data. it will cause channeloutbuffer with big size.
> we see the cassandra had configure write high/low water level, but I can't 
> found any code to judge iswritable. so it will have possible OOM
> why cassandra hadn't handle this case?



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


[jira] [Commented] (CASSANDRA-11056) Use max timestamp to decide DTCS-timewindow-membership

2016-02-08 Thread Marcus Eriksson (JIRA)

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

Marcus Eriksson commented on CASSANDRA-11056:
-

[~Bj0rn] had any time to think about this yet?

The easy way (for us) would be to add yet another configuration option for 
this, but that really sucks for the user

> Use max timestamp to decide DTCS-timewindow-membership
> --
>
> Key: CASSANDRA-11056
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11056
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Compaction
>Reporter: Marcus Eriksson
>Assignee: Björn Hegerfors
>  Labels: dtcs
> Attachments: cassandra-2.2-CASSANDRA-11056.txt
>
>
> TWCS (CASSANDRA-9666) uses max timestamp to decide time window membership, we 
> should do the same in DTCS so that users can configure DTCS to work exactly 
> like TWCS



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


[jira] [Commented] (CASSANDRA-11090) Hinted Handoff loop

2016-02-08 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-11090:
---

bq. the hint crc file isn't deleted in the 3.0 branch after hints are 
dispatched (but is in trunk)

CASSANDRA-10947 is definitely there in both 3.0 and trunk (so 3.0.3, 3.3, 
future 3.4). Are you certain you've tested with a recent cassandra-3.0 branch?

> Hinted Handoff loop
> ---
>
> Key: CASSANDRA-11090
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11090
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Blake Eggleston
>Assignee: Aleksey Yeschenko
> Fix For: 3.0.x, 3.x
>
>
> After the hints executor finishes sending hints, another hints file is 
> created for the same host, which is then processed on the next go around. 
> This continues indefinitely. The new hint files are empty, so there shouldn't 
> be any network traffic. However, there's still unnecessary hint activity, and 
> the hint crc file isn't deleted in the 3.0 branch after hints are dispatched 
> (but is in trunk), so any hint activity will trigger ~8640 files being 
> created per day until the node is restarted. Restarting the node fixes the 
> problem, after the existing hint files are processed. 
> This can be duplicated on cassandra-3.0 to trunk with this script: 
> https://gist.github.com/bdeggleston/13fbb9e70c0c0bd277c7



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


[jira] [Updated] (CASSANDRA-11062) BatchlogManager May Attempt to Flush Hints After HintsService is Shutdown

2016-02-08 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko updated CASSANDRA-11062:
--
Fix Version/s: 3.x

> BatchlogManager May Attempt to Flush Hints After HintsService is Shutdown
> -
>
> Key: CASSANDRA-11062
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11062
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Caleb William Rackliffe
>Assignee: Caleb William Rackliffe
>Priority: Minor
> Fix For: 3.0.x, 3.x
>
> Attachments: 11062-3.0.txt
>
>
> {{ScheduledThreadPoolExecutor}}'s default behavior is to keep running delayed 
> tasks after shutdown, so I think that means {{BatchlogManager}} is trying to 
> call {{replayFailedBatches()}} after drain has instructed both it and the 
> {{HintsService}} to shut down. When this happens, we get an exception when 
> that tries to submit a task to the executor in {{HintsWriteExecutor}}:
> {noformat}
> ERROR [BatchlogTasks:1] 2016-01-22 17:01:38,936  CassandraDaemon.java:195 - 
> Exception in thread Thread[BatchlogTasks:1,5,main]
> java.util.concurrent.RejectedExecutionException: ThreadPoolExecutor has shut 
> down
>   at 
> org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor$1.rejectedExecution(DebuggableThreadPoolExecutor.java:61)
>  ~[cassandra-all-3.0.1.816.jar:3.0.1.816]
>   at 
> java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:823) 
> [na:1.8.0_65]
>   at 
> java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1369) 
> [na:1.8.0_65]
>   at 
> org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor.execute(DebuggableThreadPoolExecutor.java:165)
>  ~[cassandra-all-3.0.1.816.jar:3.0.1.816]
>   at 
> java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
>  ~[na:1.8.0_65]
>   at 
> org.apache.cassandra.hints.HintsWriteExecutor.flushBufferPool(HintsWriteExecutor.java:89)
>  ~[cassandra-all-3.0.1.816.jar:3.0.1.816]
>   at 
> org.apache.cassandra.hints.HintsService.flushAndFsyncBlockingly(HintsService.java:177)
>  ~[cassandra-all-3.0.1.816.jar:3.0.1.816]
>   at 
> org.apache.cassandra.batchlog.BatchlogManager.processBatchlogEntries(BatchlogManager.java:259)
>  ~[cassandra-all-3.0.1.816.jar:3.0.1.816]
>   at 
> org.apache.cassandra.batchlog.BatchlogManager.replayFailedBatches(BatchlogManager.java:200)
>  ~[cassandra-all-3.0.1.816.jar:3.0.1.816]
>   at 
> org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor$UncomplainingRunnable.run(DebuggableScheduledThreadPoolExecutor.java:118)
>  ~[cassandra-all-3.0.1.816.jar:3.0.1.816]
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> [na:1.8.0_65]
>   at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) 
> [na:1.8.0_65]
>   at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
>  [na:1.8.0_65]
>   at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
>  [na:1.8.0_65]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  [na:1.8.0_65]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_65]
> {noformat}



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


[jira] [Commented] (CASSANDRA-10867) thrift_tests.py:TestCQLAccesses.test_range_tombstone_and_static failing on C* 2.1

2016-02-08 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-10867:
---

Bummer. +1.

> thrift_tests.py:TestCQLAccesses.test_range_tombstone_and_static failing on C* 
> 2.1
> -
>
> Key: CASSANDRA-10867
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10867
> Project: Cassandra
>  Issue Type: Sub-task
>Reporter: Jim Witschey
>Assignee: Sylvain Lebresne
>  Labels: dtest
>
> http://cassci.datastax.com/job/cassandra-2.1_dtest/376/testReport/thrift_tests/TestCQLAccesses/test_range_tombstone_and_static/history/
> I haven't had enough experience with thrift or the thrift tests to debug 
> this. It passes on 2.2+. I've reproduced this failure locally.



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


[jira] [Commented] (CASSANDRA-9928) Add Support for multiple non-primary key columns in Materialized View primary keys

2016-02-08 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-9928:
--

[~mbroecheler] Is the limitation outlined by Tyler above still compatible with 
the use case you got in mind?

> Add Support for multiple non-primary key columns in Materialized View primary 
> keys
> --
>
> Key: CASSANDRA-9928
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9928
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: T Jake Luciani
>  Labels: materializedviews
> Fix For: 3.x
>
>
> Currently we don't allow > 1 non primary key from the base table in a MV 
> primary key.  We should remove this restriction assuming we continue 
> filtering out nulls.  With allowing nulls in the MV columns there are a lot 
> of multiplicative implications we need to think through.



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


[jira] [Resolved] (CASSANDRA-11118) Consider removing support for custom types

2016-02-08 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko resolved CASSANDRA-8.
---
Resolution: Not A Problem

> Consider removing support for custom types
> --
>
> Key: CASSANDRA-8
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8
> Project: Cassandra
>  Issue Type: Wish
>Reporter: Robert Stupp
>Priority: Minor
>
> Custom types (and maybe all types that extend AbstractType but have no CQL3 
> counterpart) become difficult to be properly supported.
> There are a couple of reasons:
> * Custom types and even composite types need to be expressed using 'blob 
> syntax' as in CASSANDRA-11064 to provide full end-to-end support (C* nodes 
> and all drivers).
> * Custom-type implementations become more difficult to maintain (by their 
> developers) as we add more functionality (e.g. JSON or CQL literal 
> generation) and contracts (like the different comparison modes and 
> implementations) to AbstractType
> * Operational support for custom types (installing and upgrading C* releases) 
> is more difficult (provide the correct custom-type implementations for the 
> specific C* release; not a new reason, of course)
> * We still maintain two type hierarchies for the "same thing" (column types): 
> one starting at CQL3Type and one at AbstractType (plus serializers), which 
> are closely related and coupled.
> * There is "no need" to maintain AbstractType as a client protocol 
> requirement starting with 4.x as Thrift will be removed. In reality, the 
> support of drivers for composite types or even custom types is fairly 
> rudimentary, if existent.
> * I'm also a bit concerned that there might be hidden issues related to this 
> _old and rarely used and even least thought-of stuff_. I mean, we (at least 
> I) don't always think about these old types. Like CASSANDRA-11064 that has 
> the potential to bring down a cluster.
> I would not propose to remove custom types in 4.x but officially deprecate 
> the functionality in the near future and communicate an "official" date 
> (version number) when it will be removed.
> In the mean time there might be a configuration option like 
> {{enable_custom_types}} or {{allow_non_cql3_types}} which defaults to 
> {{false}} and either issues warnings (in the log and via native protocol) 
> when those types are used in DDL statements or completely prevents that 
> (returning an error, prevent startup, whatever). We can also convert all 
> non-CQL3 types to BLOB in the schema tables as the "implementation to remove 
> custom types".
> TBH, I have absolutely no idea how many people really use composite types or 
> even custom types. But I assume that "only a handful" of applications really 
> use non-CQL3 types with C* 4.x (so without Thrift).



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


[jira] [Commented] (CASSANDRA-11118) Consider removing support for custom types

2016-02-08 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-8:
---

Don't have much to add to Sylvain's arguments, just throwing in my -1 to the 
idea of removing support for them.

There is one thing that we care about when it comes to custom types - and that 
is the ability to mandate them being byte order compatible in the future. But 
we already decided to do so (see CASSANDRA-9901 and CASSANDRA-6936 discussions).

Closing the issue as Not A Problem.

> Consider removing support for custom types
> --
>
> Key: CASSANDRA-8
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8
> Project: Cassandra
>  Issue Type: Wish
>Reporter: Robert Stupp
>Priority: Minor
>
> Custom types (and maybe all types that extend AbstractType but have no CQL3 
> counterpart) become difficult to be properly supported.
> There are a couple of reasons:
> * Custom types and even composite types need to be expressed using 'blob 
> syntax' as in CASSANDRA-11064 to provide full end-to-end support (C* nodes 
> and all drivers).
> * Custom-type implementations become more difficult to maintain (by their 
> developers) as we add more functionality (e.g. JSON or CQL literal 
> generation) and contracts (like the different comparison modes and 
> implementations) to AbstractType
> * Operational support for custom types (installing and upgrading C* releases) 
> is more difficult (provide the correct custom-type implementations for the 
> specific C* release; not a new reason, of course)
> * We still maintain two type hierarchies for the "same thing" (column types): 
> one starting at CQL3Type and one at AbstractType (plus serializers), which 
> are closely related and coupled.
> * There is "no need" to maintain AbstractType as a client protocol 
> requirement starting with 4.x as Thrift will be removed. In reality, the 
> support of drivers for composite types or even custom types is fairly 
> rudimentary, if existent.
> * I'm also a bit concerned that there might be hidden issues related to this 
> _old and rarely used and even least thought-of stuff_. I mean, we (at least 
> I) don't always think about these old types. Like CASSANDRA-11064 that has 
> the potential to bring down a cluster.
> I would not propose to remove custom types in 4.x but officially deprecate 
> the functionality in the near future and communicate an "official" date 
> (version number) when it will be removed.
> In the mean time there might be a configuration option like 
> {{enable_custom_types}} or {{allow_non_cql3_types}} which defaults to 
> {{false}} and either issues warnings (in the log and via native protocol) 
> when those types are used in DDL statements or completely prevents that 
> (returning an error, prevent startup, whatever). We can also convert all 
> non-CQL3 types to BLOB in the schema tables as the "implementation to remove 
> custom types".
> TBH, I have absolutely no idea how many people really use composite types or 
> even custom types. But I assume that "only a handful" of applications really 
> use non-CQL3 types with C* 4.x (so without Thrift).



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


[jira] [Commented] (CASSANDRA-11120) Leak Detected while bringing nodes up and down when under stress.

2016-02-08 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-11120:
---

Any code differences in 3.3 and trunk branches, or should I just merge ahead 
ignoring them (your 3.3 + trunk branches) entirely?

> Leak Detected while bringing nodes up and down when under stress.
> -
>
> Key: CASSANDRA-11120
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11120
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Jeremiah Jordan
>Assignee: Ariel Weisberg
>Priority: Minor
> Fix For: 3.0.x, 3.x
>
>
> So after CASSANDRA-10688 has been fixed I'm able to reproduce some leaks 
> consistently with my stress test suite that is doing repairs/stress/bringing 
> nodes up and down.
> One such example:
> {noformat}
> ERROR [Strong-Reference-Leak-Detector:1] 2016-02-03 23:32:38,827  
> NoSpamLogger.java:97 - Strong self-ref loop detected 
> [/var/lib/cassandra/data/keyspace1/standard1-7cddd4c1cacc11e5aa69f375b464842d/ma-14-big,
>  private java.util.concurrent.ScheduledFuture 
> org.apache.cassandra.io.sstable.format.SSTableReader$GlobalTidy.readMeterSyncFuture-java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask,
>  final java.util.concurrent.ScheduledThreadPoolExecutor 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.this$0-java.util.concurrent.ScheduledThreadPoolExecutor,
>  private final java.util.HashSet 
> java.util.concurrent.ThreadPoolExecutor.workers-java.util.HashSet, private 
> transient java.util.HashMap java.util.HashSet.map-java.util.HashMap, 
> transient java.util.HashMap$Node[] 
> java.util.HashMap.table-[Ljava.util.HashMap$Node;, transient 
> java.util.HashMap$Node[] java.util.HashMap.table-java.util.HashMap$Node, 
> final java.lang.Object 
> java.util.HashMap$Node.key-java.util.concurrent.ThreadPoolExecutor$Worker, 
> final java.lang.Thread 
> java.util.concurrent.ThreadPoolExecutor$Worker.thread-java.lang.Thread, 
> private java.lang.ThreadGroup java.lang.Thread.group-java.lang.ThreadGroup, 
> private final java.lang.ThreadGroup 
> java.lang.ThreadGroup.parent-java.lang.ThreadGroup, java.lang.Thread[] 
> java.lang.ThreadGroup.threads-[Ljava.lang.Thread;, java.lang.Thread[] 
> java.lang.ThreadGroup.threads-java.lang.Thread, private java.lang.Runnable 
> java.lang.Thread.target-java.util.concurrent.ThreadPoolExecutor$Worker, final 
> java.util.concurrent.ThreadPoolExecutor 
> java.util.concurrent.ThreadPoolExecutor$Worker.this$0-java.util.concurrent.ScheduledThreadPoolExecutor,
>  private final java.util.concurrent.BlockingQueue 
> java.util.concurrent.ThreadPoolExecutor.workQueue-java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue,
>  private final java.util.concurrent.BlockingQueue 
> java.util.concurrent.ThreadPoolExecutor.workQueue-java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask,
>  private java.util.concurrent.Callable 
> java.util.concurrent.FutureTask.callable-java.util.concurrent.Executors$RunnableAdapter,
>  final java.lang.Runnable 
> java.util.concurrent.Executors$RunnableAdapter.task-sun.rmi.transport.DGCImpl$1,
>  final sun.rmi.transport.DGCImpl 
> sun.rmi.transport.DGCImpl$1.this$0-sun.rmi.transport.DGCImpl, private 
> java.util.Map sun.rmi.transport.DGCImpl.leaseTable-java.util.HashMap, 
> transient java.util.HashMap$Node[] 
> java.util.HashMap.table-[Ljava.util.HashMap$Node;, transient 
> java.util.HashMap$Node[] java.util.HashMap.table-java.util.HashMap$Node, 
> java.lang.Object 
> java.util.HashMap$Node.value-sun.rmi.transport.DGCImpl$LeaseInfo, 
> java.util.Set 
> sun.rmi.transport.DGCImpl$LeaseInfo.notifySet-java.util.HashSet, private 
> transient java.util.HashMap java.util.HashSet.map-java.util.HashMap, 
> transient java.util.HashMap$Node[] 
> java.util.HashMap.table-[Ljava.util.HashMap$Node;, transient 
> java.util.HashMap$Node[] java.util.HashMap.table-java.util.HashMap$Node, 
> final java.lang.Object java.util.HashMap$Node.key-sun.rmi.transport.Target, 
> private final sun.rmi.transport.WeakRef 
> sun.rmi.transport.Target.weakImpl-sun.rmi.transport.WeakRef, private 
> java.lang.Object 
> sun.rmi.transport.WeakRef.strongRef-javax.management.remote.rmi.RMIJRMPServerImpl,
>  private final java.util.List 
> javax.management.remote.rmi.RMIServerImpl.clientList-java.util.ArrayList, 
> transient java.lang.Object[] 
> java.util.ArrayList.elementData-[Ljava.lang.Object;, transient 
> java.lang.Object[] 
> java.util.ArrayList.elementData-java.lang.ref.WeakReference, private 
> java.lang.Object 
> java.lang.ref.Reference.referent-javax.management.remote.rmi.RMIConnectionImpl,
>  private final javax.management.MBeanServer 
> javax.man

[jira] [Commented] (CASSANDRA-11030) utf-8 characters incorrectly displayed/inserted on cqlsh on Windows

2016-02-08 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-11030:
---

Committed as 
[d295c7c69886f63739792d60d876b012a408cc07|https://github.com/apache/cassandra/commit/d295c7c69886f63739792d60d876b012a408cc07]
 to 2.2, merged with 3.0 and trunk. Thanks.

> utf-8 characters incorrectly displayed/inserted on cqlsh on Windows
> ---
>
> Key: CASSANDRA-11030
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11030
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Paulo Motta
>Assignee: Paulo Motta
>Priority: Minor
>  Labels: cqlsh, windows
> Fix For: 2.2.6, 3.0.4, 3.4
>
>
> {noformat}
> C:\Users\Paulo\Repositories\cassandra [2.2-10948 +6 ~1 -0 !]> .\bin\cqlsh.bat 
> --encoding utf-8
> Connected to test at 127.0.0.1:9042.
> [cqlsh 5.0.1 | Cassandra 2.2.4-SNAPSHOT | CQL spec 3.3.1 | Native protocol v4]
> Use HELP for help.
> cqlsh> INSERT INTO bla.test (bla ) VALUES  ('não') ;
> cqlsh> select * from bla.test;
>  bla
> -
>  n?o
> (1 rows)
> {noformat}



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


[5/6] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2016-02-08 Thread aleksey
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/cassandra-3.0
Commit: 23f629628ecb00bc997b88c9ffcc296be5d4f701
Parents: 58821ce d295c7c
Author: Aleksey Yeschenko 
Authored: Mon Feb 8 12:19:38 2016 +
Committer: Aleksey Yeschenko 
Committed: Mon Feb 8 12:19:38 2016 +

--
 CHANGES.txt  |  1 +
 bin/cqlsh.py | 41 -
 2 files changed, 37 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/23f62962/CHANGES.txt
--
diff --cc CHANGES.txt
index 0fb8f34,b0a5062..6302ce6
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,7 -1,7 +1,8 @@@
 -2.2.6
 +3.0.4
 + * Hadoop integration is incompatible with Cassandra Driver 3.0.0 
(CASSANDRA-11001)
 +Merged from 2.2.6
+  * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)
   * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
 - * Fix paging on DISTINCT queries repeats result when first row in partition 
changes (CASSANDRA-10010)
  Merged from 2.1:
   * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
  

http://git-wip-us.apache.org/repos/asf/cassandra/blob/23f62962/bin/cqlsh.py
--



[4/6] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2016-02-08 Thread aleksey
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/trunk
Commit: 23f629628ecb00bc997b88c9ffcc296be5d4f701
Parents: 58821ce d295c7c
Author: Aleksey Yeschenko 
Authored: Mon Feb 8 12:19:38 2016 +
Committer: Aleksey Yeschenko 
Committed: Mon Feb 8 12:19:38 2016 +

--
 CHANGES.txt  |  1 +
 bin/cqlsh.py | 41 -
 2 files changed, 37 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/23f62962/CHANGES.txt
--
diff --cc CHANGES.txt
index 0fb8f34,b0a5062..6302ce6
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,7 -1,7 +1,8 @@@
 -2.2.6
 +3.0.4
 + * Hadoop integration is incompatible with Cassandra Driver 3.0.0 
(CASSANDRA-11001)
 +Merged from 2.2.6
+  * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)
   * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
 - * Fix paging on DISTINCT queries repeats result when first row in partition 
changes (CASSANDRA-10010)
  Merged from 2.1:
   * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
  

http://git-wip-us.apache.org/repos/asf/cassandra/blob/23f62962/bin/cqlsh.py
--



[3/6] cassandra git commit: (cqlsh) Support utf-8/cp65001 encoding on Windows

2016-02-08 Thread aleksey
(cqlsh) Support utf-8/cp65001 encoding on Windows

patch by Paulo Motta; reviewed by Stefania Alborghetti for CASSANDRA-11030


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

Branch: refs/heads/trunk
Commit: d295c7c69886f63739792d60d876b012a408cc07
Parents: 6982aaa
Author: Paulo Motta 
Authored: Tue Jan 19 13:10:59 2016 -0200
Committer: Aleksey Yeschenko 
Committed: Mon Feb 8 12:16:23 2016 +

--
 CHANGES.txt  |  1 +
 bin/cqlsh.py | 41 -
 2 files changed, 37 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d295c7c6/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 12198e4..b0a5062 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2.6
+ * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)
  * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
  * Fix paging on DISTINCT queries repeats result when first row in partition 
changes (CASSANDRA-10010)
 Merged from 2.1:

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d295c7c6/bin/cqlsh.py
--
diff --git a/bin/cqlsh.py b/bin/cqlsh.py
index 17c42a6..630c92b 100644
--- a/bin/cqlsh.py
+++ b/bin/cqlsh.py
@@ -52,6 +52,9 @@ from uuid import UUID
 if sys.version_info[0] != 2 or sys.version_info[1] != 7:
 sys.exit("\nCQL Shell supports only Python 2.7\n")
 
+UTF8 = 'utf-8'
+CP65001 = 'cp65001'  # Win utf-8 variant
+
 description = "CQL Shell for Apache Cassandra"
 version = "5.0.1"
 
@@ -101,6 +104,12 @@ elif webbrowser._tryorder[0] == 'xdg-open' and 
os.environ.get('XDG_DATA_DIRS', '
 # is a ../lib dir, use bundled libs there preferentially.
 ZIPLIB_DIRS = [os.path.join(CASSANDRA_PATH, 'lib')]
 myplatform = platform.system()
+is_win = myplatform == 'Windows'
+
+# Workaround for supporting CP65001 encoding on python < 3.3 
(https://bugs.python.org/issue13216)
+if is_win and sys.version_info < (3, 3):
+codecs.register(lambda name: codecs.lookup(UTF8) if name == CP65001 else 
None)
+
 if myplatform == 'Linux':
 ZIPLIB_DIRS.append('/usr/share/cassandra/lib')
 
@@ -723,11 +732,15 @@ class Shell(cmd.Cmd):
 
 self.max_trace_wait = max_trace_wait
 self.session.max_trace_wait = max_trace_wait
+
+self.tty = tty
 if encoding is None:
 encoding = locale.getpreferredencoding()
 if encoding is None:
-encoding = 'utf-8'
+encoding = UTF8
 self.encoding = encoding
+self.check_windows_encoding()
+
 self.output_codec = codecs.lookup(encoding)
 
 self.statement = StringIO()
@@ -737,7 +750,7 @@ class Shell(cmd.Cmd):
 self.prompt = ''
 if stdin is None:
 stdin = sys.stdin
-self.tty = tty
+
 if tty:
 self.reset_prompt()
 self.report_connection()
@@ -753,6 +766,19 @@ class Shell(cmd.Cmd):
 self.statement_error = False
 self.single_statement = single_statement
 
+@property
+def is_using_utf8(self):
+# utf8 encodings from https://docs.python.org/{2,3}/library/codecs.html
+return self.encoding.replace('-', '_').lower() in ['utf', 'utf_8', 
'u8', 'utf8', CP65001]
+
+def check_windows_encoding(self):
+if is_win and os.name == 'nt' and self.tty and \
+   self.is_using_utf8 and sys.stdout.encoding != CP65001:
+self.printerr("\nWARNING: console codepage must be set to cp65001 "
+  "to support {} encoding on Windows platforms.\n"
+  "If you experience encoding problems, change your 
console"
+  " codepage with 'chcp 65001' before starting 
cqlsh.\n".format(self.encoding))
+
 def refresh_schema_metadata_best_effort(self):
 try:
 self.conn.refresh_schema_metadata(5)  # will throw exception if 
there is a schema mismatch
@@ -1004,7 +1030,7 @@ class Shell(cmd.Cmd):
 try:
 import readline
 except ImportError:
-if myplatform == 'Windows':
+if is_win:
 print "WARNING: pyreadline dependency missing.  Install to 
enable tab completion."
 pass
 else:
@@ -1024,7 +1050,12 @@ class Shell(cmd.Cmd):
 
 def get_input_line(self, prompt=''):
 if self.tty:
-self.lastcmd = raw_input(prompt).decode(self.encoding)
+try:
+self.lastcmd = raw_input(prompt).decode(self.encoding)

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

2016-02-08 Thread aleksey
Merge branch 'cassandra-3.0' into trunk


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

Branch: refs/heads/trunk
Commit: 71ccb16bf9149a01cc353d39f088917b74ee353a
Parents: 696cd91 23f6296
Author: Aleksey Yeschenko 
Authored: Mon Feb 8 12:28:32 2016 +
Committer: Aleksey Yeschenko 
Committed: Mon Feb 8 12:28:32 2016 +

--
 CHANGES.txt  |  1 +
 bin/cqlsh.py | 41 -
 2 files changed, 37 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/71ccb16b/CHANGES.txt
--
diff --cc CHANGES.txt
index 179da46,6302ce6..2d50c10
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,22 -1,7 +1,23 @@@
 -3.0.4
 +3.4
 + * Add LIKE support to CQL3 (CASSANDRA-11067)
 + * Generic Java UDF types (CASSANDRA-10819)
 + * cqlsh: Include sub-second precision in timestamps by default 
(CASSANDRA-10428)
 + * Set javac encoding to utf-8 (CASSANDRA-11077)
 + * Integrate SASI index into Cassandra (CASSANDRA-10661)
 + * Add --skip-flush option to nodetool snapshot
 + * Skip values for non-queried columns (CASSANDRA-10657)
 + * Add support for secondary indexes on static columns (CASSANDRA-8103)
 + * CommitLogUpgradeTestMaker creates broken commit logs (CASSANDRA-11051)
 + * Add metric for number of dropped mutations (CASSANDRA-10866)
 + * Simplify row cache invalidation code (CASSANDRA-10396)
 + * Support user-defined compaction through nodetool (CASSANDRA-10660)
 + * Stripe view locks by key and table ID to reduce contention 
(CASSANDRA-10981)
 + * Add nodetool gettimeout and settimeout commands (CASSANDRA-10953)
 + * Add 3.0 metadata to sstablemetadata output (CASSANDRA-10838)
 +Merged from 3.0:
   * Hadoop integration is incompatible with Cassandra Driver 3.0.0 
(CASSANDRA-11001)
  Merged from 2.2.6
+  * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)
   * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
  Merged from 2.1:
   * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/71ccb16b/bin/cqlsh.py
--
diff --cc bin/cqlsh.py
index dcb90b6,a7292e6..02952c3
--- a/bin/cqlsh.py
+++ b/bin/cqlsh.py
@@@ -52,10 -52,9 +52,13 @@@ from uuid import UUI
  if sys.version_info[0] != 2 or sys.version_info[1] != 7:
  sys.exit("\nCQL Shell supports only Python 2.7\n")
  
 +# see CASSANDRA-10428
 +if platform.python_implementation().startswith('Jython'):
 +sys.exit("\nCQL Shell does not run on Jython\n")
 +
+ UTF8 = 'utf-8'
+ CP65001 = 'cp65001'  # Win utf-8 variant
+ 
  description = "CQL Shell for Apache Cassandra"
  version = "5.0.1"
  
@@@ -727,8 -732,14 +736,10 @@@ class Shell(cmd.Cmd)
  
  self.current_keyspace = keyspace
  
 -self.display_timestamp_format = display_timestamp_format
 -self.display_nanotime_format = display_nanotime_format
 -self.display_date_format = display_date_format
 -
  self.max_trace_wait = max_trace_wait
  self.session.max_trace_wait = max_trace_wait
+ 
+ self.tty = tty
  if encoding is None:
  encoding = locale.getpreferredencoding()
  if encoding is None:



  1   2   >