[jira] [Comment Edited] (CASSANDRA-17019) JNA 5.6.0 does not support arm64

2021-10-07 Thread Stefan Miklosovic (Jira)


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

Stefan Miklosovic edited comment on CASSANDRA-17019 at 10/8/21, 6:49 AM:
-

Hi [~igmar], we are building ARM here as part of our pipeline (1).

Are  you sure it does not work on arm64?

We are building that, for example, on this node (3)

(1) 
https://ci-cassandra.apache.org/view/patches/job/Cassandra-devbranch-artifacts/
(2) 
https://ci-cassandra.apache.org/view/patches/job/Cassandra-devbranch-artifacts-arm64/
(3) https://ci-cassandra.apache.org/computer/cassandra-arm2/


was (Author: stefan.miklosovic):
Hi [~igmar], we are building ARM here as part of our pipeline (1).

Are  you sure it does not work on arm64?

(1) 
https://ci-cassandra.apache.org/view/patches/job/Cassandra-devbranch-artifacts/
(2) 
https://ci-cassandra.apache.org/view/patches/job/Cassandra-devbranch-artifacts-arm64/

> JNA 5.6.0 does not support arm64
> 
>
> Key: CASSANDRA-17019
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17019
> Project: Cassandra
>  Issue Type: Bug
>  Components: Dependencies
>Reporter: Igamr Palsenberg
>Assignee: Stefan Miklosovic
>Priority: Normal
> Fix For: 3.11.12, 4.0.2, 4.1
>
>
> Cassandra depends on net.java.dev.jna.jna version 5.6.0 to do the native 
> binding into the C library.
> JNA 5.6.0 does not support arm64 architecture (Apple M1 devices), causing 
> cassandra to fail on bootstrap.
>  Bumping the dependency to 5.9.0 adds arm64 support. Will a PR to bump the 
> dependency be acceptable ?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Comment Edited] (CASSANDRA-17019) JNA 5.6.0 does not support arm64

2021-10-07 Thread Stefan Miklosovic (Jira)


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

Stefan Miklosovic edited comment on CASSANDRA-17019 at 10/8/21, 6:46 AM:
-

Hi [~igmar], we are building ARM here as part of our pipeline (1).

Are  you sure it does not work on arm64?

(1) 
https://ci-cassandra.apache.org/view/patches/job/Cassandra-devbranch-artifacts/
(2) 
https://ci-cassandra.apache.org/view/patches/job/Cassandra-devbranch-artifacts-arm64/


was (Author: stefan.miklosovic):
Hi [~igmar], we are building ARM here as part of our pipeline (1).

Are  you sure it does not work on arm64?

(1) 
https://ci-cassandra.apache.org/view/patches/job/Cassandra-devbranch-artifacts/

> JNA 5.6.0 does not support arm64
> 
>
> Key: CASSANDRA-17019
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17019
> Project: Cassandra
>  Issue Type: Bug
>  Components: Dependencies
>Reporter: Igamr Palsenberg
>Assignee: Stefan Miklosovic
>Priority: Normal
> Fix For: 3.11.12, 4.0.2, 4.1
>
>
> Cassandra depends on net.java.dev.jna.jna version 5.6.0 to do the native 
> binding into the C library.
> JNA 5.6.0 does not support arm64 architecture (Apple M1 devices), causing 
> cassandra to fail on bootstrap.
>  Bumping the dependency to 5.9.0 adds arm64 support. Will a PR to bump the 
> dependency be acceptable ?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (CASSANDRA-17019) JNA 5.6.0 does not support arm64

2021-10-07 Thread Stefan Miklosovic (Jira)


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

Stefan Miklosovic commented on CASSANDRA-17019:
---

Hi [~igmar], we are building ARM here as part of our pipeline (1).

Are  you sure it does not work on arm64?

(1) 
https://ci-cassandra.apache.org/view/patches/job/Cassandra-devbranch-artifacts/

> JNA 5.6.0 does not support arm64
> 
>
> Key: CASSANDRA-17019
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17019
> Project: Cassandra
>  Issue Type: Bug
>  Components: Dependencies
>Reporter: Igamr Palsenberg
>Assignee: Stefan Miklosovic
>Priority: Normal
> Fix For: 3.11.12, 4.0.2, 4.1
>
>
> Cassandra depends on net.java.dev.jna.jna version 5.6.0 to do the native 
> binding into the C library.
> JNA 5.6.0 does not support arm64 architecture (Apple M1 devices), causing 
> cassandra to fail on bootstrap.
>  Bumping the dependency to 5.9.0 adds arm64 support. Will a PR to bump the 
> dependency be acceptable ?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (CASSANDRA-17019) JNA 5.6.0 does not support arm64

2021-10-07 Thread Stefan Miklosovic (Jira)


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

Stefan Miklosovic updated CASSANDRA-17019:
--
Fix Version/s: 3.11.12

> JNA 5.6.0 does not support arm64
> 
>
> Key: CASSANDRA-17019
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17019
> Project: Cassandra
>  Issue Type: Bug
>  Components: Dependencies
>Reporter: Igamr Palsenberg
>Assignee: Stefan Miklosovic
>Priority: Normal
> Fix For: 3.11.12, 4.0.2, 4.1
>
>
> Cassandra depends on net.java.dev.jna.jna version 5.6.0 to do the native 
> binding into the C library.
> JNA 5.6.0 does not support arm64 architecture (Apple M1 devices), causing 
> cassandra to fail on bootstrap.
>  Bumping the dependency to 5.9.0 adds arm64 support. Will a PR to bump the 
> dependency be acceptable ?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (CASSANDRA-17019) JNA 5.6.0 does not support arm64

2021-10-07 Thread Stefan Miklosovic (Jira)


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

Stefan Miklosovic updated CASSANDRA-17019:
--
Fix Version/s: 4.1
   4.0.2

> JNA 5.6.0 does not support arm64
> 
>
> Key: CASSANDRA-17019
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17019
> Project: Cassandra
>  Issue Type: Bug
>  Components: Dependencies
>Reporter: Igamr Palsenberg
>Assignee: Stefan Miklosovic
>Priority: Normal
> Fix For: 4.0.2, 4.1
>
>
> Cassandra depends on net.java.dev.jna.jna version 5.6.0 to do the native 
> binding into the C library.
> JNA 5.6.0 does not support arm64 architecture (Apple M1 devices), causing 
> cassandra to fail on bootstrap.
>  Bumping the dependency to 5.9.0 adds arm64 support. Will a PR to bump the 
> dependency be acceptable ?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[cassandra-builds] branch trunk updated: turn off owasp dependency check in Jenkins pipeline because of instability

2021-10-07 Thread smiklosovic
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/trunk by this push:
 new 851b7ca  turn off owasp dependency check in Jenkins pipeline because 
of instability
851b7ca is described below

commit 851b7cae9c1e992ab9cc6b2e61c27bc785eee8e7
Author: Stefan Miklosovic 
AuthorDate: Fri Oct 8 08:30:32 2021 +0200

turn off owasp dependency check in Jenkins pipeline because of instability

see https://github.com/jeremylong/DependencyCheck/issues/3710 for more 
details
---
 build-scripts/cassandra-artifacts.sh | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/build-scripts/cassandra-artifacts.sh 
b/build-scripts/cassandra-artifacts.sh
index 9423789..a807a41 100755
--- a/build-scripts/cassandra-artifacts.sh
+++ b/build-scripts/cassandra-artifacts.sh
@@ -50,7 +50,9 @@ set +e # disable immediate exit from this point
 ARTIFACTS_BUILD_RUN=0
 ECLIPSE_WARNINGS_RUN=0
 
-HAS_DEPENDENCY_CHECK_TARGET=$(ant -p build.xml | grep "dependency-check " | wc 
-l)
+#HAS_DEPENDENCY_CHECK_TARGET=$(ant -p build.xml | grep "dependency-check " | 
wc -l)
+# OWASP dep checs are unstable in Jenkins, we are getting 503 errors every now 
and then from NIST CVE database
+HAS_DEPENDENCY_CHECK_TARGET=0
 DEPENDENCY_CHECK_VERSION=6.3.2
 
 for x in $(seq 1 3); do

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



[jira] [Assigned] (CASSANDRA-17019) JNA 5.6.0 does not support arm64

2021-10-07 Thread Stefan Miklosovic (Jira)


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

Stefan Miklosovic reassigned CASSANDRA-17019:
-

Assignee: Stefan Miklosovic

> JNA 5.6.0 does not support arm64
> 
>
> Key: CASSANDRA-17019
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17019
> Project: Cassandra
>  Issue Type: Bug
>  Components: Dependencies
>Reporter: Igamr Palsenberg
>Assignee: Stefan Miklosovic
>Priority: Normal
>
> Cassandra depends on net.java.dev.jna.jna version 5.6.0 to do the native 
> binding into the C library.
> JNA 5.6.0 does not support arm64 architecture (Apple M1 devices), causing 
> cassandra to fail on bootstrap.
>  Bumping the dependency to 5.9.0 adds arm64 support. Will a PR to bump the 
> dependency be acceptable ?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (CASSANDRA-17026) UnableToParseClientMessageFromBlockedSubnetTest.badMessageCausesProtocolExceptionFromExcludeList failing on extra log entries

2021-10-07 Thread Caleb Rackliffe (Jira)


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

Caleb Rackliffe updated CASSANDRA-17026:

Fix Version/s: 4.1

> UnableToParseClientMessageFromBlockedSubnetTest.badMessageCausesProtocolExceptionFromExcludeList
>  failing on extra log entries
> -
>
> Key: CASSANDRA-17026
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17026
> Project: Cassandra
>  Issue Type: Bug
>  Components: Observability/Logging, Test/dtest/java
>Reporter: Caleb Rackliffe
>Priority: Normal
> Fix For: 4.1
>
>
> This test, while parameterized and run more than once, expects a single log 
> entry describing the reporting exclusion for the single query made with each 
> parameter combination.
> However, we’re seeing this:
> {noformat}
> junit.framework.AssertionFailedError: 
> Expected size:<1>  but was:<2>  in:
> <["DEBUG [nioEventLoopGroup-5-2] {instance:id} 2021-10-07T09:49:42,974 
> Excluding client exception for /127.0.0.1:56628; address contained in 
> client_error_reporting_exclusions",
> "DEBUG [nioEventLoopGroup-5-3] {instance:id} 2021-10-07T09:49:42,984 
> Excluding client exception for /127.0.0.1:56634; address contained in 
> client_error_reporting_exclusions"]>
>   at 
> org.apache.cassandra.distributed.test.UnableToParseClientMessageFromBlockedSubnetTest.badMessageCausesProtocolExceptionFromExcludeList(UnableToParseClientMessageFromBlockedSubnetTest.java:114)
>   at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>   at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> {noformat}
> Looking at the logs more deeply, the V3 and V4 protocol cases are actually 
> logging twice, once on initially processing the message, and again on channel 
> closure. There should be a way to eliminate the double logging...



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (CASSANDRA-17026) UnableToParseClientMessageFromBlockedSubnetTest.badMessageCausesProtocolExceptionFromExcludeList failing on extra log entries

2021-10-07 Thread Caleb Rackliffe (Jira)


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

Caleb Rackliffe updated CASSANDRA-17026:

 Bug Category: Parent values: Correctness(12982)Level 1 values: Test 
Failure(12990)
   Complexity: Normal
Discovered By: DTest
Reviewers: Jon Meredith
 Severity: Low
 Assignee: Caleb Rackliffe
   Status: Open  (was: Triage Needed)

> UnableToParseClientMessageFromBlockedSubnetTest.badMessageCausesProtocolExceptionFromExcludeList
>  failing on extra log entries
> -
>
> Key: CASSANDRA-17026
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17026
> Project: Cassandra
>  Issue Type: Bug
>  Components: Observability/Logging, Test/dtest/java
>Reporter: Caleb Rackliffe
>Assignee: Caleb Rackliffe
>Priority: Normal
> Fix For: 4.1
>
>
> This test, while parameterized and run more than once, expects a single log 
> entry describing the reporting exclusion for the single query made with each 
> parameter combination.
> However, we’re seeing this:
> {noformat}
> junit.framework.AssertionFailedError: 
> Expected size:<1>  but was:<2>  in:
> <["DEBUG [nioEventLoopGroup-5-2] {instance:id} 2021-10-07T09:49:42,974 
> Excluding client exception for /127.0.0.1:56628; address contained in 
> client_error_reporting_exclusions",
> "DEBUG [nioEventLoopGroup-5-3] {instance:id} 2021-10-07T09:49:42,984 
> Excluding client exception for /127.0.0.1:56634; address contained in 
> client_error_reporting_exclusions"]>
>   at 
> org.apache.cassandra.distributed.test.UnableToParseClientMessageFromBlockedSubnetTest.badMessageCausesProtocolExceptionFromExcludeList(UnableToParseClientMessageFromBlockedSubnetTest.java:114)
>   at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>   at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> {noformat}
> Looking at the logs more deeply, the V3 and V4 protocol cases are actually 
> logging twice, once on initially processing the message, and again on channel 
> closure. There should be a way to eliminate the double logging...



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Created] (CASSANDRA-17026) UnableToParseClientMessageFromBlockedSubnetTest.badMessageCausesProtocolExceptionFromExcludeList failing on extra log entries

2021-10-07 Thread Caleb Rackliffe (Jira)
Caleb Rackliffe created CASSANDRA-17026:
---

 Summary: 
UnableToParseClientMessageFromBlockedSubnetTest.badMessageCausesProtocolExceptionFromExcludeList
 failing on extra log entries
 Key: CASSANDRA-17026
 URL: https://issues.apache.org/jira/browse/CASSANDRA-17026
 Project: Cassandra
  Issue Type: Bug
  Components: Observability/Logging, Test/dtest/java
Reporter: Caleb Rackliffe


This test, while parameterized and run more than once, expects a single log 
entry describing the reporting exclusion for the single query made with each 
parameter combination.

However, we’re seeing this:

{noformat}
junit.framework.AssertionFailedError: 
Expected size:<1>  but was:<2>  in:
<["DEBUG [nioEventLoopGroup-5-2] {instance:id} 2021-10-07T09:49:42,974 
Excluding client exception for /127.0.0.1:56628; address contained in 
client_error_reporting_exclusions",
"DEBUG [nioEventLoopGroup-5-3] {instance:id} 2021-10-07T09:49:42,984 
Excluding client exception for /127.0.0.1:56634; address contained in 
client_error_reporting_exclusions"]>
at 
org.apache.cassandra.distributed.test.UnableToParseClientMessageFromBlockedSubnetTest.badMessageCausesProtocolExceptionFromExcludeList(UnableToParseClientMessageFromBlockedSubnetTest.java:114)
at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
{noformat}

Looking at the logs more deeply, the V3 and V4 protocol cases are actually 
logging twice, once on initially processing the message, and again on channel 
closure. There should be a way to eliminate the double logging...



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (CASSANDRA-15248) Upgrade Guava to latest on master branch

2021-10-07 Thread Tomo Suzuki (Jira)


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

Tomo Suzuki commented on CASSANDRA-15248:
-

Update
{quote}Cassandra-all:3.11's dependency is blocking Beam's Guava dependency 
(BEAM-8911).
{quote}
Somehow Beam team managed to unblock the Guava version problem and Beam 
declares a newer version of Guava. I'm not waiting for Cassandra's Guava 
dependency now.

> Upgrade Guava to latest on master branch
> 
>
> Key: CASSANDRA-15248
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15248
> Project: Cassandra
>  Issue Type: Task
>  Components: Build, Dependencies, Packaging
>Reporter: Abhijit Sarkar
>Priority: Normal
>
> Upgrade Guava to latest on master branch. See 
> https://issues.apache.org/jira/browse/CASSANDRA-15245.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (CASSANDRA-17016) Allow reverse iteration of resources during permissions checking

2021-10-07 Thread Aleksei Zotov (Jira)


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

Aleksei Zotov commented on CASSANDRA-17016:
---

LGTM, +1.

> Allow reverse iteration of resources during permissions checking
> 
>
> Key: CASSANDRA-17016
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17016
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Feature/Authorization
>Reporter: Josh McKenzie
>Assignee: Josh McKenzie
>Priority: Normal
>
> When we perform authz checks for AuthenticatedUser on a given resource, we 
> traverse the resource hierarchy until we either find the required permission 
> or we exhaust the traversal. This goes from most specific resource (i.e. 
> iResource we're interested in) to the broadest (the root for that iResource 
> type).
> Since permissions are a whitelist it isn't possible for a permission granted 
> on a more specific resource to be negated or overridden by a grant on a 
> resource lower in the hierarchy towards the root. For example, for 
> DataResource, the hierarchy goes:
> {code:java}
> root -> keyspace -> table{code}
> So for instance if we:
>  
> {code:java}
> GRANT ALL ON KEYSPACE ks TO admin_user; 
> {code}
>  It is impossible to grant admin_user any set of permissions more restrictive 
> than ALL on ks.
> When a request comes in for a user with permissions on a ks for example, you 
> can have a path of:
>  # Validate SELECT on t1
>  # Then check for SELECT on ks
>  # Then check for permissions on 'root'
> These unnecessary lookups can negate some of the benefits of caching (and 
> pre-warming, which another ticket is in flight for), and lead to issues on 
> bounces with timeouts.
> Additionally, the permissions cache ends up storing far more entries than 
> necessary, as a subsequent request for ks.t2 by user_x will go through the 
> same process and create a second cache entry etc.
> So all this said - this is something we should allow operators to opt-in to; 
> impact and performance is going to be highly dependent on the pattern of 
> authentication granting and usage on a cluster.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Comment Edited] (CASSANDRA-14612) Please add OWASP Dependency Check to the build (pom.xml)

2021-10-07 Thread Stefan Miklosovic (Jira)


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

Stefan Miklosovic edited comment on CASSANDRA-14612 at 10/7/21, 7:36 PM:
-

I am afraid I need to turn this off in Jenkins. It is just not stable (1). 
Every now and then there is 503 returned from cve service / database and it 
makes it quite uncomfortable to not have builds more stable.

I think the best way to use this is to leave it in Ant build and invoke it 
manually.

I asked this: https://github.com/jeremylong/DependencyCheck/issues/3710

Disablement in Jenkins will be done in cassandra-builds.

(1) 
https://ci-cassandra.apache.org/job/Cassandra-devbranch-artifacts/1115/jdk=jdk_1.8_latest,label=cassandra/consoleFull



was (Author: stefan.miklosovic):
I am afraid I need to turn this off in Jenkins. It is just not stable (1). 
Every now and then there is 503 returned from cve service / database and it 
makes it quite uncomfortable to not have builds more stable.

I think the best way to use this is to leave it in Ant build and invoke it 
manually.

I asked this: https://github.com/jeremylong/DependencyCheck/issues/3710

Disablement in Jenkins will be done in cassandra-builds.

(1)


> Please add OWASP Dependency Check to the build (pom.xml)
> 
>
> Key: CASSANDRA-14612
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14612
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Build
> Environment: All development, build, test, environments.
>Reporter: Albert Baker
>Assignee: Stefan Miklosovic
>Priority: Normal
>  Labels: build, security
> Fix For: 3.0.26, 3.11.12, 4.0.2, 4.1
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> Please add OWASP Dependency Check to the build (pom.xml). OWASP DC makes an 
> outbound REST call to MITRE Common Vulnerabilities & Exposures (CVE) to 
> perform a lookup for each dependant .jar to list any/all known 
> vulnerabilities for each jar. This step is needed because a manual MITRE CVE 
> lookup/check on the main component does not include checking for 
> vulnerabilities in components or in dependant libraries.
> OWASP Dependency check : 
> https://www.owasp.org/index.php/OWASP_Dependency_Check has plug-ins for most 
> Java build/make types (ant, maven, ivy, gradle).
> Also, add the appropriate command to the nightly build to generate a report 
> of all known vulnerabilities in any/all third party libraries/dependencies 
> that get pulled in. example : mvn -Powasp -Dtest=false -DfailIfNoTests=false 
> clean aggregate
> Generating this report nightly/weekly will help inform the project's 
> development team if any dependant libraries have a reported known 
> vulnerailities. Project teams that keep up with removing vulnerabilities on a 
> weekly basis will help protect businesses that rely on these open source 
> componets.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (CASSANDRA-14612) Please add OWASP Dependency Check to the build (pom.xml)

2021-10-07 Thread Stefan Miklosovic (Jira)


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

Stefan Miklosovic commented on CASSANDRA-14612:
---

I am afraid I need to turn this off in Jenkins. It is just not stable (1). 
Every now and then there is 503 returned from cve service / database and it 
makes it quite uncomfortable to not have builds more stable.

I think the best way to use this is to leave it in Ant build and invoke it 
manually.

I asked this: https://github.com/jeremylong/DependencyCheck/issues/3710

Disablement in Jenkins will be done in cassandra-builds.

(1)


> Please add OWASP Dependency Check to the build (pom.xml)
> 
>
> Key: CASSANDRA-14612
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14612
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Build
> Environment: All development, build, test, environments.
>Reporter: Albert Baker
>Assignee: Stefan Miklosovic
>Priority: Normal
>  Labels: build, security
> Fix For: 3.0.26, 3.11.12, 4.0.2, 4.1
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> Please add OWASP Dependency Check to the build (pom.xml). OWASP DC makes an 
> outbound REST call to MITRE Common Vulnerabilities & Exposures (CVE) to 
> perform a lookup for each dependant .jar to list any/all known 
> vulnerabilities for each jar. This step is needed because a manual MITRE CVE 
> lookup/check on the main component does not include checking for 
> vulnerabilities in components or in dependant libraries.
> OWASP Dependency check : 
> https://www.owasp.org/index.php/OWASP_Dependency_Check has plug-ins for most 
> Java build/make types (ant, maven, ivy, gradle).
> Also, add the appropriate command to the nightly build to generate a report 
> of all known vulnerabilities in any/all third party libraries/dependencies 
> that get pulled in. example : mvn -Powasp -Dtest=false -DfailIfNoTests=false 
> clean aggregate
> Generating this report nightly/weekly will help inform the project's 
> development team if any dependant libraries have a reported known 
> vulnerailities. Project teams that keep up with removing vulnerabilities on a 
> weekly basis will help protect businesses that rely on these open source 
> componets.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (CASSANDRA-16882) Save CircleCI resources with optional test jobs

2021-10-07 Thread Jira


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

Andres de la Peña commented on CASSANDRA-16882:
---

Here are the patches for all the branches:
||patch||CI||
|[3.0|https://github.com/apache/cassandra/compare/cassandra-3.0...adelapena:16882-option-7-3.0-v05]|[workflows|https://app.circleci.com/pipelines/github/adelapena/cassandra?branch=16882-option-7-3.0-v05]|
|[3.11|https://github.com/apache/cassandra/compare/cassandra-3.11...adelapena:16882-option-7-3.11-v05]|[workflows|https://app.circleci.com/pipelines/github/adelapena/cassandra?branch=16882-option-7-3.11-v05]|
|[4.0|https://github.com/apache/cassandra/compare/cassandra-4.0...adelapena:16882-option-7-4.0-v05]|[workflows|https://app.circleci.com/pipelines/github/adelapena/cassandra?branch=16882-option-7-4.0-v05]|
|[trunk|https://github.com/apache/cassandra/compare/trunk...adelapena:16882-option-7-trunk-v05]|[workflows|https://app.circleci.com/pipelines/github/adelapena/cassandra?branch=16882-option-7-trunk-v05]|

I have modified the {{java8_separate_tests}}/{{java11_separate_tests}} 
workflows to have an additional approval step for the build. With this change 
commits and pushes don't run anything at all until manually started. It adds an 
extra click for those workflows, but I think that this way the graphs keep 
better symmetry with the 
{{java8_pre-commit_tests}}/{{java11_pre-commit_tests}}, so all the four 
workflows have the same organisation and number of columns.

As for 3.0 and 3.11, I have tried to homogenise the way the jobs are organised. 
Specifically, the approval steps depended on the build job, so one had to wait 
for the completion of the build before starting the optional tests. I have 
modified this to adopt the 4.0/trunk organisation, where the approval jobs 
don't depend on the build and it's the approved job what depends on both the 
build and its approval job.

I have sent [this 
message|https://lists.apache.org/thread.html/r02822bd5071029b95037b44a2d31fe5bb1c98d9f2391fd0443ca8684%40%3Cdev.cassandra.apache.org%3E]
 to the dev mail list informing about the proposed changes.

Just to summarise what we get with this ticket:
 * Intermediate commits/pushes don't spend any resources at all unless their 
jobs are manually approved.
 * For changes that are ready for a final round of review or that are ready to 
commit, the {{javaX_pre-commit_tests}} workflows have a single and easily 
visible button that runs the most relevant tests. In the future we can always 
change the set of tests that should be run here.
 * For intermediate steps or special cases such as fixing flaky tests, the 
{{javaX_separate_tests}} workflows allow to run any combination of tests 
individually.

> Save CircleCI resources with optional test jobs
> ---
>
> Key: CASSANDRA-16882
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16882
> Project: Cassandra
>  Issue Type: Task
>  Components: CI
>Reporter: Andres de la Peña
>Assignee: Andres de la Peña
>Priority: Normal
>
> This ticket implements the addition of approval steps in the CircleCI 
> workflows as it was proposed in [this 
> email|https://lists.apache.org/thread.html/r57bab800d037c087af01b3779fd266d83b538cdd29c120f74a5dbe63%40%3Cdev.cassandra.apache.org%3E]
>  sent to the dev list:
> The current CircleCI configuration automatically runs the unit tests, JVM 
> dtests and cqhshlib tests. This is done by default for every commit or, with 
> some configuration, for every push.
> Along the lifecycle of a ticket it is quite frequent to have multiple commits 
> and pushes, all running these test jobs. I'd say that frequently it is not 
> necessary to run the tests for some of those intermediate commits and pushes. 
> For example, one can show proofs of concept, or have multiple rounds of 
> review before actually running the tests. Running the tests for every change 
> can produce an unnecessary expense of CircleCI resources.
> I think we could make running those tests optional, as well as clearly 
> specifying in the documentation what are the tests runs that are mandatory 
> before actually committing. We could do this in different ways:
>  # Make the entire CircleCI workflow optional, so the build job requires
>  manual approval. Once the build is approved the mandatory test jobs would
>  be run without any further approval, exactly as it's currently done.
>  # Make all the test jobs optional, so every test job requires manual 
> approval, and the documentation specifies which tests are mandatory in the 
> final steps of a ticket.
>  # Make all the mandatory test jobs depend on a single optional job, so we 
> have a single button to optionally run all the mandatory tests.
> I think any of these ch

[jira] [Commented] (CASSANDRA-17025) Direct memory OOM

2021-10-07 Thread Paulo Motta (Jira)


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

Paulo Motta commented on CASSANDRA-17025:
-

{quote}Increase -Djdk.nio.maxCachedBufferSize
{quote}
[~zachtoews] what are you setting {{-Djdk.nio.maxCachedBufferSize}} to ? This 
should be rather small and not big (ie. -Djdk.nio.maxCachedBufferSize=1048576 
or -Djdk.nio.maxCachedBufferSize=262144)

Btw you should probably only set this and not mess with -XX:MaxDirectMemorySize.

See 
[https://support.datastax.com/s/article/JVM-OOM-direct-buffer-errors-affected-by-unlimited-javanio-cache.]

> Direct memory OOM 
> --
>
> Key: CASSANDRA-17025
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17025
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Zach Toews
>Priority: Normal
>
> Version: 3.11.11
> Cluster: 9 nodes (1 dc, 3 racks) on aws r5.4xlarge nodes (16 vCPU, 128GB mem)
> Heap size: 20G
> Direct memory buffer: 24G
>  
> We stood up this cluster a few months ago in order to migrate an old 2.0 
> cluster. Since then, after about 7-10 days a node will begin to experience 
> long old gc cycles  before logging many  "java.lang.OutOfMemoryError: Direct 
> buffer memory" exceptions. When the long gc cycles start, the entire cluster 
> becomes unresponsive (our application is unable to make queries to any node).
> Restarting cassandra on the failing node resolves the problem, then we have 
> to restart every other node in the cluster to prevent them from getting into 
> the same state.
>  
> We have attempted to:
>  * Increase -XX:MaxDirectMemorySize
>  * Increase -Djdk.nio.maxCachedBufferSize
>  * Update cassandra from 3.11.10 to 3.11.11
> None of these have resolved the problem.
> Since the last failure, we have increased -XX:MaxDirectMemorySize again, and 
> are waiting to see if that has any effect.
>  
> Old gc collections from system.log:
> {noformat}
> INFO  [Service Thread] 2021-10-04 15:24:04,973 GCInspector.java:285 - G1 Old 
> Generation GC in 4447ms.  Compressed Class Space: 6683064 -> 6677952; G1 Eden 
> Space: 16777216 -> 0; G1 Old Gen: 5431375384 -> 745163912; G1 Survivor Space: 
> 419430400 -> 0; Metaspace: 54716768 ->
> ...
> INFO  [Service Thread] 2021-10-04 15:24:06,985 GCInspector.java:285 - G1 Old 
> Generation GC in 1901ms.  G1 Old Gen: 745163912 -> 745168360;
> ...
> INFO  [Service Thread] 2021-10-04 15:24:09,306 GCInspector.java:285 - G1 Old 
> Generation GC in 2046ms.  G1 Eden Space: 528482304 -> 0; G1 Old Gen: 
> 759785184 -> 761229864;
> ...
> INFO  [Service Thread] 2021-10-04 15:24:14,749 GCInspector.java:285 - G1 Old 
> Generation GC in 5403ms.  G1 Old Gen: 761229864 -> 762168640;
> ...
> INFO  [Service Thread] 2021-10-04 15:24:16,782 GCInspector.java:285 - G1 Old 
> Generation GC in 1949ms.  G1 Old Gen: 762168640 -> 762167640;
> ...
> INFO  [Service Thread] 2021-10-04 15:25:09,406 GCInspector.java:285 - G1 Old 
> Generation GC in 52302ms.  G1 Eden Space: 8388608 -> 0; G1 Old Gen: 762167640 
> -> 762168160;
> ...
> INFO  [Service Thread] 2021-10-04 15:25:15,011 GCInspector.java:285 - G1 Old 
> Generation GC in 5522ms.  G1 Eden Space: 192937984 -> 0; G1 Old Gen: 
> 762168160 -> 770098088;
> ...
> INFO  [Service Thread] 2021-10-04 15:25:31,453 GCInspector.java:285 - G1 Old 
> Generation GC in 16310ms.  G1 Eden Space: 201326592 -> 0; G1 Old Gen: 
> 770098088 -> 769228400;
> ...
> INFO  [Service Thread] 2021-10-04 15:25:33,597 GCInspector.java:285 - G1 Old 
> Generation GC in 1984ms.  G1 Eden Space: 352321536 -> 0; G1 Old Gen: 
> 750824952 -> 751118968;
> ...
> INFO  [Service Thread] 2021-10-04 15:25:50,152 GCInspector.java:285 - G1 Old 
> Generation GC in 16411ms.  G1 Eden Space: 8388608 -> 0; G1 Old Gen: 751118968 
> -> 751645056;
> {noformat}
> Example of direct memory oom from system.log
> {noformat}
> INFO  [ScheduledTasks:1] 2021-10-04 15:25:31,484 MessagingService.java:1246 - 
> READ messages were dropped in last 5000 ms: 2 internal and 7 cross node. Mean 
> internal dropped latency: 47238 ms and Mean cross-node dropped latency: 45171 
> ms
> INFO  [ScheduledTasks:1] 2021-10-04 15:25:31,484 MessagingService.java:1246 - 
> COUNTER_MUTATION messages were dropped in last 5000 ms: 1 internal and 60 
> cross node. Mean internal dropped latency: 7289 ms and Mean cross-node 
> dropped latency: 9509 ms
> ERROR [CounterMutationStage-464] 2021-10-04 15:25:31,484 
> JVMStabilityInspector.java:94 - OutOfMemory error letting the JVM handle the 
> error:
> java.lang.OutOfMemoryError: Direct buffer memory
> at java.nio.Bits.reserveMemory(Bits.java:695) ~[na:1.8.0_292]
> at java.nio.DirectByteBuffer.(DirectByteBuffer.java:123) 
> ~[na:1.8.0_292]
> at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311) 
> ~[na:1.8.0_292]
> at 
> org.apache.cassandra.u

[jira] [Comment Edited] (CASSANDRA-17025) Direct memory OOM

2021-10-07 Thread Brandon Williams (Jira)


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

Brandon Williams edited comment on CASSANDRA-17025 at 10/7/21, 5:30 PM:


A node that is up always reports itself as such.  Failure detection is 
independent of each node to another, so this is expected behavior in the face 
of GC problems.


was (Author: brandon.williams):
A node that is up always reports itself as such.  Failure detection is 
independent of each node to another, this is perfectly normal behavior.

> Direct memory OOM 
> --
>
> Key: CASSANDRA-17025
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17025
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Zach Toews
>Priority: Normal
>
> Version: 3.11.11
> Cluster: 9 nodes (1 dc, 3 racks) on aws r5.4xlarge nodes (16 vCPU, 128GB mem)
> Heap size: 20G
> Direct memory buffer: 24G
>  
> We stood up this cluster a few months ago in order to migrate an old 2.0 
> cluster. Since then, after about 7-10 days a node will begin to experience 
> long old gc cycles  before logging many  "java.lang.OutOfMemoryError: Direct 
> buffer memory" exceptions. When the long gc cycles start, the entire cluster 
> becomes unresponsive (our application is unable to make queries to any node).
> Restarting cassandra on the failing node resolves the problem, then we have 
> to restart every other node in the cluster to prevent them from getting into 
> the same state.
>  
> We have attempted to:
>  * Increase -XX:MaxDirectMemorySize
>  * Increase -Djdk.nio.maxCachedBufferSize
>  * Update cassandra from 3.11.10 to 3.11.11
> None of these have resolved the problem.
> Since the last failure, we have increased -XX:MaxDirectMemorySize again, and 
> are waiting to see if that has any effect.
>  
> Old gc collections from system.log:
> {noformat}
> INFO  [Service Thread] 2021-10-04 15:24:04,973 GCInspector.java:285 - G1 Old 
> Generation GC in 4447ms.  Compressed Class Space: 6683064 -> 6677952; G1 Eden 
> Space: 16777216 -> 0; G1 Old Gen: 5431375384 -> 745163912; G1 Survivor Space: 
> 419430400 -> 0; Metaspace: 54716768 ->
> ...
> INFO  [Service Thread] 2021-10-04 15:24:06,985 GCInspector.java:285 - G1 Old 
> Generation GC in 1901ms.  G1 Old Gen: 745163912 -> 745168360;
> ...
> INFO  [Service Thread] 2021-10-04 15:24:09,306 GCInspector.java:285 - G1 Old 
> Generation GC in 2046ms.  G1 Eden Space: 528482304 -> 0; G1 Old Gen: 
> 759785184 -> 761229864;
> ...
> INFO  [Service Thread] 2021-10-04 15:24:14,749 GCInspector.java:285 - G1 Old 
> Generation GC in 5403ms.  G1 Old Gen: 761229864 -> 762168640;
> ...
> INFO  [Service Thread] 2021-10-04 15:24:16,782 GCInspector.java:285 - G1 Old 
> Generation GC in 1949ms.  G1 Old Gen: 762168640 -> 762167640;
> ...
> INFO  [Service Thread] 2021-10-04 15:25:09,406 GCInspector.java:285 - G1 Old 
> Generation GC in 52302ms.  G1 Eden Space: 8388608 -> 0; G1 Old Gen: 762167640 
> -> 762168160;
> ...
> INFO  [Service Thread] 2021-10-04 15:25:15,011 GCInspector.java:285 - G1 Old 
> Generation GC in 5522ms.  G1 Eden Space: 192937984 -> 0; G1 Old Gen: 
> 762168160 -> 770098088;
> ...
> INFO  [Service Thread] 2021-10-04 15:25:31,453 GCInspector.java:285 - G1 Old 
> Generation GC in 16310ms.  G1 Eden Space: 201326592 -> 0; G1 Old Gen: 
> 770098088 -> 769228400;
> ...
> INFO  [Service Thread] 2021-10-04 15:25:33,597 GCInspector.java:285 - G1 Old 
> Generation GC in 1984ms.  G1 Eden Space: 352321536 -> 0; G1 Old Gen: 
> 750824952 -> 751118968;
> ...
> INFO  [Service Thread] 2021-10-04 15:25:50,152 GCInspector.java:285 - G1 Old 
> Generation GC in 16411ms.  G1 Eden Space: 8388608 -> 0; G1 Old Gen: 751118968 
> -> 751645056;
> {noformat}
> Example of direct memory oom from system.log
> {noformat}
> INFO  [ScheduledTasks:1] 2021-10-04 15:25:31,484 MessagingService.java:1246 - 
> READ messages were dropped in last 5000 ms: 2 internal and 7 cross node. Mean 
> internal dropped latency: 47238 ms and Mean cross-node dropped latency: 45171 
> ms
> INFO  [ScheduledTasks:1] 2021-10-04 15:25:31,484 MessagingService.java:1246 - 
> COUNTER_MUTATION messages were dropped in last 5000 ms: 1 internal and 60 
> cross node. Mean internal dropped latency: 7289 ms and Mean cross-node 
> dropped latency: 9509 ms
> ERROR [CounterMutationStage-464] 2021-10-04 15:25:31,484 
> JVMStabilityInspector.java:94 - OutOfMemory error letting the JVM handle the 
> error:
> java.lang.OutOfMemoryError: Direct buffer memory
> at java.nio.Bits.reserveMemory(Bits.java:695) ~[na:1.8.0_292]
> at java.nio.DirectByteBuffer.(DirectByteBuffer.java:123) 
> ~[na:1.8.0_292]
> at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311) 
> ~[na:1.8.0_292]
> at 
> org.apache.cassandra.utils.memory.BufferPool.allocate(BufferPool

[jira] [Commented] (CASSANDRA-16983) Separating CQLSH credentials from the cqlshrc file

2021-10-07 Thread Stefan Miklosovic (Jira)


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

Stefan Miklosovic commented on CASSANDRA-16983:
---

I agree with 2). I have already started it in 16956 (removal from pylib) so we 
can get rid of that there completely after this is in.

Is there anything else to cover? I can run a build and we can get to merging 
itself I guess?

> Separating CQLSH credentials from the cqlshrc file
> --
>
> Key: CASSANDRA-16983
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16983
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tool/cqlsh
>Reporter: Bowen Song
>Assignee: Bowen Song
>Priority: Normal
>  Labels: lhf
>  Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> Currently, the CQLSH tool accepts credentials (username & password) from the 
> following 3 places:
> 1. the command line parameter "-p"
> 2. the cqlshrc file
> 3. prompt the user
> This is not ideal.
> Credentials in the command line is a security risk, because it could be see 
> by other users on a shared system.
> The cqlshrc file is better, but still not good enough. Because the cqlshrc 
> file is a config file,  it's often acceptable to have it as a world readable 
> file, and share it with other users. It also prevents user from having 
> multiple sets of credentials, either for the same Cassandra cluster or 
> different clusters.
> To improve the security of CQLSH and make it secure by design, I purpose the 
> following changes:
> * Warn the user if a password is giving in the command line, and recommend 
> them to use a credential file instead
> * Warn the user if credentials are present in the cqlshrc file and the 
> cqlshrc file is not secure (e.g.: world readable or owned by a different user)
> * Deprecate credentials in the cqlshrc, and recommend the user to move them 
> to a separate credential file. The aim is to not break anything at the 
> moment, but eventually stop accepting credentials from the cqlshrc file.
> * Reject the credentials file if it's not secure, and tell the user how to 
> secure it. Optionally, prompt the user for password if it's an interactive 
> session. (Think how does OpenSSH handle insecure credential files)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (CASSANDRA-17025) Direct memory OOM

2021-10-07 Thread Brandon Williams (Jira)


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

Brandon Williams commented on CASSANDRA-17025:
--

A node that is up always reports itself as such.  Failure detection is 
independent of each node to another, this is perfectly normal behavior.

> Direct memory OOM 
> --
>
> Key: CASSANDRA-17025
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17025
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Zach Toews
>Priority: Normal
>
> Version: 3.11.11
> Cluster: 9 nodes (1 dc, 3 racks) on aws r5.4xlarge nodes (16 vCPU, 128GB mem)
> Heap size: 20G
> Direct memory buffer: 24G
>  
> We stood up this cluster a few months ago in order to migrate an old 2.0 
> cluster. Since then, after about 7-10 days a node will begin to experience 
> long old gc cycles  before logging many  "java.lang.OutOfMemoryError: Direct 
> buffer memory" exceptions. When the long gc cycles start, the entire cluster 
> becomes unresponsive (our application is unable to make queries to any node).
> Restarting cassandra on the failing node resolves the problem, then we have 
> to restart every other node in the cluster to prevent them from getting into 
> the same state.
>  
> We have attempted to:
>  * Increase -XX:MaxDirectMemorySize
>  * Increase -Djdk.nio.maxCachedBufferSize
>  * Update cassandra from 3.11.10 to 3.11.11
> None of these have resolved the problem.
> Since the last failure, we have increased -XX:MaxDirectMemorySize again, and 
> are waiting to see if that has any effect.
>  
> Old gc collections from system.log:
> {noformat}
> INFO  [Service Thread] 2021-10-04 15:24:04,973 GCInspector.java:285 - G1 Old 
> Generation GC in 4447ms.  Compressed Class Space: 6683064 -> 6677952; G1 Eden 
> Space: 16777216 -> 0; G1 Old Gen: 5431375384 -> 745163912; G1 Survivor Space: 
> 419430400 -> 0; Metaspace: 54716768 ->
> ...
> INFO  [Service Thread] 2021-10-04 15:24:06,985 GCInspector.java:285 - G1 Old 
> Generation GC in 1901ms.  G1 Old Gen: 745163912 -> 745168360;
> ...
> INFO  [Service Thread] 2021-10-04 15:24:09,306 GCInspector.java:285 - G1 Old 
> Generation GC in 2046ms.  G1 Eden Space: 528482304 -> 0; G1 Old Gen: 
> 759785184 -> 761229864;
> ...
> INFO  [Service Thread] 2021-10-04 15:24:14,749 GCInspector.java:285 - G1 Old 
> Generation GC in 5403ms.  G1 Old Gen: 761229864 -> 762168640;
> ...
> INFO  [Service Thread] 2021-10-04 15:24:16,782 GCInspector.java:285 - G1 Old 
> Generation GC in 1949ms.  G1 Old Gen: 762168640 -> 762167640;
> ...
> INFO  [Service Thread] 2021-10-04 15:25:09,406 GCInspector.java:285 - G1 Old 
> Generation GC in 52302ms.  G1 Eden Space: 8388608 -> 0; G1 Old Gen: 762167640 
> -> 762168160;
> ...
> INFO  [Service Thread] 2021-10-04 15:25:15,011 GCInspector.java:285 - G1 Old 
> Generation GC in 5522ms.  G1 Eden Space: 192937984 -> 0; G1 Old Gen: 
> 762168160 -> 770098088;
> ...
> INFO  [Service Thread] 2021-10-04 15:25:31,453 GCInspector.java:285 - G1 Old 
> Generation GC in 16310ms.  G1 Eden Space: 201326592 -> 0; G1 Old Gen: 
> 770098088 -> 769228400;
> ...
> INFO  [Service Thread] 2021-10-04 15:25:33,597 GCInspector.java:285 - G1 Old 
> Generation GC in 1984ms.  G1 Eden Space: 352321536 -> 0; G1 Old Gen: 
> 750824952 -> 751118968;
> ...
> INFO  [Service Thread] 2021-10-04 15:25:50,152 GCInspector.java:285 - G1 Old 
> Generation GC in 16411ms.  G1 Eden Space: 8388608 -> 0; G1 Old Gen: 751118968 
> -> 751645056;
> {noformat}
> Example of direct memory oom from system.log
> {noformat}
> INFO  [ScheduledTasks:1] 2021-10-04 15:25:31,484 MessagingService.java:1246 - 
> READ messages were dropped in last 5000 ms: 2 internal and 7 cross node. Mean 
> internal dropped latency: 47238 ms and Mean cross-node dropped latency: 45171 
> ms
> INFO  [ScheduledTasks:1] 2021-10-04 15:25:31,484 MessagingService.java:1246 - 
> COUNTER_MUTATION messages were dropped in last 5000 ms: 1 internal and 60 
> cross node. Mean internal dropped latency: 7289 ms and Mean cross-node 
> dropped latency: 9509 ms
> ERROR [CounterMutationStage-464] 2021-10-04 15:25:31,484 
> JVMStabilityInspector.java:94 - OutOfMemory error letting the JVM handle the 
> error:
> java.lang.OutOfMemoryError: Direct buffer memory
> at java.nio.Bits.reserveMemory(Bits.java:695) ~[na:1.8.0_292]
> at java.nio.DirectByteBuffer.(DirectByteBuffer.java:123) 
> ~[na:1.8.0_292]
> at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311) 
> ~[na:1.8.0_292]
> at 
> org.apache.cassandra.utils.memory.BufferPool.allocate(BufferPool.java:114) 
> ~[apache-cassandra-3.11.11.jar:3.11.11]
> at 
> org.apache.cassandra.utils.memory.BufferPool.access$1000(BufferPool.java:50) 
> ~[apache-cassandra-3.11.11.jar:3.11.11]
> at 
> org.apache.cassandra.utils.memory.BufferPool$L

[jira] [Commented] (CASSANDRA-17025) Direct memory OOM

2021-10-07 Thread Zach Toews (Jira)


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

Zach Toews commented on CASSANDRA-17025:


[~brandon.williams] To clarify, what we're seeing is the node with the long gc 
pauses is marked down by the other nodes while `nodetool status` on the down 
nodes says it is still up. While it is in this state the entire cluster becomes 
unresponsive until the down node is restarted.

> Direct memory OOM 
> --
>
> Key: CASSANDRA-17025
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17025
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Zach Toews
>Priority: Normal
>
> Version: 3.11.11
> Cluster: 9 nodes (1 dc, 3 racks) on aws r5.4xlarge nodes (16 vCPU, 128GB mem)
> Heap size: 20G
> Direct memory buffer: 24G
>  
> We stood up this cluster a few months ago in order to migrate an old 2.0 
> cluster. Since then, after about 7-10 days a node will begin to experience 
> long old gc cycles  before logging many  "java.lang.OutOfMemoryError: Direct 
> buffer memory" exceptions. When the long gc cycles start, the entire cluster 
> becomes unresponsive (our application is unable to make queries to any node).
> Restarting cassandra on the failing node resolves the problem, then we have 
> to restart every other node in the cluster to prevent them from getting into 
> the same state.
>  
> We have attempted to:
>  * Increase -XX:MaxDirectMemorySize
>  * Increase -Djdk.nio.maxCachedBufferSize
>  * Update cassandra from 3.11.10 to 3.11.11
> None of these have resolved the problem.
> Since the last failure, we have increased -XX:MaxDirectMemorySize again, and 
> are waiting to see if that has any effect.
>  
> Old gc collections from system.log:
> {noformat}
> INFO  [Service Thread] 2021-10-04 15:24:04,973 GCInspector.java:285 - G1 Old 
> Generation GC in 4447ms.  Compressed Class Space: 6683064 -> 6677952; G1 Eden 
> Space: 16777216 -> 0; G1 Old Gen: 5431375384 -> 745163912; G1 Survivor Space: 
> 419430400 -> 0; Metaspace: 54716768 ->
> ...
> INFO  [Service Thread] 2021-10-04 15:24:06,985 GCInspector.java:285 - G1 Old 
> Generation GC in 1901ms.  G1 Old Gen: 745163912 -> 745168360;
> ...
> INFO  [Service Thread] 2021-10-04 15:24:09,306 GCInspector.java:285 - G1 Old 
> Generation GC in 2046ms.  G1 Eden Space: 528482304 -> 0; G1 Old Gen: 
> 759785184 -> 761229864;
> ...
> INFO  [Service Thread] 2021-10-04 15:24:14,749 GCInspector.java:285 - G1 Old 
> Generation GC in 5403ms.  G1 Old Gen: 761229864 -> 762168640;
> ...
> INFO  [Service Thread] 2021-10-04 15:24:16,782 GCInspector.java:285 - G1 Old 
> Generation GC in 1949ms.  G1 Old Gen: 762168640 -> 762167640;
> ...
> INFO  [Service Thread] 2021-10-04 15:25:09,406 GCInspector.java:285 - G1 Old 
> Generation GC in 52302ms.  G1 Eden Space: 8388608 -> 0; G1 Old Gen: 762167640 
> -> 762168160;
> ...
> INFO  [Service Thread] 2021-10-04 15:25:15,011 GCInspector.java:285 - G1 Old 
> Generation GC in 5522ms.  G1 Eden Space: 192937984 -> 0; G1 Old Gen: 
> 762168160 -> 770098088;
> ...
> INFO  [Service Thread] 2021-10-04 15:25:31,453 GCInspector.java:285 - G1 Old 
> Generation GC in 16310ms.  G1 Eden Space: 201326592 -> 0; G1 Old Gen: 
> 770098088 -> 769228400;
> ...
> INFO  [Service Thread] 2021-10-04 15:25:33,597 GCInspector.java:285 - G1 Old 
> Generation GC in 1984ms.  G1 Eden Space: 352321536 -> 0; G1 Old Gen: 
> 750824952 -> 751118968;
> ...
> INFO  [Service Thread] 2021-10-04 15:25:50,152 GCInspector.java:285 - G1 Old 
> Generation GC in 16411ms.  G1 Eden Space: 8388608 -> 0; G1 Old Gen: 751118968 
> -> 751645056;
> {noformat}
> Example of direct memory oom from system.log
> {noformat}
> INFO  [ScheduledTasks:1] 2021-10-04 15:25:31,484 MessagingService.java:1246 - 
> READ messages were dropped in last 5000 ms: 2 internal and 7 cross node. Mean 
> internal dropped latency: 47238 ms and Mean cross-node dropped latency: 45171 
> ms
> INFO  [ScheduledTasks:1] 2021-10-04 15:25:31,484 MessagingService.java:1246 - 
> COUNTER_MUTATION messages were dropped in last 5000 ms: 1 internal and 60 
> cross node. Mean internal dropped latency: 7289 ms and Mean cross-node 
> dropped latency: 9509 ms
> ERROR [CounterMutationStage-464] 2021-10-04 15:25:31,484 
> JVMStabilityInspector.java:94 - OutOfMemory error letting the JVM handle the 
> error:
> java.lang.OutOfMemoryError: Direct buffer memory
> at java.nio.Bits.reserveMemory(Bits.java:695) ~[na:1.8.0_292]
> at java.nio.DirectByteBuffer.(DirectByteBuffer.java:123) 
> ~[na:1.8.0_292]
> at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311) 
> ~[na:1.8.0_292]
> at 
> org.apache.cassandra.utils.memory.BufferPool.allocate(BufferPool.java:114) 
> ~[apache-cassandra-3.11.11.jar:3.11.11]
> at 
> org.apache.cassandra.utils.memory.BufferPool.access$

[jira] [Commented] (CASSANDRA-16983) Separating CQLSH credentials from the cqlshrc file

2021-10-07 Thread Brandon Williams (Jira)


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

Brandon Williams commented on CASSANDRA-16983:
--

I'm fine with 2.  Removing windows support entirely from the codebase is going 
to be a long road and hoisting the entire responsibility of removing it from 
cqlsh onto this ticket isn't appropriate, and a couple more lines is no big 
deal.

> Separating CQLSH credentials from the cqlshrc file
> --
>
> Key: CASSANDRA-16983
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16983
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tool/cqlsh
>Reporter: Bowen Song
>Assignee: Bowen Song
>Priority: Normal
>  Labels: lhf
>  Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> Currently, the CQLSH tool accepts credentials (username & password) from the 
> following 3 places:
> 1. the command line parameter "-p"
> 2. the cqlshrc file
> 3. prompt the user
> This is not ideal.
> Credentials in the command line is a security risk, because it could be see 
> by other users on a shared system.
> The cqlshrc file is better, but still not good enough. Because the cqlshrc 
> file is a config file,  it's often acceptable to have it as a world readable 
> file, and share it with other users. It also prevents user from having 
> multiple sets of credentials, either for the same Cassandra cluster or 
> different clusters.
> To improve the security of CQLSH and make it secure by design, I purpose the 
> following changes:
> * Warn the user if a password is giving in the command line, and recommend 
> them to use a credential file instead
> * Warn the user if credentials are present in the cqlshrc file and the 
> cqlshrc file is not secure (e.g.: world readable or owned by a different user)
> * Deprecate credentials in the cqlshrc, and recommend the user to move them 
> to a separate credential file. The aim is to not break anything at the 
> moment, but eventually stop accepting credentials from the cqlshrc file.
> * Reject the credentials file if it's not secure, and tell the user how to 
> secure it. Optionally, prompt the user for password if it's an interactive 
> session. (Think how does OpenSSH handle insecure credential files)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (CASSANDRA-16983) Separating CQLSH credentials from the cqlshrc file

2021-10-07 Thread Bowen Song (Jira)


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

Bowen Song commented on CASSANDRA-16983:


I'm okay with that. So here's two ways of dropping Windows support from CQLSH:
1. I remove the two lines referencing to the "is_win" variable, and commit my 
changes. Someone else later look at cqlsh.py code and remove all Windows 
related code.
2. My change gets merged as it is. Someone else later look at cqlsh.py and 
remove those two lines along with all other Windows related code.

I personally see the option 2 being more attractive, because it will gets this 
change out sooner, and it'll only create a negligible amount of extra work for 
the person who works on removing Windows support from CQLSH.

> Separating CQLSH credentials from the cqlshrc file
> --
>
> Key: CASSANDRA-16983
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16983
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tool/cqlsh
>Reporter: Bowen Song
>Assignee: Bowen Song
>Priority: Normal
>  Labels: lhf
>  Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> Currently, the CQLSH tool accepts credentials (username & password) from the 
> following 3 places:
> 1. the command line parameter "-p"
> 2. the cqlshrc file
> 3. prompt the user
> This is not ideal.
> Credentials in the command line is a security risk, because it could be see 
> by other users on a shared system.
> The cqlshrc file is better, but still not good enough. Because the cqlshrc 
> file is a config file,  it's often acceptable to have it as a world readable 
> file, and share it with other users. It also prevents user from having 
> multiple sets of credentials, either for the same Cassandra cluster or 
> different clusters.
> To improve the security of CQLSH and make it secure by design, I purpose the 
> following changes:
> * Warn the user if a password is giving in the command line, and recommend 
> them to use a credential file instead
> * Warn the user if credentials are present in the cqlshrc file and the 
> cqlshrc file is not secure (e.g.: world readable or owned by a different user)
> * Deprecate credentials in the cqlshrc, and recommend the user to move them 
> to a separate credential file. The aim is to not break anything at the 
> moment, but eventually stop accepting credentials from the cqlshrc file.
> * Reject the credentials file if it's not secure, and tell the user how to 
> secure it. Optionally, prompt the user for password if it's an interactive 
> session. (Think how does OpenSSH handle insecure credential files)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (CASSANDRA-17025) Direct memory OOM

2021-10-07 Thread Brandon Williams (Jira)


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

Brandon Williams updated CASSANDRA-17025:
-
Resolution: Invalid
Status: Resolved  (was: Triage Needed)

This jira is for Apache Cassandra development. For assistance with your issue 
you will be better served by contacting the community on the user ML or slack: 
https://cassandra.apache.org/_/community.html

> Direct memory OOM 
> --
>
> Key: CASSANDRA-17025
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17025
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Zach Toews
>Priority: Normal
>
> Version: 3.11.11
> Cluster: 9 nodes (1 dc, 3 racks) on aws r5.4xlarge nodes (16 vCPU, 128GB mem)
> Heap size: 20G
> Direct memory buffer: 24G
>  
> We stood up this cluster a few months ago in order to migrate an old 2.1 
> cluster. Since then, after about 7-10 days a node will begin to experience 
> long old gc cycles  before logging many  "java.lang.OutOfMemoryError: Direct 
> buffer memory" exceptions. When the long gc cycles start, the entire cluster 
> becomes unresponsive (our application is unable to make queries to any node).
> Restarting cassandra on the failing node resolves the problem, then we have 
> to restart every other node in the cluster to prevent them from getting into 
> the same state.
>  
> We have attempted to:
>  * Increase -XX:MaxDirectMemorySize
>  * Increase -Djdk.nio.maxCachedBufferSize
>  * Update cassandra from 3.11.10 to 3.11.11
> None of these have resolved the problem.
> Since the last failure, we have increased -XX:MaxDirectMemorySize again, and 
> are waiting to see if that has any effect.
>  
> Old gc collections from system.log:
> {noformat}
> INFO  [Service Thread] 2021-10-04 15:24:04,973 GCInspector.java:285 - G1 Old 
> Generation GC in 4447ms.  Compressed Class Space: 6683064 -> 6677952; G1 Eden 
> Space: 16777216 -> 0; G1 Old Gen: 5431375384 -> 745163912; G1 Survivor Space: 
> 419430400 -> 0; Metaspace: 54716768 ->
> ...
> INFO  [Service Thread] 2021-10-04 15:24:06,985 GCInspector.java:285 - G1 Old 
> Generation GC in 1901ms.  G1 Old Gen: 745163912 -> 745168360;
> ...
> INFO  [Service Thread] 2021-10-04 15:24:09,306 GCInspector.java:285 - G1 Old 
> Generation GC in 2046ms.  G1 Eden Space: 528482304 -> 0; G1 Old Gen: 
> 759785184 -> 761229864;
> ...
> INFO  [Service Thread] 2021-10-04 15:24:14,749 GCInspector.java:285 - G1 Old 
> Generation GC in 5403ms.  G1 Old Gen: 761229864 -> 762168640;
> ...
> INFO  [Service Thread] 2021-10-04 15:24:16,782 GCInspector.java:285 - G1 Old 
> Generation GC in 1949ms.  G1 Old Gen: 762168640 -> 762167640;
> ...
> INFO  [Service Thread] 2021-10-04 15:25:09,406 GCInspector.java:285 - G1 Old 
> Generation GC in 52302ms.  G1 Eden Space: 8388608 -> 0; G1 Old Gen: 762167640 
> -> 762168160;
> ...
> INFO  [Service Thread] 2021-10-04 15:25:15,011 GCInspector.java:285 - G1 Old 
> Generation GC in 5522ms.  G1 Eden Space: 192937984 -> 0; G1 Old Gen: 
> 762168160 -> 770098088;
> ...
> INFO  [Service Thread] 2021-10-04 15:25:31,453 GCInspector.java:285 - G1 Old 
> Generation GC in 16310ms.  G1 Eden Space: 201326592 -> 0; G1 Old Gen: 
> 770098088 -> 769228400;
> ...
> INFO  [Service Thread] 2021-10-04 15:25:33,597 GCInspector.java:285 - G1 Old 
> Generation GC in 1984ms.  G1 Eden Space: 352321536 -> 0; G1 Old Gen: 
> 750824952 -> 751118968;
> ...
> INFO  [Service Thread] 2021-10-04 15:25:50,152 GCInspector.java:285 - G1 Old 
> Generation GC in 16411ms.  G1 Eden Space: 8388608 -> 0; G1 Old Gen: 751118968 
> -> 751645056;
> {noformat}
> Example of direct memory oom from system.log
> {noformat}
> INFO  [ScheduledTasks:1] 2021-10-04 15:25:31,484 MessagingService.java:1246 - 
> READ messages were dropped in last 5000 ms: 2 internal and 7 cross node. Mean 
> internal dropped latency: 47238 ms and Mean cross-node dropped latency: 45171 
> ms
> INFO  [ScheduledTasks:1] 2021-10-04 15:25:31,484 MessagingService.java:1246 - 
> COUNTER_MUTATION messages were dropped in last 5000 ms: 1 internal and 60 
> cross node. Mean internal dropped latency: 7289 ms and Mean cross-node 
> dropped latency: 9509 ms
> ERROR [CounterMutationStage-464] 2021-10-04 15:25:31,484 
> JVMStabilityInspector.java:94 - OutOfMemory error letting the JVM handle the 
> error:
> java.lang.OutOfMemoryError: Direct buffer memory
> at java.nio.Bits.reserveMemory(Bits.java:695) ~[na:1.8.0_292]
> at java.nio.DirectByteBuffer.(DirectByteBuffer.java:123) 
> ~[na:1.8.0_292]
> at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311) 
> ~[na:1.8.0_292]
> at 
> org.apache.cassandra.utils.memory.BufferPool.allocate(BufferPool.java:114) 
> ~[apache-cassandra-3.11.11.jar:3.11.11]
> at 
> org.apache.cassandra.utils.memory.BufferPool.access$1000(BufferPool.java:50) 
> ~[apache-cassandra-3.11.11.

[jira] [Updated] (CASSANDRA-17025) Direct memory OOM

2021-10-07 Thread Zach Toews (Jira)


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

Zach Toews updated CASSANDRA-17025:
---
Description: 
Version: 3.11.11

Cluster: 9 nodes (1 dc, 3 racks) on aws r5.4xlarge nodes (16 vCPU, 128GB mem)

Heap size: 20G

Direct memory buffer: 24G

 

We stood up this cluster a few months ago in order to migrate an old 2.0 
cluster. Since then, after about 7-10 days a node will begin to experience long 
old gc cycles  before logging many  "java.lang.OutOfMemoryError: Direct buffer 
memory" exceptions. When the long gc cycles start, the entire cluster becomes 
unresponsive (our application is unable to make queries to any node).

Restarting cassandra on the failing node resolves the problem, then we have to 
restart every other node in the cluster to prevent them from getting into the 
same state.

 

We have attempted to:
 * Increase -XX:MaxDirectMemorySize
 * Increase -Djdk.nio.maxCachedBufferSize
 * Update cassandra from 3.11.10 to 3.11.11

None of these have resolved the problem.

Since the last failure, we have increased -XX:MaxDirectMemorySize again, and 
are waiting to see if that has any effect.

 

Old gc collections from system.log:
{noformat}
INFO  [Service Thread] 2021-10-04 15:24:04,973 GCInspector.java:285 - G1 Old 
Generation GC in 4447ms.  Compressed Class Space: 6683064 -> 6677952; G1 Eden 
Space: 16777216 -> 0; G1 Old Gen: 5431375384 -> 745163912; G1 Survivor Space: 
419430400 -> 0; Metaspace: 54716768 ->
...
INFO  [Service Thread] 2021-10-04 15:24:06,985 GCInspector.java:285 - G1 Old 
Generation GC in 1901ms.  G1 Old Gen: 745163912 -> 745168360;
...
INFO  [Service Thread] 2021-10-04 15:24:09,306 GCInspector.java:285 - G1 Old 
Generation GC in 2046ms.  G1 Eden Space: 528482304 -> 0; G1 Old Gen: 759785184 
-> 761229864;
...
INFO  [Service Thread] 2021-10-04 15:24:14,749 GCInspector.java:285 - G1 Old 
Generation GC in 5403ms.  G1 Old Gen: 761229864 -> 762168640;
...
INFO  [Service Thread] 2021-10-04 15:24:16,782 GCInspector.java:285 - G1 Old 
Generation GC in 1949ms.  G1 Old Gen: 762168640 -> 762167640;
...
INFO  [Service Thread] 2021-10-04 15:25:09,406 GCInspector.java:285 - G1 Old 
Generation GC in 52302ms.  G1 Eden Space: 8388608 -> 0; G1 Old Gen: 762167640 
-> 762168160;
...
INFO  [Service Thread] 2021-10-04 15:25:15,011 GCInspector.java:285 - G1 Old 
Generation GC in 5522ms.  G1 Eden Space: 192937984 -> 0; G1 Old Gen: 762168160 
-> 770098088;
...
INFO  [Service Thread] 2021-10-04 15:25:31,453 GCInspector.java:285 - G1 Old 
Generation GC in 16310ms.  G1 Eden Space: 201326592 -> 0; G1 Old Gen: 770098088 
-> 769228400;
...
INFO  [Service Thread] 2021-10-04 15:25:33,597 GCInspector.java:285 - G1 Old 
Generation GC in 1984ms.  G1 Eden Space: 352321536 -> 0; G1 Old Gen: 750824952 
-> 751118968;
...
INFO  [Service Thread] 2021-10-04 15:25:50,152 GCInspector.java:285 - G1 Old 
Generation GC in 16411ms.  G1 Eden Space: 8388608 -> 0; G1 Old Gen: 751118968 
-> 751645056;
{noformat}
Example of direct memory oom from system.log
{noformat}
INFO  [ScheduledTasks:1] 2021-10-04 15:25:31,484 MessagingService.java:1246 - 
READ messages were dropped in last 5000 ms: 2 internal and 7 cross node. Mean 
internal dropped latency: 47238 ms and Mean cross-node dropped latency: 45171 ms
INFO  [ScheduledTasks:1] 2021-10-04 15:25:31,484 MessagingService.java:1246 - 
COUNTER_MUTATION messages were dropped in last 5000 ms: 1 internal and 60 cross 
node. Mean internal dropped latency: 7289 ms and Mean cross-node dropped 
latency: 9509 ms
ERROR [CounterMutationStage-464] 2021-10-04 15:25:31,484 
JVMStabilityInspector.java:94 - OutOfMemory error letting the JVM handle the 
error:
java.lang.OutOfMemoryError: Direct buffer memory
at java.nio.Bits.reserveMemory(Bits.java:695) ~[na:1.8.0_292]
at java.nio.DirectByteBuffer.(DirectByteBuffer.java:123) 
~[na:1.8.0_292]
at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311) 
~[na:1.8.0_292]
at 
org.apache.cassandra.utils.memory.BufferPool.allocate(BufferPool.java:114) 
~[apache-cassandra-3.11.11.jar:3.11.11]
at 
org.apache.cassandra.utils.memory.BufferPool.access$1000(BufferPool.java:50) 
~[apache-cassandra-3.11.11.jar:3.11.11]
at 
org.apache.cassandra.utils.memory.BufferPool$LocalPool.allocate(BufferPool.java:408)
 ~[apache-cassandra-3.11.11.jar:3.11.11]
at 
org.apache.cassandra.utils.memory.BufferPool$LocalPool.access$000(BufferPool.java:335)
 ~[apache-cassandra-3.11.11.jar:3.11.11]
at 
org.apache.cassandra.utils.memory.BufferPool.takeFromPool(BufferPool.java:126) 
~[apache-cassandra-3.11.11.jar:3.11.11]
at org.apache.cassandra.utils.memory.BufferPool.get(BufferPool.java:98) 
~[apache-cassandra-3.11.11.jar:3.11.11]
at org.apache.cassandra.cache.ChunkCache.load(ChunkCache.java:156) 
~[apache-cassandra-3.11.11.jar:3.11.11]
at org.apache.cassandra.cache.ChunkCache.load(ChunkCa

[cassandra-builds] branch trunk updated: attempt to workaround force push

2021-10-07 Thread brandonwilliams
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/trunk by this push:
 new 3ecf100  attempt to workaround force push
3ecf100 is described below

commit 3ecf100efc3bfba30cd701be1978527d2c7bc968
Author: Brandon Williams 
AuthorDate: Thu Oct 7 11:08:22 2021 -0500

attempt to workaround force push
---
 docker/build-debs.sh | 2 +-
 docker/build-rpms.sh | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/docker/build-debs.sh b/docker/build-debs.sh
index 335121b..4484d98 100755
--- a/docker/build-debs.sh
+++ b/docker/build-debs.sh
@@ -29,7 +29,7 @@ fi
 
 cd $CASSANDRA_DIR
 git fetch
-git pull
+#git pull
 # clear and refetch tags to account for re-tagging a new sha
 git tag -d $(git tag) > /dev/null
 git fetch --tags > /dev/null 2>&1
diff --git a/docker/build-rpms.sh b/docker/build-rpms.sh
index 9a2aa55..4e22b75 100755
--- a/docker/build-rpms.sh
+++ b/docker/build-rpms.sh
@@ -31,7 +31,7 @@ fi
 
 cd $CASSANDRA_DIR
 git fetch
-git pull
+#git pull
 # clear and refetch tags to account for re-tagging a new sha
 git tag -d $(git tag) > /dev/null
 git fetch --tags > /dev/null 2>&1

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



[jira] [Created] (CASSANDRA-17025) Direct memory OOM

2021-10-07 Thread Zach Toews (Jira)
Zach Toews created CASSANDRA-17025:
--

 Summary: Direct memory OOM 
 Key: CASSANDRA-17025
 URL: https://issues.apache.org/jira/browse/CASSANDRA-17025
 Project: Cassandra
  Issue Type: Bug
Reporter: Zach Toews


Version: 3.11.11

Cluster: 9 nodes (1 dc, 3 racks) on aws r5.4xlarge nodes (16 vCPU, 128GB mem)

Heap size: 20G

Direct memory buffer: 24G

 

We stood up this cluster a few months ago in order to migrate an old 2.1 
cluster. Since then, after about 7-10 days a node will begin to experience long 
old gc cycles  before logging many  "java.lang.OutOfMemoryError: Direct buffer 
memory" exceptions. When the long gc cycles start, the entire cluster becomes 
unresponsive (our application is unable to make queries to any node).

Restarting cassandra on the failing node resolves the problem, then we have to 
restart every other node in the cluster to prevent them from getting into the 
same state.

 

We have attempted to:
 * Increase -XX:MaxDirectMemorySize
 * Increase -Djdk.nio.maxCachedBufferSize
 * Update cassandra from 3.11.10 to 3.11.11

None of these have resolved the problem.

Since the last failure, we have increased -XX:MaxDirectMemorySize again, and 
are waiting to see if that has any effect.

 

Old gc collections from system.log:
{noformat}
INFO  [Service Thread] 2021-10-04 15:24:04,973 GCInspector.java:285 - G1 Old 
Generation GC in 4447ms.  Compressed Class Space: 6683064 -> 6677952; G1 Eden 
Space: 16777216 -> 0; G1 Old Gen: 5431375384 -> 745163912; G1 Survivor Space: 
419430400 -> 0; Metaspace: 54716768 ->
...
INFO  [Service Thread] 2021-10-04 15:24:06,985 GCInspector.java:285 - G1 Old 
Generation GC in 1901ms.  G1 Old Gen: 745163912 -> 745168360;
...
INFO  [Service Thread] 2021-10-04 15:24:09,306 GCInspector.java:285 - G1 Old 
Generation GC in 2046ms.  G1 Eden Space: 528482304 -> 0; G1 Old Gen: 759785184 
-> 761229864;
...
INFO  [Service Thread] 2021-10-04 15:24:14,749 GCInspector.java:285 - G1 Old 
Generation GC in 5403ms.  G1 Old Gen: 761229864 -> 762168640;
...
INFO  [Service Thread] 2021-10-04 15:24:16,782 GCInspector.java:285 - G1 Old 
Generation GC in 1949ms.  G1 Old Gen: 762168640 -> 762167640;
...
INFO  [Service Thread] 2021-10-04 15:25:09,406 GCInspector.java:285 - G1 Old 
Generation GC in 52302ms.  G1 Eden Space: 8388608 -> 0; G1 Old Gen: 762167640 
-> 762168160;
...
INFO  [Service Thread] 2021-10-04 15:25:15,011 GCInspector.java:285 - G1 Old 
Generation GC in 5522ms.  G1 Eden Space: 192937984 -> 0; G1 Old Gen: 762168160 
-> 770098088;
...
INFO  [Service Thread] 2021-10-04 15:25:31,453 GCInspector.java:285 - G1 Old 
Generation GC in 16310ms.  G1 Eden Space: 201326592 -> 0; G1 Old Gen: 770098088 
-> 769228400;
...
INFO  [Service Thread] 2021-10-04 15:25:33,597 GCInspector.java:285 - G1 Old 
Generation GC in 1984ms.  G1 Eden Space: 352321536 -> 0; G1 Old Gen: 750824952 
-> 751118968;
...
INFO  [Service Thread] 2021-10-04 15:25:50,152 GCInspector.java:285 - G1 Old 
Generation GC in 16411ms.  G1 Eden Space: 8388608 -> 0; G1 Old Gen: 751118968 
-> 751645056;
{noformat}
Example of direct memory oom from system.log
{noformat}
INFO  [ScheduledTasks:1] 2021-10-04 15:25:31,484 MessagingService.java:1246 - 
READ messages were dropped in last 5000 ms: 2 internal and 7 cross node. Mean 
internal dropped latency: 47238 ms and Mean cross-node dropped latency: 45171 ms
INFO  [ScheduledTasks:1] 2021-10-04 15:25:31,484 MessagingService.java:1246 - 
COUNTER_MUTATION messages were dropped in last 5000 ms: 1 internal and 60 cross 
node. Mean internal dropped latency: 7289 ms and Mean cross-node dropped 
latency: 9509 ms
ERROR [CounterMutationStage-464] 2021-10-04 15:25:31,484 
JVMStabilityInspector.java:94 - OutOfMemory error letting the JVM handle the 
error:
java.lang.OutOfMemoryError: Direct buffer memory
at java.nio.Bits.reserveMemory(Bits.java:695) ~[na:1.8.0_292]
at java.nio.DirectByteBuffer.(DirectByteBuffer.java:123) 
~[na:1.8.0_292]
at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311) 
~[na:1.8.0_292]
at 
org.apache.cassandra.utils.memory.BufferPool.allocate(BufferPool.java:114) 
~[apache-cassandra-3.11.11.jar:3.11.11]
at 
org.apache.cassandra.utils.memory.BufferPool.access$1000(BufferPool.java:50) 
~[apache-cassandra-3.11.11.jar:3.11.11]
at 
org.apache.cassandra.utils.memory.BufferPool$LocalPool.allocate(BufferPool.java:408)
 ~[apache-cassandra-3.11.11.jar:3.11.11]
at 
org.apache.cassandra.utils.memory.BufferPool$LocalPool.access$000(BufferPool.java:335)
 ~[apache-cassandra-3.11.11.jar:3.11.11]
at 
org.apache.cassandra.utils.memory.BufferPool.takeFromPool(BufferPool.java:126) 
~[apache-cassandra-3.11.11.jar:3.11.11]
at org.apache.cassandra.utils.memory.BufferPool.get(BufferPool.java:98) 
~[apache-cassandra-3.11.11.jar:3.11.11]
at org.apache.cassandra.cache.ChunkCache.load(ChunkCache.java:156) 
~

[jira] [Updated] (CASSANDRA-16931) Improvements to @Shared annotation

2021-10-07 Thread Benedict Elliott Smith (Jira)


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

Benedict Elliott Smith updated CASSANDRA-16931:
---
Source Control Link: 
[0c444a75e79da8c157813a72d61f2b2f86e187ba|https://github.com/apache/cassandra/commit/0c444a75e79da8c157813a72d61f2b2f86e187ba]
 Resolution: Fixed
 Status: Resolved  (was: Ready to Commit)

> Improvements to @Shared annotation
> --
>
> Key: CASSANDRA-16931
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16931
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Test/dtest/java
>Reporter: Benedict Elliott Smith
>Assignee: Benedict Elliott Smith
>Priority: Normal
> Fix For: 4.x
>
>
> To support CEP-10 it is necessary to expand our functionality for selectively 
> sharing classes between class loaders. This ticket introduces functionality 
> to specify various recursive scopes of sharing, so that you may specify that 
> any transitive dependencies of the class or interface may be also shared. 
> That is, you may specify that those types necessary to implement or invoke 
> methods on the class or interface must also be shared, that inner classes and 
> types may also be shared, and that parent classes (and their inner classes 
> and API dependencies) may also be shared.
> Additionally, validation has been added to ensure that the specified sharing 
> level encompasses the transitive closure of classes that will need to be 
> loaded to use a class.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (CASSANDRA-16929) CEP-10: General Improvements (Phase 2)

2021-10-07 Thread Benedict Elliott Smith (Jira)


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

Benedict Elliott Smith updated CASSANDRA-16929:
---
Resolution: Fixed
Status: Resolved  (was: Open)

> CEP-10: General Improvements (Phase 2)
> --
>
> Key: CASSANDRA-16929
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16929
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Test/burn
>Reporter: Benedict Elliott Smith
>Priority: Normal
>
> This is a tracking Jira for work related to CEP-10



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (CASSANDRA-16930) Introduce Determinism (and other) Configuration Options

2021-10-07 Thread Benedict Elliott Smith (Jira)


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

Benedict Elliott Smith updated CASSANDRA-16930:
---
Source Control Link: 
[fe9cff663b48fecdb964caaded2004e83a0c89f4|https://github.com/apache/cassandra/commit/fe9cff663b48fecdb964caaded2004e83a0c89f4]
 Resolution: Fixed
 Status: Resolved  (was: Ready to Commit)

> Introduce Determinism (and other) Configuration Options
> ---
>
> Key: CASSANDRA-16930
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16930
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Cluster/Gossip
>Reporter: Benedict Elliott Smith
>Assignee: Benedict Elliott Smith
>Priority: Normal
> Fix For: 4.x
>
>
> In order to support CEP-10 we must enable deterministic execution within 
> Cassandra, support disabling certain optional features that are incompatible 
> with simulation, and support overriding some existing features. 
> Some determinism will be enabled by the Simulator itself, but there are 
> aspects of Cassandra that must be made compliant as well. This includes: 
> compression system-wide, memtable overhead computation, specifying the number 
> of processors used for computation/decisions, specifing all cache sizes 
> explicitly, enabling deterministic table IDs, and supporting deterministic 
> node IDs for TimeUUID creation.
> We also want to be able disable sstable activity tracking, and to be able to 
> happily ignore problems with native filesystem methods and SIGAR. We also 
> want to be able to override the migration delay, batch sync interval and 
> system auth replication factor.
> For pluggability we also want to be able to specify a custom FailureDetector.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (CASSANDRA-16932) Gossip Fixes

2021-10-07 Thread Benedict Elliott Smith (Jira)


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

Benedict Elliott Smith updated CASSANDRA-16932:
---
  Fix Version/s: 4.x
  Since Version: 4.0
Source Control Link: 
[ce2a0a28bc9ca21e1fae29f2a38448a877db06c3|https://github.com/apache/cassandra/commit/ce2a0a28bc9ca21e1fae29f2a38448a877db06c3]
 Resolution: Fixed
 Status: Resolved  (was: Ready to Commit)

> Gossip Fixes
> 
>
> Key: CASSANDRA-16932
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16932
> Project: Cassandra
>  Issue Type: Bug
>  Components: Cluster/Gossip
>Reporter: Benedict Elliott Smith
>Assignee: Benedict Elliott Smith
>Priority: Normal
> Fix For: 4.x
>
>
> Testing with CEP-10 discovered faults with gossip where status updates may be 
> processed in an order that invalidates their application. These fixes are 
> necessary for simulation to run correctly, but also potentially affect gossip 
> time to settle.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[cassandra] 02/03: [CASSANDRA-16930] CEP-10 Phase 2: Improved Configuration For Controlling Determinism

2021-10-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 fe9cff663b48fecdb964caaded2004e83a0c89f4
Author: Benedict Elliott Smith 
AuthorDate: Wed Jul 28 20:03:09 2021 +0100

[CASSANDRA-16930] CEP-10 Phase 2: Improved Configuration For Controlling 
Determinism

Co-authored-by: Benedict Elliott Smith 
Co-authored-by: Sam Tunnicliffe 
Co-authored-by: Caleb Rackliffe 
---
 .../org/apache/cassandra/auth/AuthKeyspace.java|   5 +-
 .../cassandra/concurrent/NamedThreadFactory.java   |   1 +
 .../concurrent/SingleThreadExecutorPlus.java   |   6 +
 .../cassandra/concurrent/SyncFutureTask.java   |  17 ++-
 .../concurrent/ThreadPoolExecutorBuilder.java  |   2 +-
 .../config/CassandraRelevantProperties.java|  79 ++-
 src/java/org/apache/cassandra/config/Config.java   |   8 ++
 .../cassandra/config/DatabaseDescriptor.java   |  36 +
 .../org/apache/cassandra/db/ColumnFamilyStore.java |   6 +
 src/java/org/apache/cassandra/db/Memtable.java |  22 ++-
 .../db/commitlog/BatchCommitLogService.java|   4 +-
 .../apache/cassandra/db/lifecycle/LogReplica.java  |  10 +-
 .../org/apache/cassandra/gms/FailureDetector.java  |   3 +-
 src/java/org/apache/cassandra/gms/Gossiper.java| 147 -
 .../apache/cassandra/io/sstable/Descriptor.java|   3 +-
 .../cassandra/io/sstable/format/SSTableReader.java |  12 +-
 .../org/apache/cassandra/io/util/PathUtils.java|   2 +-
 .../locator/AbstractReplicaCollection.java |  18 +++
 .../org/apache/cassandra/net/RequestCallbacks.java |   8 +-
 .../apache/cassandra/schema/CompressionParams.java |  13 +-
 .../cassandra/schema/MigrationCoordinator.java |   3 +-
 src/java/org/apache/cassandra/schema/TableId.java  |   5 +
 .../org/apache/cassandra/schema/TableMetadata.java |   5 +-
 .../org/apache/cassandra/service/ClientState.java  |   7 +-
 .../apache/cassandra/service/StorageService.java   |  33 -
 .../org/apache/cassandra/utils/ByteBufferUtil.java |   2 +
 src/java/org/apache/cassandra/utils/Clock.java |   4 +-
 .../org/apache/cassandra/utils/FBUtilities.java|  12 +-
 src/java/org/apache/cassandra/utils/Hex.java   |  17 +++
 .../org/apache/cassandra/utils/LazyToString.java   |  36 +
 .../org/apache/cassandra/utils/MonotonicClock.java |   6 +-
 .../org/apache/cassandra/utils/NativeLibrary.java  |  43 --
 .../org/apache/cassandra/utils/SigarLibrary.java   |   4 +-
 src/java/org/apache/cassandra/utils/UUIDGen.java   |  60 -
 .../apache/cassandra/utils/concurrent/Threads.java | 135 +++
 .../apache/cassandra/utils/memory/HeapPool.java|  76 ++-
 .../cassandra/utils/memory/MemtableAllocator.java  |   2 +-
 .../cassandra/utils/memory/MemtablePool.java   |   3 +-
 .../apache/cassandra/utils/memory/NativePool.java  |   4 +-
 .../apache/cassandra/utils/memory/SlabPool.java|   4 +-
 .../config/DatabaseDescriptorRefTest.java  |   1 +
 .../unit/org/apache/cassandra/db/CellSpecTest.java |   2 +-
 .../cassandra/db/ClusteringHeapSizeTest.java   |   2 +-
 .../org/apache/cassandra/db/NativeCellTest.java|   2 +-
 .../cassandra/db/filter/ColumnFilterTest.java  |   1 +
 .../apache/cassandra/gms/ArrivalWindowTest.java|   8 ++
 46 files changed, 780 insertions(+), 99 deletions(-)

diff --git a/src/java/org/apache/cassandra/auth/AuthKeyspace.java 
b/src/java/org/apache/cassandra/auth/AuthKeyspace.java
index a57257c..2271eff 100644
--- a/src/java/org/apache/cassandra/auth/AuthKeyspace.java
+++ b/src/java/org/apache/cassandra/auth/AuthKeyspace.java
@@ -19,6 +19,7 @@ package org.apache.cassandra.auth;
 
 import java.util.concurrent.TimeUnit;
 
+import org.apache.cassandra.config.CassandraRelevantProperties;
 import org.apache.cassandra.cql3.statements.schema.CreateTableStatement;
 import org.apache.cassandra.schema.TableId;
 import org.apache.cassandra.schema.TableMetadata;
@@ -35,6 +36,8 @@ public final class AuthKeyspace
 {
 }
 
+private static final int DEFAULT_RF = 
CassandraRelevantProperties.SYSTEM_AUTH_DEFAULT_RF.getInt();
+
 /**
  * Generation is used as a timestamp for automatic table creation on 
startup.
  * If you make any changes to the tables below, make sure to increment the
@@ -109,7 +112,7 @@ public final class AuthKeyspace
 public static KeyspaceMetadata metadata()
 {
 return KeyspaceMetadata.create(SchemaConstants.AUTH_KEYSPACE_NAME,
-   KeyspaceParams.simple(1),
+   KeyspaceParams.simple(DEFAULT_RF),
Tables.of(Roles, RoleMembers, 
RolePermissions, ResourceRoleIndex, NetworkPermissions));
 }
 }
diff --git a/src/java/org/apache/cassandra/concurrent/NamedThreadFactory.java 
b/src/java/org/apache/cassandra/concurrent/NamedThreadFactory.j

[cassandra] branch trunk updated (5b82447 -> 0c444a7)

2021-10-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 5b82447  [CASSANDRA-17013] CEP-10 Phase 1: in-jvm-dtest-api changes 
and version bump
 new ce2a0a2  [CASSANDRA-16932] CEP-10 Phase 2: Minor Gossip Fixes
 new fe9cff6  [CASSANDRA-16930] CEP-10 Phase 2: Improved Configuration For 
Controlling Determinism
 new 0c444a7  [CASSANDRA-16931] CEP-10 Phase 2: Improve DTest @Shared 
Annotation Functionality

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:
 .../org/apache/cassandra/auth/AuthKeyspace.java|   5 +-
 .../cassandra/concurrent/ExecutorBuilder.java  |   4 +
 .../concurrent/ExecutorBuilderFactory.java |   6 +
 .../cassandra/concurrent/ExecutorFactory.java  |   4 +
 .../apache/cassandra/concurrent/ExecutorPlus.java  |   5 +
 .../apache/cassandra/concurrent/Interruptible.java |   5 +
 .../concurrent/LocalAwareExecutorPlus.java |   5 +
 .../LocalAwareSequentialExecutorPlus.java  |   5 +
 .../cassandra/concurrent/NamedThreadFactory.java   |   1 +
 .../cassandra/concurrent/ResizableThreadPool.java  |   5 +
 .../concurrent/ScheduledExecutorPlus.java  |   5 +
 .../concurrent/SequentialExecutorPlus.java |   6 +
 .../apache/cassandra/concurrent/Shutdownable.java  |   5 +
 .../concurrent/SingleThreadExecutorPlus.java   |   6 +
 .../cassandra/concurrent/SyncFutureTask.java   |  17 +-
 .../apache/cassandra/concurrent/TaskFactory.java   |   4 +
 .../concurrent/ThreadPoolExecutorBuilder.java  |   2 +-
 .../config/CassandraRelevantProperties.java|  79 ++-
 src/java/org/apache/cassandra/config/Config.java   |   8 +
 .../cassandra/config/DatabaseDescriptor.java   |  36 
 .../cassandra/config/ParameterizedClass.java   |   5 +
 .../org/apache/cassandra/db/ColumnFamilyStore.java |   6 +
 src/java/org/apache/cassandra/db/Memtable.java |  22 +-
 .../db/commitlog/BatchCommitLogService.java|   4 +-
 .../apache/cassandra/db/lifecycle/LogReplica.java  |  10 +-
 .../cassandra/exceptions/CassandraException.java   |   5 +
 .../apache/cassandra/exceptions/ExceptionCode.java |   4 +
 .../exceptions/RequestExecutionException.java  |   5 +
 .../cassandra/exceptions/TransportException.java   |   5 +
 .../org/apache/cassandra/gms/FailureDetector.java  |   3 +-
 src/java/org/apache/cassandra/gms/Gossiper.java| 170 ---
 .../apache/cassandra/io/sstable/Descriptor.java|   3 +-
 .../cassandra/io/sstable/format/SSTableReader.java |  12 +-
 .../apache/cassandra/io/util/DataInputPlus.java|   4 +
 .../apache/cassandra/io/util/DataOutputPlus.java   |   6 +-
 .../org/apache/cassandra/io/util/FileReader.java   |   1 -
 src/java/org/apache/cassandra/io/util/Memory.java  |   2 +-
 .../org/apache/cassandra/io/util/PathUtils.java|   2 +-
 ...ewindableDataInput.java => ReadableMemory.java} |  13 +-
 .../locator/AbstractReplicaCollection.java |  18 ++
 .../org/apache/cassandra/net/RequestCallbacks.java |   8 +-
 .../apache/cassandra/schema/CompressionParams.java |  13 +-
 .../cassandra/schema/MigrationCoordinator.java |   3 +-
 src/java/org/apache/cassandra/schema/TableId.java  |   5 +
 .../org/apache/cassandra/schema/TableMetadata.java |   5 +-
 .../org/apache/cassandra/service/ClientState.java  |   7 +-
 .../apache/cassandra/service/StorageService.java   |  37 +++-
 .../cassandra/streaming/StreamingChannel.java  |   5 +
 .../streaming/StreamingDataInputPlus.java  |   4 +
 .../streaming/StreamingDataOutputPlus.java |   5 +
 .../org/apache/cassandra/utils/ByteBufferUtil.java |   2 +
 src/java/org/apache/cassandra/utils/Clock.java |   6 +-
 src/java/org/apache/cassandra/utils/Closeable.java |   3 +
 .../org/apache/cassandra/utils/FBUtilities.java|  12 +-
 src/java/org/apache/cassandra/utils/Hex.java   |  17 ++
 .../java/org/apache/cassandra/utils}/Isolated.java |   4 +-
 .../{WrappedBoolean.java => LazyToString.java} |  30 ++-
 .../org/apache/cassandra/utils/MonotonicClock.java |   8 +-
 .../cassandra/utils/MonotonicClockTranslation.java |   3 +
 .../org/apache/cassandra/utils/NativeLibrary.java  |  43 ++--
 .../java/org/apache/cassandra/utils}/Shared.java   |   8 +-
 .../org/apache/cassandra/utils/SigarLibrary.java   |   4 +-
 src/java/org/apache/cassandra/utils/UUIDGen.java   |  60 +-
 .../org/apache/cassandra/utils/WithResources.java  |   3 +
 .../cassandra/utils/concurrent/Awaitable.java  |   3 +
 .../cassandra/utils/concurrent/Condition.java  |   4 +
 .../cassandra/utils/concurrent/CountDownLatch.java |   4 +
 .../apache/cassandra/utils/concurrent/Future.java  |   4 +
 .../apache/cassandra/utils/concurrent/Promise.java |   5

[cassandra] 01/03: [CASSANDRA-16932] CEP-10 Phase 2: Minor Gossip Fixes

2021-10-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 ce2a0a28bc9ca21e1fae29f2a38448a877db06c3
Author: Benedict Elliott Smith 
AuthorDate: Mon Apr 26 12:09:20 2021 +0100

[CASSANDRA-16932] CEP-10 Phase 2: Minor Gossip Fixes

* Ensure we apply new states in correct order so as not to lose TOKEN 
message
* Permit replacement nodes to join the ring with lower heartbeat state than
  node being replaced
---
 src/java/org/apache/cassandra/gms/Gossiper.java| 23 +-
 .../apache/cassandra/service/StorageService.java   |  4 +++-
 2 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/src/java/org/apache/cassandra/gms/Gossiper.java 
b/src/java/org/apache/cassandra/gms/Gossiper.java
index 3219145..e2ebedc 100644
--- a/src/java/org/apache/cassandra/gms/Gossiper.java
+++ b/src/java/org/apache/cassandra/gms/Gossiper.java
@@ -1587,12 +1587,33 @@ public class Gossiper implements 
IFailureDetectionEventListener, GossiperMBean
 if (!hasMajorVersion3Nodes())
 localState.removeMajorVersion3LegacyApplicationStates();
 
+// need to run STATUS or STATUS_WITH_PORT first to handle BOOT_REPLACE 
correctly (else won't be a member, so TOKENS won't be processed)
 for (Entry updatedEntry : 
updatedStates)
 {
+switch (updatedEntry.getKey())
+{
+default:
+continue;
+case STATUS:
+if 
(localState.containsApplicationState(ApplicationState.STATUS_WITH_PORT))
+continue;
+case STATUS_WITH_PORT:
+}
+doOnChangeNotifications(addr, updatedEntry.getKey(), 
updatedEntry.getValue());
+}
+
+for (Entry updatedEntry : 
updatedStates)
+{
+switch (updatedEntry.getKey())
+{
+// We should have alredy handled these two states above:
+case STATUS_WITH_PORT:
+case STATUS:
+continue;
+}
 // filters out legacy change notifications
 // only if local state already indicates that the peer has the new 
fields
 if ((ApplicationState.INTERNAL_IP == updatedEntry.getKey() && 
localState.containsApplicationState(ApplicationState.INTERNAL_ADDRESS_AND_PORT))
-||(ApplicationState.STATUS == updatedEntry.getKey() && 
localState.containsApplicationState(ApplicationState.STATUS_WITH_PORT))
 || (ApplicationState.RPC_ADDRESS == updatedEntry.getKey() && 
localState.containsApplicationState(ApplicationState.NATIVE_ADDRESS_AND_PORT)))
 continue;
 doOnChangeNotifications(addr, updatedEntry.getKey(), 
updatedEntry.getValue());
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 1638505..5c0f4bb 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -2728,7 +2728,9 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
 tokensToUpdateInMetadata.add(token);
 tokensToUpdateInSystemKeyspace.add(token);
 }
-else if (Gossiper.instance.compareEndpointStartup(endpoint, 
currentOwner) > 0)
+// Note: in test scenarios, there may not be any delta between the 
heartbeat generations of the old
+// and new nodes, so we first check whether the new endpoint is 
marked as a replacement for the old.
+else if 
(endpoint.equals(tokenMetadata.getReplacementNode(currentOwner).orElse(null)) 
|| Gossiper.instance.compareEndpointStartup(endpoint, currentOwner) > 0)
 {
 tokensToUpdateInMetadata.add(token);
 tokensToUpdateInSystemKeyspace.add(token);

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



[cassandra] 03/03: [CASSANDRA-16931] CEP-10 Phase 2: Improve DTest @Shared Annotation Functionality

2021-10-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 0c444a75e79da8c157813a72d61f2b2f86e187ba
Author: Benedict Elliott Smith 
AuthorDate: Wed Jul 28 20:04:03 2021 +0100

[CASSANDRA-16931] CEP-10 Phase 2: Improve DTest @Shared Annotation 
Functionality
---
 .../cassandra/concurrent/ExecutorBuilder.java  |   4 +
 .../concurrent/ExecutorBuilderFactory.java |   6 +
 .../cassandra/concurrent/ExecutorFactory.java  |   4 +
 .../apache/cassandra/concurrent/ExecutorPlus.java  |   5 +
 .../apache/cassandra/concurrent/Interruptible.java |   5 +
 .../concurrent/LocalAwareExecutorPlus.java |   5 +
 .../LocalAwareSequentialExecutorPlus.java  |   5 +
 .../cassandra/concurrent/ResizableThreadPool.java  |   5 +
 .../concurrent/ScheduledExecutorPlus.java  |   5 +
 .../concurrent/SequentialExecutorPlus.java |   6 +
 .../apache/cassandra/concurrent/Shutdownable.java  |   5 +
 .../apache/cassandra/concurrent/TaskFactory.java   |   4 +
 .../cassandra/config/ParameterizedClass.java   |   5 +
 .../cassandra/exceptions/CassandraException.java   |   5 +
 .../apache/cassandra/exceptions/ExceptionCode.java |   4 +
 .../exceptions/RequestExecutionException.java  |   5 +
 .../cassandra/exceptions/TransportException.java   |   5 +
 .../apache/cassandra/io/util/DataInputPlus.java|   4 +
 .../apache/cassandra/io/util/DataOutputPlus.java   |   6 +-
 .../org/apache/cassandra/io/util/FileReader.java   |   1 -
 src/java/org/apache/cassandra/io/util/Memory.java  |   2 +-
 .../util/ReadableMemory.java}  |  14 +-
 .../cassandra/streaming/StreamingChannel.java  |   5 +
 .../streaming/StreamingDataInputPlus.java  |   4 +
 .../streaming/StreamingDataOutputPlus.java |   5 +
 src/java/org/apache/cassandra/utils/Clock.java |   2 +
 src/java/org/apache/cassandra/utils/Closeable.java |   3 +
 .../java/org/apache/cassandra/utils}/Isolated.java |   4 +-
 .../org/apache/cassandra/utils/MonotonicClock.java |   2 +
 .../cassandra/utils/MonotonicClockTranslation.java |   3 +
 .../java/org/apache/cassandra/utils}/Shared.java   |   8 +-
 .../org/apache/cassandra/utils/WithResources.java  |   3 +
 .../cassandra/utils/concurrent/Awaitable.java  |   3 +
 .../cassandra/utils/concurrent/Condition.java  |   4 +
 .../cassandra/utils/concurrent/CountDownLatch.java |   4 +
 .../apache/cassandra/utils/concurrent/Future.java  |   4 +
 .../apache/cassandra/utils/concurrent/Promise.java |   5 +
 .../cassandra/utils/concurrent/RunnableFuture.java |   5 +
 .../cassandra/utils/concurrent/Semaphore.java  |   3 +
 .../concurrent/UncheckedInterruptedException.java  |   5 +
 .../cassandra/utils/concurrent/WaitQueue.java  |   5 +
 .../org/apache/cassandra/distributed/Cluster.java  |   3 +-
 .../distributed/impl/AbstractCluster.java  | 239 +++--
 .../cassandra/distributed/impl/Coordinator.java|   2 +-
 .../distributed/impl/INodeProvisionStrategy.java   |   6 +-
 .../cassandra/distributed/impl/InstanceConfig.java |   2 -
 .../apache/cassandra/distributed/impl/Query.java   |   5 +-
 .../cassandra/distributed/shared/ClusterUtils.java |   1 +
 .../test/BootstrapBinaryDisabledTest.java  |   2 +-
 ...AsHibernatingNodeWithoutReplaceAddressTest.java |   8 +-
 .../upgrade/MixedModeMessageForwardTest.java   |   3 +-
 51 files changed, 409 insertions(+), 49 deletions(-)

diff --git a/src/java/org/apache/cassandra/concurrent/ExecutorBuilder.java 
b/src/java/org/apache/cassandra/concurrent/ExecutorBuilder.java
index 89ca28a..c1d39d5 100644
--- a/src/java/org/apache/cassandra/concurrent/ExecutorBuilder.java
+++ b/src/java/org/apache/cassandra/concurrent/ExecutorBuilder.java
@@ -26,11 +26,15 @@ import java.util.concurrent.TimeUnit;
 import com.google.common.annotations.VisibleForTesting;
 
 import org.apache.cassandra.utils.JVMStabilityInspector;
+import org.apache.cassandra.utils.Shared;
+
+import static org.apache.cassandra.utils.Shared.Scope.SIMULATION;
 
 /**
  * Configure an executor before creating it.
  * See {@link ThreadPoolExecutorBuilder}
  */
+@Shared(scope = SIMULATION)
 public interface ExecutorBuilder
 {
 /**
diff --git 
a/src/java/org/apache/cassandra/concurrent/ExecutorBuilderFactory.java 
b/src/java/org/apache/cassandra/concurrent/ExecutorBuilderFactory.java
index f96def8..465226a 100644
--- a/src/java/org/apache/cassandra/concurrent/ExecutorBuilderFactory.java
+++ b/src/java/org/apache/cassandra/concurrent/ExecutorBuilderFactory.java
@@ -18,6 +18,11 @@
 
 package org.apache.cassandra.concurrent;
 
+import org.apache.cassandra.utils.Shared;
+
+import static org.apache.cassandra.utils.Shared.Recursive.INTERFACES;
+import static org.apache.cassandra.utils.Shared.Scope.SIMULATION;
+
 /**
  * Entry point for configuring and creating new executors.
  *
@@ -29,6 +34,7 @@ package org.apache.cass

[jira] [Comment Edited] (CASSANDRA-16518) Node restart during joining sets protocol version to V3

2021-10-07 Thread Brandon Williams (Jira)


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

Brandon Williams edited comment on CASSANDRA-16518 at 10/7/21, 2:34 PM:


Your analysis looks spot on to me.  I believe the check from CASSANDRA-15193 is 
seeing the unknown version and capping the protocol. One possible way to solve 
this may be to get of preferred_ip altogether, an idea I've floated on 
CASSANDRA-16718, which is another problem regarding it. [~samt] wdyt?


was (Author: brandon.williams):
Your analysis looks spot on to me.  I believe check from CASSANDRA-15193 is 
seeing the unknown version and capping the protocol. One possible way to solve 
this may be to get of preferred_ip altogether, an idea I've floated on 
CASSANDRA-16718, which is another problem regarding it. [~samt] wdyt?

> Node restart during joining sets protocol version to V3
> ---
>
> Key: CASSANDRA-16518
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16518
> Project: Cassandra
>  Issue Type: Bug
>  Components: Messaging/Client
>Reporter: Joseph Clay
>Assignee: Stefan Miklosovic
>Priority: Normal
> Fix For: 3.11.x
>
>
> While joining nodes to a cluster, an old node crashed. The old node was 
> recovered however clients (datastax java) refused to connect to it.
> The driver error:
> {noformat}
> Detected added or restarted Cassandra host /: but ignoring it since 
> it does not support the version V4 of the native protocol which is currently 
> in use.{noformat}
> In the recovered node cassandra logs:
> {noformat}
> INFO  o.a.c.transport.ConfiguredLimit Detected peers which do not fully 
> support protocol V4. Capping max negotiable version to V3{noformat}
> I confirmed that ALL the nodes in the cluster, joining or otherwise, were 
> apache-cassandra-3.11.6 so that error message was rather confusing.
>  Eventually after digging through the code we got to the bottom of the issue:
> https://issues.apache.org/jira/browse/CASSANDRA-15193 adds a check for node 
> version, which reverts the protocol version to V3 if any peer fails the 
> version check. Joining nodes have NULL for their version in the peers table, 
> which fails the version check.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (CASSANDRA-16518) Node restart during joining sets protocol version to V3

2021-10-07 Thread Brandon Williams (Jira)


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

Brandon Williams commented on CASSANDRA-16518:
--

Your analysis looks spot on to me.  I believe check from CASSANDRA-15193 is 
seeing the unknown version and capping the protocol. One possible way to solve 
this may be to get of preferred_ip altogether, an idea I've floated on 
CASSANDRA-16718, which is another problem regarding it.

> Node restart during joining sets protocol version to V3
> ---
>
> Key: CASSANDRA-16518
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16518
> Project: Cassandra
>  Issue Type: Bug
>  Components: Messaging/Client
>Reporter: Joseph Clay
>Assignee: Stefan Miklosovic
>Priority: Normal
> Fix For: 3.11.x
>
>
> While joining nodes to a cluster, an old node crashed. The old node was 
> recovered however clients (datastax java) refused to connect to it.
> The driver error:
> {noformat}
> Detected added or restarted Cassandra host /: but ignoring it since 
> it does not support the version V4 of the native protocol which is currently 
> in use.{noformat}
> In the recovered node cassandra logs:
> {noformat}
> INFO  o.a.c.transport.ConfiguredLimit Detected peers which do not fully 
> support protocol V4. Capping max negotiable version to V3{noformat}
> I confirmed that ALL the nodes in the cluster, joining or otherwise, were 
> apache-cassandra-3.11.6 so that error message was rather confusing.
>  Eventually after digging through the code we got to the bottom of the issue:
> https://issues.apache.org/jira/browse/CASSANDRA-15193 adds a check for node 
> version, which reverts the protocol version to V3 if any peer fails the 
> version check. Joining nodes have NULL for their version in the peers table, 
> which fails the version check.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Comment Edited] (CASSANDRA-16518) Node restart during joining sets protocol version to V3

2021-10-07 Thread Brandon Williams (Jira)


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

Brandon Williams edited comment on CASSANDRA-16518 at 10/7/21, 2:31 PM:


Your analysis looks spot on to me.  I believe check from CASSANDRA-15193 is 
seeing the unknown version and capping the protocol. One possible way to solve 
this may be to get of preferred_ip altogether, an idea I've floated on 
CASSANDRA-16718, which is another problem regarding it. [~samt] wdyt?


was (Author: brandon.williams):
Your analysis looks spot on to me.  I believe check from CASSANDRA-15193 is 
seeing the unknown version and capping the protocol. One possible way to solve 
this may be to get of preferred_ip altogether, an idea I've floated on 
CASSANDRA-16718, which is another problem regarding it.

> Node restart during joining sets protocol version to V3
> ---
>
> Key: CASSANDRA-16518
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16518
> Project: Cassandra
>  Issue Type: Bug
>  Components: Messaging/Client
>Reporter: Joseph Clay
>Assignee: Stefan Miklosovic
>Priority: Normal
> Fix For: 3.11.x
>
>
> While joining nodes to a cluster, an old node crashed. The old node was 
> recovered however clients (datastax java) refused to connect to it.
> The driver error:
> {noformat}
> Detected added or restarted Cassandra host /: but ignoring it since 
> it does not support the version V4 of the native protocol which is currently 
> in use.{noformat}
> In the recovered node cassandra logs:
> {noformat}
> INFO  o.a.c.transport.ConfiguredLimit Detected peers which do not fully 
> support protocol V4. Capping max negotiable version to V3{noformat}
> I confirmed that ALL the nodes in the cluster, joining or otherwise, were 
> apache-cassandra-3.11.6 so that error message was rather confusing.
>  Eventually after digging through the code we got to the bottom of the issue:
> https://issues.apache.org/jira/browse/CASSANDRA-15193 adds a check for node 
> version, which reverts the protocol version to V3 if any peer fails the 
> version check. Joining nodes have NULL for their version in the peers table, 
> which fails the version check.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[cassandra] 06/06: [CASSANDRA-17013] CEP-10 Phase 1: in-jvm-dtest-api changes and version bump

2021-10-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 5b82447098ad634900f8892297ef82083eadb954
Author: Benedict Elliott Smith 
AuthorDate: Thu Jul 29 18:06:32 2021 +0100

[CASSANDRA-17013] CEP-10 Phase 1: in-jvm-dtest-api changes and version bump
---
 build.xml  |   2 +-
 .../cassandra/concurrent/ExecutorFactory.java  |   2 +-
 .../cql3/functions/JavaBasedUDFunction.java|   1 +
 .../cassandra/cql3/functions/UDFunction.java   |   2 +-
 .../org/apache/cassandra/gms/EndpointState.java|   5 +-
 src/java/org/apache/cassandra/gms/Gossiper.java|  10 +
 .../org/apache/cassandra/gms/HeartBeatState.java   |   5 +-
 .../cassandra/io/sstable/format/SSTableReader.java |   2 +
 src/java/org/apache/cassandra/io/util/File.java|   8 +-
 .../apache/cassandra/triggers/TriggerExecutor.java |   2 +-
 .../org/apache/cassandra/distributed/Cluster.java  |   1 -
 .../distributed/impl/AbstractCluster.java  | 103 +-
 .../cassandra/distributed/impl/Coordinator.java|   4 +-
 .../impl/DelegatingInvokableInstance.java  |  62 
 .../impl/DirectStreamingConnectionFactory.java | 386 +
 .../cassandra/distributed/impl/Instance.java   | 247 ++---
 .../cassandra/distributed/impl/InstanceConfig.java |  22 +-
 .../cassandra/distributed/impl/InstanceKiller.java |   1 +
 .../distributed/impl/IsolatedExecutor.java |  95 +++--
 .../apache/cassandra/distributed/impl/Query.java   | 110 ++
 .../distributed/impl/UnsafeGossipHelper.java   | 265 ++
 .../apache/cassandra/distributed/test/CASTest.java |  32 +-
 .../distributed/upgrade/UpgradeTestBase.java   |   3 +-
 .../cassandra/db/RangeTombstoneListTest.java   |   3 +-
 .../utils/concurrent/ImmediateFutureTest.java  |   3 +-
 25 files changed, 1141 insertions(+), 235 deletions(-)

diff --git a/build.xml b/build.xml
index f5acaff..b8eabb8 100644
--- a/build.xml
+++ b/build.xml
@@ -532,7 +532,7 @@
   
 
   
-  
+  
   
   
   
diff --git a/src/java/org/apache/cassandra/concurrent/ExecutorFactory.java 
b/src/java/org/apache/cassandra/concurrent/ExecutorFactory.java
index 9c7a2cf..52ba94a 100644
--- a/src/java/org/apache/cassandra/concurrent/ExecutorFactory.java
+++ b/src/java/org/apache/cassandra/concurrent/ExecutorFactory.java
@@ -146,7 +146,7 @@ public interface ExecutorFactory extends 
ExecutorBuilderFactory.Jmxable
 {
-private static final FileSystem filesystem = FileSystems.getDefault();
+private static FileSystem filesystem = FileSystems.getDefault();
+
 public enum WriteMode { OVERWRITE, APPEND }
 
 public static String pathSeparator()
@@ -604,5 +605,10 @@ public class File implements Comparable
 throw new IllegalStateException("Cannot read from an empty path");
 return path;
 }
+
+public static void unsafeSetFilesystem(FileSystem fs)
+{
+filesystem = fs;
+}
 }
 
diff --git a/src/java/org/apache/cassandra/triggers/TriggerExecutor.java 
b/src/java/org/apache/cassandra/triggers/TriggerExecutor.java
index 298ac56..c76c6bd 100644
--- a/src/java/org/apache/cassandra/triggers/TriggerExecutor.java
+++ b/src/java/org/apache/cassandra/triggers/TriggerExecutor.java
@@ -44,7 +44,7 @@ public class TriggerExecutor
 public static final TriggerExecutor instance = new TriggerExecutor();
 
 private final Map cachedTriggers = 
Maps.newConcurrentMap();
-private final ClassLoader parent = 
Thread.currentThread().getContextClassLoader();
+private final ClassLoader parent = TriggerExecutor.class.getClassLoader();
 private volatile ClassLoader customClassLoader;
 
 private TriggerExecutor()
diff --git a/test/distributed/org/apache/cassandra/distributed/Cluster.java 
b/test/distributed/org/apache/cassandra/distributed/Cluster.java
index a613fc5..05ea799 100644
--- a/test/distributed/org/apache/cassandra/distributed/Cluster.java
+++ b/test/distributed/org/apache/cassandra/distributed/Cluster.java
@@ -34,7 +34,6 @@ import org.apache.cassandra.distributed.shared.Versions;
 @Shared
 public class Cluster extends AbstractCluster
 {
-
 private Cluster(Builder builder)
 {
 super(builder);
diff --git 
a/test/distributed/org/apache/cassandra/distributed/impl/AbstractCluster.java 
b/test/distributed/org/apache/cassandra/distributed/impl/AbstractCluster.java
index eca9088..2f146bf 100644
--- 
a/test/distributed/org/apache/cassandra/distributed/impl/AbstractCluster.java
+++ 
b/test/distributed/org/apache/cassandra/distributed/impl/AbstractCluster.java
@@ -20,6 +20,9 @@ package org.apache.cassandra.distributed.impl;
 
 import java.lang.annotation.Annotation;
 import java.net.InetSocketAddress;
+import java.nio.file.FileSystem;
+import java.nio.file.Files;
+import java.nio.fil

[cassandra] 04/06: [CASSANDRA-16928] CEP-10 Phase 1: InetAddressAndPort extends InetSocketAddress

2021-10-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 aae7e8b07c84476de893b473a13cdc6d9e260573
Author: Benedict Elliott Smith 
AuthorDate: Fri Apr 16 12:01:25 2021 +0100

[CASSANDRA-16928] CEP-10 Phase 1: InetAddressAndPort extends 
InetSocketAddress

patch by Benedict; reviewed by Sam Tunnicliffe, Caleb Rackliffe and Aleksei 
Zotov for CASSANDRA-16928
---
 .../org/apache/cassandra/audit/AuditLogEntry.java  |   6 +-
 .../org/apache/cassandra/db/SystemKeyspace.java|  37 +++
 .../db/virtual/InternodeInboundTable.java  |   2 +-
 .../db/virtual/InternodeOutboundTable.java |   2 +-
 .../dht/tokenallocator/OfflineTokenAllocator.java  |   2 +-
 .../cassandra/locator/DynamicEndpointSnitch.java   |   2 +-
 .../cassandra/locator/Ec2MultiRegionSnitch.java|   2 +-
 .../apache/cassandra/locator/IEndpointSnitch.java  |   6 ++
 .../cassandra/locator/InetAddressAndPort.java  | 113 -
 .../cassandra/locator/RackInferringSnitch.java |   4 +-
 .../cassandra/net/InboundConnectionInitiator.java  |   2 +-
 .../cassandra/net/InboundConnectionSettings.java   |   8 +-
 .../cassandra/net/OutboundConnectionInitiator.java |   4 +-
 .../cassandra/net/OutboundConnectionSettings.java  |   2 +-
 .../org/apache/cassandra/net/SocketFactory.java|   2 +-
 .../repair/SystemDistributedKeyspace.java  |   2 +-
 .../repair/consistent/LocalSessionInfo.java|   2 +-
 .../cassandra/repair/consistent/LocalSessions.java |   6 +-
 .../cassandra/schema/SchemaAnnouncementEvent.java  |   4 +-
 .../apache/cassandra/service/StorageService.java   |  29 +++---
 .../cassandra/service/TruncateResponseHandler.java |   2 +-
 .../service/reads/repair/ReadRepairEvent.java  |   4 +-
 .../management/ProgressInfoCompositeData.java  |   4 +-
 .../SessionCompleteEventCompositeData.java |   4 +-
 .../management/SessionInfoCompositeData.java   |   8 +-
 .../cassandra/tools/nodetool/HostStatWithPort.java |   4 +-
 .../apache/cassandra/tracing/TraceKeyspace.java|   8 +-
 src/java/org/apache/cassandra/transport/Event.java |  10 +-
 .../org/apache/cassandra/transport/Server.java |   2 +-
 .../cassandra/transport/messages/ErrorMessage.java |   4 +-
 .../org/apache/cassandra/utils/FBUtilities.java|   2 +-
 src/java/org/apache/cassandra/utils/Mx4jTool.java  |   2 +-
 src/java/org/apache/cassandra/utils/UUIDGen.java   |   2 +-
 .../distributed/impl/DistributedTestSnitch.java|   2 +-
 .../cassandra/distributed/impl/Instance.java   |   4 +-
 .../cassandra/distributed/test/StreamingTest.java  |   8 +-
 .../cassandra/audit/AuditLoggerAuthTest.java   |   4 +-
 .../cassandra/dht/RangeFetchMapCalculatorTest.java |   2 +-
 .../org/apache/cassandra/gms/GossiperTest.java |   6 +-
 .../locator/InetAddressAndPortSerializerTest.java  |   4 +-
 .../cassandra/locator/InetAddressAndPortTest.java  |  16 +--
 .../apache/cassandra/net/ForwardingInfoTest.java   |   4 +-
 .../apache/cassandra/net/MessagingServiceTest.java |  12 +--
 .../org/apache/cassandra/repair/RepairJobTest.java |   8 +-
 .../service/WriteResponseHandlerTest.java  |   2 +-
 .../service/WriteResponseHandlerTransientTest.java |   2 +-
 .../cassandra/transport/CQLUserAuditTest.java  |   6 +-
 47 files changed, 200 insertions(+), 173 deletions(-)

diff --git a/src/java/org/apache/cassandra/audit/AuditLogEntry.java 
b/src/java/org/apache/cassandra/audit/AuditLogEntry.java
index 3a015c5..02db076 100644
--- a/src/java/org/apache/cassandra/audit/AuditLogEntry.java
+++ b/src/java/org/apache/cassandra/audit/AuditLogEntry.java
@@ -76,10 +76,10 @@ public class AuditLogEntry
 StringBuilder builder = new StringBuilder(100);
 builder.append("user:").append(user)
.append("|host:").append(host)
-   .append("|source:").append(source.address);
-if (source.port > 0)
+   .append("|source:").append(source.getAddress());
+if (source.getPort() > 0)
 {
-builder.append("|port:").append(source.port);
+builder.append("|port:").append(source.getPort());
 }
 
 builder.append("|timestamp:").append(timestamp)
diff --git a/src/java/org/apache/cassandra/db/SystemKeyspace.java 
b/src/java/org/apache/cassandra/db/SystemKeyspace.java
index a7cbe40..7e8c2b5 100644
--- a/src/java/org/apache/cassandra/db/SystemKeyspace.java
+++ b/src/java/org/apache/cassandra/db/SystemKeyspace.java
@@ -20,6 +20,7 @@ package org.apache.cassandra.db;
 import java.io.IOError;
 import java.io.IOException;
 import java.net.InetAddress;
+import java.net.InetSocketAddress;
 import java.nio.ByteBuffer;
 import java.time.Instant;
 import java.util.*;
@@ -36,7 +37,7 @@ import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.SetMultimap;
 import com.google.common.collect.Sets;
 import 

[cassandra] branch trunk updated (f5fb1b0 -> 5b82447)

2021-10-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.


omit f5fb1b0  [CASSANDRA-17013] CEP-10 Phase 1: in-jvm-dtest-api changes 
and version bump
omit 50278db  [CASSANDRA-16927] CEP-10 Phase 1: Refactor Streaming
omit e2721b0  [CASSANDRA-16928] CEP-10 Phase 1: InetAddressAndPort extends 
InetSocketAddress
omit 767f98e  [CASSANDRA-16926] CEP-10 Phase 1: Mockable Filesystem
omit e215d2a  [CASSANDRA-16925] CEP-10 Phase 1: Mockable Task Execution
omit 5c3a05a  [CASSANDRA-16924] CEP-10 Phase 1: Mockable Blocking 
Concurrency Primitives
 new e5b92e1  [CASSANDRA-16924] CEP-10 Phase 1: Mockable Blocking 
Concurrency Primitives
 new be1f050  [CASSANDRA-16925] CEP-10 Phase 1: Mockable Task Execution
 new 6a1d9de  [CASSANDRA-16926] CEP-10 Phase 1: Mockable Filesystem
 new aae7e8b  [CASSANDRA-16928] CEP-10 Phase 1: InetAddressAndPort extends 
InetSocketAddress
 new 6812fdd  [CASSANDRA-16927] CEP-10 Phase 1: Refactor Streaming
 new 5b82447  [CASSANDRA-17013] CEP-10 Phase 1: in-jvm-dtest-api changes 
and version bump

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (f5fb1b0)
\
 N -- N -- N   refs/heads/trunk (5b82447)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 6 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



[jira] [Commented] (CASSANDRA-16983) Separating CQLSH credentials from the cqlshrc file

2021-10-07 Thread Brandon Williams (Jira)


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

Brandon Williams commented on CASSANDRA-16983:
--

bq. what do you think about the complete removal of Windows from cqlsh?

I think Dinesh makes a good point, users interested in Windows support are best 
served by the project as a whole via WSL, so cqlsh should follow suit.

> Separating CQLSH credentials from the cqlshrc file
> --
>
> Key: CASSANDRA-16983
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16983
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tool/cqlsh
>Reporter: Bowen Song
>Assignee: Bowen Song
>Priority: Normal
>  Labels: lhf
>  Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> Currently, the CQLSH tool accepts credentials (username & password) from the 
> following 3 places:
> 1. the command line parameter "-p"
> 2. the cqlshrc file
> 3. prompt the user
> This is not ideal.
> Credentials in the command line is a security risk, because it could be see 
> by other users on a shared system.
> The cqlshrc file is better, but still not good enough. Because the cqlshrc 
> file is a config file,  it's often acceptable to have it as a world readable 
> file, and share it with other users. It also prevents user from having 
> multiple sets of credentials, either for the same Cassandra cluster or 
> different clusters.
> To improve the security of CQLSH and make it secure by design, I purpose the 
> following changes:
> * Warn the user if a password is giving in the command line, and recommend 
> them to use a credential file instead
> * Warn the user if credentials are present in the cqlshrc file and the 
> cqlshrc file is not secure (e.g.: world readable or owned by a different user)
> * Deprecate credentials in the cqlshrc, and recommend the user to move them 
> to a separate credential file. The aim is to not break anything at the 
> moment, but eventually stop accepting credentials from the cqlshrc file.
> * Reject the credentials file if it's not secure, and tell the user how to 
> secure it. Optionally, prompt the user for password if it's an interactive 
> session. (Think how does OpenSSH handle insecure credential files)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (CASSANDRA-17016) Allow reverse iteration of resources during permissions checking

2021-10-07 Thread Aleksei Zotov (Jira)


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

Aleksei Zotov updated CASSANDRA-17016:
--
Authors: Aleksei Zotov, Josh McKenzie  (was: Josh McKenzie)

> Allow reverse iteration of resources during permissions checking
> 
>
> Key: CASSANDRA-17016
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17016
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Feature/Authorization
>Reporter: Josh McKenzie
>Assignee: Josh McKenzie
>Priority: Normal
>
> When we perform authz checks for AuthenticatedUser on a given resource, we 
> traverse the resource hierarchy until we either find the required permission 
> or we exhaust the traversal. This goes from most specific resource (i.e. 
> iResource we're interested in) to the broadest (the root for that iResource 
> type).
> Since permissions are a whitelist it isn't possible for a permission granted 
> on a more specific resource to be negated or overridden by a grant on a 
> resource lower in the hierarchy towards the root. For example, for 
> DataResource, the hierarchy goes:
> {code:java}
> root -> keyspace -> table{code}
> So for instance if we:
>  
> {code:java}
> GRANT ALL ON KEYSPACE ks TO admin_user; 
> {code}
>  It is impossible to grant admin_user any set of permissions more restrictive 
> than ALL on ks.
> When a request comes in for a user with permissions on a ks for example, you 
> can have a path of:
>  # Validate SELECT on t1
>  # Then check for SELECT on ks
>  # Then check for permissions on 'root'
> These unnecessary lookups can negate some of the benefits of caching (and 
> pre-warming, which another ticket is in flight for), and lead to issues on 
> bounces with timeouts.
> Additionally, the permissions cache ends up storing far more entries than 
> necessary, as a subsequent request for ks.t2 by user_x will go through the 
> same process and create a second cache entry etc.
> So all this said - this is something we should allow operators to opt-in to; 
> impact and performance is going to be highly dependent on the pattern of 
> authentication granting and usage on a cluster.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (CASSANDRA-17016) Allow reverse iteration of resources during permissions checking

2021-10-07 Thread Aleksei Zotov (Jira)


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

Aleksei Zotov commented on CASSANDRA-17016:
---

I feel some small improvements can be made, so I posted a few comments to the 
PR. 

> Allow reverse iteration of resources during permissions checking
> 
>
> Key: CASSANDRA-17016
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17016
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Feature/Authorization
>Reporter: Josh McKenzie
>Assignee: Josh McKenzie
>Priority: Normal
>
> When we perform authz checks for AuthenticatedUser on a given resource, we 
> traverse the resource hierarchy until we either find the required permission 
> or we exhaust the traversal. This goes from most specific resource (i.e. 
> iResource we're interested in) to the broadest (the root for that iResource 
> type).
> Since permissions are a whitelist it isn't possible for a permission granted 
> on a more specific resource to be negated or overridden by a grant on a 
> resource lower in the hierarchy towards the root. For example, for 
> DataResource, the hierarchy goes:
> {code:java}
> root -> keyspace -> table{code}
> So for instance if we:
>  
> {code:java}
> GRANT ALL ON KEYSPACE ks TO admin_user; 
> {code}
>  It is impossible to grant admin_user any set of permissions more restrictive 
> than ALL on ks.
> When a request comes in for a user with permissions on a ks for example, you 
> can have a path of:
>  # Validate SELECT on t1
>  # Then check for SELECT on ks
>  # Then check for permissions on 'root'
> These unnecessary lookups can negate some of the benefits of caching (and 
> pre-warming, which another ticket is in flight for), and lead to issues on 
> bounces with timeouts.
> Additionally, the permissions cache ends up storing far more entries than 
> necessary, as a subsequent request for ks.t2 by user_x will go through the 
> same process and create a second cache entry etc.
> So all this said - this is something we should allow operators to opt-in to; 
> impact and performance is going to be highly dependent on the pattern of 
> authentication granting and usage on a cluster.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (CASSANDRA-16983) Separating CQLSH credentials from the cqlshrc file

2021-10-07 Thread Stefan Miklosovic (Jira)


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

Stefan Miklosovic commented on CASSANDRA-16983:
---

That's the vibe I am getting from [~djoshi]. I am on the fence here, I 
personaly do not mind to drop it completely and a user would have to use WSL if 
she needs that. We need some arbiter in this matter. [~brandon.williams] what 
do you think about the complete removal of Windows from cqlsh?

> Separating CQLSH credentials from the cqlshrc file
> --
>
> Key: CASSANDRA-16983
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16983
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tool/cqlsh
>Reporter: Bowen Song
>Assignee: Bowen Song
>Priority: Normal
>  Labels: lhf
>  Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> Currently, the CQLSH tool accepts credentials (username & password) from the 
> following 3 places:
> 1. the command line parameter "-p"
> 2. the cqlshrc file
> 3. prompt the user
> This is not ideal.
> Credentials in the command line is a security risk, because it could be see 
> by other users on a shared system.
> The cqlshrc file is better, but still not good enough. Because the cqlshrc 
> file is a config file,  it's often acceptable to have it as a world readable 
> file, and share it with other users. It also prevents user from having 
> multiple sets of credentials, either for the same Cassandra cluster or 
> different clusters.
> To improve the security of CQLSH and make it secure by design, I purpose the 
> following changes:
> * Warn the user if a password is giving in the command line, and recommend 
> them to use a credential file instead
> * Warn the user if credentials are present in the cqlshrc file and the 
> cqlshrc file is not secure (e.g.: world readable or owned by a different user)
> * Deprecate credentials in the cqlshrc, and recommend the user to move them 
> to a separate credential file. The aim is to not break anything at the 
> moment, but eventually stop accepting credentials from the cqlshrc file.
> * Reject the credentials file if it's not secure, and tell the user how to 
> secure it. Optionally, prompt the user for password if it's an interactive 
> session. (Think how does OpenSSH handle insecure credential files)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (CASSANDRA-16983) Separating CQLSH credentials from the cqlshrc file

2021-10-07 Thread Bowen Song (Jira)


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

Bowen Song commented on CASSANDRA-16983:


[~stefan.miklosovic] Are you saying that CQLSH should drop the support for 
Windows? Because if I remove all Windows related stuff from my PR, credentials 
file will not work on Windows for sure.

> Separating CQLSH credentials from the cqlshrc file
> --
>
> Key: CASSANDRA-16983
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16983
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tool/cqlsh
>Reporter: Bowen Song
>Assignee: Bowen Song
>Priority: Normal
>  Labels: lhf
>  Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> Currently, the CQLSH tool accepts credentials (username & password) from the 
> following 3 places:
> 1. the command line parameter "-p"
> 2. the cqlshrc file
> 3. prompt the user
> This is not ideal.
> Credentials in the command line is a security risk, because it could be see 
> by other users on a shared system.
> The cqlshrc file is better, but still not good enough. Because the cqlshrc 
> file is a config file,  it's often acceptable to have it as a world readable 
> file, and share it with other users. It also prevents user from having 
> multiple sets of credentials, either for the same Cassandra cluster or 
> different clusters.
> To improve the security of CQLSH and make it secure by design, I purpose the 
> following changes:
> * Warn the user if a password is giving in the command line, and recommend 
> them to use a credential file instead
> * Warn the user if credentials are present in the cqlshrc file and the 
> cqlshrc file is not secure (e.g.: world readable or owned by a different user)
> * Deprecate credentials in the cqlshrc, and recommend the user to move them 
> to a separate credential file. The aim is to not break anything at the 
> moment, but eventually stop accepting credentials from the cqlshrc file.
> * Reject the credentials file if it's not secure, and tell the user how to 
> secure it. Optionally, prompt the user for password if it's an interactive 
> session. (Think how does OpenSSH handle insecure credential files)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (CASSANDRA-16932) Gossip Fixes

2021-10-07 Thread Benedict Elliott Smith (Jira)


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

Benedict Elliott Smith updated CASSANDRA-16932:
---
Status: Ready to Commit  (was: Review In Progress)

> Gossip Fixes
> 
>
> Key: CASSANDRA-16932
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16932
> Project: Cassandra
>  Issue Type: Bug
>  Components: Cluster/Gossip
>Reporter: Benedict Elliott Smith
>Assignee: Benedict Elliott Smith
>Priority: Normal
>
> Testing with CEP-10 discovered faults with gossip where status updates may be 
> processed in an order that invalidates their application. These fixes are 
> necessary for simulation to run correctly, but also potentially affect gossip 
> time to settle.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (CASSANDRA-16932) Gossip Fixes

2021-10-07 Thread Benedict Elliott Smith (Jira)


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

Benedict Elliott Smith updated CASSANDRA-16932:
---
Test and Documentation Plan: Simulator discovered this flaw, and is being 
provided in a follow-up ticket
 Status: Patch Available  (was: Open)

> Gossip Fixes
> 
>
> Key: CASSANDRA-16932
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16932
> Project: Cassandra
>  Issue Type: Bug
>  Components: Cluster/Gossip
>Reporter: Benedict Elliott Smith
>Assignee: Benedict Elliott Smith
>Priority: Normal
>
> Testing with CEP-10 discovered faults with gossip where status updates may be 
> processed in an order that invalidates their application. These fixes are 
> necessary for simulation to run correctly, but also potentially affect gossip 
> time to settle.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (CASSANDRA-16932) Gossip Fixes

2021-10-07 Thread Benedict Elliott Smith (Jira)


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

Benedict Elliott Smith updated CASSANDRA-16932:
---
Reviewers: Sam Tunnicliffe, Benedict Elliott Smith  (was: Benedict Elliott 
Smith, Sam Tunnicliffe)
   Sam Tunnicliffe, Benedict Elliott Smith  (was: Sam Tunnicliffe)
   Status: Review In Progress  (was: Patch Available)

> Gossip Fixes
> 
>
> Key: CASSANDRA-16932
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16932
> Project: Cassandra
>  Issue Type: Bug
>  Components: Cluster/Gossip
>Reporter: Benedict Elliott Smith
>Assignee: Benedict Elliott Smith
>Priority: Normal
>
> Testing with CEP-10 discovered faults with gossip where status updates may be 
> processed in an order that invalidates their application. These fixes are 
> necessary for simulation to run correctly, but also potentially affect gossip 
> time to settle.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[cassandra-dtest] branch trunk updated (c2256c7 -> 2d0b7d3)

2021-10-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-dtest.git.


from c2256c7  Unify sstableverify test across versions and fix, use single 
node.
 add 6016da3  CASSANDRA-16928: fix byteman compilation
 add 2d0b7d3  CASSANDRA 16927: 4.0 uses SO_KEEPALIVE so no need to monitor 
keep-alive messages

No new revisions were added by this update.

Summary of changes:
 bootstrap_test.py  | 9 +
 byteman/request_verb_timing.btm| 4 ++--
 upgrade_tests/upgrade_through_versions_test.py | 6 --
 3 files changed, 11 insertions(+), 8 deletions(-)

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



[jira] [Updated] (CASSANDRA-17013) CEP-10: dtest-api improvements

2021-10-07 Thread Benedict Elliott Smith (Jira)


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

Benedict Elliott Smith updated CASSANDRA-17013:
---
  Fix Version/s: 4.x
Source Control Link: 
[f5fb1b0bd32b5dc7da13ec66d43acbdad7fe9dbf|https://github.com/apache/cassandra/commit/f5fb1b0bd32b5dc7da13ec66d43acbdad7fe9dbf]
 Resolution: Fixed
 Status: Resolved  (was: Ready to Commit)

> CEP-10: dtest-api improvements
> --
>
> Key: CASSANDRA-17013
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17013
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Test/dtest/java
>Reporter: Benedict Elliott Smith
>Assignee: Benedict Elliott Smith
>Priority: Normal
>  Labels: pull-request-available
> Fix For: 4.x
>
>
> Introduce new dtest-api features to support CEP-10, including byte weaving 
> support, support for Path objects specifying location, and other minor 
> ergonomic improvements



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (CASSANDRA-16927) Mockable Streaming

2021-10-07 Thread Benedict Elliott Smith (Jira)


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

Benedict Elliott Smith updated CASSANDRA-16927:
---
Source Control Link: 
[50278db72bda760c6fcfee5007e630aed4870658|https://github.com/apache/cassandra/commit/50278db72bda760c6fcfee5007e630aed4870658]
  (was: 
[e2721b05ab44183baa2cd4bde9b20862c0eadc90|https://github.com/apache/cassandra/commit/e2721b05ab44183baa2cd4bde9b20862c0eadc90])

> Mockable Streaming
> --
>
> Key: CASSANDRA-16927
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16927
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Legacy/Streaming and Messaging
>Reporter: Benedict Elliott Smith
>Assignee: Benedict Elliott Smith
>Priority: Normal
> Fix For: 4.x
>
>
> To support CEP-10 it is necessary to support alternative streaming 
> implementations, so that execution may be controlled. The ticket encompasses 
> two sub-tickets: firstly we make InetAddressAndPort extend InetAddress so 
> that we may 2) introduce a cross-classloader API for establishing a streaming 
> connection and sending data over it.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (CASSANDRA-16927) Mockable Streaming

2021-10-07 Thread Benedict Elliott Smith (Jira)


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

Benedict Elliott Smith updated CASSANDRA-16927:
---
  Fix Version/s: 4.x
Source Control Link: 
[e2721b05ab44183baa2cd4bde9b20862c0eadc90|https://github.com/apache/cassandra/commit/e2721b05ab44183baa2cd4bde9b20862c0eadc90]
 Resolution: Fixed
 Status: Resolved  (was: Ready to Commit)

> Mockable Streaming
> --
>
> Key: CASSANDRA-16927
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16927
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Legacy/Streaming and Messaging
>Reporter: Benedict Elliott Smith
>Assignee: Benedict Elliott Smith
>Priority: Normal
> Fix For: 4.x
>
>
> To support CEP-10 it is necessary to support alternative streaming 
> implementations, so that execution may be controlled. The ticket encompasses 
> two sub-tickets: firstly we make InetAddressAndPort extend InetAddress so 
> that we may 2) introduce a cross-classloader API for establishing a streaming 
> connection and sending data over it.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (CASSANDRA-16928) InetAddressAndPort to extend InetAddress

2021-10-07 Thread Benedict Elliott Smith (Jira)


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

Benedict Elliott Smith updated CASSANDRA-16928:
---
  Fix Version/s: 4.x
Source Control Link: 
[e2721b05ab44183baa2cd4bde9b20862c0eadc90|https://github.com/apache/cassandra/commit/e2721b05ab44183baa2cd4bde9b20862c0eadc90]
 Resolution: Fixed
 Status: Resolved  (was: Ready to Commit)

> InetAddressAndPort to extend InetAddress
> 
>
> Key: CASSANDRA-16928
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16928
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Legacy/Core
>Reporter: Benedict Elliott Smith
>Assignee: Benedict Elliott Smith
>Priority: Normal
> Fix For: 4.x
>
>
> Logically InetAddressAndPort encapsulates the same information as a simple 
> InetAddress. Importantly, InetAddressAndPort cannot easily be unpicked from 
> its dependencies that prohibit it being shared between classloaders. So our 
> in-jvm dtest API instead uses SocketAddress. To support a clean and efficient 
> Streaming API we need to be able to treat InetAddressAndPort as such a 
> cross-classloader type.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (CASSANDRA-16926) Mockable FileSystem

2021-10-07 Thread Benedict Elliott Smith (Jira)


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

Benedict Elliott Smith updated CASSANDRA-16926:
---
  Fix Version/s: 4.x
Source Control Link: 
[767f98e1b7e6a6f2662406cf6d472b1c96150121|https://github.com/apache/cassandra/commit/767f98e1b7e6a6f2662406cf6d472b1c96150121]
 Resolution: Fixed
 Status: Resolved  (was: Ready to Commit)

> Mockable FileSystem
> ---
>
> Key: CASSANDRA-16926
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16926
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Legacy/Core
>Reporter: Benedict Elliott Smith
>Assignee: Benedict Elliott Smith
>Priority: Normal
> Fix For: 4.x
>
>
> To support CEP-10 it is necessary to support alternative file system 
> implementations so that execution may be consistent between hosts. This 
> ticket introduces a new File API backed by Path objects, and all File usages 
> are ported to it. This necessitates the migration away from 
> RandomAccessReader, but otherwise the change is mostly straight-forward, if 
> quite expansive.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (CASSANDRA-16925) Task Execution

2021-10-07 Thread Benedict Elliott Smith (Jira)


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

Benedict Elliott Smith updated CASSANDRA-16925:
---
  Fix Version/s: 4.x
Source Control Link: 
[e215d2a5b25991b47cec66cc1a970d835b89005b|https://github.com/apache/cassandra/commit/e215d2a5b25991b47cec66cc1a970d835b89005b]
 Resolution: Fixed
 Status: Resolved  (was: Ready to Commit)

> Task Execution
> --
>
> Key: CASSANDRA-16925
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16925
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Legacy/Core
>Reporter: Benedict Elliott Smith
>Assignee: Benedict Elliott Smith
>Priority: Normal
> Fix For: 4.x
>
>
> To support CEP-10 it is necessary to support alternative executor 
> implementations that may be externally controlled. This ticket introduces an 
> ExecutorFactory, and all executor creation is migrated to this facility. The 
> codebase’s use of executors is inconsistent, and relatedly there are 
> divergent Future APIs in use, with Netty, Guava and Java APIs in use in 
> various places. To improve consistency we introduce our own Future API that 
> implements all of the above, as well as providing other additional ergonomic 
> improvements. We introduce a new ExecutorPlus API that extends Executor to 
> supply this extended Future API. All executors and futures are ported to 
> these new APIs to improve coherency in the codebase, and to support 
> consistently mocking these implementations.
> DebuggableThreadPoolExecutor and its hierarchy is replaced with 
> ThreadPoolExecutorBase, ThreadPoolExecutorPlus and extending classes with 
> consistent names, implementations and configurability.
> Additionally the ExecutorFactory takes over the allocation of new threads, 
> and provides a new InfiniteLoopExecutorfacility for common paradigms.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (CASSANDRA-16924) Blocking Concurrency Primitives

2021-10-07 Thread Benedict Elliott Smith (Jira)


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

Benedict Elliott Smith updated CASSANDRA-16924:
---
  Fix Version/s: 4.x
Source Control Link: 
[5c3a05a5787f7ab0b46e3a6401d64f376f6c9d9f|https://github.com/apache/cassandra/commit/5c3a05a5787f7ab0b46e3a6401d64f376f6c9d9f]
 Resolution: Fixed
 Status: Resolved  (was: Ready to Commit)

> Blocking Concurrency Primitives
> ---
>
> Key: CASSANDRA-16924
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16924
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Legacy/Core
>Reporter: Benedict Elliott Smith
>Assignee: Benedict Elliott Smith
>Priority: Normal
> Fix For: 4.x
>
>
> To support CEP-10 it is necessary to support alternative implementations of 
> the blocking concurrency primitives we use on the project. At the same time, 
> the project is very inconsistent in its usage of these APIs, so this work 
> includes a number of improvements to the coherency of the codebase. 
> This ticket introduces new abstractions and standardises old ones, migrating 
> all blocking concurrency operations besides Futures returned by Executors to 
> these new APIs. This includes a migration of SimpleCondition to a new 
> Conditioninterface, new CountDownLatch and Semaphore interfaces, and new 
> static factory methods for creating these objects (as well as WaitQueue) that 
> can be intercepted by byte weaving. Additionally the internal Netty Future 
> implementation is improved to support more general use (though this is only 
> fully realised in a later ticket), OpOrder is improved to more easily support 
> mocking WaitQueue.
> Finally we standardise the propagation of InterruptedExecption, with the new 
> UncheckedInterruptedException, so that simulations may be terminated cleanly.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (CASSANDRA-16922) CEP-10: Major Prerequisites (Phase 1)

2021-10-07 Thread Benedict Elliott Smith (Jira)


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

Benedict Elliott Smith updated CASSANDRA-16922:
---
  Fix Version/s: 4.x
Source Control Link: 
[f5fb1b0bd32b5dc7da13ec66d43acbdad7fe9dbf|https://github.com/apache/cassandra/commit/f5fb1b0bd32b5dc7da13ec66d43acbdad7fe9dbf]
 Resolution: Fixed
 Status: Resolved  (was: Ready to Commit)

> CEP-10: Major Prerequisites (Phase 1)
> -
>
> Key: CASSANDRA-16922
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16922
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Test/burn
>Reporter: Benedict Elliott Smith
>Priority: Normal
> Fix For: 4.x
>
>
> This is a tracking Jira for major pre-requisite system refactors for CEP-10



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[cassandra] 06/06: [CASSANDRA-17013] CEP-10 Phase 1: in-jvm-dtest-api changes and version bump

2021-10-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 f5fb1b0bd32b5dc7da13ec66d43acbdad7fe9dbf
Author: Benedict Elliott Smith 
AuthorDate: Thu Jul 29 18:06:32 2021 +0100

[CASSANDRA-17013] CEP-10 Phase 1: in-jvm-dtest-api changes and version bump
---
 build.xml  |   2 +-
 .../cassandra/concurrent/ExecutorFactory.java  |   2 +-
 .../cql3/functions/JavaBasedUDFunction.java|   1 +
 .../cassandra/cql3/functions/UDFunction.java   |   2 +-
 .../org/apache/cassandra/gms/EndpointState.java|   5 +-
 src/java/org/apache/cassandra/gms/Gossiper.java|  10 +
 .../org/apache/cassandra/gms/HeartBeatState.java   |   5 +-
 .../cassandra/io/sstable/format/SSTableReader.java |   2 +
 src/java/org/apache/cassandra/io/util/File.java|   8 +-
 .../apache/cassandra/triggers/TriggerExecutor.java |   2 +-
 .../org/apache/cassandra/distributed/Cluster.java  |   1 -
 .../distributed/impl/AbstractCluster.java  | 103 +-
 .../cassandra/distributed/impl/Coordinator.java|   4 +-
 .../impl/DelegatingInvokableInstance.java  |  62 
 .../impl/DirectStreamingConnectionFactory.java | 386 +
 .../cassandra/distributed/impl/Instance.java   | 247 ++---
 .../cassandra/distributed/impl/InstanceConfig.java |  22 +-
 .../cassandra/distributed/impl/InstanceKiller.java |   1 +
 .../distributed/impl/IsolatedExecutor.java |  95 +++--
 .../apache/cassandra/distributed/impl/Query.java   | 110 ++
 .../distributed/impl/UnsafeGossipHelper.java   | 265 ++
 .../apache/cassandra/distributed/test/CASTest.java |  32 +-
 .../distributed/upgrade/UpgradeTestBase.java   |   3 +-
 .../cassandra/db/RangeTombstoneListTest.java   |   3 +-
 .../utils/concurrent/ImmediateFutureTest.java  |   3 +-
 25 files changed, 1141 insertions(+), 235 deletions(-)

diff --git a/build.xml b/build.xml
index f5acaff..b8eabb8 100644
--- a/build.xml
+++ b/build.xml
@@ -532,7 +532,7 @@
   
 
   
-  
+  
   
   
   
diff --git a/src/java/org/apache/cassandra/concurrent/ExecutorFactory.java 
b/src/java/org/apache/cassandra/concurrent/ExecutorFactory.java
index 9c7a2cf..52ba94a 100644
--- a/src/java/org/apache/cassandra/concurrent/ExecutorFactory.java
+++ b/src/java/org/apache/cassandra/concurrent/ExecutorFactory.java
@@ -146,7 +146,7 @@ public interface ExecutorFactory extends 
ExecutorBuilderFactory.Jmxable
 {
-private static final FileSystem filesystem = FileSystems.getDefault();
+private static FileSystem filesystem = FileSystems.getDefault();
+
 public enum WriteMode { OVERWRITE, APPEND }
 
 public static String pathSeparator()
@@ -604,5 +605,10 @@ public class File implements Comparable
 throw new IllegalStateException("Cannot read from an empty path");
 return path;
 }
+
+public static void unsafeSetFilesystem(FileSystem fs)
+{
+filesystem = fs;
+}
 }
 
diff --git a/src/java/org/apache/cassandra/triggers/TriggerExecutor.java 
b/src/java/org/apache/cassandra/triggers/TriggerExecutor.java
index 298ac56..c76c6bd 100644
--- a/src/java/org/apache/cassandra/triggers/TriggerExecutor.java
+++ b/src/java/org/apache/cassandra/triggers/TriggerExecutor.java
@@ -44,7 +44,7 @@ public class TriggerExecutor
 public static final TriggerExecutor instance = new TriggerExecutor();
 
 private final Map cachedTriggers = 
Maps.newConcurrentMap();
-private final ClassLoader parent = 
Thread.currentThread().getContextClassLoader();
+private final ClassLoader parent = TriggerExecutor.class.getClassLoader();
 private volatile ClassLoader customClassLoader;
 
 private TriggerExecutor()
diff --git a/test/distributed/org/apache/cassandra/distributed/Cluster.java 
b/test/distributed/org/apache/cassandra/distributed/Cluster.java
index a613fc5..05ea799 100644
--- a/test/distributed/org/apache/cassandra/distributed/Cluster.java
+++ b/test/distributed/org/apache/cassandra/distributed/Cluster.java
@@ -34,7 +34,6 @@ import org.apache.cassandra.distributed.shared.Versions;
 @Shared
 public class Cluster extends AbstractCluster
 {
-
 private Cluster(Builder builder)
 {
 super(builder);
diff --git 
a/test/distributed/org/apache/cassandra/distributed/impl/AbstractCluster.java 
b/test/distributed/org/apache/cassandra/distributed/impl/AbstractCluster.java
index eca9088..2f146bf 100644
--- 
a/test/distributed/org/apache/cassandra/distributed/impl/AbstractCluster.java
+++ 
b/test/distributed/org/apache/cassandra/distributed/impl/AbstractCluster.java
@@ -20,6 +20,9 @@ package org.apache.cassandra.distributed.impl;
 
 import java.lang.annotation.Annotation;
 import java.net.InetSocketAddress;
+import java.nio.file.FileSystem;
+import java.nio.file.Files;
+import java.nio.fil

[cassandra] 04/06: [CASSANDRA-16928] CEP-10 Phase 1: InetAddressAndPort extends InetSocketAddress

2021-10-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 e2721b05ab44183baa2cd4bde9b20862c0eadc90
Author: Benedict Elliott Smith 
AuthorDate: Fri Apr 16 12:01:25 2021 +0100

[CASSANDRA-16928] CEP-10 Phase 1: InetAddressAndPort extends 
InetSocketAddress
---
 .../org/apache/cassandra/audit/AuditLogEntry.java  |   6 +-
 .../org/apache/cassandra/db/SystemKeyspace.java|  37 +++
 .../db/virtual/InternodeInboundTable.java  |   2 +-
 .../db/virtual/InternodeOutboundTable.java |   2 +-
 .../dht/tokenallocator/OfflineTokenAllocator.java  |   2 +-
 .../cassandra/locator/DynamicEndpointSnitch.java   |   2 +-
 .../cassandra/locator/Ec2MultiRegionSnitch.java|   2 +-
 .../apache/cassandra/locator/IEndpointSnitch.java  |   6 ++
 .../cassandra/locator/InetAddressAndPort.java  | 113 -
 .../cassandra/locator/RackInferringSnitch.java |   4 +-
 .../cassandra/net/InboundConnectionInitiator.java  |   2 +-
 .../cassandra/net/InboundConnectionSettings.java   |   8 +-
 .../cassandra/net/OutboundConnectionInitiator.java |   4 +-
 .../cassandra/net/OutboundConnectionSettings.java  |   2 +-
 .../org/apache/cassandra/net/SocketFactory.java|   2 +-
 .../repair/SystemDistributedKeyspace.java  |   2 +-
 .../repair/consistent/LocalSessionInfo.java|   2 +-
 .../cassandra/repair/consistent/LocalSessions.java |   6 +-
 .../cassandra/schema/SchemaAnnouncementEvent.java  |   4 +-
 .../apache/cassandra/service/StorageService.java   |  29 +++---
 .../cassandra/service/TruncateResponseHandler.java |   2 +-
 .../service/reads/repair/ReadRepairEvent.java  |   4 +-
 .../management/ProgressInfoCompositeData.java  |   4 +-
 .../SessionCompleteEventCompositeData.java |   4 +-
 .../management/SessionInfoCompositeData.java   |   8 +-
 .../cassandra/tools/nodetool/HostStatWithPort.java |   4 +-
 .../apache/cassandra/tracing/TraceKeyspace.java|   8 +-
 src/java/org/apache/cassandra/transport/Event.java |  10 +-
 .../org/apache/cassandra/transport/Server.java |   2 +-
 .../cassandra/transport/messages/ErrorMessage.java |   4 +-
 .../org/apache/cassandra/utils/FBUtilities.java|   2 +-
 src/java/org/apache/cassandra/utils/Mx4jTool.java  |   2 +-
 src/java/org/apache/cassandra/utils/UUIDGen.java   |   2 +-
 .../distributed/impl/DistributedTestSnitch.java|   2 +-
 .../cassandra/distributed/impl/Instance.java   |   4 +-
 .../cassandra/distributed/test/StreamingTest.java  |   8 +-
 .../cassandra/audit/AuditLoggerAuthTest.java   |   4 +-
 .../cassandra/dht/RangeFetchMapCalculatorTest.java |   2 +-
 .../org/apache/cassandra/gms/GossiperTest.java |   6 +-
 .../locator/InetAddressAndPortSerializerTest.java  |   4 +-
 .../cassandra/locator/InetAddressAndPortTest.java  |  16 +--
 .../apache/cassandra/net/ForwardingInfoTest.java   |   4 +-
 .../apache/cassandra/net/MessagingServiceTest.java |  12 +--
 .../org/apache/cassandra/repair/RepairJobTest.java |   8 +-
 .../service/WriteResponseHandlerTest.java  |   2 +-
 .../service/WriteResponseHandlerTransientTest.java |   2 +-
 .../cassandra/transport/CQLUserAuditTest.java  |   6 +-
 47 files changed, 200 insertions(+), 173 deletions(-)

diff --git a/src/java/org/apache/cassandra/audit/AuditLogEntry.java 
b/src/java/org/apache/cassandra/audit/AuditLogEntry.java
index 3a015c5..02db076 100644
--- a/src/java/org/apache/cassandra/audit/AuditLogEntry.java
+++ b/src/java/org/apache/cassandra/audit/AuditLogEntry.java
@@ -76,10 +76,10 @@ public class AuditLogEntry
 StringBuilder builder = new StringBuilder(100);
 builder.append("user:").append(user)
.append("|host:").append(host)
-   .append("|source:").append(source.address);
-if (source.port > 0)
+   .append("|source:").append(source.getAddress());
+if (source.getPort() > 0)
 {
-builder.append("|port:").append(source.port);
+builder.append("|port:").append(source.getPort());
 }
 
 builder.append("|timestamp:").append(timestamp)
diff --git a/src/java/org/apache/cassandra/db/SystemKeyspace.java 
b/src/java/org/apache/cassandra/db/SystemKeyspace.java
index a7cbe40..7e8c2b5 100644
--- a/src/java/org/apache/cassandra/db/SystemKeyspace.java
+++ b/src/java/org/apache/cassandra/db/SystemKeyspace.java
@@ -20,6 +20,7 @@ package org.apache.cassandra.db;
 import java.io.IOError;
 import java.io.IOException;
 import java.net.InetAddress;
+import java.net.InetSocketAddress;
 import java.nio.ByteBuffer;
 import java.time.Instant;
 import java.util.*;
@@ -36,7 +37,7 @@ import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.SetMultimap;
 import com.google.common.collect.Sets;
 import com.google.common.io.ByteStreams;
-import com.google.common.util.concurrent.ListenableFuture;
+
 import org.apac

[cassandra] branch trunk updated (2e2db4d -> f5fb1b0)

2021-10-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 2e2db4d  Verify correct ownership of attached locations on disk at 
startup
 new 5c3a05a  [CASSANDRA-16924] CEP-10 Phase 1: Mockable Blocking 
Concurrency Primitives
 new e215d2a  [CASSANDRA-16925] CEP-10 Phase 1: Mockable Task Execution
 new 767f98e  [CASSANDRA-16926] CEP-10 Phase 1: Mockable Filesystem
 new e2721b0  [CASSANDRA-16928] CEP-10 Phase 1: InetAddressAndPort extends 
InetSocketAddress
 new 50278db  [CASSANDRA-16927] CEP-10 Phase 1: Refactor Streaming
 new f5fb1b0  [CASSANDRA-17013] CEP-10 Phase 1: in-jvm-dtest-api changes 
and version bump

The 6 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:
 build.xml  |  23 +-
 checkstyle.xml |  42 +-
 checkstyle_suppressions.xml|  34 +-
 .../org/apache/cassandra/audit/AuditLogEntry.java  |   6 +-
 .../cassandra/audit/AuditLogEntryCategory.java |   2 +-
 src/java/org/apache/cassandra/auth/AuthCache.java  |  47 +-
 .../apache/cassandra/auth/AuthenticatedUser.java   |   2 -
 .../apache/cassandra/batchlog/BatchlogManager.java |  13 +-
 .../apache/cassandra/cache/AutoSavingCache.java|  82 +--
 .../AbstractLocalAwareExecutorService.java | 228 ---
 .../DebuggableScheduledThreadPoolExecutor.java | 127 
 .../concurrent/DebuggableThreadPoolExecutor.java   | 426 
 .../cassandra/concurrent/ExecutionFailure.java | 179 +
 .../cassandra/concurrent/ExecutorBuilder.java  |  92 +++
 .../concurrent/ExecutorBuilderFactory.java |  81 +++
 .../cassandra/concurrent/ExecutorFactory.java  | 266 
 .../apache/cassandra/concurrent/ExecutorLocal.java |  43 --
 .../cassandra/concurrent/ExecutorLocals.java   |  85 ++-
 .../apache/cassandra/concurrent/ExecutorPlus.java  | 183 ++
 .../apache/cassandra/concurrent/FutureTask.java| 149 +
 .../concurrent/FutureTaskWithResources.java|  57 ++
 .../cassandra/concurrent/ImmediateExecutor.java| 113 +++-
 .../cassandra/concurrent/InfiniteLoopExecutor.java |  95 ++-
 .../FSError.java => concurrent/Interruptible.java} |  39 +-
 .../concurrent/JMXEnabledSingleThreadExecutor.java |  81 ---
 .../concurrent/JMXEnabledThreadPoolExecutor.java   | 191 --
 .../LocalAwareExecutorPlus.java}   |   9 +-
 .../concurrent/LocalAwareExecutorService.java  |  77 ---
 .../LocalAwareSequentialExecutorPlus.java} |   9 +-
 .../LocalAwareSingleThreadExecutorPlus.java|  14 +-
 .../LocalAwareThreadPoolExecutorPlus.java  |  14 +-
 .../cassandra/concurrent/NamedThreadFactory.java   | 112 +++-
 .../cassandra/concurrent/ResizableThreadPool.java  |  39 +-
 ...orMBean.java => ResizableThreadPoolMXBean.java} |   2 +-
 .../apache/cassandra/concurrent/SEPExecutor.java   |  94 ++-
 .../org/apache/cassandra/concurrent/SEPWorker.java |  10 +-
 .../ScheduledExecutorPlus.java}|  12 +-
 .../cassandra/concurrent/ScheduledExecutors.java   |  14 +-
 .../ScheduledThreadPoolExecutorPlus.java   | 240 +++
 .../concurrent/SequentialExecutorPlus.java |  53 ++
 .../cassandra/concurrent/SharedExecutorPool.java   |  19 +-
 ...{ResizableThreadPool.java => Shutdownable.java} |  21 +-
 .../concurrent/SingleThreadExecutorPlus.java   | 100 +++
 .../org/apache/cassandra/concurrent/Stage.java | 120 ++--
 .../cassandra/concurrent/SyncFutureTask.java   |  70 ++
 .../apache/cassandra/concurrent/TaskFactory.java   | 178 +
 .../concurrent/ThreadPoolExecutorBase.java | 186 ++
 .../concurrent/ThreadPoolExecutorBuilder.java  | 204 ++
 .../concurrent/ThreadPoolExecutorJMXAdapter.java   | 246 +++
 .../concurrent/ThreadPoolExecutorPlus.java | 125 
 .../cassandra/concurrent/WrappedExecutorPlus.java  | 178 +
 .../config/CassandraRelevantProperties.java|   2 +
 .../cassandra/config/DatabaseDescriptor.java   | 101 +--
 .../apache/cassandra/config/EncryptionOptions.java |   1 +
 .../cassandra/config/YamlConfigurationLoader.java  |   8 +-
 src/java/org/apache/cassandra/cql3/CQL3Type.java   |   1 -
 .../cassandra/cql3/conditions/ColumnCondition.java |   2 +-
 .../cassandra/cql3/functions/AbstractFunction.java |   1 -
 .../cql3/functions/JavaBasedUDFunction.java|   3 +-
 .../cql3/functions/ScriptBasedUDFunction.java  |   2 +-
 .../cql3/functions/UDFExecutorService.java |  48 +-
 .../cassandra/cql3/functions/UDFunction.java   |  11 +-
 .../cassandra/cql3/functions/types/TypeCodec.java  |   2 -
 .../cassandra/cql3/selection/ResultSetBuilder.java |   2 +-
 

[jira] [Commented] (CASSANDRA-16983) Separating CQLSH credentials from the cqlshrc file

2021-10-07 Thread Stefan Miklosovic (Jira)


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

Stefan Miklosovic commented on CASSANDRA-16983:
---

hi [~Bowen Song], could you please go one more time over your PR and  remove 
all Windows specific stuff? This work is related to CASSANDRA-16956 where I am 
touching pylib/cqlsh. Would you be so nice to go over the PR there and verify 
my changes related to Windows make sense? Thanks! 

> Separating CQLSH credentials from the cqlshrc file
> --
>
> Key: CASSANDRA-16983
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16983
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tool/cqlsh
>Reporter: Bowen Song
>Assignee: Bowen Song
>Priority: Normal
>  Labels: lhf
>  Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> Currently, the CQLSH tool accepts credentials (username & password) from the 
> following 3 places:
> 1. the command line parameter "-p"
> 2. the cqlshrc file
> 3. prompt the user
> This is not ideal.
> Credentials in the command line is a security risk, because it could be see 
> by other users on a shared system.
> The cqlshrc file is better, but still not good enough. Because the cqlshrc 
> file is a config file,  it's often acceptable to have it as a world readable 
> file, and share it with other users. It also prevents user from having 
> multiple sets of credentials, either for the same Cassandra cluster or 
> different clusters.
> To improve the security of CQLSH and make it secure by design, I purpose the 
> following changes:
> * Warn the user if a password is giving in the command line, and recommend 
> them to use a credential file instead
> * Warn the user if credentials are present in the cqlshrc file and the 
> cqlshrc file is not secure (e.g.: world readable or owned by a different user)
> * Deprecate credentials in the cqlshrc, and recommend the user to move them 
> to a separate credential file. The aim is to not break anything at the 
> moment, but eventually stop accepting credentials from the cqlshrc file.
> * Reject the credentials file if it's not secure, and tell the user how to 
> secure it. Optionally, prompt the user for password if it's an interactive 
> session. (Think how does OpenSSH handle insecure credential files)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (CASSANDRA-16956) Remove windows-specific classes

2021-10-07 Thread Stefan Miklosovic (Jira)


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

Stefan Miklosovic commented on CASSANDRA-16956:
---

Wow this is super tedious to go through. I can get rid of the specific Windowsy 
code but I do not know what to do with all the comments which are also 
mentioning the fact that "this has to be done like that because on Windows 
...". I am not going to rewrite it (even if I knew how) just because we are not 
supporting it anymore. Let's not touch what is not broken. We do not need to 
super super dilligent here.

> Remove windows-specific classes
> ---
>
> Key: CASSANDRA-16956
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16956
> Project: Cassandra
>  Issue Type: Task
>  Components: Build
>Reporter: Brandon Williams
>Assignee: Stefan Miklosovic
>Priority: Normal
> Fix For: 4.0.x, 4.x
>
>
> To continue the work CASSANDRA-16171 began, now that Windows support is no 
> more there are some source files that can be removed.
> Just doing a naive grep on the source directory I see:
> {noformat}
> src/java/org/apache/cassandra/db/WindowsFailedSnapshotTracker.java
> src/java/org/apache/cassandra/utils/NativeLibraryWindows.java
> src/java/org/apache/cassandra/utils/WindowsTimer.java
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (CASSANDRA-16916) Add support for IF EXISTS and IF NOT EXISTS in ALTER statements

2021-10-07 Thread Benjamin Lerer (Jira)


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

Benjamin Lerer commented on CASSANDRA-16916:


[~subkanthi] Let me look into it. I am sure that I can find you something :-)


> Add support for IF EXISTS and IF NOT EXISTS in ALTER statements
> ---
>
> Key: CASSANDRA-16916
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16916
> Project: Cassandra
>  Issue Type: Improvement
>  Components: CQL/Syntax
>Reporter: Benjamin Lerer
>Assignee: Jogesh Anand
>Priority: Normal
>
> It would make sense to add support for {{IF EXISTS}} and {{IF NOT EXISTS}} in 
> the different {{ALTER}} statements. 
> For example:
> * {{ALTER TABLE IF EXISTS myTable ...}}
> * {{ALTER TABLE myTable ADD IF NOT EXISTS ...}}
> * {{ALTER TABLE myTable DROP IF EXISTS ...}}
> * {{ALTER TYPE IF EXISTS myType ...}}
> * {{ALTER TYPE myType ADD IF NOT EXISTS ...}}
> +Additional info for newcomers:+
> In order to implement this change you will need to change the {{Parser.g}} 
> ANTLR file located in the src/antlr directory and the java classes 
> corresponding to the different alter statements located in the 
> {{org.apache.cassandra.cql3.statements.schema}} package. You can look at the 
> CreateTableStatement class to see how it was done there.
> The unit test for the CQL logic are located under 
> {{org.apache.cassandra.cql3.validation}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (CASSANDRA-16839) Truncation snapshots unnecessarily created on node startup

2021-10-07 Thread Jira


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

Andres de la Peña updated CASSANDRA-16839:
--
Reviewers: Andres de la Peña

> Truncation snapshots unnecessarily created on node startup
> --
>
> Key: CASSANDRA-16839
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16839
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tool/nodetool
>Reporter: Paulo Motta
>Assignee: Brandon Williams
>Priority: Normal
> Fix For: 4.0.x
>
>
> When testing cassandra 4.0 on ccm I noticed that everytime I restart a node, 
> truncation snapshots are created for the tables {{system.table_estimates}} 
> and {{system.size_estimates}}:
> {noformat}
> $ ccm create -n 1 test -s
> $ ccm node1 stop
> $ ccm node1 start
> $ ccm node1 stop
> $ ccm node1 start
> $ ccm node1 nodetool listsnapshots
> Snapshot Details:
> Snapshot name   Keyspace name Column family name True 
> size Size on disk
> truncated-1628599001857-table_estimates systemtable_estimates0 
> bytes   13 bytes
> truncated-1628599099560-table_estimates systemtable_estimates0 
> bytes   13 bytes
> truncated-1628599001736-size_estimates  systemsize_estimates 0 
> bytes   13 bytes
> truncated-1628599057438-table_estimates systemtable_estimates6.16 
> KiB  6.19 KiB
> truncated-1628599099458-size_estimates  systemsize_estimates 0 
> bytes   13 bytes
> truncated-1628599057340-size_estimates  systemsize_estimates 5.73 
> KiB  5.76 KiB
> Total TrueDiskSpaceUsed: 0 bytes
> {noformat}
> Not sure if this is expected behavior, but feels like a bug to me.
> Reproduced on 4.0, not sure if it reproduces on lower versions.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Comment Edited] (CASSANDRA-16562) Fix flaky testSkipScrubCorruptedCounterRowWithTool

2021-10-07 Thread Jira


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

Andres de la Peña edited comment on CASSANDRA-16562 at 10/7/21, 10:20 AM:
--

It seems that the failures in {{ScrubTest}} are still there and the patches 
still apply after an easy rebase. The test failures only appear when 
compression is used. The fix used in CASSANDRA-16532 is able to fix the 
occasional failures in 3.11, as it's shown why these multiplexer runs:
||PR||CI||
|[16562-3.0|https://github.com/apache/cassandra/pull/1253]|[testsome|https://app.circleci.com/pipelines/github/adelapena/cassandra/966/workflows/ecefeef6-16b3-436c-b62f-8b76649dd864]
 
[test-compression|https://app.circleci.com/pipelines/github/adelapena/cassandra/975/workflows/38f961fc-d98d-428e-93f5-2cdc7870b4f0]|
|[16562-3.11|https://github.com/apache/cassandra/pull/1254]|[testsome|https://app.circleci.com/pipelines/github/adelapena/cassandra/965/workflows/eed40245-98e2-4afc-b7a0-8bc93f819006]
 
[test-compression|https://app.circleci.com/pipelines/github/adelapena/cassandra/974/workflows/cec11724-773a-453d-a3d2-acb28de7fdce]|
|[cassandra-3.0|https://github.com/apache/cassandra/tree/cassandra-3.0]|[testsome|https://app.circleci.com/pipelines/github/adelapena/cassandra/966/workflows/ecefeef6-16b3-436c-b62f-8b76649dd864]
 
[test-compression|https://app.circleci.com/pipelines/github/adelapena/cassandra/975/workflows/38f961fc-d98d-428e-93f5-2cdc7870b4f0]|
|[cassandra-3.11|https://github.com/apache/cassandra/tree/cassandra-3.11]|[testsome|https://app.circleci.com/pipelines/github/adelapena/cassandra/965/workflows/eed40245-98e2-4afc-b7a0-8bc93f819006]
 
[test-compression|https://app.circleci.com/pipelines/github/adelapena/cassandra/971/workflows/73804303-470a-4b15-8a0a-a5bde2794471]|

However, the situation is different for 3.0. In that case, 
{{testScrubCorruptedCounterRow}} has been [consistently 
failing|https://ci-cassandra.apache.org/view/Cassandra%203.0/job/Cassandra-3.0-test-compression/lastBuild/jdk=jdk_1.8_latest,label=cassandra,split=2/testReport/org.apache.cassandra.db/ScrubTest/testScrubCorruptedCounterRow/]
 for a while, and the fix from #16532 doesn't change that. It seems that the 
test somehow gets stuck in a deadlock and it ends up failing with a timeout.

Bisect shows that this test has been failing since CASSANDRA-14284, and indeed 
the test 
[passes|https://app.circleci.com/pipelines/github/adelapena/cassandra/976/workflows/a1e4ad08-c517-4a6b-a130-14f210af1545]
 if we temporarily revert the changes in {{CompressedRandomAccessReader}} done 
by that ticket. I'm still trying to figure out how verifying the checksum 
before uncompressing is causing the deadlock.

CC [~blerer]


was (Author: adelapena):
It seems that the failures in {{ScrubTest}} are still there and the patches 
still apply after an easy rebase. The test failures only appear when 
compression is used. The fix used in CASSANDRA-16532 is able to fix the 
occasional failures in 3.11, as it's shown why these multiplexer runs:
||PR||CI||
|[16562-3.0|https://github.com/apache/cassandra/pull/1253]|[testsome|https://app.circleci.com/pipelines/github/adelapena/cassandra/966/workflows/ecefeef6-16b3-436c-b62f-8b76649dd864]
 
[test-compression|https://app.circleci.com/pipelines/github/adelapena/cassandra/975/workflows/38f961fc-d98d-428e-93f5-2cdc7870b4f0]|
|[16562-3.11|https://github.com/apache/cassandra/pull/1254]|[testsome|https://app.circleci.com/pipelines/github/adelapena/cassandra/965/workflows/eed40245-98e2-4afc-b7a0-8bc93f819006]
 
[test-compression|https://app.circleci.com/pipelines/github/adelapena/cassandra/974/workflows/cec11724-773a-453d-a3d2-acb28de7fdce]|
|[cassandra-3.0|https://github.com/apache/cassandra/tree/cassandra-3.0]|[testsome|https://app.circleci.com/pipelines/github/adelapena/cassandra/966/workflows/ecefeef6-16b3-436c-b62f-8b76649dd864]
 
[test-compression|https://app.circleci.com/pipelines/github/adelapena/cassandra/975/workflows/38f961fc-d98d-428e-93f5-2cdc7870b4f0]|
|[cassandra-3.11|https://github.com/apache/cassandra/tree/cassandra-3.11]|[testsome|https://app.circleci.com/pipelines/github/adelapena/cassandra/965/workflows/eed40245-98e2-4afc-b7a0-8bc93f819006]
 
[test-compression|https://app.circleci.com/pipelines/github/adelapena/cassandra/971/workflows/73804303-470a-4b15-8a0a-a5bde2794471]|

However, the situation is different for 3.0. In that case, 
{{testScrubCorruptedCounterRow}} has been [consistently 
failing|https://ci-cassandra.apache.org/view/Cassandra%203.0/job/Cassandra-3.0-test-compression/lastBuild/jdk=jdk_1.8_latest,label=cassandra,split=2/testReport/org.apache.cassandra.db/ScrubTest/testScrubCorruptedCounterRow/]
 for a while, and the fix from #16532 doesn't change that. It seems that the 
test somehow gets stuck in a deadlock and it ends up failing with a timeout.

Bisect sho

[jira] [Commented] (CASSANDRA-16956) Remove windows-specific classes

2021-10-07 Thread Berenguer Blasi (Jira)


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

Berenguer Blasi commented on CASSANDRA-16956:
-

On second thoughts, maybe you want to do dtests in another ticket to make this 
more digestible and less big-bang? just a suggestion.

> Remove windows-specific classes
> ---
>
> Key: CASSANDRA-16956
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16956
> Project: Cassandra
>  Issue Type: Task
>  Components: Build
>Reporter: Brandon Williams
>Assignee: Stefan Miklosovic
>Priority: Normal
> Fix For: 4.0.x, 4.x
>
>
> To continue the work CASSANDRA-16171 began, now that Windows support is no 
> more there are some source files that can be removed.
> Just doing a naive grep on the source directory I see:
> {noformat}
> src/java/org/apache/cassandra/db/WindowsFailedSnapshotTracker.java
> src/java/org/apache/cassandra/utils/NativeLibraryWindows.java
> src/java/org/apache/cassandra/utils/WindowsTimer.java
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (CASSANDRA-16562) Fix flaky testSkipScrubCorruptedCounterRowWithTool

2021-10-07 Thread Berenguer Blasi (Jira)


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

Berenguer Blasi updated CASSANDRA-16562:

Description: See CASSANDRA-16532 where extra flakiness was detected on 3.0 
and 3.11 branches for {{testSkipScrubCorruptedCounterRowWithTool}}  (was: See 
CASSANDRA-16532 where extra flakiness was detected on 3.0 and 3.11 branches 
fortestSkipScrubCorruptedCounterRowWithTool)

> Fix flaky testSkipScrubCorruptedCounterRowWithTool
> --
>
> Key: CASSANDRA-16562
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16562
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/unit
>Reporter: Berenguer Blasi
>Assignee: Andres de la Peña
>Priority: Normal
> Fix For: 3.0.x, 3.11.x
>
>
> See CASSANDRA-16532 where extra flakiness was detected on 3.0 and 3.11 
> branches for {{testSkipScrubCorruptedCounterRowWithTool}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (CASSANDRA-16562) Fix flaky testSkipScrubCorruptedCounterRowWithTool

2021-10-07 Thread Berenguer Blasi (Jira)


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

Berenguer Blasi updated CASSANDRA-16562:

Reviewers: Berenguer Blasi

> Fix flaky testSkipScrubCorruptedCounterRowWithTool
> --
>
> Key: CASSANDRA-16562
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16562
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/unit
>Reporter: Berenguer Blasi
>Assignee: Andres de la Peña
>Priority: Normal
> Fix For: 3.0.x, 3.11.x
>
>
> See CASSANDRA-16532 where extra flakiness was detected on 3.0 and 3.11 
> branches fortestSkipScrubCorruptedCounterRowWithTool



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (CASSANDRA-16956) Remove windows-specific classes

2021-10-07 Thread Stefan Miklosovic (Jira)


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

Stefan Miklosovic commented on CASSANDRA-16956:
---

1) yes
2) yes
3) I ll look, thanks, this is somehow tangential to CASSANDRA-19683 when it 
comes to Windows support. If we go with the latest comment of Dinesh, I think 
we need to get rid of all the stuff in there.
4) ok
5) I have not covered dtests yet, will do.

> Remove windows-specific classes
> ---
>
> Key: CASSANDRA-16956
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16956
> Project: Cassandra
>  Issue Type: Task
>  Components: Build
>Reporter: Brandon Williams
>Assignee: Stefan Miklosovic
>Priority: Normal
> Fix For: 4.0.x, 4.x
>
>
> To continue the work CASSANDRA-16171 began, now that Windows support is no 
> more there are some source files that can be removed.
> Just doing a naive grep on the source directory I see:
> {noformat}
> src/java/org/apache/cassandra/db/WindowsFailedSnapshotTracker.java
> src/java/org/apache/cassandra/utils/NativeLibraryWindows.java
> src/java/org/apache/cassandra/utils/WindowsTimer.java
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (CASSANDRA-16562) Fix flaky testSkipScrubCorruptedCounterRowWithTool

2021-10-07 Thread Jira


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

Andres de la Peña commented on CASSANDRA-16562:
---

It seems that the failures in {{ScrubTest}} are still there and the patches 
still apply after an easy rebase. The test failures only appear when 
compression is used. The fix used in CASSANDRA-16532 is able to fix the 
occasional failures in 3.11, as it's shown why these multiplexer runs:
||PR||CI||
|[16562-3.0|https://github.com/apache/cassandra/pull/1253]|[testsome|https://app.circleci.com/pipelines/github/adelapena/cassandra/966/workflows/ecefeef6-16b3-436c-b62f-8b76649dd864]
 
[test-compression|https://app.circleci.com/pipelines/github/adelapena/cassandra/975/workflows/38f961fc-d98d-428e-93f5-2cdc7870b4f0]|
|[16562-3.11|https://github.com/apache/cassandra/pull/1254]|[testsome|https://app.circleci.com/pipelines/github/adelapena/cassandra/965/workflows/eed40245-98e2-4afc-b7a0-8bc93f819006]
 
[test-compression|https://app.circleci.com/pipelines/github/adelapena/cassandra/974/workflows/cec11724-773a-453d-a3d2-acb28de7fdce]|
|[cassandra-3.0|https://github.com/apache/cassandra/tree/cassandra-3.0]|[testsome|https://app.circleci.com/pipelines/github/adelapena/cassandra/966/workflows/ecefeef6-16b3-436c-b62f-8b76649dd864]
 
[test-compression|https://app.circleci.com/pipelines/github/adelapena/cassandra/975/workflows/38f961fc-d98d-428e-93f5-2cdc7870b4f0]|
|[cassandra-3.11|https://github.com/apache/cassandra/tree/cassandra-3.11]|[testsome|https://app.circleci.com/pipelines/github/adelapena/cassandra/965/workflows/eed40245-98e2-4afc-b7a0-8bc93f819006]
 
[test-compression|https://app.circleci.com/pipelines/github/adelapena/cassandra/971/workflows/73804303-470a-4b15-8a0a-a5bde2794471]|

However, the situation is different for 3.0. In that case, 
{{testScrubCorruptedCounterRow}} has been [consistently 
failing|https://ci-cassandra.apache.org/view/Cassandra%203.0/job/Cassandra-3.0-test-compression/lastBuild/jdk=jdk_1.8_latest,label=cassandra,split=2/testReport/org.apache.cassandra.db/ScrubTest/testScrubCorruptedCounterRow/]
 for a while, and the fix from #16532 doesn't change that. It seems that the 
test somehow gets stuck in a deadlock and it ends up failing with a timeout.

Bisect shows that this test has been failing since CASSANDRA-14284, and indeed 
the test passes if we revert the changes in {{CompressedRandomAccessReader}} 
done by that ticket. I'm still trying to figure out how verifying the checksum 
before uncompressing is causing the deadlock.

CC [~blerer]

> Fix flaky testSkipScrubCorruptedCounterRowWithTool
> --
>
> Key: CASSANDRA-16562
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16562
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/unit
>Reporter: Berenguer Blasi
>Assignee: Andres de la Peña
>Priority: Normal
> Fix For: 3.0.x, 3.11.x
>
>
> See CASSANDRA-16532 where extra flakiness was detected on 3.0 and 3.11 
> branches fortestSkipScrubCorruptedCounterRowWithTool



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Comment Edited] (CASSANDRA-16956) Remove windows-specific classes

2021-10-07 Thread Berenguer Blasi (Jira)


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

Berenguer Blasi edited comment on CASSANDRA-16956 at 10/7/21, 9:27 AM:
---

On a first cursory pass I have these q I hope make sense:
- Do we want to remove {{windows_timer_interval}} from config?
- There are some text comments with Windows info in them. Should we remove that 
as well?- 
- pylib/cqlshlib folder has some windows references that might deserve a look.
- {{grep -ri windows --exclude \*.java}} lists a few other occurrences I would 
look into.
- dtests have lots of windows stuff I would look into as well.



was (Author: bereng):
On a first cursory pass I have these q I hope make sense:
- Do we want to remove {{windows_timer_interval}} from config?
- There are some text comments with Windows info in them. Should we remove that 
as well?- 
pylib/cqlshlib folder has some windows references that might deserve a look.
- {{grep -ri windows --exclude \*.java}} lists a few other occurrences I would 
look into.
- dtests have lots of windows stuff I would look into as well.


> Remove windows-specific classes
> ---
>
> Key: CASSANDRA-16956
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16956
> Project: Cassandra
>  Issue Type: Task
>  Components: Build
>Reporter: Brandon Williams
>Assignee: Stefan Miklosovic
>Priority: Normal
> Fix For: 4.0.x, 4.x
>
>
> To continue the work CASSANDRA-16171 began, now that Windows support is no 
> more there are some source files that can be removed.
> Just doing a naive grep on the source directory I see:
> {noformat}
> src/java/org/apache/cassandra/db/WindowsFailedSnapshotTracker.java
> src/java/org/apache/cassandra/utils/NativeLibraryWindows.java
> src/java/org/apache/cassandra/utils/WindowsTimer.java
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (CASSANDRA-16956) Remove windows-specific classes

2021-10-07 Thread Berenguer Blasi (Jira)


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

Berenguer Blasi updated CASSANDRA-16956:

Reviewers: Berenguer Blasi, Josh McKenzie  (was: Josh McKenzie)

> Remove windows-specific classes
> ---
>
> Key: CASSANDRA-16956
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16956
> Project: Cassandra
>  Issue Type: Task
>  Components: Build
>Reporter: Brandon Williams
>Assignee: Stefan Miklosovic
>Priority: Normal
> Fix For: 4.0.x, 4.x
>
>
> To continue the work CASSANDRA-16171 began, now that Windows support is no 
> more there are some source files that can be removed.
> Just doing a naive grep on the source directory I see:
> {noformat}
> src/java/org/apache/cassandra/db/WindowsFailedSnapshotTracker.java
> src/java/org/apache/cassandra/utils/NativeLibraryWindows.java
> src/java/org/apache/cassandra/utils/WindowsTimer.java
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (CASSANDRA-16956) Remove windows-specific classes

2021-10-07 Thread Berenguer Blasi (Jira)


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

Berenguer Blasi commented on CASSANDRA-16956:
-

On a first cursory pass I have these q I hope make sense:
- Do we want to remove {{windows_timer_interval}} from config?
- There are some text comments with Windows info in them. Should we remove that 
as well?- 
pylib/cqlshlib folder has some windows references that might deserve a look.
- {{grep -ri windows --exclude \*.java}} lists a few other occurrences I would 
look into.
- dtests have lots of windows stuff I would look into as well.


> Remove windows-specific classes
> ---
>
> Key: CASSANDRA-16956
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16956
> Project: Cassandra
>  Issue Type: Task
>  Components: Build
>Reporter: Brandon Williams
>Assignee: Stefan Miklosovic
>Priority: Normal
> Fix For: 4.0.x, 4.x
>
>
> To continue the work CASSANDRA-16171 began, now that Windows support is no 
> more there are some source files that can be removed.
> Just doing a naive grep on the source directory I see:
> {noformat}
> src/java/org/apache/cassandra/db/WindowsFailedSnapshotTracker.java
> src/java/org/apache/cassandra/utils/NativeLibraryWindows.java
> src/java/org/apache/cassandra/utils/WindowsTimer.java
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[cassandra-in-jvm-dtest-api] branch trunk updated (bf8b17a -> e283e1a)

2021-10-07 Thread ifesdjeen
This is an automated email from the ASF dual-hosted git repository.

ifesdjeen pushed a change to branch trunk
in repository 
https://gitbox.apache.org/repos/asf/cassandra-in-jvm-dtest-api.git.


from bf8b17a  Merge pull request #28 from belliottsmith/17013-trunk
 add 1b20b22  [maven-release-plugin] prepare release 0.0.10
 add 2139b4c  [maven-release-plugin] prepare for next development iteration
 add e283e1a  Update CHANGES.txt

No new revisions were added by this update.

Summary of changes:
 CHANGES.txt | 13 +
 pom.xml |  2 +-
 2 files changed, 14 insertions(+), 1 deletion(-)

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



[jira] [Commented] (CASSANDRA-14795) Expose information about stored hints via JMX

2021-10-07 Thread Aleksandr Sorokoumov (Jira)


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

Aleksandr Sorokoumov commented on CASSANDRA-14795:
--

I have a suspicion that the test times out because the entire suite takes too 
long to run for the given timeout. We observe it as 
{{HintsServiceTest.testListPendingHints}} failure because it is the last test 
case in the suite.

For test report and logs see e.g. 
https://nightlies.apache.org/cassandra/devbranch/Cassandra-devbranch/1187/

{{test.timeout}} is set to 240 seconds. On successful runs the suite takes a 
bit longer than 200 seconds to finish, each case taking between 30 and 60 
seconds. As a speculation, a small hiccup or a slight deviation in test time 
might lead to a timeout. I'd like to verify this idea by increasing 
{{test.timeout}} to 360 seconds and re-running the CI. If this theory is 
correct, {{HintsServiceTest}} should succeed and overall test duration might 
exceed 240 seconds on 1 or more attempts.

[~azotcsit], [~e.dimitrova] Can I kindly ask you to re-run 
https://ci-cassandra.apache.org/job/Cassandra-devbranch/1187/?



> Expose information about stored hints via JMX
> -
>
> Key: CASSANDRA-14795
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14795
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Legacy/Observability
>Reporter: Aleksandr Sorokoumov
>Assignee: Aleksandr Sorokoumov
>Priority: Low
> Fix For: 4.x
>
>  Time Spent: 5.5h
>  Remaining Estimate: 0h
>
> Currently there is no way to determine what kind of hints a node has, apart 
> from looking at the filenames (thus host-ids) on disk. Having a way to access 
> this information would help with debugging hint creation/replay scenarios.
> In addition to the JMX method, there is a new nodetool command:
> {noformat}$ bin/nodetool -h 127.0.0.1 -p 7100 listendpointspendinghints
> Host ID Address Rack DC Status Total files Newest Oldest
> 5762b140-3fdf-4057-9ca7-05c070ccc9c3 127.0.0.2 rack1 datacenter1 DOWN 2 
> 2018-09-18 14:05:18,835 2018-09-18 14:05:08,811
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (CASSANDRA-16518) Node restart during joining sets protocol version to V3

2021-10-07 Thread Joseph Clay (Jira)


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

Joseph Clay commented on CASSANDRA-16518:
-

I was finally able to reproduce. So the issue only reproduces if you configure 
cassandra so that it uses preferred_ip. You need to set cassandra so that it 
has two ip address per node and broadcast address a different ip to listen 
address.

Here is how i reproduced it in CCM:
{noformat}
# Set ccm directory here
CCM_DIR=~/.ccm

# create cluster but don't start it
ccm create test -v 3.11.11 -n 3

# Configure cluster to use GossipingPropertyFileSnitch with prefer_local and 
different ips for broadcast and listen addresses
rm $CCM_DIR/test/node*/conf/cassandra-topology.properties
sed -i 's/# prefer_local=true/prefer_local=true/' 
$CCM_DIR/test/node*/conf/cassandra-rackdc.properties
sed -i 's/endpoint_snitch.*/endpoint_snitch: GossipingPropertyFileSnitch/' 
$CCM_DIR/test/node*/conf/cassandra.yaml
sed -i 's/  - seeds:.*/  - seeds: 127.0.1.1/' 
$CCM_DIR/test/node*/conf/cassandra.yaml
echo 'broadcast_address: 127.0.1.1' >> $CCM_DIR/test/node1/conf/cassandra.yaml
echo 'broadcast_address: 127.0.1.2' >> $CCM_DIR/test/node2/conf/cassandra.yaml
echo 'broadcast_address: 127.0.1.3' >> $CCM_DIR/test/node3/conf/cassandra.yaml
echo 'listen_on_broadcast_address: true' >> 
$CCM_DIR/test/node1/conf/cassandra.yaml
echo 'listen_on_broadcast_address: true' >> 
$CCM_DIR/test/node2/conf/cassandra.yaml
echo 'listen_on_broadcast_address: true' >> 
$CCM_DIR/test/node3/conf/cassandra.yaml

# Start nodes1 and 2 need to skip wait as the above config breaks it
ccm node1 start --skip-wait-other-notice
ccm node2 start --skip-wait-other-notice

# Wait for both nodes to be UN then put roughly a GB of data into the cluster
ccm stress write n=500

# Slow down streaming so joining takes long enough to see issue then start 3rd 
node
ccm node1 nodetool setstreamthroughput 1
ccm node2 nodetool setstreamthroughput 1
sed -i 's/auto_bootstrap.*/auto_bootstrap: true/' 
$CCM_DIR/test/node3/conf/cassandra.yaml
ccm node3 start --skip-wait-other-notice

# Wait for streaming to start then check which node that node3 is streaming off
ccm node3 nodetool netstats
# On my cluster node1 was streaming so i stop & started node 2
ccm node2 stop
ccm node2 start --skip-wait-other-notice{noformat}
After that the restarted node logged this:
INFO [main] 2021-10-07 17:54:40,637 ConfiguredLimit.java:108 - Detected peers 
which do not fully support protocol V4. Capping max negotiable version to V3

Also if you tried to cqlsh to the restarted node:
Connection error: ('Unable to connect to any servers', \{'127.0.0.2:9042': 
DriverException('ProtocolError returned from server while using explicitly set 
client protocol_version 4')})

Errors in the node logs corresponding to attempted connection:
WARN [epollEventLoopGroup-2-6] 2021-10-07 17:56:04,822 NoSpamLogger.java:94 - 
Protocol exception with client networking: 
org.apache.cassandra.transport.ProtocolException: Invalid or unsupported 
protocol version (4); supported versions are (3/v3, 4/v4, 5/v5-beta)

You can cqlsh if you force the protocol version: cqlsh 127.0.0.2 
--protocol-version=3

Peers table:
{noformat}
 peer  | data_center | host_id  | preferred_ip 
| rack  | release_version | rpc_address | schema_version   
| tokens
---+-+--+--+---+-+-+--+--
 127.0.1.1 | dc1 | d4d86d82-d12b-4bae-a1a4-7f0ded9d9b79 |127.0.0.1 
| rack1 | 3.11.11 |   127.0.0.1 | d25c2da9-b17e-3aba-8682-6cf063aaca51 
| {'-9223372036854775808'}

 127.0.1.3 |null | null |127.0.0.3 
|  null |null |null | null 
| null{noformat}
As you can see node3 the joining node has all nulls except for peer and 
preferred_ip columns. I believe the null in the release_version column causes 
the version check to fail.

 

 

> Node restart during joining sets protocol version to V3
> ---
>
> Key: CASSANDRA-16518
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16518
> Project: Cassandra
>  Issue Type: Bug
>  Components: Messaging/Client
>Reporter: Joseph Clay
>Assignee: Stefan Miklosovic
>Priority: Normal
> Fix For: 3.11.x
>
>
> While joining nodes to a cluster, an old node crashed. The old node was 
> recovered however clients (datastax java) refused to connect to it.
> The driver error:
> {noformat}
> Detected added or restarted Cassandra host /: but ignoring it since 
> it does not support th