[jira] [Created] (CASSANDRA-15268) Published documentation doesn't have correct title

2019-08-07 Thread Alex Ott (JIRA)
Alex Ott created CASSANDRA-15268:


 Summary: Published documentation doesn't have correct title
 Key: CASSANDRA-15268
 URL: https://issues.apache.org/jira/browse/CASSANDRA-15268
 Project: Cassandra
  Issue Type: Improvement
  Components: Documentation/Blog
Reporter: Alex Ott


The documentation that is currently published on the site  (like 
[this|http://cassandra.apache.org/doc/latest/cql/types.html]) doesn't have 
correct titles - all pages are having generic title "Documentation", so it's 
hard to recognize tab with needed documentation, use with Pocket, etc.

It would be nice to change title of the pages to include version, section 
title, for example, for link above: "Cassandra Documentation - 4.0-SNAPSHOT - 
Data Types"



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15265) Index summary redistribution can start even when compactions are paused

2019-08-07 Thread Marcus Eriksson (JIRA)


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

Marcus Eriksson updated CASSANDRA-15265:

Test and Documentation Plan: new unit test
 Status: Patch Available  (was: Open)

Patch adds a flag in `CompactionManager` which states if non-strategy 
compactions should be paused, only index summary redistributions uses it for 
now:

[3.0|https://github.com/krummas/cassandra/commits/marcuse/15265-3.0], 
[cci|https://circleci.com/workflow-run/3caa20be-4cca-4075-bf91-b5209e4d5abf]
[3.11|https://github.com/krummas/cassandra/commits/marcuse/15265-3.11], 
[cci|https://circleci.com/workflow-run/3737dab7-d8bb-4d74-9b49-c73f062e59ad]
[trunk|https://github.com/krummas/cassandra/commits/marcuse/15265-trunk], 
[cci|https://circleci.com/workflow-run/2a3a6917-4fde-43d1-b896-42b0e7186115]

> Index summary redistribution can start even when compactions are paused
> ---
>
> Key: CASSANDRA-15265
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15265
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local/Compaction
>Reporter: Marcus Eriksson
>Assignee: Marcus Eriksson
>Priority: Normal
> Fix For: 3.0.x, 3.11.x, 4.x
>
>
> When we pause autocompaction for upgradesstables/scrub/cleanup etc we pause 
> all compaction strategies to make sure we can grab all sstables, index 
> summary redistribution does not pause and this can cause us to fail the 
> operation.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-15246) Add more information around commit message format expected for a patch

2019-08-07 Thread Nate McCall (JIRA)


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

Nate McCall commented on CASSANDRA-15246:
-

In the process of updating everything, I realized we have changed this worflow 
substantially recently. [~sumanth.pasupuleti] Please see the following: 
http://cassandra.apache.org/doc/latest/development/documentation.html#github-based-work-flow
 as [~benedict] was correct about the location. 

Create the PR and we'll take it from there. CC/ [~mshuler] because in looking 
through the (thankfully detailed) SVN log for the site, i'm going to have some 
questions for that step... 

> Add more information around commit message format expected for a patch
> --
>
> Key: CASSANDRA-15246
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15246
> Project: Cassandra
>  Issue Type: Task
>  Components: Documentation/Website
>Reporter: Sumanth Pasupuleti
>Assignee: Sumanth Pasupuleti
>Priority: Normal
> Fix For: 4.0
>
> Attachments: patch_commit_message.patch
>
>
> This is primarily from the suggestion 
> https://issues.apache.org/jira/browse/CASSANDRA-15013?focusedCommentId=16885255&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-16885255,
>  to have the expected commit message format documented.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



svn commit: r1864672 - /cassandra/site/src/doc/4.0/development/patches.html

2019-08-07 Thread zznate
Author: zznate
Date: Wed Aug  7 22:26:44 2019
New Revision: 1864672

URL: http://svn.apache.org/viewvc?rev=1864672&view=rev
Log:
More information on commit message format. CASSANDRA-15246

Modified:
cassandra/site/src/doc/4.0/development/patches.html

Modified: cassandra/site/src/doc/4.0/development/patches.html
URL: 
http://svn.apache.org/viewvc/cassandra/site/src/doc/4.0/development/patches.html?rev=1864672&r1=1864671&r2=1864672&view=diff
==
--- cassandra/site/src/doc/4.0/development/patches.html (original)
+++ cassandra/site/src/doc/4.0/development/patches.html Wed Aug  7 22:26:44 2019
@@ -221,7 +221,12 @@ extra-footer: '
 
 
 
-Include a CHANGES.txt entry (put it at the top of the list), and format 
the commit message appropriately in your patch ending with the following 
statement on the last line: patch by X; reviewed by Y for 
CASSANDRA-Z
+Include a CHANGES.txt entry (put it at the top of the list), and format 
the commit message appropriately in your patch as below:
+
+
+patch by ; reviewed by  for CASSANDRA-#
+
+
 When you’re happy with the result, create a patch:
 
 



-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-15246) Add more information around commit message format expected for a patch

2019-08-07 Thread Nate McCall (JIRA)


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

Nate McCall commented on CASSANDRA-15246:
-

LGTM as well. I'll make the necessary SVN incantations to get this added and 
published. Thanks, [~sumanth.pasupuleti]!

> Add more information around commit message format expected for a patch
> --
>
> Key: CASSANDRA-15246
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15246
> Project: Cassandra
>  Issue Type: Task
>  Components: Documentation/Website
>Reporter: Sumanth Pasupuleti
>Assignee: Sumanth Pasupuleti
>Priority: Normal
> Fix For: 4.0
>
> Attachments: patch_commit_message.patch
>
>
> This is primarily from the suggestion 
> https://issues.apache.org/jira/browse/CASSANDRA-15013?focusedCommentId=16885255&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-16885255,
>  to have the expected commit message format documented.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Created] (CASSANDRA-15267) Client error metrics not updated when no host is available

2019-08-07 Thread Abhijit Sarkar (JIRA)
Abhijit Sarkar created CASSANDRA-15267:
--

 Summary: Client error metrics not updated when no host is available
 Key: CASSANDRA-15267
 URL: https://issues.apache.org/jira/browse/CASSANDRA-15267
 Project: Cassandra
  Issue Type: Bug
  Components: Cluster/Membership, Observability/Metrics
Reporter: Abhijit Sarkar


None of the client error metrics are updated when {{NoHostAvailableException}} 
is thrown.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-15246) Add more information around commit message format expected for a patch

2019-08-07 Thread Sumanth Pasupuleti (JIRA)


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

Sumanth Pasupuleti commented on CASSANDRA-15246:


[~benedict] AFAIK, this is the location of the website 
https://svn.apache.org/repos/asf/cassandra/site/src/

Nate helped commit a website patch (blog on zero copy testing) I submitted in 
the past https://issues.apache.org/jira/browse/CASSANDRA-14765.

> Add more information around commit message format expected for a patch
> --
>
> Key: CASSANDRA-15246
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15246
> Project: Cassandra
>  Issue Type: Task
>  Components: Documentation/Website
>Reporter: Sumanth Pasupuleti
>Assignee: Sumanth Pasupuleti
>Priority: Normal
> Fix For: 4.0
>
> Attachments: patch_commit_message.patch
>
>
> This is primarily from the suggestion 
> https://issues.apache.org/jira/browse/CASSANDRA-15013?focusedCommentId=16885255&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-16885255,
>  to have the expected commit message format documented.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Comment Edited] (CASSANDRA-15246) Add more information around commit message format expected for a patch

2019-08-07 Thread Sumanth Pasupuleti (JIRA)


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

Sumanth Pasupuleti edited comment on CASSANDRA-15246 at 8/7/19 6:55 PM:


[~benedict] AFAIK, this is the location of the website 
https://svn.apache.org/repos/asf/cassandra/site/src/

[~zznate] helped commit a website patch (blog on zero copy testing) I submitted 
in the past https://issues.apache.org/jira/browse/CASSANDRA-14765.


was (Author: sumanth.pasupuleti):
[~benedict] AFAIK, this is the location of the website 
https://svn.apache.org/repos/asf/cassandra/site/src/

Nate helped commit a website patch (blog on zero copy testing) I submitted in 
the past https://issues.apache.org/jira/browse/CASSANDRA-14765.

> Add more information around commit message format expected for a patch
> --
>
> Key: CASSANDRA-15246
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15246
> Project: Cassandra
>  Issue Type: Task
>  Components: Documentation/Website
>Reporter: Sumanth Pasupuleti
>Assignee: Sumanth Pasupuleti
>Priority: Normal
> Fix For: 4.0
>
> Attachments: patch_commit_message.patch
>
>
> This is primarily from the suggestion 
> https://issues.apache.org/jira/browse/CASSANDRA-15013?focusedCommentId=16885255&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-16885255,
>  to have the expected commit message format documented.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Created] (CASSANDRA-15266) java internal exception on attempt to UPDATE a row using CONTAINS operator

2019-08-07 Thread Konstantin (JIRA)
Konstantin created CASSANDRA-15266:
--

 Summary: java internal exception on attempt to UPDATE a row using 
CONTAINS operator
 Key: CASSANDRA-15266
 URL: https://issues.apache.org/jira/browse/CASSANDRA-15266
 Project: Cassandra
  Issue Type: Bug
  Components: Legacy/CQL
Reporter: Konstantin


kostja@atlas ~ % cqlsh -ucassandra -pcassandra
Connected to My Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.11.4 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
cassandra@cqlsh> CREATE KEYSPACE t1 WITH replication = 
\{'class':'SimpleStrategy', 'replication_factor' : 1};
cassandra@cqlsh> use t1;
cassandra@cqlsh:t1> create table t (a int, b frozen>, c int, 
primary key (a, b));
cassandra@cqlsh:t1> insert into t (a, b, c) values (1, \{1:1, 2:2}, 3);
cassandra@cqlsh:t1> update t set c=3 where a=1 and b contains 1;
ServerError: java.lang.UnsupportedOperationException

 

Server log file:

```

ERROR [Native-Transport-Requests-1] 2019-08-07 17:02:59,283 
QueryMessage.java:129 - Unexpected error during query 
java.lang.UnsupportedOperationException: null
 at 
org.apache.cassandra.cql3.restrictions.SingleColumnRestriction$ContainsRestriction.appendTo(SingleColumnRestriction.java:454)
 ~[a
pache-cassandra-3.11.4.jar:3.11.4]
 at 
org.apache.cassandra.cql3.restrictions.ClusteringColumnRestrictions.valuesAsClustering(ClusteringColumnRestrictions.java:109)
 ~[a
pache-cassandra-3.11.4.jar:3.11.4]
 at 
org.apache.cassandra.cql3.restrictions.StatementRestrictions.getClusteringColumns(StatementRestrictions.java:770)
 ~[apache-cassan
dra-3.11.4.jar:3.11.4]
 at 
org.apache.cassandra.cql3.statements.ModificationStatement.createClustering(ModificationStatement.java:312)
 ~[apache-cassandra-3.
11.4.jar:3.11.4]
 at 
org.apache.cassandra.cql3.statements.ModificationStatement.addUpdates(ModificationStatement.java:677)
 ~[apache-cassandra-3.11.4.j
ar:3.11.4]
 at 
org.apache.cassandra.cql3.statements.ModificationStatement.getMutations(ModificationStatement.java:635)
 ~[apache-cassandra-3.11.4
.jar:3.11.4]
 at 
org.apache.cassandra.cql3.statements.ModificationStatement.executeWithoutCondition(ModificationStatement.java:437)
 ~[apache-cassa
ndra-3.11.4.jar:3.11.4]
 at 
org.apache.cassandra.cql3.statements.ModificationStatement.execute(ModificationStatement.java:425)
 ~[apache-cassandra-3.11.4.jar:
3.11.4]
 at 
org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:225)
 ~[apache-cassandra-3.11.4.jar:3.11.4]
 at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:256) 
~[apache-cassandra-3.11.4.jar:3.11.4]
 at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:241) 
~[apache-cassandra-3.11.4.jar:3.11.4]
 at 
org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:116)
 ~[apache-cassandra-3.11.4.jar:3.11.4]
 at 
org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:566)
 [apache-cassandra-3.11.4.jar:3.11.4]
 at 
org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:410)
 [apache-cassandra-3.11.4.jar:3.11.4]
 at 
io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
 [netty-all-4.0.44.Final.jar:4.0.44
...

 ```



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Comment Edited] (CASSANDRA-15260) Add `allocate_tokens_for_dc_rf` yaml option for token allocation

2019-08-07 Thread mck (JIRA)


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

mck edited comment on CASSANDRA-15260 at 8/7/19 4:54 PM:
-

{quote} Meanwhile, for consistency's sake I would change the name of the option 
to match DSE's as it is doing exactly the same thing. {quote}

No objection. I will fix it. The naming is a bit clumsy either way imho, but 
nothing better comes to mind, and indeed it makes sense to re-use DSE's 
terminology for an identical feature.

 

{quote}We may be doing more damage than good over e.g. 256-vnode random choice, 
…{quote}

Makes sense and is fine by me. It helps to just have these concerns, and the 
trade-off, stated somewhere. 

 


was (Author: michaelsembwever):
{quote} Meanwhile, for consistency's sake I would change the name of the option 
to match DSE's as it is doing exactly the same thing. \{quote}

No objection. I will fix it. The naming is a bit clumsy either way imho, but 
nothing better comes to mind, and indeed it makes sense to re-use DSE's 
terminology for an identical feature.

 

{quote}We may be doing more damage than good over e.g. 256-vnode random choice, 
…\{quote}

Makes sense and is fine by me. It helps to just have these concerns, and the 
trade-off, stated somewhere. 

 

> Add `allocate_tokens_for_dc_rf` yaml option for token allocation
> 
>
> Key: CASSANDRA-15260
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15260
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local/Config
>Reporter: mck
>Assignee: mck
>Priority: Normal
> Fix For: 4.x
>
>
> Similar to DSE's option: {{allocate_tokens_for_local_replication_factor}}
> Currently the 
> [ReplicationAwareTokenAllocator|https://www.datastax.com/dev/blog/token-allocation-algorithm]
>  requires a defined keyspace and a replica factor specified in the current 
> datacenter.
> This is problematic in a number of ways. The real keyspace can not be used 
> when adding new datacenters as, in practice, all its nodes need to be up and 
> running before it has the capacity to replicate data into it. New datacenters 
> (or lift-and-shifting a cluster via datacenter migration) therefore has to be 
> done using a dummy keyspace that duplicates the replication strategy+factor 
> of the real keyspace. This gets even more difficult come version 4.0, as the 
> replica factor can not even be defined in new datacenters before those 
> datacenters are up and running. 
> These issues are removed by avoiding the keyspace definition and lookup, and 
> presuming the replica strategy is by datacenter, ie NTS. This can be done 
> with the use of an {{allocate_tokens_for_dc_rf}} option.
> It may also be of value considering whether {{allocate_tokens_for_dc_rf=3}} 
> becomes the default? as this is the replication factor for the vast majority 
> of datacenters in production. I suspect this would be a good improvement over 
> the existing randomly generated tokens algorithm.
> Initial patch is available in 
> [https://github.com/thelastpickle/cassandra/commit/fc4865b0399570e58f11215565ba17dc4a53da97]
> The patch does not remove the existing {{allocate_tokens_for_keyspace}} 
> option, as that provides the codebase for handling different replication 
> strategies.
>  
> fyi [~blambov] [~jay.zhuang] [~chovatia.jayd...@gmail.com] [~alokamvenki] 
> [~alexchueshev]



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-15260) Add `allocate_tokens_for_dc_rf` yaml option for token allocation

2019-08-07 Thread mck (JIRA)


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

mck commented on CASSANDRA-15260:
-

{quote} Meanwhile, for consistency's sake I would change the name of the option 
to match DSE's as it is doing exactly the same thing. \{quote}

No objection. I will fix it. The naming is a bit clumsy either way imho, but 
nothing better comes to mind, and indeed it makes sense to re-use DSE's 
terminology for an identical feature.

 

{quote}We may be doing more damage than good over e.g. 256-vnode random choice, 
…\{quote}

Makes sense and is fine by me. It helps to just have these concerns, and the 
trade-off, stated somewhere. 

 

> Add `allocate_tokens_for_dc_rf` yaml option for token allocation
> 
>
> Key: CASSANDRA-15260
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15260
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local/Config
>Reporter: mck
>Assignee: mck
>Priority: Normal
> Fix For: 4.x
>
>
> Similar to DSE's option: {{allocate_tokens_for_local_replication_factor}}
> Currently the 
> [ReplicationAwareTokenAllocator|https://www.datastax.com/dev/blog/token-allocation-algorithm]
>  requires a defined keyspace and a replica factor specified in the current 
> datacenter.
> This is problematic in a number of ways. The real keyspace can not be used 
> when adding new datacenters as, in practice, all its nodes need to be up and 
> running before it has the capacity to replicate data into it. New datacenters 
> (or lift-and-shifting a cluster via datacenter migration) therefore has to be 
> done using a dummy keyspace that duplicates the replication strategy+factor 
> of the real keyspace. This gets even more difficult come version 4.0, as the 
> replica factor can not even be defined in new datacenters before those 
> datacenters are up and running. 
> These issues are removed by avoiding the keyspace definition and lookup, and 
> presuming the replica strategy is by datacenter, ie NTS. This can be done 
> with the use of an {{allocate_tokens_for_dc_rf}} option.
> It may also be of value considering whether {{allocate_tokens_for_dc_rf=3}} 
> becomes the default? as this is the replication factor for the vast majority 
> of datacenters in production. I suspect this would be a good improvement over 
> the existing randomly generated tokens algorithm.
> Initial patch is available in 
> [https://github.com/thelastpickle/cassandra/commit/fc4865b0399570e58f11215565ba17dc4a53da97]
> The patch does not remove the existing {{allocate_tokens_for_keyspace}} 
> option, as that provides the codebase for handling different replication 
> strategies.
>  
> fyi [~blambov] [~jay.zhuang] [~chovatia.jayd...@gmail.com] [~alokamvenki] 
> [~alexchueshev]



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15194) Improve readability of Table metrics Virtual tables units

2019-08-07 Thread Benedict (JIRA)


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

Benedict updated CASSANDRA-15194:
-
Reviewers: Benedict
   Status: Review In Progress  (was: Patch Available)

> Improve readability of Table metrics Virtual tables units
> -
>
> Key: CASSANDRA-15194
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15194
> Project: Cassandra
>  Issue Type: Bug
>  Components: Feature/Virtual Tables
>Reporter: Jon Haddad
>Assignee: Chris Lohfink
>Priority: Normal
> Fix For: 4.0
>
>
> I just noticed this strange output in the coordinator_reads output::
> {code}
> cqlsh:system_views> select * from coordinator_reads ;
>  count | keyspace_name  | table_name | 99th | max | 
> median | per_second
> ---+++--+-++
>   7573 | tlp_stress |   keyvalue |0 |   0 |   
>0 | 2.2375e-16
>   6076 | tlp_stress |  random_access |0 |   0 |   
>0 | 7.4126e-12
>390 | tlp_stress |sensor_data_udt |0 |   0 |   
>0 | 1.7721e-64
> 30 | system |  local |0 |   0 |   
>0 |   0.006406
> 11 |  system_schema |columns |0 |   0 |   
>0 | 1.1192e-16
> 11 |  system_schema |indexes |0 |   0 |   
>0 | 1.1192e-16
> 11 |  system_schema | tables |0 |   0 |   
>0 | 1.1192e-16
> 11 |  system_schema |  views |0 |   0 |   
>0 | 1.1192e-16
> {code}
> cc [~cnlwsu]
> btw I realize the output is technically correct, but it's not very readable.  
> For practical purposes this should just say 0.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15241) Virtual table to expose current running queries

2019-08-07 Thread Benedict (JIRA)


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

Benedict updated CASSANDRA-15241:
-
Status: Review In Progress  (was: Patch Available)

> Virtual table to expose current running queries
> ---
>
> Key: CASSANDRA-15241
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15241
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Feature/Virtual Tables
>Reporter: Chris Lohfink
>Assignee: Chris Lohfink
>Priority: Normal
>
> Expose current running queries and their duration.
> {code}cqlsh> select * from system_views.queries;
>  thread_id| duration_micros | task
> --+-+-
>  Native-Transport-Requests-17 |6325 |  QUERY 
> select * from system_views.queries; [pageSize = 100]
>   Native-Transport-Requests-4 |   14681 | EXECUTE 
> f4115f91190d4acf09e452637f1f2444 with 0 values at consistency LOCAL_ONE
>   Native-Transport-Requests-6 |   14678 | EXECUTE 
> f4115f91190d4acf09e452637f1f2444 with 0 values at consistency LOCAL_ONE
>  ReadStage-10 |   16535 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>  ReadStage-13 |   16535 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>  ReadStage-14 |   16535 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>  ReadStage-19 |   11861 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>  ReadStage-20 |   11861 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>  ReadStage-22 |7279 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>  ReadStage-23 |4716 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>   ReadStage-5 |   16535 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>   ReadStage-7 |   16535 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>   ReadStage-8 |   16535 | 
>SELECT * FROM basic.wide1 LIMIT 5000{code}



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15241) Virtual table to expose current running queries

2019-08-07 Thread Benedict (JIRA)


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

Benedict updated CASSANDRA-15241:
-
Status: Changes Suggested  (was: Review In Progress)

> Virtual table to expose current running queries
> ---
>
> Key: CASSANDRA-15241
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15241
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Feature/Virtual Tables
>Reporter: Chris Lohfink
>Assignee: Chris Lohfink
>Priority: Normal
>
> Expose current running queries and their duration.
> {code}cqlsh> select * from system_views.queries;
>  thread_id| duration_micros | task
> --+-+-
>  Native-Transport-Requests-17 |6325 |  QUERY 
> select * from system_views.queries; [pageSize = 100]
>   Native-Transport-Requests-4 |   14681 | EXECUTE 
> f4115f91190d4acf09e452637f1f2444 with 0 values at consistency LOCAL_ONE
>   Native-Transport-Requests-6 |   14678 | EXECUTE 
> f4115f91190d4acf09e452637f1f2444 with 0 values at consistency LOCAL_ONE
>  ReadStage-10 |   16535 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>  ReadStage-13 |   16535 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>  ReadStage-14 |   16535 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>  ReadStage-19 |   11861 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>  ReadStage-20 |   11861 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>  ReadStage-22 |7279 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>  ReadStage-23 |4716 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>   ReadStage-5 |   16535 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>   ReadStage-7 |   16535 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>   ReadStage-8 |   16535 | 
>SELECT * FROM basic.wide1 LIMIT 5000{code}



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15194) Improve readability of Table metrics Virtual tables units

2019-08-07 Thread Benedict (JIRA)


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

Benedict updated CASSANDRA-15194:
-
Status: Changes Suggested  (was: Review In Progress)

> Improve readability of Table metrics Virtual tables units
> -
>
> Key: CASSANDRA-15194
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15194
> Project: Cassandra
>  Issue Type: Bug
>  Components: Feature/Virtual Tables
>Reporter: Jon Haddad
>Assignee: Chris Lohfink
>Priority: Normal
> Fix For: 4.0
>
>
> I just noticed this strange output in the coordinator_reads output::
> {code}
> cqlsh:system_views> select * from coordinator_reads ;
>  count | keyspace_name  | table_name | 99th | max | 
> median | per_second
> ---+++--+-++
>   7573 | tlp_stress |   keyvalue |0 |   0 |   
>0 | 2.2375e-16
>   6076 | tlp_stress |  random_access |0 |   0 |   
>0 | 7.4126e-12
>390 | tlp_stress |sensor_data_udt |0 |   0 |   
>0 | 1.7721e-64
> 30 | system |  local |0 |   0 |   
>0 |   0.006406
> 11 |  system_schema |columns |0 |   0 |   
>0 | 1.1192e-16
> 11 |  system_schema |indexes |0 |   0 |   
>0 | 1.1192e-16
> 11 |  system_schema | tables |0 |   0 |   
>0 | 1.1192e-16
> 11 |  system_schema |  views |0 |   0 |   
>0 | 1.1192e-16
> {code}
> cc [~cnlwsu]
> btw I realize the output is technically correct, but it's not very readable.  
> For practical purposes this should just say 0.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-15194) Improve readability of Table metrics Virtual tables units

2019-08-07 Thread Benedict (JIRA)


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

Benedict commented on CASSANDRA-15194:
--

Thanks, the patch looks good.

I've pushed some minor suggestions 
[here|https://github.com/belliottsmith/cassandra/tree/15194-suggest], solely to 
introduce static compilation checks of the types of the metric we're supplying 
with some fancy generics.

Some other suggestions for discussion, that I haven't implemented, but are easy 
to do so:

In {{LatencyTableMetric.add}} it is probably sufficient to test 
{{column.endsWith(suffix)}}, given we statically define all of the regular 
columns?  If we wanted to we could impose a runtime check when building the 
metadata that only the expected columns end with this suffix, but this is 
probably unnecessary.

While we're here, should we consider renaming median to 50th, so it sorts 
correctly wrt 99th?  For consistency I'd love to see 100th, but this would mess 
with order.  It might be clearer to name them p50, p99, though, so we can also 
introduce p999 and maintain sort order.

> Improve readability of Table metrics Virtual tables units
> -
>
> Key: CASSANDRA-15194
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15194
> Project: Cassandra
>  Issue Type: Bug
>  Components: Feature/Virtual Tables
>Reporter: Jon Haddad
>Assignee: Chris Lohfink
>Priority: Normal
> Fix For: 4.0
>
>
> I just noticed this strange output in the coordinator_reads output::
> {code}
> cqlsh:system_views> select * from coordinator_reads ;
>  count | keyspace_name  | table_name | 99th | max | 
> median | per_second
> ---+++--+-++
>   7573 | tlp_stress |   keyvalue |0 |   0 |   
>0 | 2.2375e-16
>   6076 | tlp_stress |  random_access |0 |   0 |   
>0 | 7.4126e-12
>390 | tlp_stress |sensor_data_udt |0 |   0 |   
>0 | 1.7721e-64
> 30 | system |  local |0 |   0 |   
>0 |   0.006406
> 11 |  system_schema |columns |0 |   0 |   
>0 | 1.1192e-16
> 11 |  system_schema |indexes |0 |   0 |   
>0 | 1.1192e-16
> 11 |  system_schema | tables |0 |   0 |   
>0 | 1.1192e-16
> 11 |  system_schema |  views |0 |   0 |   
>0 | 1.1192e-16
> {code}
> cc [~cnlwsu]
> btw I realize the output is technically correct, but it's not very readable.  
> For practical purposes this should just say 0.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-15260) Add `allocate_tokens_for_dc_rf` yaml option for token allocation

2019-08-07 Thread Branimir Lambov (JIRA)


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

Branimir Lambov commented on CASSANDRA-15260:
-

I will review this in a couple of days.

Meanwhile, for consistency's sake I would change the name of the option to 
match DSE's as it is doing exactly the same thing.
{quote}It may also be of value considering whether 
{{allocate_tokens_for_dc_rf=3}} becomes the default?
{quote}
Something like this with a default vnode count of 16 or 8 makes a lot of sense 
if the configuration is indeed that, but I worry that the algorithm will 
generate tokens that are very unsuitable for other configurations, and also if 
the rack and DC information is not properly set up which is probably something 
that happens a lot during initial contact with Cassandra. We may be doing more 
damage than good over e.g. 256-vnode random choice, that's why I personally 
prefer to not change the default. I'm happy to hear other opinions on this, 
though.

 

> Add `allocate_tokens_for_dc_rf` yaml option for token allocation
> 
>
> Key: CASSANDRA-15260
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15260
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local/Config
>Reporter: mck
>Assignee: mck
>Priority: Normal
> Fix For: 4.x
>
>
> Similar to DSE's option: {{allocate_tokens_for_local_replication_factor}}
> Currently the 
> [ReplicationAwareTokenAllocator|https://www.datastax.com/dev/blog/token-allocation-algorithm]
>  requires a defined keyspace and a replica factor specified in the current 
> datacenter.
> This is problematic in a number of ways. The real keyspace can not be used 
> when adding new datacenters as, in practice, all its nodes need to be up and 
> running before it has the capacity to replicate data into it. New datacenters 
> (or lift-and-shifting a cluster via datacenter migration) therefore has to be 
> done using a dummy keyspace that duplicates the replication strategy+factor 
> of the real keyspace. This gets even more difficult come version 4.0, as the 
> replica factor can not even be defined in new datacenters before those 
> datacenters are up and running. 
> These issues are removed by avoiding the keyspace definition and lookup, and 
> presuming the replica strategy is by datacenter, ie NTS. This can be done 
> with the use of an {{allocate_tokens_for_dc_rf}} option.
> It may also be of value considering whether {{allocate_tokens_for_dc_rf=3}} 
> becomes the default? as this is the replication factor for the vast majority 
> of datacenters in production. I suspect this would be a good improvement over 
> the existing randomly generated tokens algorithm.
> Initial patch is available in 
> [https://github.com/thelastpickle/cassandra/commit/fc4865b0399570e58f11215565ba17dc4a53da97]
> The patch does not remove the existing {{allocate_tokens_for_keyspace}} 
> option, as that provides the codebase for handling different replication 
> strategies.
>  
> fyi [~blambov] [~jay.zhuang] [~chovatia.jayd...@gmail.com] [~alokamvenki] 
> [~alexchueshev]



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-15241) Virtual table to expose current running queries

2019-08-07 Thread Benedict (JIRA)


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

Benedict commented on CASSANDRA-15241:
--

bq. One problem was that the task field was not guaranteed under the JMM to 
ever see modifications to its contents

So, thinking on this more - this is probably not actually the case.  We always 
invoke a virtual method on executing the task (a virtual method on the task 
itself), which should require that the state of the class is fully visible (not 
to other threads, but we can depend on implementation details here).  If the 
task were to inspect this field, it should expect to see the value prior to its 
invocation.  So this is probably fine, and we can revert the changes I 
suggested here. 

> Virtual table to expose current running queries
> ---
>
> Key: CASSANDRA-15241
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15241
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Feature/Virtual Tables
>Reporter: Chris Lohfink
>Assignee: Chris Lohfink
>Priority: Normal
>
> Expose current running queries and their duration.
> {code}cqlsh> select * from system_views.queries;
>  thread_id| duration_micros | task
> --+-+-
>  Native-Transport-Requests-17 |6325 |  QUERY 
> select * from system_views.queries; [pageSize = 100]
>   Native-Transport-Requests-4 |   14681 | EXECUTE 
> f4115f91190d4acf09e452637f1f2444 with 0 values at consistency LOCAL_ONE
>   Native-Transport-Requests-6 |   14678 | EXECUTE 
> f4115f91190d4acf09e452637f1f2444 with 0 values at consistency LOCAL_ONE
>  ReadStage-10 |   16535 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>  ReadStage-13 |   16535 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>  ReadStage-14 |   16535 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>  ReadStage-19 |   11861 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>  ReadStage-20 |   11861 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>  ReadStage-22 |7279 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>  ReadStage-23 |4716 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>   ReadStage-5 |   16535 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>   ReadStage-7 |   16535 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>   ReadStage-8 |   16535 | 
>SELECT * FROM basic.wide1 LIMIT 5000{code}



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15260) Add `allocate_tokens_for_dc_rf` yaml option for token allocation

2019-08-07 Thread Branimir Lambov (JIRA)


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

Branimir Lambov updated CASSANDRA-15260:

Reviewers: Branimir Lambov

> Add `allocate_tokens_for_dc_rf` yaml option for token allocation
> 
>
> Key: CASSANDRA-15260
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15260
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local/Config
>Reporter: mck
>Assignee: mck
>Priority: Normal
> Fix For: 4.x
>
>
> Similar to DSE's option: {{allocate_tokens_for_local_replication_factor}}
> Currently the 
> [ReplicationAwareTokenAllocator|https://www.datastax.com/dev/blog/token-allocation-algorithm]
>  requires a defined keyspace and a replica factor specified in the current 
> datacenter.
> This is problematic in a number of ways. The real keyspace can not be used 
> when adding new datacenters as, in practice, all its nodes need to be up and 
> running before it has the capacity to replicate data into it. New datacenters 
> (or lift-and-shifting a cluster via datacenter migration) therefore has to be 
> done using a dummy keyspace that duplicates the replication strategy+factor 
> of the real keyspace. This gets even more difficult come version 4.0, as the 
> replica factor can not even be defined in new datacenters before those 
> datacenters are up and running. 
> These issues are removed by avoiding the keyspace definition and lookup, and 
> presuming the replica strategy is by datacenter, ie NTS. This can be done 
> with the use of an {{allocate_tokens_for_dc_rf}} option.
> It may also be of value considering whether {{allocate_tokens_for_dc_rf=3}} 
> becomes the default? as this is the replication factor for the vast majority 
> of datacenters in production. I suspect this would be a good improvement over 
> the existing randomly generated tokens algorithm.
> Initial patch is available in 
> [https://github.com/thelastpickle/cassandra/commit/fc4865b0399570e58f11215565ba17dc4a53da97]
> The patch does not remove the existing {{allocate_tokens_for_keyspace}} 
> option, as that provides the codebase for handling different replication 
> strategies.
>  
> fyi [~blambov] [~jay.zhuang] [~chovatia.jayd...@gmail.com] [~alokamvenki] 
> [~alexchueshev]



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-15241) Virtual table to expose current running queries

2019-08-07 Thread Benedict (JIRA)


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

Benedict commented on CASSANDRA-15241:
--

The patch looks good, thanks.  It's a low cost, low risk and valuable insight 
into what the system is doing, so I think it will be really helpful.

I've pushed some minor suggestions 
[here|https://github.com/belliottsmith/cassandra/tree/15241-suggest].

One problem was that the {{task}} field was not guaranteed under the JMM to 
ever see modifications to its contents.  It may be that we typically would see 
them, but we may have to incur the cost of a lazySet to absolutely guarantee 
it.  Unfortunately I don't know of another mechanism for guaranteeing a write 
is made visible eventually from within a loop.

There was also a visibility issue with {{nowNanos}} in 
{{LocalMutationRunnable}}, since the task can be assigned to a worker before it 
runs, at which time the nowNanos will be zero and the running time would look 
absurd.

Finally, there remains an issue with the semantics of the start time - in some 
cases it's when the task starts running, in others when the task was created, 
so including any time spent queued.  If we want, we could quite easily expose 
_both_ of these items, and perhaps we might like to.  But otherwise we should 
pick one and stick to it for all of the implementations.  I would presume we 
are slightly _more_ interested in actual running time, as otherwise tasks 
queued up behind long running tasks might appear long running themselves - 
though this would require the executor to be entirely saturated.

We might also want to put a bit of time into improving the descriptions, to 
include e.g. the CQL being executed.  Right now, for executing a prepared 
statement, we only get the statementId and the options it is invoked with.

> Virtual table to expose current running queries
> ---
>
> Key: CASSANDRA-15241
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15241
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Feature/Virtual Tables
>Reporter: Chris Lohfink
>Assignee: Chris Lohfink
>Priority: Normal
>
> Expose current running queries and their duration.
> {code}cqlsh> select * from system_views.queries;
>  thread_id| duration_micros | task
> --+-+-
>  Native-Transport-Requests-17 |6325 |  QUERY 
> select * from system_views.queries; [pageSize = 100]
>   Native-Transport-Requests-4 |   14681 | EXECUTE 
> f4115f91190d4acf09e452637f1f2444 with 0 values at consistency LOCAL_ONE
>   Native-Transport-Requests-6 |   14678 | EXECUTE 
> f4115f91190d4acf09e452637f1f2444 with 0 values at consistency LOCAL_ONE
>  ReadStage-10 |   16535 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>  ReadStage-13 |   16535 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>  ReadStage-14 |   16535 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>  ReadStage-19 |   11861 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>  ReadStage-20 |   11861 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>  ReadStage-22 |7279 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>  ReadStage-23 |4716 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>   ReadStage-5 |   16535 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>   ReadStage-7 |   16535 | 
>SELECT * FROM basic.wide1 LIMIT 5000
>   ReadStage-8 |   16535 | 
>SELECT * FROM basic.wide1 LIMIT 5000{code}



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15225) FileUtils.close() does not handle non-IOException

2019-08-07 Thread Benedict (JIRA)


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

Benedict updated CASSANDRA-15225:
-
  Fix Version/s: (was: 4.0.x)
 (was: 3.11.x)
 (was: 3.0.x)
 4.0
 3.11.5
 3.0.19
 2.2.15
Source Control Link: 
[f21106fcd0e5d870cf9d85b2d396eab9fe4515cd|https://github.com/apache/cassandra/commit/f21106fcd0e5d870cf9d85b2d396eab9fe4515cd]
  Since Version: 1.0.0
 Status: Resolved  (was: Ready to Commit)
 Resolution: Fixed

> FileUtils.close() does not handle non-IOException
> -
>
> Key: CASSANDRA-15225
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15225
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local/SSTable
>Reporter: Benedict
>Assignee: Liudmila Kornilova
>Priority: Normal
>  Labels: pull-request-available
> Fix For: 2.2.15, 3.0.19, 3.11.5, 4.0
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> This can lead to {{close}} not being invoked on remaining items



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] branch cassandra-3.0 updated (9af57a5 -> 50608af)

2019-08-07 Thread benedict
This is an automated email from the ASF dual-hosted git repository.

benedict pushed a change to branch cassandra-3.0
in repository https://gitbox.apache.org/repos/asf/cassandra.git.


from 9af57a5  Filter sstables earlier when running cleanup
 add f21106f  Catch non-IOException in FileUtils.close so all resources are 
closed
 add 50608af  Merge branch 'cassandra-2.2' into cassandra-3.0

No new revisions were added by this update.

Summary of changes:
 CHANGES.txt  |  1 +
 src/java/org/apache/cassandra/io/util/FileUtils.java | 10 +-
 2 files changed, 6 insertions(+), 5 deletions(-)


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] branch cassandra-3.11 updated (01c6daf -> c7ca9b8)

2019-08-07 Thread benedict
This is an automated email from the ASF dual-hosted git repository.

benedict pushed a change to branch cassandra-3.11
in repository https://gitbox.apache.org/repos/asf/cassandra.git.


from 01c6daf  Merge branch 'cassandra-3.0' into cassandra-3.11
 add f21106f  Catch non-IOException in FileUtils.close so all resources are 
closed
 add 50608af  Merge branch 'cassandra-2.2' into cassandra-3.0
 add c7ca9b8  Merge branch 'cassandra-3.0' into cassandra-3.11

No new revisions were added by this update.

Summary of changes:
 CHANGES.txt  |  1 +
 src/java/org/apache/cassandra/io/util/FileUtils.java | 10 +-
 2 files changed, 6 insertions(+), 5 deletions(-)


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] branch trunk updated (6d037b6 -> e6c39f9)

2019-08-07 Thread benedict
This is an automated email from the ASF dual-hosted git repository.

benedict pushed a change to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git.


from 6d037b6  Catch non-IOException in FileUtils.close so all resources are 
closed
 add f21106f  Catch non-IOException in FileUtils.close so all resources are 
closed
 add 50608af  Merge branch 'cassandra-2.2' into cassandra-3.0
 add c7ca9b8  Merge branch 'cassandra-3.0' into cassandra-3.11
 new e6c39f9  Merge branch 'cassandra-3.11' into trunk

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] branch cassandra-2.2 updated (b2f6953 -> f21106f)

2019-08-07 Thread benedict
This is an automated email from the ASF dual-hosted git repository.

benedict pushed a change to branch cassandra-2.2
in repository https://gitbox.apache.org/repos/asf/cassandra.git.


from b2f6953  Handle exceptions during authentication/authorization
 add f21106f  Catch non-IOException in FileUtils.close so all resources are 
closed

No new revisions were added by this update.

Summary of changes:
 CHANGES.txt|  1 +
 .../org/apache/cassandra/io/util/FileUtils.java| 10 
 .../org/apache/cassandra/utils/Throwables.java | 27 --
 3 files changed, 31 insertions(+), 7 deletions(-)


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] 01/01: Merge branch 'cassandra-3.11' into trunk

2019-08-07 Thread benedict
This is an automated email from the ASF dual-hosted git repository.

benedict pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit e6c39f9fa4298fd3dd21a6c788392daa5bc139fd
Merge: 6d037b6 c7ca9b8
Author: Benedict Elliott Smith 
AuthorDate: Wed Aug 7 13:08:51 2019 +0100

Merge branch 'cassandra-3.11' into trunk



-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15225) FileUtils.close() does not handle non-IOException

2019-08-07 Thread Benedict (JIRA)


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

Benedict updated CASSANDRA-15225:
-
Status: Review In Progress  (was: Patch Available)

> FileUtils.close() does not handle non-IOException
> -
>
> Key: CASSANDRA-15225
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15225
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local/SSTable
>Reporter: Benedict
>Assignee: Liudmila Kornilova
>Priority: Normal
>  Labels: pull-request-available
> Fix For: 3.0.x, 3.11.x, 4.0.x
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> This can lead to {{close}} not being invoked on remaining items



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15225) FileUtils.close() does not handle non-IOException

2019-08-07 Thread Benedict (JIRA)


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

Benedict updated CASSANDRA-15225:
-
Status: Ready to Commit  (was: Review In Progress)

> FileUtils.close() does not handle non-IOException
> -
>
> Key: CASSANDRA-15225
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15225
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local/SSTable
>Reporter: Benedict
>Assignee: Liudmila Kornilova
>Priority: Normal
>  Labels: pull-request-available
> Fix For: 3.0.x, 3.11.x, 4.0.x
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> This can lead to {{close}} not being invoked on remaining items



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15225) FileUtils.close() does not handle non-IOException

2019-08-07 Thread Benedict (JIRA)


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

Benedict updated CASSANDRA-15225:
-
Test and Documentation Plan: unnecessary
 Status: Patch Available  (was: Open)

> FileUtils.close() does not handle non-IOException
> -
>
> Key: CASSANDRA-15225
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15225
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local/SSTable
>Reporter: Benedict
>Assignee: Liudmila Kornilova
>Priority: Normal
>  Labels: pull-request-available
> Fix For: 3.0.x, 3.11.x, 4.0.x
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> This can lead to {{close}} not being invoked on remaining items



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] branch trunk updated (af86247 -> 6d037b6)

2019-08-07 Thread benedict
This is an automated email from the ASF dual-hosted git repository.

benedict pushed a change to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git.


from af86247  Merge branch 'cassandra-3.11' into trunk
 add 6d037b6  Catch non-IOException in FileUtils.close so all resources are 
closed

No new revisions were added by this update.

Summary of changes:
 CHANGES.txt  |  1 +
 src/java/org/apache/cassandra/io/util/FileUtils.java | 10 +-
 2 files changed, 6 insertions(+), 5 deletions(-)


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-15263) LegacyLayout RangeTombstoneList throws java.lang.NullPointerException: null

2019-08-07 Thread feroz shaik (JIRA)


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

feroz shaik commented on CASSANDRA-15263:
-

Thank you Benedict. I am asking my developers about this info. Will revert soon.

> LegacyLayout RangeTombstoneList throws java.lang.NullPointerException: null
> ---
>
> Key: CASSANDRA-15263
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15263
> Project: Cassandra
>  Issue Type: Bug
>  Components: Cluster/Schema
>Reporter: feroz shaik
>Assignee: Benedict
>Priority: Normal
>  Labels: 2.1.16, 3.11.4
> Attachments: schema.txt, stack_trace.txt
>
>
> We have  hit a problem today while upgrading from 2.1.16 to 3.11.4.
> we encountered this as soon as the first node started up with 3.11.4 
> The full error stack is attached - [^stack_trace.txt] 
>  
> The below errors continued in the log file as long as the process was up.
> ERROR [Native-Transport-Requests-12] 2019-08-06 03:00:47,135 
> ErrorMessage.java:384 - Unexpected exception during request
>  java.lang.NullPointerException: null
>  ERROR [Native-Transport-Requests-8] 2019-08-06 03:00:48,778 
> ErrorMessage.java:384 - Unexpected exception during request
>  java.lang.NullPointerException: null
>  ERROR [Native-Transport-Requests-13] 2019-08-06 03:00:57,454 
>  
> The nodetool version says 3.11.4 and the no of connections on native por t- 
> 9042 was similar to other nodes. The exceptions were scary that we had to 
> call off the change. Any help and insights to this problem from the community 
> is appreciated.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-15225) FileUtils.close() does not handle non-IOException

2019-08-07 Thread Liudmila Kornilova (JIRA)


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

Liudmila Kornilova commented on CASSANDRA-15225:


[~benedict], done!

> FileUtils.close() does not handle non-IOException
> -
>
> Key: CASSANDRA-15225
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15225
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local/SSTable
>Reporter: Benedict
>Assignee: Liudmila Kornilova
>Priority: Normal
>  Labels: pull-request-available
> Fix For: 3.0.x, 3.11.x, 4.0.x
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> This can lead to {{close}} not being invoked on remaining items



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-15225) FileUtils.close() does not handle non-IOException

2019-08-07 Thread Benedict (JIRA)


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

Benedict commented on CASSANDRA-15225:
--

Thanks [~Override].  One tiny nit: {{maybeFail}} doesn't require the null 
check, you can simply invoke it, and if the parameter is {{null}} nothing will 
happen.

If you want to prepare the final patch for commit, by squashing, adding a 
CHANGES.txt entry, and adding a commit message of the form described on 
CASSANDRA-15246, I'll commit it to trunk.

Welcome to the contributor community!

> FileUtils.close() does not handle non-IOException
> -
>
> Key: CASSANDRA-15225
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15225
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local/SSTable
>Reporter: Benedict
>Assignee: Liudmila Kornilova
>Priority: Normal
>  Labels: pull-request-available
> Fix For: 3.0.x, 3.11.x, 4.0.x
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> This can lead to {{close}} not being invoked on remaining items



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-15225) FileUtils.close() does not handle non-IOException

2019-08-07 Thread Liudmila Kornilova (JIRA)


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

Liudmila Kornilova commented on CASSANDRA-15225:


Thank you for reviewing the code, [~benedict]

It sounds like a better approach because some {{Throwables}} should not be 
re-thrown as checked (e.g. {{Error}} is a "serious problems that a reasonable 
application should not try to catch"). Also no additional wrappers

I pushed third commit

> FileUtils.close() does not handle non-IOException
> -
>
> Key: CASSANDRA-15225
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15225
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local/SSTable
>Reporter: Benedict
>Assignee: Liudmila Kornilova
>Priority: Normal
>  Labels: pull-request-available
> Fix For: 3.0.x, 3.11.x, 4.0.x
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> This can lead to {{close}} not being invoked on remaining items



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Assigned] (CASSANDRA-15263) LegacyLayout RangeTombstoneList throws java.lang.NullPointerException: null

2019-08-07 Thread Benedict (JIRA)


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

Benedict reassigned CASSANDRA-15263:


Assignee: Benedict

> LegacyLayout RangeTombstoneList throws java.lang.NullPointerException: null
> ---
>
> Key: CASSANDRA-15263
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15263
> Project: Cassandra
>  Issue Type: Bug
>  Components: Cluster/Schema
>Reporter: feroz shaik
>Assignee: Benedict
>Priority: Normal
>  Labels: 2.1.16, 3.11.4
> Attachments: schema.txt, stack_trace.txt
>
>
> We have  hit a problem today while upgrading from 2.1.16 to 3.11.4.
> we encountered this as soon as the first node started up with 3.11.4 
> The full error stack is attached - [^stack_trace.txt] 
>  
> The below errors continued in the log file as long as the process was up.
> ERROR [Native-Transport-Requests-12] 2019-08-06 03:00:47,135 
> ErrorMessage.java:384 - Unexpected exception during request
>  java.lang.NullPointerException: null
>  ERROR [Native-Transport-Requests-8] 2019-08-06 03:00:48,778 
> ErrorMessage.java:384 - Unexpected exception during request
>  java.lang.NullPointerException: null
>  ERROR [Native-Transport-Requests-13] 2019-08-06 03:00:57,454 
>  
> The nodetool version says 3.11.4 and the no of connections on native por t- 
> 9042 was similar to other nodes. The exceptions were scary that we had to 
> call off the change. Any help and insights to this problem from the community 
> is appreciated.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15264) Make resumable bootstrap off by default

2019-08-07 Thread Marcus Eriksson (JIRA)


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

Marcus Eriksson updated CASSANDRA-15264:

Fix Version/s: 4.x
   3.11.x
   3.0.x

> Make resumable bootstrap off by default
> ---
>
> Key: CASSANDRA-15264
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15264
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Consistency/Bootstrap and Decommission
>Reporter: Marcus Eriksson
>Assignee: Marcus Eriksson
>Priority: Normal
> Fix For: 3.0.x, 3.11.x, 4.x
>
>
> Following the discussion in CASSANDRA-8838, we should make resumable 
> bootstrap off by default and do it if the user requests it.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-15263) LegacyLayout RangeTombstoneList throws java.lang.NullPointerException: null

2019-08-07 Thread Benedict (JIRA)


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

Benedict commented on CASSANDRA-15263:
--

Thanks [~ferozshaik...@gmail.com].  When you say this is one of the oldest and 
very first Cassandra implementations, and that legacy mode was thrift, do you 
mean that this schema was converted from a thrift schema, and that in the past 
it was written to using the thrift data model?

If so, this could very well explain the problem.

The problem appears to relate to range tombstones, i.e. those that cover a 
range of CQL rows within a partition.  These were intended to permit row 
deletions in the CQL data model, but it _was_ possible to construct them 
yourself using the thrift data model API, and it was possible to create range 
tombstones that could cause problems.  

It's _possible_ this is what is happening, but more information would help us 
figure out if so, and if so in what way and how it might be mitigated for you.

More information about how you delete data, particularly if you delete multiple 
rows (essentially range deletions), and preferably access to some affected 
sstables would be really helpful.  It may be hard to establish which sstables 
are affected, but we could potentially supply you with a build that would 
report this information in the error, although this would require you to 
upgrade again, perhaps in a development environment.

> LegacyLayout RangeTombstoneList throws java.lang.NullPointerException: null
> ---
>
> Key: CASSANDRA-15263
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15263
> Project: Cassandra
>  Issue Type: Bug
>  Components: Cluster/Schema
>Reporter: feroz shaik
>Priority: Normal
>  Labels: 2.1.16, 3.11.4
> Attachments: schema.txt, stack_trace.txt
>
>
> We have  hit a problem today while upgrading from 2.1.16 to 3.11.4.
> we encountered this as soon as the first node started up with 3.11.4 
> The full error stack is attached - [^stack_trace.txt] 
>  
> The below errors continued in the log file as long as the process was up.
> ERROR [Native-Transport-Requests-12] 2019-08-06 03:00:47,135 
> ErrorMessage.java:384 - Unexpected exception during request
>  java.lang.NullPointerException: null
>  ERROR [Native-Transport-Requests-8] 2019-08-06 03:00:48,778 
> ErrorMessage.java:384 - Unexpected exception during request
>  java.lang.NullPointerException: null
>  ERROR [Native-Transport-Requests-13] 2019-08-06 03:00:57,454 
>  
> The nodetool version says 3.11.4 and the no of connections on native por t- 
> 9042 was similar to other nodes. The exceptions were scary that we had to 
> call off the change. Any help and insights to this problem from the community 
> is appreciated.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15264) Make resumable bootstrap off by default

2019-08-07 Thread Marcus Eriksson (JIRA)


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

Marcus Eriksson updated CASSANDRA-15264:

 Complexity: Low Hanging Fruit
Change Category: Operability
Component/s: Consistency/Bootstrap and Decommission
 Status: Open  (was: Triage Needed)

> Make resumable bootstrap off by default
> ---
>
> Key: CASSANDRA-15264
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15264
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Consistency/Bootstrap and Decommission
>Reporter: Marcus Eriksson
>Assignee: Marcus Eriksson
>Priority: Normal
>
> Following the discussion in CASSANDRA-8838, we should make resumable 
> bootstrap off by default and do it if the user requests it.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15265) Index summary redistribution can start even when compactions are paused

2019-08-07 Thread Marcus Eriksson (JIRA)


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

Marcus Eriksson updated CASSANDRA-15265:

Fix Version/s: 4.x
   3.11.x
   3.0.x

> Index summary redistribution can start even when compactions are paused
> ---
>
> Key: CASSANDRA-15265
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15265
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local/Compaction
>Reporter: Marcus Eriksson
>Assignee: Marcus Eriksson
>Priority: Normal
> Fix For: 3.0.x, 3.11.x, 4.x
>
>
> When we pause autocompaction for upgradesstables/scrub/cleanup etc we pause 
> all compaction strategies to make sure we can grab all sstables, index 
> summary redistribution does not pause and this can cause us to fail the 
> operation.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15265) Index summary redistribution can start even when compactions are paused

2019-08-07 Thread Marcus Eriksson (JIRA)


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

Marcus Eriksson updated CASSANDRA-15265:

 Severity: Low
   Complexity: Low Hanging Fruit
Discovered By: Adhoc Test
 Assignee: Marcus Eriksson
 Bug Category: Parent values: Degradation(12984)Level 1 values: Other 
Exception(12998)
   Status: Open  (was: Triage Needed)

> Index summary redistribution can start even when compactions are paused
> ---
>
> Key: CASSANDRA-15265
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15265
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local/Compaction
>Reporter: Marcus Eriksson
>Assignee: Marcus Eriksson
>Priority: Normal
>
> When we pause autocompaction for upgradesstables/scrub/cleanup etc we pause 
> all compaction strategies to make sure we can grab all sstables, index 
> summary redistribution does not pause and this can cause us to fail the 
> operation.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Created] (CASSANDRA-15265) Index summary redistribution can start even when compactions are paused

2019-08-07 Thread Marcus Eriksson (JIRA)
Marcus Eriksson created CASSANDRA-15265:
---

 Summary: Index summary redistribution can start even when 
compactions are paused
 Key: CASSANDRA-15265
 URL: https://issues.apache.org/jira/browse/CASSANDRA-15265
 Project: Cassandra
  Issue Type: Bug
  Components: Local/Compaction
Reporter: Marcus Eriksson


When we pause autocompaction for upgradesstables/scrub/cleanup etc we pause all 
compaction strategies to make sure we can grab all sstables, index summary 
redistribution does not pause and this can cause us to fail the operation.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Created] (CASSANDRA-15264) Make resumable bootstrap off by default

2019-08-07 Thread Marcus Eriksson (JIRA)
Marcus Eriksson created CASSANDRA-15264:
---

 Summary: Make resumable bootstrap off by default
 Key: CASSANDRA-15264
 URL: https://issues.apache.org/jira/browse/CASSANDRA-15264
 Project: Cassandra
  Issue Type: Improvement
Reporter: Marcus Eriksson
Assignee: Marcus Eriksson


Following the discussion in CASSANDRA-8838, we should make resumable bootstrap 
off by default and do it if the user requests it.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15100) Improve no-op cleanup performance

2019-08-07 Thread Marcus Eriksson (JIRA)


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

Marcus Eriksson updated CASSANDRA-15100:

Source Control Link: 
https://github.com/apache/cassandra/commit/9af57a508da637f85b32ada0f54e91c72aca0104
 Status: Resolved  (was: Ready to Commit)
 Resolution: Fixed

did a small logging change and committed as 
[9af57a508da637f85b32ada0f54e91c72aca0104 
|https://github.com/apache/cassandra/commit/9af57a508da637f85b32ada0f54e91c72aca0104]
 to 3.0 and merged up to trunk, thanks!

> Improve no-op cleanup performance
> -
>
> Key: CASSANDRA-15100
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15100
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local/Compaction
>Reporter: Marcus Eriksson
>Assignee: Marcus Eriksson
>Priority: Low
> Fix For: 3.0.x, 3.11.x, 4.x
>
>
> We should filter sstables in `OneSSTableOperation#filterSSTables` instead of 
> in the cleanup method to avoid creating unnecessary single-sstable 
> transactions for sstables fully contained in the owned ranges.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15100) Improve no-op cleanup performance

2019-08-07 Thread Marcus Eriksson (JIRA)


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

Marcus Eriksson updated CASSANDRA-15100:

Status: Ready to Commit  (was: Review In Progress)

> Improve no-op cleanup performance
> -
>
> Key: CASSANDRA-15100
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15100
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local/Compaction
>Reporter: Marcus Eriksson
>Assignee: Marcus Eriksson
>Priority: Low
> Fix For: 3.0.x, 3.11.x, 4.x
>
>
> We should filter sstables in `OneSSTableOperation#filterSSTables` instead of 
> in the cleanup method to avoid creating unnecessary single-sstable 
> transactions for sstables fully contained in the owned ranges.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15123) Avoid keeping sstables marked compacting forever when user defined compaction gets interrupted

2019-08-07 Thread Marcus Eriksson (JIRA)


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

Marcus Eriksson updated CASSANDRA-15123:

  Fix Version/s: 4.0
 3.11.5
Source Control Link: 
https://github.com/apache/cassandra/commit/b773bc7ac51fedc07145017edaefa919fac25696
  Since Version: 3.11.0
 Status: Resolved  (was: Ready to Commit)
 Resolution: Fixed

and committed as 
[b773bc7ac51fedc07145017edaefa919fac25696|https://github.com/apache/cassandra/commit/b773bc7ac51fedc07145017edaefa919fac25696]
 and merged up to trunk, thanks!

> Avoid keeping sstables marked compacting forever when user defined compaction 
> gets interrupted
> --
>
> Key: CASSANDRA-15123
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15123
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local/Compaction
>Reporter: Marcus Eriksson
>Assignee: Marcus Eriksson
>Priority: Normal
> Fix For: 3.11.5, 4.0
>
>
> When we have both repaired + unrepaired data on a node, we create multiple 
> compaction tasks and run them serially. If one of those tasks gets 
> interrupted or throws exception we will keep sstables in the other tasks as 
> compacting forever.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] branch cassandra-3.11 updated (b773bc7 -> 01c6daf)

2019-08-07 Thread marcuse
This is an automated email from the ASF dual-hosted git repository.

marcuse pushed a change to branch cassandra-3.11
in repository https://gitbox.apache.org/repos/asf/cassandra.git.


from b773bc7  Make sure user defined compaction transactions are always 
closed
 new 9af57a5  Filter sstables earlier when running cleanup
 new 01c6daf  Merge branch 'cassandra-3.0' into cassandra-3.11

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 CHANGES.txt|  1 +
 .../cassandra/db/compaction/CompactionManager.java | 30 +---
 test/unit/org/apache/cassandra/db/CleanupTest.java | 53 ++
 3 files changed, 68 insertions(+), 16 deletions(-)


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] branch cassandra-3.0 updated: Filter sstables earlier when running cleanup

2019-08-07 Thread marcuse
This is an automated email from the ASF dual-hosted git repository.

marcuse pushed a commit to branch cassandra-3.0
in repository https://gitbox.apache.org/repos/asf/cassandra.git


The following commit(s) were added to refs/heads/cassandra-3.0 by this push:
 new 9af57a5  Filter sstables earlier when running cleanup
9af57a5 is described below

commit 9af57a508da637f85b32ada0f54e91c72aca0104
Author: Marcus Eriksson 
AuthorDate: Thu Apr 25 12:31:25 2019 +0200

Filter sstables earlier when running cleanup

Patch by marcuse; reviewed by Jordan West for CASSANDRA-15100
---
 CHANGES.txt|  1 +
 .../cassandra/db/compaction/CompactionManager.java | 30 +---
 test/unit/org/apache/cassandra/db/CleanupTest.java | 53 ++
 3 files changed, 68 insertions(+), 16 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index c2bed92..a46a327 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.19
+ * Filter sstables earlier when running cleanup (CASSANDRA-15100)
  * Use mean row count instead of mean column count for index selectivity 
calculation (CASSANDRA-15259)
  * Avoid updating unchanged gossip states (CASSANDRA-15097)
  * Prevent recreation of previously dropped columns with a different kind 
(CASSANDRA-14948)
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java 
b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index 1bd8ff3..694ad62 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@ -285,6 +285,7 @@ public class CompactionManager implements 
CompactionManagerMBean
 @SuppressWarnings("resource")
 private AllSSTableOpStatus parallelAllSSTableOperation(final 
ColumnFamilyStore cfs, final OneSSTableOperation operation, int jobs, 
OperationType operationType) throws ExecutionException, InterruptedException
 {
+logger.info("Starting {} for {}.{}", operationType, 
cfs.keyspace.getName(), cfs.getTableName());
 List transactions = new ArrayList<>();
 List> futures = new ArrayList<>();
 try (LifecycleTransaction compacting = 
cfs.markAllCompacting(operationType))
@@ -326,6 +327,7 @@ public class CompactionManager implements 
CompactionManagerMBean
 }
 FBUtilities.waitOnFutures(futures);
 assert compacting.originals().isEmpty();
+logger.info("Finished {} for {}.{} successfully", operationType, 
cfs.keyspace.getName(), cfs.getTableName());
 return AllSSTableOpStatus.SUCCESSFUL;
 }
 finally
@@ -341,7 +343,7 @@ public class CompactionManager implements 
CompactionManagerMBean
 }
 Throwable fail = Throwables.close(null, transactions);
 if (fail != null)
-logger.error("Failed to cleanup lifecycle transactions", fail);
+logger.error("Failed to cleanup lifecycle transactions ({} for 
{}.{})", operationType, cfs.keyspace.getName(), cfs.getTableName(), fail);
 }
 }
 
@@ -463,7 +465,25 @@ public class CompactionManager implements 
CompactionManagerMBean
 public Iterable filterSSTables(LifecycleTransaction 
transaction)
 {
 List sortedSSTables = 
Lists.newArrayList(transaction.originals());
-Collections.sort(sortedSSTables, new 
SSTableReader.SizeComparator());
+Iterator sstableIter = 
sortedSSTables.iterator();
+int totalSSTables = 0;
+int skippedSStables = 0;
+while (sstableIter.hasNext())
+{
+SSTableReader sstable = sstableIter.next();
+totalSSTables++;
+if (!needsCleanup(sstable, ranges))
+{
+logger.debug("Not cleaning up {} ([{}, {}]) - no 
tokens outside owned ranges {}",
+ sstable, sstable.first.getToken(), 
sstable.last.getToken(), ranges);
+sstableIter.remove();
+transaction.cancel(sstable);
+skippedSStables++;
+}
+}
+logger.info("Skipping cleanup for {}/{} sstables for {}.{} 
since they are fully contained in owned ranges ({})",
+skippedSStables, totalSSTables, 
cfStore.keyspace.getName(), cfStore.getTableName(), ranges);
+sortedSSTables.sort(new SSTableReader.SizeComparator());
 return sortedSSTables;
 }
 
@@ -886,11 +906,7 @@ public class CompactionManager implements 
CompactionManagerMBean
 {
 txn.obsoleteOriginals();
 txn.finish();
-return;
-}
-if (!needsCleanup(sstable, ranges))
-{
-logger.trace("Skipping {} for cleanup; all rows should be kept", 

[cassandra] branch trunk updated (3ed1b79 -> af86247)

2019-08-07 Thread marcuse
This is an automated email from the ASF dual-hosted git repository.

marcuse pushed a change to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git.


from 3ed1b79  Merge branch 'cassandra-3.11' into trunk
 new 9af57a5  Filter sstables earlier when running cleanup
 new 01c6daf  Merge branch 'cassandra-3.0' into cassandra-3.11
 new af86247  Merge branch 'cassandra-3.11' into trunk

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 CHANGES.txt|  1 +
 .../cassandra/db/compaction/CompactionManager.java | 44 +++--
 test/unit/org/apache/cassandra/db/CleanupTest.java | 45 ++
 3 files changed, 78 insertions(+), 12 deletions(-)


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] 01/01: Merge branch 'cassandra-3.0' into cassandra-3.11

2019-08-07 Thread marcuse
This is an automated email from the ASF dual-hosted git repository.

marcuse pushed a commit to branch cassandra-3.11
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit 01c6daf6e7e85df7e2c65e2db032df28c86aede0
Merge: b773bc7 9af57a5
Author: Marcus Eriksson 
AuthorDate: Wed Aug 7 10:51:23 2019 +0200

Merge branch 'cassandra-3.0' into cassandra-3.11

 CHANGES.txt|  1 +
 .../cassandra/db/compaction/CompactionManager.java | 30 +---
 test/unit/org/apache/cassandra/db/CleanupTest.java | 53 ++
 3 files changed, 68 insertions(+), 16 deletions(-)

diff --cc CHANGES.txt
index dc8baf2,a46a327..a7cae1d
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,9 -1,5 +1,10 @@@
 -3.0.19
 +3.11.5
 + * Make sure user defined compaction transactions are always closed 
(CASSANDRA-15123)
 + * Fix cassandra-env.sh to use $CASSANDRA_CONF to find cassandra-jaas.config 
(CASSANDRA-14305)
 + * Fixed nodetool cfstats printing index name twice (CASSANDRA-14903)
 + * Add flag to disable SASI indexes, and warnings on creation 
(CASSANDRA-14866)
 +Merged from 3.0:
+  * Filter sstables earlier when running cleanup (CASSANDRA-15100)
   * Use mean row count instead of mean column count for index selectivity 
calculation (CASSANDRA-15259)
   * Avoid updating unchanged gossip states (CASSANDRA-15097)
   * Prevent recreation of previously dropped columns with a different kind 
(CASSANDRA-14948)
diff --cc src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index 7086d77,694ad62..1a9da37
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@@ -466,7 -465,25 +468,25 @@@ public class CompactionManager implemen
  public Iterable 
filterSSTables(LifecycleTransaction transaction)
  {
  List sortedSSTables = 
Lists.newArrayList(transaction.originals());
- Collections.sort(sortedSSTables, 
SSTableReader.sizeComparator);
+ Iterator sstableIter = 
sortedSSTables.iterator();
+ int totalSSTables = 0;
+ int skippedSStables = 0;
+ while (sstableIter.hasNext())
+ {
+ SSTableReader sstable = sstableIter.next();
+ totalSSTables++;
+ if (!needsCleanup(sstable, ranges))
+ {
+ logger.debug("Not cleaning up {} ([{}, {}]) - no 
tokens outside owned ranges {}",
+  sstable, sstable.first.getToken(), 
sstable.last.getToken(), ranges);
+ sstableIter.remove();
+ transaction.cancel(sstable);
+ skippedSStables++;
+ }
+ }
+ logger.info("Skipping cleanup for {}/{} sstables for {}.{} 
since they are fully contained in owned ranges ({})",
+ skippedSStables, totalSSTables, 
cfStore.keyspace.getName(), cfStore.getTableName(), ranges);
 -sortedSSTables.sort(new SSTableReader.SizeComparator());
++sortedSSTables.sort(SSTableReader.sizeComparator);
  return sortedSSTables;
  }
  
diff --cc test/unit/org/apache/cassandra/db/CleanupTest.java
index 80e9b37,d4c613d..552e6d1
--- a/test/unit/org/apache/cassandra/db/CleanupTest.java
+++ b/test/unit/org/apache/cassandra/db/CleanupTest.java
@@@ -251,34 -235,42 +252,68 @@@ public class CleanupTes
  assertTrue(cfs.getLiveSSTables().isEmpty());
  }
  
+ @Test
+ public void testCleanupSkippingSSTables() throws UnknownHostException, 
ExecutionException, InterruptedException
+ {
+ Keyspace keyspace = Keyspace.open(KEYSPACE3);
+ ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(CF_STANDARD3);
+ cfs.disableAutoCompaction();
+ for (byte i = 0; i < 100; i++)
+ {
+ new RowUpdateBuilder(cfs.metadata, System.currentTimeMillis(), 
ByteBuffer.wrap(new byte[] {i}))
+ .clustering(COLUMN)
+ .add("val", VALUE)
+ .build()
+ .applyUnsafe();
+ cfs.forceBlockingFlush();
+ }
+ TokenMetadata tmd = StorageService.instance.getTokenMetadata();
+ tmd.clearUnsafe();
+ tmd.updateHostId(UUID.randomUUID(), 
InetAddress.getByName("127.0.0.1"));
+ tmd.updateNormalToken(token(new byte[] {50}), 
InetAddress.getByName("127.0.0.1"));
+ Set beforeFirstCleanup = 
Sets.newHashSet(cfs.getLiveSSTables());
+ // single token - 127.0.0.1 owns everything, cleanup should be noop
+ cfs.forceCleanup(2);
+ assertEquals(beforeFirstCleanup, cfs.getLiveSSTables());
+ tmd.updateNormalToken(token(new byte[] {120}), 
InetAddress.getByName("127.0.0.2"));
+ cfs.forceCleanup(2);
+ for (SST

[cassandra] 01/01: Merge branch 'cassandra-3.11' into trunk

2019-08-07 Thread marcuse
This is an automated email from the ASF dual-hosted git repository.

marcuse pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit af862475dff0945ff194eb041eab0a609cece0c1
Merge: 3ed1b79 01c6daf
Author: Marcus Eriksson 
AuthorDate: Wed Aug 7 10:56:33 2019 +0200

Merge branch 'cassandra-3.11' into trunk

 CHANGES.txt|  1 +
 .../cassandra/db/compaction/CompactionManager.java | 44 +++--
 test/unit/org/apache/cassandra/db/CleanupTest.java | 45 ++
 3 files changed, 78 insertions(+), 12 deletions(-)

diff --cc src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index 896fa2a,1a9da37..bb1d585
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@@ -527,7 -468,25 +529,34 @@@ public class CompactionManager implemen
  public Iterable 
filterSSTables(LifecycleTransaction transaction)
  {
  List sortedSSTables = 
Lists.newArrayList(transaction.originals());
- Collections.sort(sortedSSTables, 
SSTableReader.sizeComparator);
+ Iterator sstableIter = 
sortedSSTables.iterator();
+ int totalSSTables = 0;
+ int skippedSStables = 0;
+ while (sstableIter.hasNext())
+ {
+ SSTableReader sstable = sstableIter.next();
++boolean needsCleanupFull = needsCleanup(sstable, 
fullRanges);
++boolean needsCleanupTransient = needsCleanup(sstable, 
transientRanges);
++//If there are no ranges for which the table needs 
cleanup either due to lack of intersection or lack
++//of the table being repaired.
+ totalSSTables++;
 -if (!needsCleanup(sstable, ranges))
++if (!needsCleanupFull && (!needsCleanupTransient || 
!sstable.isRepaired()))
+ {
 -logger.debug("Not cleaning up {} ([{}, {}]) - no 
tokens outside owned ranges {}",
 - sstable, sstable.first.getToken(), 
sstable.last.getToken(), ranges);
++logger.debug("Skipping {} ([{}, {}]) for cleanup; all 
rows should be kept. Needs cleanup full ranges: {} Needs cleanup transient 
ranges: {} Repaired: {}",
++sstable,
++sstable.first.getToken(),
++sstable.last.getToken(),
++needsCleanupFull,
++needsCleanupTransient,
++sstable.isRepaired());
+ sstableIter.remove();
+ transaction.cancel(sstable);
+ skippedSStables++;
+ }
+ }
 -logger.info("Skipping cleanup for {}/{} sstables for {}.{} 
since they are fully contained in owned ranges ({})",
 -skippedSStables, totalSSTables, 
cfStore.keyspace.getName(), cfStore.getTableName(), ranges);
++logger.info("Skipping cleanup for {}/{} sstables for {}.{} 
since they are fully contained in owned ranges (full ranges: {}, transient 
ranges: {})",
++skippedSStables, totalSSTables, 
cfStore.keyspace.getName(), cfStore.getTableName(), fullRanges, 
transientRanges);
+ sortedSSTables.sort(SSTableReader.sizeComparator);
  return sortedSSTables;
  }
  
@@@ -1174,16 -1139,7 +1203,7 @@@
  {
  txn.obsoleteOriginals();
  txn.finish();
- return;
- }
- 
- boolean needsCleanupFull = needsCleanup(sstable, fullRanges);
- boolean needsCleanupTransient = needsCleanup(sstable, 
transientRanges);
- //If there are no ranges for which the table needs cleanup either due 
to lack of intersection or lack
- //of the table being repaired.
- if (!needsCleanupFull && (!needsCleanupTransient || 
!sstable.isRepaired()))
- {
- logger.trace("Skipping {} for cleanup; all rows should be kept. 
Needs cleanup full ranges: {} Needs cleanup transient ranges: {} Repaired: {}", 
sstable, needsCleanupFull, needsCleanupTransient, sstable.isRepaired());
 -logger.info("SSTable {} ([{}, {}]) does not intersect the owned 
ranges ({}), dropping it", sstable, sstable.first.getToken(), 
sstable.last.getToken(), ranges);
++logger.info("SSTable {} ([{}, {}]) does not intersect the owned 
ranges ({}), dropping it", sstable, sstable.first.getToken(), 
sstable.last.getToken(), allRanges);
  return;
  }
  
diff --cc test/unit/org/apache/cassandra/db/CleanupTest.java
index 46c0afd,552e6d1..9965

[cassandra] branch cassandra-3.11 updated: Make sure user defined compaction transactions are always closed

2019-08-07 Thread marcuse
This is an automated email from the ASF dual-hosted git repository.

marcuse pushed a commit to branch cassandra-3.11
in repository https://gitbox.apache.org/repos/asf/cassandra.git


The following commit(s) were added to refs/heads/cassandra-3.11 by this push:
 new b773bc7  Make sure user defined compaction transactions are always 
closed
b773bc7 is described below

commit b773bc7ac51fedc07145017edaefa919fac25696
Author: Marcus Eriksson 
AuthorDate: Thu May 9 10:29:44 2019 +0200

Make sure user defined compaction transactions are always closed

Patch by marcuse; reviewed by Blake Eggleston for CASSANDRA-15123
---
 CHANGES.txt|  1 +
 .../cassandra/db/compaction/CompactionManager.java | 58 +++--
 .../db/compaction/CompactionsBytemanTest.java  | 99 ++
 3 files changed, 134 insertions(+), 24 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index 43dbda3..dc8baf2 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.11.5
+ * Make sure user defined compaction transactions are always closed 
(CASSANDRA-15123)
  * Fix cassandra-env.sh to use $CASSANDRA_CONF to find cassandra-jaas.config 
(CASSANDRA-14305)
  * Fixed nodetool cfstats printing index name twice (CASSANDRA-14903)
  * Add flag to disable SASI indexes, and warnings on creation (CASSANDRA-14866)
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java 
b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index e0ec179..7086d77 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@ -784,36 +784,39 @@ public class CompactionManager implements 
CompactionManagerMBean
 
 public void forceCompactionForTokenRange(ColumnFamilyStore cfStore, 
Collection> ranges)
 {
-final Collection tasks = 
cfStore.runWithCompactionsDisabled(() ->
-   {
-   Collection sstables = 
sstablesInBounds(cfStore, ranges);
-   if (sstables == null || sstables.isEmpty())
-   {
-   logger.debug("No sstables found for the provided 
token range");
-   return null;
-   }
-   return 
cfStore.getCompactionStrategyManager().getUserDefinedTasks(sstables, 
getDefaultGcBefore(cfStore, FBUtilities.nowInSeconds()));
-   }, false, false);
+Callable> taskCreator = () -> {
+Collection sstables = sstablesInBounds(cfStore, 
ranges);
+if (sstables == null || sstables.isEmpty())
+{
+logger.debug("No sstables found for the provided token range");
+return null;
+}
+return 
cfStore.getCompactionStrategyManager().getUserDefinedTasks(sstables, 
getDefaultGcBefore(cfStore, FBUtilities.nowInSeconds()));
+};
+
+final Collection tasks = 
cfStore.runWithCompactionsDisabled(taskCreator, false, false);
 
 if (tasks == null)
 return;
 
 Runnable runnable = new WrappedRunnable()
 {
-protected void runMayThrow()
+protected void runMayThrow() throws Exception
 {
-for (AbstractCompactionTask task : tasks)
-if (task != null)
-task.execute(metrics);
+try
+{
+for (AbstractCompactionTask task : tasks)
+if (task != null)
+task.execute(metrics);
+}
+finally
+{
+FBUtilities.closeAll(tasks.stream().map(task -> 
task.transaction).collect(Collectors.toList()));
+}
 }
 };
 
-if (executor.isShutdown())
-{
-logger.info("Compaction executor has shut down, not submitting 
task");
-return;
-}
-FBUtilities.waitOnFuture(executor.submit(runnable));
+FBUtilities.waitOnFuture(executor.submitIfRunning(runnable, "force 
compaction for token range"));
 }
 
 private static Collection 
sstablesInBounds(ColumnFamilyStore cfs, Collection> 
tokenRangeCollection)
@@ -915,7 +918,7 @@ public class CompactionManager implements 
CompactionManagerMBean
 {
 Runnable runnable = new WrappedRunnable()
 {
-protected void runMayThrow()
+protected void runMayThrow() throws Exception
 {
 // look up the sstables now that we're on the compaction 
executor, so we don't try to re-compact
 // something that was already being compacted earlier.
@@ -941,10 +944,17 @@ public class CompactionManager implements 
CompactionManagerMBean
 else
 {
 List tasks = 
cfs.getCompactionStrategyManager()

[cassandra] branch trunk updated (69b36a5 -> 3ed1b79)

2019-08-07 Thread marcuse
This is an automated email from the ASF dual-hosted git repository.

marcuse pushed a change to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git.


from 69b36a5  Merge branch 'cassandra-3.11' into trunk
 new b773bc7  Make sure user defined compaction transactions are always 
closed
 new 3ed1b79  Merge branch 'cassandra-3.11' into trunk

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 CHANGES.txt|  1 +
 .../cassandra/db/compaction/CompactionManager.java | 67 -
 .../db/compaction/CompactionStrategyManager.java   | 36 --
 .../cassandra/db/compaction/CompactionTasks.java   | 74 +++
 test/unit/org/apache/cassandra/Util.java   | 10 +--
 .../db/compaction/CompactionsBytemanTest.java  | 84 +-
 .../db/compaction/CompactionsPurgeTest.java| 16 +++--
 .../db/compaction/PendingRepairManagerTest.java| 16 +
 8 files changed, 225 insertions(+), 79 deletions(-)
 create mode 100644 
src/java/org/apache/cassandra/db/compaction/CompactionTasks.java


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] 01/01: Merge branch 'cassandra-3.11' into trunk

2019-08-07 Thread marcuse
This is an automated email from the ASF dual-hosted git repository.

marcuse pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit 3ed1b798146e4536c854fd14bb6456ab29f78e82
Merge: 69b36a5 b773bc7
Author: Marcus Eriksson 
AuthorDate: Wed Aug 7 10:20:27 2019 +0200

Merge branch 'cassandra-3.11' into trunk

 CHANGES.txt|  1 +
 .../cassandra/db/compaction/CompactionManager.java | 67 -
 .../db/compaction/CompactionStrategyManager.java   | 36 --
 .../cassandra/db/compaction/CompactionTasks.java   | 74 +++
 test/unit/org/apache/cassandra/Util.java   | 10 +--
 .../db/compaction/CompactionsBytemanTest.java  | 84 +-
 .../db/compaction/CompactionsPurgeTest.java| 16 +++--
 .../db/compaction/PendingRepairManagerTest.java| 16 +
 8 files changed, 225 insertions(+), 79 deletions(-)

diff --cc CHANGES.txt
index 42080d7,dc8baf2..dad8d40
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,372 -1,5 +1,373 @@@
 +4.0
 + * Align load column in nodetool status output (CASSANDRA-14787)
 + * CassandraNetworkAuthorizer uses cached roles info (CASSANDRA-15089)
 + * Introduce optional timeouts for idle client sessions (CASSANDRA-11097)
 + * Fix AlterTableStatement dropped type validation order (CASSANDRA-15203)
 + * Update Netty dependencies to latest, clean up SocketFactory 
(CASSANDRA-15195)
 + * Native Transport - Apply noSpamLogger to ConnectionLimitHandler 
(CASSANDRA-15167)
 + * Reduce heap pressure during compactions (CASSANDRA-14654)
 + * Support building Cassandra with JDK 11 (CASSANDRA-15108)
 + * Use quilt to patch cassandra.in.sh in Debian packaging (CASSANDRA-14710)
 + * Take sstable references before calculating approximate key count 
(CASSANDRA-14647)
 + * Restore snapshotting of system keyspaces on version change 
(CASSANDRA-14412)
 + * Fix AbstractBTreePartition locking in java 11 (CASSANDRA-14607)
 + * SimpleClient should pass connection properties as options (CASSANDRA-15056)
 + * Set repaired data tracking flag on range reads if enabled (CASSANDRA-15019)
 + * Calculate pending ranges for BOOTSTRAP_REPLACE correctly (CASSANDRA-14802)
 + * Make TableCQLHelper reuse the single quote pattern (CASSANDRA-15033)
 + * Add Zstd compressor (CASSANDRA-14482)
 + * Fix IR prepare anti-compaction race (CASSANDRA-15027)
 + * Fix SimpleStrategy option validation (CASSANDRA-15007)
 + * Don't try to cancel 2i compactions when starting anticompaction 
(CASSANDRA-15024)
 + * Avoid NPE in RepairRunnable.recordFailure (CASSANDRA-15025)
 + * SSL Cert Hot Reloading should check for sanity of the new 
keystore/truststore before loading it (CASSANDRA-14991)
 + * Avoid leaking threads when failing anticompactions and rate limit 
anticompactions (CASSANDRA-15002)
 + * Validate token() arguments early instead of throwing NPE at execution 
(CASSANDRA-14989)
 + * Add a new tool to dump audit logs (CASSANDRA-14885)
 + * Fix generating javadoc with Java11 (CASSANDRA-14988)
 + * Only cancel conflicting compactions when starting anticompactions and sub 
range compactions (CASSANDRA-14935)
 + * Use a stub IndexRegistry for non-daemon use cases (CASSANDRA-14938)
 + * Don't enable client transports when bootstrap is pending (CASSANDRA-14525)
 + * Make antiCompactGroup throw exception on error and anticompaction non 
cancellable
 +   again (CASSANDRA-14936)
 + * Catch empty/invalid bounds in SelectStatement (CASSANDRA-14849)
 + * Auto-expand replication_factor for NetworkTopologyStrategy 
(CASSANDRA-14303)
 + * Transient Replication: support EACH_QUORUM (CASSANDRA-14727)
 + * BufferPool: allocating thread for new chunks should acquire directly 
(CASSANDRA-14832)
 + * Send correct messaging version in internode messaging handshake's third 
message (CASSANDRA-14896)
 + * Make Read and Write Latency columns consistent for proxyhistograms and 
tablehistograms (CASSANDRA-11939)
 + * Make protocol checksum type option case insensitive (CASSANDRA-14716)
 + * Forbid re-adding static columns as regular and vice versa (CASSANDRA-14913)
 + * Audit log allows system keyspaces to be audited via configuration options 
(CASSANDRA-14498)
 + * Lower default chunk_length_in_kb from 64kb to 16kb (CASSANDRA-13241)
 + * Startup checker should wait for count rather than percentage 
(CASSANDRA-14297)
 + * Fix incorrect sorting of replicas in 
SimpleStrategy.calculateNaturalReplicas (CASSANDRA-14862)
 + * Partitioned outbound internode TCP connections can occur when nodes 
restart (CASSANDRA-14358)
 + * Don't write to system_distributed.repair_history, system_traces.sessions, 
system_traces.events in mixed version 3.X/4.0 clusters (CASSANDRA-14841)
 + * Avoid running query to self through messaging service (CASSANDRA-14807)
 + * Allow using custom script for chronicle queue BinLog archival 
(CASSANDRA-14373)
 + * Transient->Full range movements mishandle consistency level upgrade 
(CASSANDRA-14759)
 + * Repl