[jira] [Updated] (CASSANDRA-17065) Introduce separate rate limiting settings for entire SSTable streaming

2021-10-28 Thread Marcus Eriksson (Jira)


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

Marcus Eriksson updated CASSANDRA-17065:

Change Category: Operability
 Complexity: Normal
 Status: Open  (was: Triage Needed)

> Introduce separate rate limiting settings for entire SSTable streaming
> --
>
> Key: CASSANDRA-17065
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17065
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Messaging/Internode, Tool/nodetool
>Reporter: Francisco Guerrero
>Assignee: Francisco Guerrero
>Priority: Normal
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> With the introduction of entire SSTable streaming, it is desirable to 
> introduce new settings for the rate limit for entire SSTable streaming 
> operations.
> Currently, regular streaming and SSTable streaming are rate limited by the 
> same setting. However, zero-copy streaming reduces load in the JVM and we can 
> have a setting specifically for this use case.



--
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-15234) Standardise config and JVM parameters

2021-10-28 Thread Ekaterina Dimitrova (Jira)


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

Ekaterina Dimitrova commented on CASSANDRA-15234:
-

Rebase and cleaning done successfully.

I cleaned Unit tests and distributed In-jvm tests, passing up to current trunk 
state. I should finish updating the Python DTests for the new config 
parameters' names and check for failures when the java upgrade tests are fixed.

Topic:
 * the upgrade tests will be testing with the new names and config parameters 
provided with the units for trunk. We have unit tests that check the backward 
compatibility parsing. I guess we don't plan to run the upgrades also with the 
old config?

I plan to publish the full patch for new round of review probably early next 
week.

> Standardise config and JVM parameters
> -
>
> Key: CASSANDRA-15234
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15234
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local/Config
>Reporter: Benedict Elliott Smith
>Assignee: Ekaterina Dimitrova
>Priority: Normal
> Fix For: 5.x
>
> Attachments: CASSANDRA-15234-3-DTests-JAVA8.txt
>
>
> We have a bunch of inconsistent names and config patterns in the codebase, 
> both from the yams and JVM properties.  It would be nice to standardise the 
> naming (such as otc_ vs internode_) as well as the provision of values with 
> units - while maintaining perpetual backwards compatibility with the old 
> parameter names, of course.
> For temporal units, I would propose parsing strings with suffixes of:
> {{code}}
> u|micros(econds?)?
> ms|millis(econds?)?
> s(econds?)?
> m(inutes?)?
> h(ours?)?
> d(ays?)?
> mo(nths?)?
> {{code}}
> For rate units, I would propose parsing any of the standard {{B/s, KiB/s, 
> MiB/s, GiB/s, TiB/s}}.
> Perhaps for avoiding ambiguity we could not accept bauds {{bs, Mbps}} or 
> powers of 1000 such as {{KB/s}}, given these are regularly used for either 
> their old or new definition e.g. {{KiB/s}}, or we could support them and 
> simply log the value in bytes/s.



--
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-16349) SSTableLoader reports error when SSTable(s) do not have data for some nodes

2021-10-28 Thread Ekaterina Dimitrova (Jira)


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

Ekaterina Dimitrova commented on CASSANDRA-16349:
-

New [Jenkins run| 
https://ci-cassandra.apache.org/view/patches/job/Cassandra-devbranch/1252/] as 
I pushed with wrong image yesterday, I am sorry about that.

 

> SSTableLoader reports error when SSTable(s) do not have data for some nodes
> ---
>
> Key: CASSANDRA-16349
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16349
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tool/sstable
>Reporter: Serban Teodorescu
>Assignee: Serban Teodorescu
>Priority: Normal
> Fix For: 4.0.x
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Running SSTableLoader in verbose mode will show error(s) if there are node(s) 
> that do not own any data from the SSTable(s). This can happen in at least 2 
> cases:
>  # SSTableLoader is used to stream backups while keeping the same token ranges
>  # SSTable(s) are created with CQLSSTableWriter to match token ranges (this 
> can bring better performance by using ZeroCopy streaming)
> Partial output of the SSTableLoader:
> {quote}ERROR 02:47:47,842 [Stream #fa8e73b0-3da5-11eb-9c47-c5d27ae8fe47] 
> Remote peer /127.0.0.4:7000 failed stream session.
> ERROR 02:47:47,842 [Stream #fa8e73b0-3da5-11eb-9c47-c5d27ae8fe47] Remote peer 
> /127.0.0.3:7000 failed stream session.
> progress: [/127.0.0.4:7000]0:0/1 100% [/127.0.0.3:7000]0:0/1 100% 
> [/127.0.0.2:7000]0:7/7 100% [/127.0.0.1:7000]0:7/7 100% total: 100% 
> 0.000KiB/s (avg: 1.611KiB/s)
> progress: [/127.0.0.4:7000]0:0/1 100% [/127.0.0.3:7000]0:0/1 100% 
> [/127.0.0.2:7000]0:7/7 100% [/127.0.0.1:7000]0:7/7 100% total: 100% 
> 0.000KiB/s (avg: 1.611KiB/s)
> progress: [/127.0.0.4:7000]0:0/1 100% [/127.0.0.3:7000]0:0/1 100% 
> [/127.0.0.2:7000]0:7/7 100% [/127.0.0.1:7000]0:7/7 100% total: 100% 
> 0.000KiB/s (avg: 1.515KiB/s)
> progress: [/127.0.0.4:7000]0:0/1 100% [/127.0.0.3:7000]0:0/1 100% 
> [/127.0.0.2:7000]0:7/7 100% [/127.0.0.1:7000]0:7/7 100% total: 100% 
> 0.000KiB/s (avg: 1.427KiB/s)
> {quote}
>  
> Stack trace:
> {quote}java.util.concurrent.ExecutionException: 
> org.apache.cassandra.streaming.StreamException: Stream failed
> at 
> com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:552)
> at 
> com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:533)
> at org.apache.cassandra.tools.BulkLoader.load(BulkLoader.java:99)
> at org.apache.cassandra.tools.BulkLoader.main(BulkLoader.java:49)
> Caused by: org.apache.cassandra.streaming.StreamException: Stream failed
> at 
> org.apache.cassandra.streaming.management.StreamEventJMXNotifier.onFailure(StreamEventJMXNotifier.java:88)
> at 
> com.google.common.util.concurrent.Futures$CallbackListener.run(Futures.java:1056)
> at 
> com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:30)
> at 
> com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:1138)
> at 
> com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:958)
> at 
> com.google.common.util.concurrent.AbstractFuture.setException(AbstractFuture.java:748)
> at 
> org.apache.cassandra.streaming.StreamResultFuture.maybeComplete(StreamResultFuture.java:220)
> at 
> org.apache.cassandra.streaming.StreamResultFuture.handleSessionComplete(StreamResultFuture.java:196)
> at 
> org.apache.cassandra.streaming.StreamSession.closeSession(StreamSession.java:505)
> at 
> org.apache.cassandra.streaming.StreamSession.complete(StreamSession.java:819)
> at 
> org.apache.cassandra.streaming.StreamSession.messageReceived(StreamSession.java:595)
> at 
> org.apache.cassandra.streaming.async.StreamingInboundHandler$StreamDeserializingTask.run(StreamingInboundHandler.java:189)
> at 
> io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
> at java.base/java.lang.Thread.run(Thread.java:844)
> {quote}
> To reproduce create a cluster with ccm with more nodes than the RF, put some 
> data into it copy a SSTable and stream it.
>  
> The error originates on the nodes, the following stack trace is shown in the 
> logs:
> {quote}java.lang.IllegalStateException: Stream hasn't been read yet
>     at 
> com.google.common.base.Preconditions.checkState(Preconditions.java:507)
>     at 
> org.apache.cassandra.db.streaming.CassandraIncomingFile.getSize(CassandraIncomingFile.java:96)
>     at 
> org.apache.cassandra.streaming.StreamSession.receive(StreamSession.java:789)
>     at 
> org.apache.cassandra.streaming.StreamSession.messageReceived(StreamSession.java:587)
>     at 
> 

[jira] [Commented] (CASSANDRA-17064) dtest-api: Option to start nodes with blank gossip state

2021-10-28 Thread Michael Semb Wever (Jira)


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

Michael Semb Wever commented on CASSANDRA-17064:


bq. dtest-api

+1

> dtest-api: Option to start nodes with blank gossip state
> 
>
> Key: CASSANDRA-17064
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17064
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Test/dtest/java
>Reporter: Benedict Elliott Smith
>Assignee: Benedict Elliott Smith
>Priority: Normal
>
> dtest-api should permit starting nodes with neither regular gossip nor 
> artificially injected gossip, so that the Gossip state may be modified by the 
> tests from a blank slate



--
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-17050) Upgrade tests fail with InvocationTargetException

2021-10-28 Thread Michael Semb Wever (Jira)


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

Michael Semb Wever commented on CASSANDRA-17050:


bq. Additional necessary changes to dtest-api

+1 

And i reckon the "update SNAPSHOT" commit should be ninja'd to trunk. That was 
supposed to have happened in 
[2139b4c85e319b17afbdea2f653152d1e1895fc6|https://github.com/apache/cassandra-in-jvm-dtest-api/commit/2139b4c85e319b17afbdea2f653152d1e1895fc6].



> Upgrade tests fail with InvocationTargetException
> -
>
> Key: CASSANDRA-17050
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17050
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/java
>Reporter: Benedict Elliott Smith
>Assignee: Benedict Elliott Smith
>Priority: Urgent
> Fix For: 2.2.x, 3.0.x, 3.11.x, 4.0.x, 4.x
>
>
> Upgrade tests are currently failing due to the new dtest-api changes and 
> their integration with trunk.



--
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-17050) Upgrade tests fail with InvocationTargetException

2021-10-28 Thread Michael Semb Wever (Jira)


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

Michael Semb Wever edited comment on CASSANDRA-17050 at 10/28/21, 9:16 PM:
---

bq. I wonder if we should aim to reduce the friction for internal dependencies 
by using the apache snapshots repository for non-release builds. Not sure if 
somebody has a better idea, but today it is more than a little annoying to have 
to release the dtest-api before merging any change that uses it. The problem 
may become more common as we accumulate more sub-projects.

Yes. This was discussed a little 
[here|https://issues.apache.org/jira/browse/CASSANDRA-16649?focusedCommentId=17341901=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-17341901]
 and the comment after it. I'm not confident yet of any other approach but the 
"throwaway" commits introducing the snapshot repository in patches (which are 
akin to the circle "throwaway" commits).


was (Author: michaelsembwever):
bq. I wonder if we should aim to reduce the friction for internal dependencies 
by using the apache snapshots repository for non-release builds. Not sure if 
somebody has a better idea, but today it is more than a little annoying to have 
to release the dtest-api before merging any change that uses it. The problem 
may become more common as we accumulate more sub-projects.

Yes. This was discuss a little 
[here|https://issues.apache.org/jira/browse/CASSANDRA-16649?focusedCommentId=17341901=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-17341901]
 and the comment after it. I'm not confident yet of any other approach but the 
"throwaway" commits introducing the snapshot repository in patches (which are 
akin to the circle "throwaway" commits).

> Upgrade tests fail with InvocationTargetException
> -
>
> Key: CASSANDRA-17050
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17050
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/java
>Reporter: Benedict Elliott Smith
>Assignee: Benedict Elliott Smith
>Priority: Urgent
> Fix For: 2.2.x, 3.0.x, 3.11.x, 4.0.x, 4.x
>
>
> Upgrade tests are currently failing due to the new dtest-api changes and 
> their integration with trunk.



--
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-17050) Upgrade tests fail with InvocationTargetException

2021-10-28 Thread Michael Semb Wever (Jira)


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

Michael Semb Wever commented on CASSANDRA-17050:


bq. I wonder if we should aim to reduce the friction for internal dependencies 
by using the apache snapshots repository for non-release builds. Not sure if 
somebody has a better idea, but today it is more than a little annoying to have 
to release the dtest-api before merging any change that uses it. The problem 
may become more common as we accumulate more sub-projects.

Yes. This was discuss a little 
[here|https://issues.apache.org/jira/browse/CASSANDRA-16649?focusedCommentId=17341901=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-17341901]
 and the comment after it. I'm not confident yet of any other approach but the 
"throwaway" commits introducing the snapshot repository in patches (which are 
akin to the circle "throwaway" commits).

> Upgrade tests fail with InvocationTargetException
> -
>
> Key: CASSANDRA-17050
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17050
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/java
>Reporter: Benedict Elliott Smith
>Assignee: Benedict Elliott Smith
>Priority: Urgent
> Fix For: 2.2.x, 3.0.x, 3.11.x, 4.0.x, 4.x
>
>
> Upgrade tests are currently failing due to the new dtest-api changes and 
> their integration with trunk.



--
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-17031) Add support for PEM based key material for SSL

2021-10-28 Thread Maulin Vasavada (Jira)


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

Maulin Vasavada commented on CASSANDRA-17031:
-

Nope. Not urgent. Hope you get some relaxing time over the weekend before
starting another week  :)

On Thu, Oct 28, 2021 at 12:06 AM Stefan Miklosovic (Jira) 



> Add support for PEM based key material for SSL
> --
>
> Key: CASSANDRA-17031
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17031
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Messaging/Internode
>Reporter: Maulin Vasavada
>Assignee: Maulin Vasavada
>Priority: Normal
>
> h1. Scope
> Currently Cassandra supports standard keystore types for SSL 
> keys/certificates. The scope of this enhancement is to add support for PEM 
> based key material (keys/certificate) given that PEM is widely used common 
> format for the same. We intend to add support for Unencrypted and Password 
> Based Encrypted (PBE) PKCS#8 formatted Private Keys in PEM format with 
> standard algorithms (RSA, DSA and EC) along with the certificate chain for 
> the private key and PEM based X509 certificates. The work here is going to be 
> built on top of [CEP-9: Make SSLContext creation 
> pluggable|https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-9%3A+Make+SSLContext+creation+pluggable]
>  for which the code is merged for Apache Cassandra 4.1 release.
> We intend to support the key material be configured as direct PEM values 
> input OR via the file (configured with keystore and truststore configurations 
> today). We are not going to model PEM as a valid 'store_type' given that 
> 'store_type' has a [specific 
> definition|https://docs.oracle.com/en/java/javase/11/security/java-cryptography-architecture-jca-reference-guide.html#GUID-AB51DEFD-5238-4F96-967F-082F6D34FBEA].
>  
> h1. Approach
> Create an implementation for 
> [ISslContextFactory|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/security/ISslContextFactory.java]
>  extending 
> [FileBasedSslContextFactory|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/security/FileBasedSslContextFactory.java]
>  implementation to add PEM formatted key/certificates.
> h1. Motivation
> PEM is a widely used format for encoding Private Keys and X.509 Certificates 
> and Apache Cassandra's current implementation lacks the support for 
> specifying the PEM formatted key material for SSL configurations. This means 
> operators have to re-create the key material to comply to the supported 
> formats (using key/trust store types - jks, pkcs12 etc) and deal with an 
> operational task for managing it. This is an operational overhead we can 
> avoid by supporting the PEM format making Apache Cassandra even more customer 
> friendly and drive more adoption.
> h1. Proposed Changes
>  # A new implementation for ISslContextFactory - PEMBasedSslContextFactory 
> with the following supported configuration
> {panel:title=New configurations}
> {panel}
> |{{encryption_options:  }}
>  {{}}{{ssl_context_factory:}}
>  {{}}{{class_name: 
> org.apache.cassandra.security.PEMBasedSslContextFactory}}
>  {{}}{{parameters:}}
>  {{  }}{{private_key:  certificate chain>}}
>  {{  }}{{private_key_password:  }}{{private}} {{key }}{{if}} {{it is encrypted>}}
>  {{  }}{{trusted_certificates: }}|
> *NOTE:* We could reuse 'keystore_password' instead of the 
> 'private_key_password'. However PEM encoded private key is not a 'keystore' 
> in itself hence it would be inappropriate to piggyback on that other than 
> avoid duplicating similar fields.
>  # The PEMBasedSslContextFactory will also support file based key material 
> (and the corresponding HOT Reloading based on file timestamp updates) for the 
> PEM format via existing  'keystore' and 'truststore' encryption options. 
> However in that case the 'truststore_password' configuration won't be used 
> since generally PEM formatted certificates for truststore don't get encrypted 
> with a password.
>  # The PEMBasedSslContextFactory will internally create PKCS12 keystore for 
> private key and the trusted certificates. However, this doesn't impact the 
> user of the implementation in anyway and it is mentioned for clarity only.
>  



--
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-17082) Make nodes more resilient to stale JSON files during startup

2021-10-28 Thread Josh McKenzie (Jira)


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

Josh McKenzie updated CASSANDRA-17082:
--
Test and Documentation Plan: No documentation change needed
 Status: Patch Available  (was: Open)

> Make nodes more resilient to stale JSON files during startup
> 
>
> Key: CASSANDRA-17082
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17082
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local/Startup and Shutdown
>Reporter: Josh McKenzie
>Assignee: Josh McKenzie
>Priority: Normal
> Fix For: 4.x
>
>
> There's a few things we can protect against being in the data dir on startup 
> that might be around from older activity, tool usage, exports, etc on a 3.x 
> -> 4.x update:
>  a) file ending with *-old.json
>  b) file ending with *.json or *idx.json
> A trivial update to the filter on SSTableHeaderFix.java should protect 
> against hitting these types of files on startup and throwing.



--
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-17082) Make nodes more resilient to stale JSON files during startup

2021-10-28 Thread Josh McKenzie (Jira)


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

Josh McKenzie commented on CASSANDRA-17082:
---

[Branch|https://github.com/apache/cassandra/compare/trunk...josh-mckenzie:cassandra-17082?expand=1]

Super trivial and changes the filter on processFileOrDirectory to tolerate 
failed Descriptor.fromFilenameWithComponent calls; not sure it's worth the 
resources to run the test suite against this (and get the barrage of known 
failures... /grumble)

> Make nodes more resilient to stale JSON files during startup
> 
>
> Key: CASSANDRA-17082
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17082
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local/Startup and Shutdown
>Reporter: Josh McKenzie
>Assignee: Josh McKenzie
>Priority: Normal
> Fix For: 4.x
>
>
> There's a few things we can protect against being in the data dir on startup 
> that might be around from older activity, tool usage, exports, etc on a 3.x 
> -> 4.x update:
>  a) file ending with *-old.json
>  b) file ending with *.json or *idx.json
> A trivial update to the filter on SSTableHeaderFix.java should protect 
> against hitting these types of files on startup and throwing.



--
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-17082) Make nodes more resilient to stale JSON files during startup

2021-10-28 Thread Josh McKenzie (Jira)


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

Josh McKenzie updated CASSANDRA-17082:
--
Description: 
There's a few things we can protect against being in the data dir on startup 
that might be around from older activity, tool usage, exports, etc on a 3.x -> 
4.x update:
 a) file ending with *-old.json
 b) file ending with *.json or *idx.json

A trivial update to the filter on SSTableHeaderFix.java should protect against 
hitting these types of files on startup and throwing.

  was:
There's a few things we can protect against being in the data dir on startup 
that might be around from older activity, tool usage, exports, etc:
a) file ending with *-old.json
b) file ending with *.json or *idx.json

A trivial update to the filter on SSTableHeaderFix.java should protect against 
hitting these types of files on startup and throwing.


> Make nodes more resilient to stale JSON files during startup
> 
>
> Key: CASSANDRA-17082
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17082
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local/Startup and Shutdown
>Reporter: Josh McKenzie
>Assignee: Josh McKenzie
>Priority: Normal
> Fix For: 4.x
>
>
> There's a few things we can protect against being in the data dir on startup 
> that might be around from older activity, tool usage, exports, etc on a 3.x 
> -> 4.x update:
>  a) file ending with *-old.json
>  b) file ending with *.json or *idx.json
> A trivial update to the filter on SSTableHeaderFix.java should protect 
> against hitting these types of files on startup and throwing.



--
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-17082) Make nodes more resilient to stale JSON files during startup

2021-10-28 Thread Josh McKenzie (Jira)


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

Josh McKenzie updated CASSANDRA-17082:
--
Change Category: Operability
 Complexity: Low Hanging Fruit
  Fix Version/s: 4.x
 Status: Open  (was: Triage Needed)

> Make nodes more resilient to stale JSON files during startup
> 
>
> Key: CASSANDRA-17082
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17082
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local/Startup and Shutdown
>Reporter: Josh McKenzie
>Assignee: Josh McKenzie
>Priority: Normal
> Fix For: 4.x
>
>
> There's a few things we can protect against being in the data dir on startup 
> that might be around from older activity, tool usage, exports, etc:
> a) file ending with *-old.json
> b) file ending with *.json or *idx.json
> A trivial update to the filter on SSTableHeaderFix.java should protect 
> against hitting these types of files on startup and throwing.



--
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-17082) Make nodes more resilient to stale JSON files during startup

2021-10-28 Thread Josh McKenzie (Jira)
Josh McKenzie created CASSANDRA-17082:
-

 Summary: Make nodes more resilient to stale JSON files during 
startup
 Key: CASSANDRA-17082
 URL: https://issues.apache.org/jira/browse/CASSANDRA-17082
 Project: Cassandra
  Issue Type: Improvement
  Components: Local/Startup and Shutdown
Reporter: Josh McKenzie
Assignee: Josh McKenzie


There's a few things we can protect against being in the data dir on startup 
that might be around from older activity, tool usage, exports, etc:
a) file ending with *-old.json
b) file ending with *.json or *idx.json

A trivial update to the filter on SSTableHeaderFix.java should protect against 
hitting these types of files on startup and throwing.



--
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-17069) Refactor normal/preview/IR repair to standardize repair cleanup and error handling of failed RepairJobs

2021-10-28 Thread David Capwell (Jira)


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

David Capwell updated CASSANDRA-17069:
--
Test and Documentation Plan: added tests and rely on existing ones
 Status: Patch Available  (was: In Progress)

> Refactor normal/preview/IR repair to standardize repair cleanup and error 
> handling of failed RepairJobs
> ---
>
> Key: CASSANDRA-17069
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17069
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Consistency/Repair
>Reporter: David Capwell
>Assignee: David Capwell
>Priority: Normal
> Fix For: 4.x
>
>
> Right now we have 3 different implementations of repair: normal, preview, and 
> incremental (IR); all 3 handle RepairJob failures differently and offer 
> different state cleanup.  To make sure that we consistently handle errors the 
> same way and cleanup, we should move these responsibilities outside of the 
> repair task itself and move these into common APIs and move some logic into 
> the repair coordination its self.
> This work relates with CASSANDRA-15399 as special handling each task makes 
> the work more complex.



--
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-12106) Add ability to blocklist / denylist a CQL partition so all requests are ignored

2021-10-28 Thread Josh McKenzie (Jira)


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

Josh McKenzie commented on CASSANDRA-12106:
---

Ok, quite a few commits back and forth in on that PR and it's pretty tidied up. 
I'll pull a comment I left there here as it's the one outstanding problem with 
the design we're not going to fix on this initial commit (it's a tradeoff):
{quote}The last outstanding thing I can't think of a good solution to is what 
to do if a node is gc thrashing, read and write CQL stages are a mess, and 
denylisting requires CQL mutation to work. While we _could_ append a new deny 
listed key to the DenylistEntry's in the cache independently of, or before, the 
CQL mutation that adds it to the dedicated store for the denylist, that means 
we'll likely have a disjoint between what's deny listed in our cache vs. what's 
in CQL and makes the in-memory cache the authority vs. what's in the DB. I'm 
actually somewhat receptive to that, since the JMX call queries what's in the 
cache and actively denylisting, but I think we should probably leave that up to 
a follow-up ticket rather than trying to tackle that on the tail end of this... 
marathon.
{quote}
The tests are kind of a mess:

[JDK 
8|https://app.circleci.com/pipelines/github/josh-mckenzie/cassandra/134/workflows/2cd807fb-2393-4fd5-89c8-aa5c71eef491]

[JDK 
11|https://app.circleci.com/pipelines/github/josh-mckenzie/cassandra/134/workflows/3c36936f-97c7-4d08-9383-e9afc476fd36]

Here's where I've gotten on debugging the failing test front:
 * j8 + 11 dtest no vnodes: test_bootstrap_with_reset_bootstrap_state: Created 
CASSANDRA-17076; happening on trunk
 * j8 + 11 dtest with vnodes: test_bootstrap_binary_disabled: Created 
CASSANDRA-17077; happening on trunk
 * j8 unit: testPersistentStatistics: Created CASSANDRA-17078; can't reproduce 
locally on branch or trunk
 * j8 dtest novnode:
 ** test_rolling_upgrade_with_internode_ssl x3
 ** test_rolling_upgrade x2: Created CASSANDRA-17079; also happening on trunk
 ** test_drop_compact_storage_mixed_cluster: Created CASSANDRA-17080
 ** test_bootstrap_with_reset_bootstrap_state: Created CASSANDRA-17081
 * j8 jvm upgrade: InvocationTargetException - being fixed in CASSANDRA-17050
 * j11 unit: testNoTreesRetainedAfterDifference - happening on trunk, tracked 
in CASSANDRA-17039 

I'm going to give it a couple days for us to talk through what's going on w/the 
testing situation, maybe see CASSANDRA-17050 cleared out, before merging this 
in. I also want to read through {{MigrationManager.evolveSystemKeyspace}} again 
and think about the behavior in mixed version cluster states for generation 
changes in SystemDistributed (have some other changes queued for that in the 
auth domain as well).

> Add ability to blocklist / denylist a CQL partition so all requests are 
> ignored
> ---
>
> Key: CASSANDRA-12106
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12106
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Legacy/Local Write-Read Paths, Local/Config
>Reporter: Geoffrey Yu
>Assignee: Josh McKenzie
>Priority: Low
> Fix For: 4.x
>
> Attachments: 12106-trunk.txt
>
>
> Sometimes reads/writes to a given partition may cause problems due to the 
> data present. It would be useful to have a manual way to blocklist / denylist
>  such partitions so all read and write requests to them are rejected.



--
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-17081) Fix test: bootstrap_test.py::TestBootstrap::test_bootstrap_with_reset_bootstrap_state

2021-10-28 Thread Josh McKenzie (Jira)
Josh McKenzie created CASSANDRA-17081:
-

 Summary: Fix test: 
bootstrap_test.py::TestBootstrap::test_bootstrap_with_reset_bootstrap_state
 Key: CASSANDRA-17081
 URL: https://issues.apache.org/jira/browse/CASSANDRA-17081
 Project: Cassandra
  Issue Type: Bug
Reporter: Josh McKenzie


Seeing in circle and locally on trunk:

Looks like it's timing out waiting for the bootstrap to complete.
{code:java}
test_bootstrap_with_reset_bootstrap_state failed (1 runs remaining out of 2).

28 Oct 2021 19:03:53 [node3] after 120.39/120 seconds Missing: 
['127.0.0.1:7000.* is now UP'] not found in system.log:
 Head: ERROR [Stream-Deserializer-/127.0.0.1:7000-20b885c
 Tail: ...b336de0e72/nb-1-big-Data.db 
ERROR [Stream-Deserializer-/127.0.0.1:7000-29a7cdb5] 2021-10-28 15:01:36,578 
StorageService.java:483 - Stopping gossiper

[, , , , ]
test_bootstrap_with_reset_bootstrap_state failed; it passed 0 out of the 
required 1 times.

28 Oct 2021 19:08:23 [node3] after 120.41/120 seconds Missing: 
['127.0.0.1:7000.* is now UP'] not found in system.log:
 Head: 
 Tail: ...
[, , , , ]
{code}
 



--
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-17070) ViewComplexTest hardening

2021-10-28 Thread Ekaterina Dimitrova (Jira)


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

Ekaterina Dimitrova commented on CASSANDRA-17070:
-

+1 on the proposed change to use a super class similar to #16777, it was on my 
list for some time but it was a lower priority. Honestly, we should have done 
it at first place like that. Thanks [~adelapena]!

> ViewComplexTest hardening
> -
>
> Key: CASSANDRA-17070
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17070
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/unit
>Reporter: Berenguer Blasi
>Assignee: Berenguer Blasi
>Priority: Normal
> Fix For: 4.0.x, 4.x
>
>
> I have seen a number of times already the {{ViewComplexTest}} family timeout 
> on test method teardown. This leaves a dirty env behind triggering the 
> following test methods to fail on it. This ticket aims at hardening them.



--
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-17080) Fix test: dtest-upgrade.upgrade_tests.drop_compact_storage_upgrade_test.TestDropCompactStorage.test_drop_compact_storage_mixed_cluster

2021-10-28 Thread Josh McKenzie (Jira)


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

Josh McKenzie updated CASSANDRA-17080:
--
Bug Category: Parent values: Correctness(12982)Level 1 values: Test 
Failure(12990)

> Fix test: 
> dtest-upgrade.upgrade_tests.drop_compact_storage_upgrade_test.TestDropCompactStorage.test_drop_compact_storage_mixed_cluster
> --
>
> Key: CASSANDRA-17080
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17080
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/python
>Reporter: Josh McKenzie
>Priority: Normal
>
> !https://ci-cassandra.apache.org/static/a177fe56/images/32x32/health-80plus.png!
>  Failed 28 times in the last 28 runs. Flakiness: 0%, Stability: 0%
>   
>  Example of failure: 
> [https://ci-cassandra.apache.org/job/Cassandra-trunk/801/testReport/junit/dtest-upgrade.upgrade_tests.drop_compact_storage_upgrade_test/TestDropCompactStorage/test_drop_compact_storage_mixed_cluster/]
>    
> {code:java}
> upgrade_tests/drop_compact_storage_upgrade_test.py:149: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> self = 
>  object at 0x7fa0e7f1ceb0>
> session = 
> assert_msg = 'Cannot DROP COMPACT STORAGE as some nodes in the cluster 
> ([/127.0.0.2:7000, /127.0.0.1:7000]) are not on 4.0+ yet. Please upgrade 
> those nodes and run `upgradesstables` before retrying.'
> def drop_compact_storage(self, session, assert_msg):
> try:
> session.execute("ALTER TABLE drop_compact_storage_test.test DROP 
> COMPACT STORAGE")
> pytest.fail("No exception has been thrown")
> except InvalidRequest as e:
> >   assert assert_msg in str(e)
> E   assert 'Cannot DROP COMPACT STORAGE as some nodes in the cluster 
> ([/127.0.0.2:7000, /127.0.0.1:7000]) are not on 4.0+ yet. Please upgrade 
> those nodes and run `upgradesstables` before retrying.' in 'Error from 
> server: code=2200 [Invalid query] message="Cannot DROP COMPACT STORAGE as 
> some nodes in the cluster ([/1271:7000, /127.0.0.2:7000]) are not on 4.0+ 
> yet. Please upgrade those nodes and run `upgradesstables` before retrying."'
> E+  where 'Error from server: code=2200 [Invalid query] 
> message="Cannot DROP COMPACT STORAGE as some nodes in the cluster 
> ([/1271:7000, /127.0.0.2:7000]) are not on 4.0+ yet. Please upgrade those 
> nodes and run `upgradesstables` before retrying."' = 
> str(InvalidRequest('Error from server: code=2200 [Invalid query] 
> message="Cannot DROP COMPACT STORAGE as some nodes in the...1:7000, 
> /127.0.0.2:7000]) are not on 4.0+ yet. Please upgrade those nodes and run 
> `upgradesstables` before retrying."'))
> upgrade_tests/drop_compact_storage_upgrade_test.py:45: AssertionError
> {code}



--
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-17080) Fix test: dtest-upgrade.upgrade_tests.drop_compact_storage_upgrade_test.TestDropCompactStorage.test_drop_compact_storage_mixed_cluster

2021-10-28 Thread Josh McKenzie (Jira)
Josh McKenzie created CASSANDRA-17080:
-

 Summary: Fix test: 
dtest-upgrade.upgrade_tests.drop_compact_storage_upgrade_test.TestDropCompactStorage.test_drop_compact_storage_mixed_cluster
 Key: CASSANDRA-17080
 URL: https://issues.apache.org/jira/browse/CASSANDRA-17080
 Project: Cassandra
  Issue Type: Bug
  Components: Test/dtest/python
Reporter: Josh McKenzie


!https://ci-cassandra.apache.org/static/a177fe56/images/32x32/health-80plus.png!
 Failed 28 times in the last 28 runs. Flakiness: 0%, Stability: 0%
  
 Example of failure: 
[https://ci-cassandra.apache.org/job/Cassandra-trunk/801/testReport/junit/dtest-upgrade.upgrade_tests.drop_compact_storage_upgrade_test/TestDropCompactStorage/test_drop_compact_storage_mixed_cluster/]
   
{code:java}
upgrade_tests/drop_compact_storage_upgrade_test.py:149: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
session = 
assert_msg = 'Cannot DROP COMPACT STORAGE as some nodes in the cluster 
([/127.0.0.2:7000, /127.0.0.1:7000]) are not on 4.0+ yet. Please upgrade those 
nodes and run `upgradesstables` before retrying.'

def drop_compact_storage(self, session, assert_msg):
try:
session.execute("ALTER TABLE drop_compact_storage_test.test DROP 
COMPACT STORAGE")
pytest.fail("No exception has been thrown")
except InvalidRequest as e:
>   assert assert_msg in str(e)
E   assert 'Cannot DROP COMPACT STORAGE as some nodes in the cluster 
([/127.0.0.2:7000, /127.0.0.1:7000]) are not on 4.0+ yet. Please upgrade those 
nodes and run `upgradesstables` before retrying.' in 'Error from server: 
code=2200 [Invalid query] message="Cannot DROP COMPACT STORAGE as some nodes in 
the cluster ([/1271:7000, /127.0.0.2:7000]) are not on 4.0+ yet. Please 
upgrade those nodes and run `upgradesstables` before retrying."'
E+  where 'Error from server: code=2200 [Invalid query] 
message="Cannot DROP COMPACT STORAGE as some nodes in the cluster 
([/1271:7000, /127.0.0.2:7000]) are not on 4.0+ yet. Please upgrade those 
nodes and run `upgradesstables` before retrying."' = str(InvalidRequest('Error 
from server: code=2200 [Invalid query] message="Cannot DROP COMPACT STORAGE as 
some nodes in the...1:7000, /127.0.0.2:7000]) are not on 4.0+ yet. Please 
upgrade those nodes and run `upgradesstables` before retrying."'))

upgrade_tests/drop_compact_storage_upgrade_test.py:45: AssertionError
{code}



--
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-17079) Fix test failure: dtest-upgrade.upgrade_tests.upgrade_through_versions_test.TestProtoV3Upgrade_AllVersions_RandomPartitioner_EndsAt_3_11_X_HEAD.test_rolling_upgrade

2021-10-28 Thread Josh McKenzie (Jira)
Josh McKenzie created CASSANDRA-17079:
-

 Summary: Fix test failure: 
dtest-upgrade.upgrade_tests.upgrade_through_versions_test.TestProtoV3Upgrade_AllVersions_RandomPartitioner_EndsAt_3_11_X_HEAD.test_rolling_upgrade
 Key: CASSANDRA-17079
 URL: https://issues.apache.org/jira/browse/CASSANDRA-17079
 Project: Cassandra
  Issue Type: Bug
  Components: Test/dtest/python
Reporter: Josh McKenzie


!https://ci-cassandra.apache.org/static/a177fe56/images/32x32/health-80plus.png!
 Failed 28 times in the last 28 runs. Flakiness: 0%, Stability: 0%
 
Example failure: 
https://ci-cassandra.apache.org/job/Cassandra-trunk/801/testReport/junit/dtest-upgrade.upgrade_tests.upgrade_through_versions_test/TestProtoV3Upgrade_AllVersions_RandomPartitioner_EndsAt_3_11_X_HEAD/test_rolling_upgrade/
 

{code:java}
self = 


@pytest.mark.timeout(3000)
def test_rolling_upgrade(self):
"""
Test rolling upgrade of the cluster, so we have mixed versions part 
way through.
"""
>   self.upgrade_scenario(rolling=True)

upgrade_tests/upgrade_through_versions_test.py:320: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
upgrade_tests/upgrade_through_versions_test.py:398: in upgrade_scenario
self._check_on_subprocs(self.fixture_dtest_setup.subprocs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

subprocs = [, ]

def _check_on_subprocs(self, subprocs):
"""
Check on given subprocesses.

If any are not alive, we'll go ahead and terminate any remaining 
alive subprocesses since this test is going to fail.
"""
subproc_statuses = [s.is_alive() for s in subprocs]
if not all(subproc_statuses):
message = "A subprocess has terminated early. Subprocess statuses: "
for s in subprocs:
message += "{name} (is_alive: {aliveness}), 
".format(name=s.name, aliveness=s.is_alive())
message += "attempting to terminate remaining subprocesses now."
self._terminate_subprocs()
>   raise RuntimeError(message)
E   RuntimeError: A subprocess has terminated early. Subprocess 
statuses: Process-1 (is_alive: True), Process-2 (is_alive: False), attempting 
to terminate remaining subprocesses now.

upgrade_tests/upgrade_through_versions_test.py:456: RuntimeError
{code}




--
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-17078) Fix failing test: SSTableReaderTest.testPersistentStatistics

2021-10-28 Thread Josh McKenzie (Jira)


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

Josh McKenzie updated CASSANDRA-17078:
--
Bug Category: Parent values: Correctness(12982)Level 1 values: Test 
Failure(12990)

> Fix failing test: SSTableReaderTest.testPersistentStatistics
> 
>
> Key: CASSANDRA-17078
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17078
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/unit
>Reporter: Josh McKenzie
>Priority: Normal
>
> JDK8 unit test failure
> See it on CircleCI but not on Jenkins ASF infra right now.
> {code:java}
> java.lang.RuntimeException: Failed importing sstables
>   at 
> org.apache.cassandra.db.SSTableImporter.importNewSSTables(SSTableImporter.java:164)
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.loadNewSSTables(ColumnFamilyStore.java:734)
>   at 
> org.apache.cassandra.io.sstable.SSTableReaderTest.clearAndLoad(SSTableReaderTest.java:222)
>   at 
> org.apache.cassandra.io.sstable.SSTableReaderTest.testPersistentStatistics(SSTableReaderTest.java:215)
> Caused by: java.lang.RuntimeException: Failed to rename 
> /tmp/cassandra/build/test/cassandra/data/SSTableReaderTest/Standard1-da581e50380611ecaad41173773221f9/nb-9-big-Digest.crc32
>  to 
> /tmp/cassandra/build/test/cassandra/data/SSTableReaderTest/Standard1-da581e50380611ecaad41173773221f9/nb-13-big-Digest.crc32
>   at org.apache.cassandra.io.util.PathUtils.rename(PathUtils.java:385)
>   at org.apache.cassandra.io.util.File.move(File.java:227)
>   at 
> org.apache.cassandra.io.util.FileUtils.renameWithConfirm(FileUtils.java:704)
>   at 
> org.apache.cassandra.io.util.FileUtils.renameWithConfirm(FileUtils.java:698)
>   at 
> org.apache.cassandra.io.sstable.format.SSTableWriter.rename(SSTableWriter.java:337)
>   at 
> org.apache.cassandra.io.sstable.format.SSTableReader.moveAndOpenSSTable(SSTableReader.java:2339)
>   at 
> org.apache.cassandra.db.SSTableImporter.importNewSSTables(SSTableImporter.java:139)
> Caused by: java.nio.file.NoSuchFileException: 
> /tmp/cassandra/build/test/cassandra/data/SSTableReaderTest/Standard1-da581e50380611ecaad41173773221f9/nb-9-big-Digest.crc32
>  -> 
> /tmp/cassandra/build/test/cassandra/data/SSTableReaderTest/Standard1-da581e50380611ecaad41173773221f9/nb-13-big-Digest.crc32
>   at 
> sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)
>   at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
>   at sun.nio.fs.UnixCopyFile.move(UnixCopyFile.java:396)
>   at 
> sun.nio.fs.UnixFileSystemProvider.move(UnixFileSystemProvider.java:262)
>   at java.nio.file.Files.move(Files.java:1395)
>   at 
> org.apache.cassandra.io.util.PathUtils.atomicMoveWithFallback(PathUtils.java:396)
>   at org.apache.cassandra.io.util.PathUtils.rename(PathUtils.java:377)
> {code}
>  
>  



--
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-17078) Fix failing test: SSTableReaderTest.testPersistentStatistics

2021-10-28 Thread Josh McKenzie (Jira)
Josh McKenzie created CASSANDRA-17078:
-

 Summary: Fix failing test: 
SSTableReaderTest.testPersistentStatistics
 Key: CASSANDRA-17078
 URL: https://issues.apache.org/jira/browse/CASSANDRA-17078
 Project: Cassandra
  Issue Type: Bug
  Components: Test/unit
Reporter: Josh McKenzie


JDK8 unit test failure

See it on CircleCI but not on Jenkins ASF infra right now.
{code:java}
java.lang.RuntimeException: Failed importing sstables
at 
org.apache.cassandra.db.SSTableImporter.importNewSSTables(SSTableImporter.java:164)
at 
org.apache.cassandra.db.ColumnFamilyStore.loadNewSSTables(ColumnFamilyStore.java:734)
at 
org.apache.cassandra.io.sstable.SSTableReaderTest.clearAndLoad(SSTableReaderTest.java:222)
at 
org.apache.cassandra.io.sstable.SSTableReaderTest.testPersistentStatistics(SSTableReaderTest.java:215)
Caused by: java.lang.RuntimeException: Failed to rename 
/tmp/cassandra/build/test/cassandra/data/SSTableReaderTest/Standard1-da581e50380611ecaad41173773221f9/nb-9-big-Digest.crc32
 to 
/tmp/cassandra/build/test/cassandra/data/SSTableReaderTest/Standard1-da581e50380611ecaad41173773221f9/nb-13-big-Digest.crc32
at org.apache.cassandra.io.util.PathUtils.rename(PathUtils.java:385)
at org.apache.cassandra.io.util.File.move(File.java:227)
at 
org.apache.cassandra.io.util.FileUtils.renameWithConfirm(FileUtils.java:704)
at 
org.apache.cassandra.io.util.FileUtils.renameWithConfirm(FileUtils.java:698)
at 
org.apache.cassandra.io.sstable.format.SSTableWriter.rename(SSTableWriter.java:337)
at 
org.apache.cassandra.io.sstable.format.SSTableReader.moveAndOpenSSTable(SSTableReader.java:2339)
at 
org.apache.cassandra.db.SSTableImporter.importNewSSTables(SSTableImporter.java:139)
Caused by: java.nio.file.NoSuchFileException: 
/tmp/cassandra/build/test/cassandra/data/SSTableReaderTest/Standard1-da581e50380611ecaad41173773221f9/nb-9-big-Digest.crc32
 -> 
/tmp/cassandra/build/test/cassandra/data/SSTableReaderTest/Standard1-da581e50380611ecaad41173773221f9/nb-13-big-Digest.crc32
at 
sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
at sun.nio.fs.UnixCopyFile.move(UnixCopyFile.java:396)
at 
sun.nio.fs.UnixFileSystemProvider.move(UnixFileSystemProvider.java:262)
at java.nio.file.Files.move(Files.java:1395)
at 
org.apache.cassandra.io.util.PathUtils.atomicMoveWithFallback(PathUtils.java:396)
at org.apache.cassandra.io.util.PathUtils.rename(PathUtils.java:377)
{code}
 

 



--
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-17069) Refactor normal/preview/IR repair to standardize repair cleanup and error handling of failed RepairJobs

2021-10-28 Thread David Capwell (Jira)


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

David Capwell commented on CASSANDRA-17069:
---

patch is almost ready for review; finishing testing.

> Refactor normal/preview/IR repair to standardize repair cleanup and error 
> handling of failed RepairJobs
> ---
>
> Key: CASSANDRA-17069
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17069
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Consistency/Repair
>Reporter: David Capwell
>Assignee: David Capwell
>Priority: Normal
> Fix For: 4.x
>
>
> Right now we have 3 different implementations of repair: normal, preview, and 
> incremental (IR); all 3 handle RepairJob failures differently and offer 
> different state cleanup.  To make sure that we consistently handle errors the 
> same way and cleanup, we should move these responsibilities outside of the 
> repair task itself and move these into common APIs and move some logic into 
> the repair coordination its self.
> This work relates with CASSANDRA-15399 as special handling each task makes 
> the work more complex.



--
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-17077) Fix failing test: dtest.bootstrap_test.TestBootstrap.test_bootstrap_binary_disabled

2021-10-28 Thread Josh McKenzie (Jira)
Josh McKenzie created CASSANDRA-17077:
-

 Summary: Fix failing test: 
dtest.bootstrap_test.TestBootstrap.test_bootstrap_binary_disabled
 Key: CASSANDRA-17077
 URL: https://issues.apache.org/jira/browse/CASSANDRA-17077
 Project: Cassandra
  Issue Type: Bug
  Components: Test/dtest/python
Reporter: Josh McKenzie


JDK8 and JDK11

[https://ci-cassandra.apache.org/job/Cassandra-trunk/801/testReport/junit/dtest.bootstrap_test/TestBootstrap/test_bootstrap_binary_disabled/]

 
{code:java}
bootstrap_test.py:1014: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
../venv/lib/python3.8/site-packages/ccmlib/node.py:1005: in nodetool
return handle_external_tool_process(p, ['nodetool', '-h', 'localhost', 
'-p', str(self.jmx_port)] + shlex.split(cmd))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

process = 
cmd_args = ['nodetool', '-h', 'localhost', '-p', '7300', 'bootstrap', ...]

def handle_external_tool_process(process, cmd_args):
out, err = process.communicate()
if (out is not None) and isinstance(out, bytes):
out = out.decode()
if (err is not None) and isinstance(err, bytes):
err = err.decode()
rc = process.returncode

if rc != 0:
>   raise ToolError(cmd_args, rc, out, err)
E   ccmlib.node.ToolError: Subprocess ['nodetool', '-h', 'localhost', 
'-p', '7300', 'bootstrap', 'resume'] exited with non-zero status; exit status: 
1; 
E   stderr: nodetool: Failed to connect to 'localhost:7300' - 
ConnectException: 'Connection refused (Connection refused)'.

../venv/lib/python3.8/site-packages/ccmlib/node.py:2305: ToolError
{code}




--
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-17077) Fix failing test: dtest.bootstrap_test.TestBootstrap.test_bootstrap_binary_disabled

2021-10-28 Thread Josh McKenzie (Jira)


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

Josh McKenzie updated CASSANDRA-17077:
--
Bug Category: Parent values: Correctness(12982)Level 1 values: Test 
Failure(12990)

> Fix failing test: 
> dtest.bootstrap_test.TestBootstrap.test_bootstrap_binary_disabled
> ---
>
> Key: CASSANDRA-17077
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17077
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/python
>Reporter: Josh McKenzie
>Priority: Normal
>
> JDK8 and JDK11
> [https://ci-cassandra.apache.org/job/Cassandra-trunk/801/testReport/junit/dtest.bootstrap_test/TestBootstrap/test_bootstrap_binary_disabled/]
>  
> {code:java}
> bootstrap_test.py:1014: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> ../venv/lib/python3.8/site-packages/ccmlib/node.py:1005: in nodetool
> return handle_external_tool_process(p, ['nodetool', '-h', 'localhost', 
> '-p', str(self.jmx_port)] + shlex.split(cmd))
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> process = 
> cmd_args = ['nodetool', '-h', 'localhost', '-p', '7300', 'bootstrap', ...]
> def handle_external_tool_process(process, cmd_args):
> out, err = process.communicate()
> if (out is not None) and isinstance(out, bytes):
> out = out.decode()
> if (err is not None) and isinstance(err, bytes):
> err = err.decode()
> rc = process.returncode
> 
> if rc != 0:
> >   raise ToolError(cmd_args, rc, out, err)
> E   ccmlib.node.ToolError: Subprocess ['nodetool', '-h', 'localhost', 
> '-p', '7300', 'bootstrap', 'resume'] exited with non-zero status; exit 
> status: 1; 
> E   stderr: nodetool: Failed to connect to 'localhost:7300' - 
> ConnectException: 'Connection refused (Connection refused)'.
> ../venv/lib/python3.8/site-packages/ccmlib/node.py:2305: ToolError
> {code}



--
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-17076) Fix failing test: test_bootstrap_with_reset_bootstrap_state - bootstrap_test.TestBootstrap

2021-10-28 Thread Josh McKenzie (Jira)


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

Josh McKenzie updated CASSANDRA-17076:
--
Bug Category: Parent values: Correctness(12982)Level 1 values: Test 
Failure(12990)

> Fix failing test: test_bootstrap_with_reset_bootstrap_state - 
> bootstrap_test.TestBootstrap
> --
>
> Key: CASSANDRA-17076
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17076
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/python
>Reporter: Josh McKenzie
>Priority: Normal
>
> Both JDK8 and JDK11
> Times out
> {code:java}
> bootstrap_test.py:483: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> ../env3.6/lib/python3.6/site-packages/ccmlib/node.py:895: in start
> node.watch_log_for_alive(self, from_mark=mark)
> ../env3.6/lib/python3.6/site-packages/ccmlib/node.py:664: in 
> watch_log_for_alive
> self.watch_log_for(tofind, from_mark=from_mark, timeout=timeout, 
> filename=filename)
> ../env3.6/lib/python3.6/site-packages/ccmlib/node.py:592: in watch_log_for
> head=reads[:50], tail="..."+reads[len(reads)-150:]))
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> start = 1635437046.9280019, timeout = 120
> msg = "Missing: ['127.0.0.1:7000.* is now UP'] not found in system.log:\n 
> Head: \n Tail: ..."
> node = 'node3'
> @staticmethod
> def raise_if_passed(start, timeout, msg, node=None):
> if start + timeout < time.time():
> >   raise TimeoutError.create(start, timeout, msg, node)
> E   ccmlib.node.TimeoutError: 28 Oct 2021 16:06:07 [node3] after 
> 120.12/120 seconds Missing: ['127.0.0.1:7000.* is now UP'] not found in 
> system.log:
> EHead: 
> ETail: ...
> ../env3.6/lib/python3.6/site-packages/ccmlib/node.py:56: TimeoutError
> {code}



--
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-17076) Fix failing test: test_bootstrap_with_reset_bootstrap_state - bootstrap_test.TestBootstrap

2021-10-28 Thread Josh McKenzie (Jira)
Josh McKenzie created CASSANDRA-17076:
-

 Summary: Fix failing test: 
test_bootstrap_with_reset_bootstrap_state - bootstrap_test.TestBootstrap
 Key: CASSANDRA-17076
 URL: https://issues.apache.org/jira/browse/CASSANDRA-17076
 Project: Cassandra
  Issue Type: Bug
  Components: Test/dtest/python
Reporter: Josh McKenzie


Both JDK8 and JDK11

Times out
{code:java}
bootstrap_test.py:483: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
../env3.6/lib/python3.6/site-packages/ccmlib/node.py:895: in start
node.watch_log_for_alive(self, from_mark=mark)
../env3.6/lib/python3.6/site-packages/ccmlib/node.py:664: in watch_log_for_alive
self.watch_log_for(tofind, from_mark=from_mark, timeout=timeout, 
filename=filename)
../env3.6/lib/python3.6/site-packages/ccmlib/node.py:592: in watch_log_for
head=reads[:50], tail="..."+reads[len(reads)-150:]))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

start = 1635437046.9280019, timeout = 120
msg = "Missing: ['127.0.0.1:7000.* is now UP'] not found in system.log:\n Head: 
\n Tail: ..."
node = 'node3'

@staticmethod
def raise_if_passed(start, timeout, msg, node=None):
if start + timeout < time.time():
>   raise TimeoutError.create(start, timeout, msg, node)
E   ccmlib.node.TimeoutError: 28 Oct 2021 16:06:07 [node3] after 
120.12/120 seconds Missing: ['127.0.0.1:7000.* is now UP'] not found in 
system.log:
EHead: 
ETail: ...

../env3.6/lib/python3.6/site-packages/ccmlib/node.py:56: TimeoutError
{code}



--
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-17075) Unable to update token metadata if replacement host set and unresolvable in DNS

2021-10-28 Thread Jon Meredith (Jira)


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

Jon Meredith updated CASSANDRA-17075:
-
 Bug Category: Parent values: Availability(12983)Level 1 values: Response 
Crash(12991)
   Complexity: Normal
Discovered By: User Report
Fix Version/s: 3.0.x
 Severity: Low
   Status: Open  (was: Triage Needed)

> Unable to update token metadata if replacement host set and unresolvable in 
> DNS
> ---
>
> Key: CASSANDRA-17075
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17075
> Project: Cassandra
>  Issue Type: Bug
>  Components: Cluster/Gossip
>Reporter: Jon Meredith
>Assignee: Jon Meredith
>Priority: Normal
> Fix For: 3.0.x
>
>
> Related to CASSANDRA-16873. If a host is set for the 
> {{cassandra.replace_address*}} properties and does not resolve in DNS it 
> prevents updating token metadata with an unknown  host exception.



--
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-17075) Unable to update token metadata if replacement host set and unresolvable in DNS

2021-10-28 Thread Jon Meredith (Jira)
Jon Meredith created CASSANDRA-17075:


 Summary: Unable to update token metadata if replacement host set 
and unresolvable in DNS
 Key: CASSANDRA-17075
 URL: https://issues.apache.org/jira/browse/CASSANDRA-17075
 Project: Cassandra
  Issue Type: Bug
  Components: Cluster/Gossip
Reporter: Jon Meredith
Assignee: Jon Meredith


Related to CASSANDRA-16873. If a host is set for the 
{{cassandra.replace_address*}} properties and does not resolve in DNS it 
prevents updating token metadata with an unknown  host exception.



--
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-17070) ViewComplexTest hardening

2021-10-28 Thread Jira


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

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

I forgot to mention that I found an unrelated mistake 
[here|https://github.com/apache/cassandra/blob/trunk/test/unit/org/apache/cassandra/cql3/ViewComplexTest.java#L142-L148],
 where two tests are supposed to run a scenario with and without flushing the 
table, but both of them run the scenario with flush. It's fixed in the commit 
extracting a superclass, 
[here|https://github.com/adelapena/cassandra/blob/204f3bbe69aae9165c0570224bfd811c8bbd4d07/test/unit/org/apache/cassandra/cql3/ViewComplexTest.java#L55-L61].

> ViewComplexTest hardening
> -
>
> Key: CASSANDRA-17070
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17070
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/unit
>Reporter: Berenguer Blasi
>Assignee: Berenguer Blasi
>Priority: Normal
> Fix For: 4.0.x, 4.x
>
>
> I have seen a number of times already the {{ViewComplexTest}} family timeout 
> on test method teardown. This leaves a dirty env behind triggering the 
> following test methods to fail on it. This ticket aims at hardening them.



--
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-17070) ViewComplexTest hardening

2021-10-28 Thread Jira


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

Andres de la Peña edited comment on CASSANDRA-17070 at 10/28/21, 4:54 PM:
--

I'm not sure I understand why the MV cleanup can fail. Would the second round 
of cleanup guarantee that the MV cleanups succeed, or would it reduce the 
chances of having leftovers because it's unlikely to have the same error twice? 
Maybe it's just giving more time for the first async cleanup to happen?

In any case, here are 500 runs of each ViewComplex test:
 * 
[ViewComplexDeletionsTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1090/workflows/4362eefe-a13a-4a8c-a8eb-9e543a74623a/jobs/10187]
 * 
[ViewComplexLivenessTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1091/workflows/a9185c89-ceff-4ddd-90c0-960281233fe3/jobs/10189]
 * 
[ViewComplexTTLTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1092/workflows/1f74edb4-3a41-47fd-b95c-0edc1d514a20/jobs/10191]
 * 
[ViewComplexTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1093/workflows/f2e69851-19ea-4ab6-9315-5af9d721ec3d/jobs/10193]
 * 
[ViewComplexUpdatesTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1094/workflows/0d25bf72-7c90-4287-92d6-21a751082e21/jobs/10196]

>From these runs only a test runner for {{ViewComplexTest}} is failing due to 
>timeouts.

It's not strictly related to the fix, but it seems that there is some repeated 
code among the five tests in which {{ViewComplexTest}} was split by 
CASSANDRA-16670. Probably we should do the same thing that we did with 
{{ViewTest}} in CASSANDRA-16777 and extract a superclass to avoid code 
duplication. This would make changes like this one a bit easier to do. I gave 
it a go in [this 
commit|https://github.com/adelapena/cassandra/commit/204f3bbe69aae9165c0570224bfd811c8bbd4d07],
 and it saves us some 176 lines of code, which I think is always nice.

Here are some repeated runs for the tests using a common superclass, with no 
failures so far:
 * 
[ViewComplexDeletionsTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1096/workflows/ded0dfe1-e736-468a-babb-0c007a6bf3c9/jobs/10201]
 * 
[ViewComplexLivenessTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1097/workflows/544b429d-b712-428c-b97d-edd50076992a/jobs/10203]
 * 
[ViewComplexTTLTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1098/workflows/c062d815-2e26-4a75-aa64-656bfc48c8cc/jobs/10205]
 * 
[ViewComplexTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1099/workflows/1f834191-b30b-4380-87ce-da257fac731e/jobs/10207]
 * 
[ViewComplexUpdatesTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1095/workflows/3df8138d-1d7b-4283-be3c-a23cb2c0bc40]

An alternative/complementary approach to avoid problems with leftovers from 
previous runs is making sure that all MVs are created with a new, unique name. 
This way the tests don't collide with any surviving MVs if the cleanup has 
failed or if it hasn't finished. {{CQLTester}} does this with keyspace, table, 
function and aggregate names.

I gave a go to this generation of unique names 
[here|https://github.com/adelapena/cassandra/commit/e1928447e4139f1ad4126d9ed34e3de9d3bceb10].
 It is just for {{ViewComplexTest}}, but we may consider having a more generic 
and reusable solution for creating/cleaning MVs in {{CQLTester}}, although I 
think we don't have to do it here. wdyt?


was (Author: adelapena):
I'm not sure I understand why the MV cleanup can fail. Would the second round 
of cleanup guarantee that the MV cleanups succeed, or would it reduce the 
chances of having leftovers because it's unlikely to have the same error twice? 
Maybe it's just giving more time for the first async cleanup to happen?

In any case, here are 500 runs of each ViewComplex test:
 * 
[ViewComplexDeletionsTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1090/workflows/4362eefe-a13a-4a8c-a8eb-9e543a74623a/jobs/10187]
 * 
[ViewComplexLivenessTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1091/workflows/a9185c89-ceff-4ddd-90c0-960281233fe3/jobs/10189]
 * 
[ViewComplexTTLTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1092/workflows/1f74edb4-3a41-47fd-b95c-0edc1d514a20/jobs/10191]
 * 
[ViewComplexTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1093/workflows/f2e69851-19ea-4ab6-9315-5af9d721ec3d/jobs/10193]
 * 
[ViewComplexUpdatesTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1094/workflows/0d25bf72-7c90-4287-92d6-21a751082e21/jobs/10196]

>From this only a test runner for {{ViewComplexTest}} is failing due to 
>timeouts.

It's not strictly related to the fix, but it seems there is some repeated code 
among the five tests in which {{ViewComplexTest}} was 

[jira] [Comment Edited] (CASSANDRA-17070) ViewComplexTest hardening

2021-10-28 Thread Jira


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

Andres de la Peña edited comment on CASSANDRA-17070 at 10/28/21, 4:49 PM:
--

I'm not sure I understand why the MV cleanup can fail. Would the second round 
of cleanup guarantee that the MV cleanups succeed, or would it reduce the 
chances of having leftovers because it's unlikely to have the same error twice? 
Maybe it's just giving more time for the first async cleanup to happen?

In any case, here are 500 runs of each ViewComplex test:
 * 
[ViewComplexDeletionsTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1090/workflows/4362eefe-a13a-4a8c-a8eb-9e543a74623a/jobs/10187]
 * 
[ViewComplexLivenessTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1091/workflows/a9185c89-ceff-4ddd-90c0-960281233fe3/jobs/10189]
 * 
[ViewComplexTTLTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1092/workflows/1f74edb4-3a41-47fd-b95c-0edc1d514a20/jobs/10191]
 * 
[ViewComplexTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1093/workflows/f2e69851-19ea-4ab6-9315-5af9d721ec3d/jobs/10193]
 * 
[ViewComplexUpdatesTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1094/workflows/0d25bf72-7c90-4287-92d6-21a751082e21/jobs/10196]

>From this only a test runner for {{ViewComplexTest}} is failing due to 
>timeouts.

It's not strictly related to the fix, but it seems there is some repeated code 
among the five tests in which {{ViewComplexTest}} was split by CASSANDRA-16670. 
Probably we should do the same thing that we did with {{ViewTest}} in 
CASSANDRA-16777 and extract a superclass to avoid code duplication. This would 
changes like this one a bit easier to do. I gave it a go in [this 
commit|https://github.com/adelapena/cassandra/commit/204f3bbe69aae9165c0570224bfd811c8bbd4d07],
 and it saves us some 176 lines of code, which I think is always nice.

Here are some repeated runs for the tests using a common superclass, with no 
failures so far:
 * 
[ViewComplexDeletionsTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1096/workflows/ded0dfe1-e736-468a-babb-0c007a6bf3c9/jobs/10201]
 * 
[ViewComplexLivenessTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1097/workflows/544b429d-b712-428c-b97d-edd50076992a/jobs/10203]
 * 
[ViewComplexTTLTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1098/workflows/c062d815-2e26-4a75-aa64-656bfc48c8cc/jobs/10205]
 * 
[ViewComplexTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1099/workflows/1f834191-b30b-4380-87ce-da257fac731e/jobs/10207]
 * 
[ViewComplexUpdatesTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1095/workflows/3df8138d-1d7b-4283-be3c-a23cb2c0bc40]

An alternative/complementary approach to avoid problems with leftovers from 
previous runs is making sure that all MVs are created with a new, unique name. 
This way the tests don't collide with any surviving MVs if the cleanup has 
failed or if it hasn't finished. {{CQLTester}} does this with keyspace, table, 
function and aggregate names.

I gave a go to this generation of unique names 
[here|https://github.com/adelapena/cassandra/commit/e1928447e4139f1ad4126d9ed34e3de9d3bceb10].
 It is just for {{ViewComplexTest}}, but we may consider having a more generic 
and reusable solution for creating/cleaning MVs in {{CQLTester}}, although I 
think we don't have to do it here. wdyt?


was (Author: adelapena):
I'm not sure I understand why the MV cleanup can fail. Would the second round 
of cleanup guarantee that the MV cleanups succeed, or would it reduce the 
chances of having leftovers because it's unlikely to have the same error twice? 
Maybe it's just giving more time for the first async cleanup to happen?

In any case, here are 500 runs of each ViewComplex test:
 * 
[ViewComplexDeletionsTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1090/workflows/4362eefe-a13a-4a8c-a8eb-9e543a74623a/jobs/10187]
 * 
[ViewComplexLivenessTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1091/workflows/a9185c89-ceff-4ddd-90c0-960281233fe3/jobs/10189]
 * 
[ViewComplexTTLTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1092/workflows/1f74edb4-3a41-47fd-b95c-0edc1d514a20/jobs/10191]
 * 
[ViewComplexTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1093/workflows/f2e69851-19ea-4ab6-9315-5af9d721ec3d/jobs/10193]
 * 
[ViewComplexUpdatesTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1094/workflows/0d25bf72-7c90-4287-92d6-21a751082e21/jobs/10196]

>From this only a test runner for {{ViewComplexTest}} is failing due to 
>timeouts.

It's not strictly related to the fix, but it seems there is some repeated code 
among the five tests in which {{ViewComplexTest}} was split by 

[jira] [Comment Edited] (CASSANDRA-17070) ViewComplexTest hardening

2021-10-28 Thread Jira


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

Andres de la Peña edited comment on CASSANDRA-17070 at 10/28/21, 4:43 PM:
--

I'm not sure I understand why the MV cleanup can fail. Would the second round 
of cleanup guarantee that the MV cleanups succeed, or would it reduce the 
chances of having leftovers because it's unlikely to have the same error twice? 
Maybe it's just giving more time for the first async cleanup to happen?

In any case, here are 500 runs of each ViewComplex test:
 * 
[ViewComplexDeletionsTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1090/workflows/4362eefe-a13a-4a8c-a8eb-9e543a74623a/jobs/10187]
 * 
[ViewComplexLivenessTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1091/workflows/a9185c89-ceff-4ddd-90c0-960281233fe3/jobs/10189]
 * 
[ViewComplexTTLTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1092/workflows/1f74edb4-3a41-47fd-b95c-0edc1d514a20/jobs/10191]
 * 
[ViewComplexTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1093/workflows/f2e69851-19ea-4ab6-9315-5af9d721ec3d/jobs/10193]
 * 
[ViewComplexUpdatesTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1094/workflows/0d25bf72-7c90-4287-92d6-21a751082e21/jobs/10196]

>From this only a test runner for {{ViewComplexTest}} is failing due to 
>timeouts.

It's not strictly related to the fix, but it seems there is some repeated code 
among the five tests in which {{ViewComplexTest}} was split by CASSANDRA-16670. 
Probably we should do the same thing that we did with {{ViewTest}} in 
CASSANDRA-16777 and extract a superclass to avoid code duplication. This would 
changes like this one a bit easier to do. I gave it a go in [this 
commit|https://github.com/adelapena/cassandra/commit/204f3bbe69aae9165c0570224bfd811c8bbd4d07],
 and it saves us some 176 lines of code, which I think is always nice.

Here are some repeated runs for the test using a common superclass, with no 
failures so far:
 * 
[ViewComplexDeletionsTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1096/workflows/ded0dfe1-e736-468a-babb-0c007a6bf3c9/jobs/10201]
 * 
[ViewComplexLivenessTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1097/workflows/544b429d-b712-428c-b97d-edd50076992a/jobs/10203]
 * 
[ViewComplexTTLTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1098/workflows/c062d815-2e26-4a75-aa64-656bfc48c8cc/jobs/10205]
 * 
[ViewComplexTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1099/workflows/1f834191-b30b-4380-87ce-da257fac731e/jobs/10207]
 * 
[ViewComplexUpdatesTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1095/workflows/3df8138d-1d7b-4283-be3c-a23cb2c0bc40]

An alternative/complementary approach to avoid problems with leftovers from 
previous test runs is making sure that all MVs are created with a new, unique 
name. This way the tests don't collide with any surviving MVs if the cleanup 
has failed or if it hasn't finished. {{CQLTester}} does this with keyspace, 
table, function and aggregate names.

I gave it a go to this generation of unique names 
[here|https://github.com/adelapena/cassandra/commit/e1928447e4139f1ad4126d9ed34e3de9d3bceb10].
 It is just for {{ViewComplexTest}}, but we may consider having a more generic 
and reusable solution for creating/cleaning MVs in {{CQLTester}}, although I 
think we don't have to do it here. wdyt?


was (Author: adelapena):
I'm not sure I understand why the MV cleanup can fail. Would the second round 
of cleanup guarantee that the MV cleanups succeed, or would it reduce the 
chances of having leftovers because it's unlikely to have the same error twice? 
Maybe it's just giving more time for the first async cleanup to happen?

In any case, here are 500 runs of each ViewComplex test:
 * 
[ViewComplexDeletionsTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1090/workflows/4362eefe-a13a-4a8c-a8eb-9e543a74623a/jobs/10187]
 * 
[ViewComplexLivenessTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1091/workflows/a9185c89-ceff-4ddd-90c0-960281233fe3/jobs/10189]
 * 
[ViewComplexTTLTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1092/workflows/1f74edb4-3a41-47fd-b95c-0edc1d514a20/jobs/10191]
 * 
[ViewComplexTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1093/workflows/f2e69851-19ea-4ab6-9315-5af9d721ec3d/jobs/10193]
 * 
[ViewComplexUpdatesTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1094/workflows/0d25bf72-7c90-4287-92d6-21a751082e21/jobs/10196]

>From this only a test runner for {{ViewComplexTest}} is failing due to 
>timeouts.

It's not strictly related to the fix, but it seems there is some repeated code 
among the five tests in which {{ViewComplexTest}} was split by 

[jira] [Commented] (CASSANDRA-17070) ViewComplexTest hardening

2021-10-28 Thread Jira


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

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

I'm not sure I understand why the MV cleanup can fail. Would the second round 
of cleanup guarantee that the MV cleanups succeed, or would it reduce the 
chances of having leftovers because it's unlikely to have the same error twice? 
Maybe it's just giving more time for the first async cleanup to happen?

In any case, here are 500 runs of each ViewComplex test:
 * 
[ViewComplexDeletionsTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1090/workflows/4362eefe-a13a-4a8c-a8eb-9e543a74623a/jobs/10187]
 * 
[ViewComplexLivenessTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1091/workflows/a9185c89-ceff-4ddd-90c0-960281233fe3/jobs/10189]
 * 
[ViewComplexTTLTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1092/workflows/1f74edb4-3a41-47fd-b95c-0edc1d514a20/jobs/10191]
 * 
[ViewComplexTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1093/workflows/f2e69851-19ea-4ab6-9315-5af9d721ec3d/jobs/10193]
 * 
[ViewComplexUpdatesTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1094/workflows/0d25bf72-7c90-4287-92d6-21a751082e21/jobs/10196]

>From this only a test runner for {{ViewComplexTest}} is failing due to 
>timeouts.

It's not strictly related to the fix, but it seems there is some repeated code 
among the five tests in which {{ViewComplexTest}} was split by CASSANDRA-16670. 
Probably we should do the same thing that we did with {{ViewTest}} in 
CASSANDRA-16777 and extract a superclass to avoid code duplication. This would 
changes like this one a bit easier to do. I gave it a go in [this 
commit|https://github.com/adelapena/cassandra/commit/204f3bbe69aae9165c0570224bfd811c8bbd4d07],
 and it saves us some 176 lines of code, which I think is always nice.

Here are some repeated runs for the test using a common superclass, with no 
failures so far:
 * 
[ViewComplexDeletionsTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1096/workflows/ded0dfe1-e736-468a-babb-0c007a6bf3c9/jobs/10201]
 * 
[ViewComplexLivenessTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1097/workflows/544b429d-b712-428c-b97d-edd50076992a/jobs/10203]
 * 
[ViewComplexTTLTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1098/workflows/c062d815-2e26-4a75-aa64-656bfc48c8cc/jobs/10205]
 * 
[ViewComplexTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1099/workflows/1f834191-b30b-4380-87ce-da257fac731e/jobs/10207]
 * 
[ViewComplexUpdatesTest|https://app.circleci.com/pipelines/github/adelapena/cassandra/1095/workflows/3df8138d-1d7b-4283-be3c-a23cb2c0bc40]

An alternative/complementary approach to avoid problems with leftovers from 
previous test runs is making sure that all MVs are created with a new, unique 
name. This way the tests don't collide with any surviving MVs if the cleanup 
has failed or if it hasn't finished. {{CQLTester}} does this with keyspace, 
table, function and aggregate names.

I gave it a go to this generation of unique names 
[here|https://github.com/adelapena/cassandra/commit/e1928447e4139f1ad4126d9ed34e3de9d3bceb10].
 It is just for {{ViewComplexTest}}, but we may consider having a more generic 
and reusable solution for creating/cleaning MVs in {{CQLTester}}, although I 
think we don't have to it here. wdyt?

> ViewComplexTest hardening
> -
>
> Key: CASSANDRA-17070
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17070
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/unit
>Reporter: Berenguer Blasi
>Assignee: Berenguer Blasi
>Priority: Normal
> Fix For: 4.0.x, 4.x
>
>
> I have seen a number of times already the {{ViewComplexTest}} family timeout 
> on test method teardown. This leaves a dirty env behind triggering the 
> following test methods to fail on it. This ticket aims at hardening them.



--
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-17050) Upgrade tests fail with InvocationTargetException

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


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

Benedict Elliott Smith commented on CASSANDRA-17050:


[dtest-api|https://github.com/belliottsmith/cassandra-in-jvm-dtest-api/tree/17050]

It looks like Jenkins CI has its own issues, as I don't think CQLSHLIB tests 
have been affected by this or earlier work, and 2.2 has failing python dtests 
that are definitely unrelated.

CircleCI is now showing upgrade dtests as clean, and I have the other jvm 
dtests for confirmation. However we will need to release a new dtest-api 
(preferably to include CASSANDRA-17064) before we merge this.

I wonder if we should aim to reduce the friction for internal dependencies by 
using the apache snapshots repository for non-release builds. Not sure if 
somebody has a better idea, but today it is more than a little annoying to have 
to release the dtest-api before merging any change that uses it. The problem 
may become more common as we accumulate more sub-projects.

> Upgrade tests fail with InvocationTargetException
> -
>
> Key: CASSANDRA-17050
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17050
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/java
>Reporter: Benedict Elliott Smith
>Assignee: Benedict Elliott Smith
>Priority: Urgent
> Fix For: 2.2.x, 3.0.x, 3.11.x, 4.0.x, 4.x
>
>
> Upgrade tests are currently failing due to the new dtest-api changes and 
> their integration with trunk.



--
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-17050) Upgrade tests fail with InvocationTargetException

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


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

Benedict Elliott Smith edited comment on CASSANDRA-17050 at 10/28/21, 3:15 PM:
---

Additional necessary changes to 
[dtest-api|https://github.com/belliottsmith/cassandra-in-jvm-dtest-api/tree/17050]

It looks like Jenkins CI has its own issues, as I don't think CQLSHLIB tests 
have been affected by this or earlier work, and 2.2 has failing python dtests 
that are definitely unrelated.

CircleCI is now showing upgrade dtests as clean, and I have the other jvm 
dtests for confirmation. However we will need to release a new dtest-api 
(preferably to include CASSANDRA-17064) before we merge this.

I wonder if we should aim to reduce the friction for internal dependencies by 
using the apache snapshots repository for non-release builds. Not sure if 
somebody has a better idea, but today it is more than a little annoying to have 
to release the dtest-api before merging any change that uses it. The problem 
may become more common as we accumulate more sub-projects.


was (Author: benedict):
[dtest-api|https://github.com/belliottsmith/cassandra-in-jvm-dtest-api/tree/17050]

It looks like Jenkins CI has its own issues, as I don't think CQLSHLIB tests 
have been affected by this or earlier work, and 2.2 has failing python dtests 
that are definitely unrelated.

CircleCI is now showing upgrade dtests as clean, and I have the other jvm 
dtests for confirmation. However we will need to release a new dtest-api 
(preferably to include CASSANDRA-17064) before we merge this.

I wonder if we should aim to reduce the friction for internal dependencies by 
using the apache snapshots repository for non-release builds. Not sure if 
somebody has a better idea, but today it is more than a little annoying to have 
to release the dtest-api before merging any change that uses it. The problem 
may become more common as we accumulate more sub-projects.

> Upgrade tests fail with InvocationTargetException
> -
>
> Key: CASSANDRA-17050
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17050
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/java
>Reporter: Benedict Elliott Smith
>Assignee: Benedict Elliott Smith
>Priority: Urgent
> Fix For: 2.2.x, 3.0.x, 3.11.x, 4.0.x, 4.x
>
>
> Upgrade tests are currently failing due to the new dtest-api changes and 
> their integration with trunk.



--
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-17064) dtest-api: Option to start nodes with blank gossip state

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


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

Benedict Elliott Smith commented on CASSANDRA-17064:


[dtest-api|https://github.com/belliottsmith/cassandra-in-jvm-dtest-api/tree/17064]

> dtest-api: Option to start nodes with blank gossip state
> 
>
> Key: CASSANDRA-17064
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17064
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Test/dtest/java
>Reporter: Benedict Elliott Smith
>Assignee: Benedict Elliott Smith
>Priority: Normal
>
> dtest-api should permit starting nodes with neither regular gossip nor 
> artificially injected gossip, so that the Gossip state may be modified by the 
> tests from a blank slate



--
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-17056) Pluggable SSTable format (SSTable format API)

2021-10-28 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-17056:
--
Mentor: Branimir Lambov

> Pluggable SSTable format (SSTable format API)
> -
>
> Key: CASSANDRA-17056
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17056
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Local/SSTable
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
>
> https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-17%3A+SSTable+format+API



--
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-17052) Queries performed with NODE_LOCAL consistency level do not update request metrics

2021-10-28 Thread Aleksey Yeschenko (Jira)


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

Aleksey Yeschenko updated CASSANDRA-17052:
--
Reviewers: Alex Petrov

> Queries performed with NODE_LOCAL consistency level do not update request 
> metrics
> -
>
> Key: CASSANDRA-17052
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17052
> Project: Cassandra
>  Issue Type: Bug
>  Components: Observability/Metrics
>Reporter: Aleksey Yeschenko
>Assignee: Aleksey Yeschenko
>Priority: Normal
> Fix For: 4.0.x, 4.x
>
>
> Currently, queries performed with {{NODE_LOCAL}} consistency level are not 
> reflected in request metrics. The suggested patch addresses that, and also 
> allows modification and batch statements to be used with {{NODE_LOCAL}} 
> consistency level.



--
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-17052) Queries performed with NODE_LOCAL consistency level do not update request metrics

2021-10-28 Thread Aleksey Yeschenko (Jira)


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

Aleksey Yeschenko updated CASSANDRA-17052:
--
Status: Patch Available  (was: In Progress)

Code: https://github.com/iamaleksey/cassandra/commits/17052-4.0
CI: 
https://app.circleci.com/pipelines/github/iamaleksey/cassandra?branch=17052-4.0

> Queries performed with NODE_LOCAL consistency level do not update request 
> metrics
> -
>
> Key: CASSANDRA-17052
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17052
> Project: Cassandra
>  Issue Type: Bug
>  Components: Observability/Metrics
>Reporter: Aleksey Yeschenko
>Assignee: Aleksey Yeschenko
>Priority: Normal
> Fix For: 4.0.x, 4.x
>
>
> Currently, queries performed with {{NODE_LOCAL}} consistency level are not 
> reflected in request metrics. The suggested patch addresses that, and also 
> allows modification and batch statements to be used with {{NODE_LOCAL}} 
> consistency level.



--
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-17052) Queries performed with NODE_LOCAL consistency level do not update request metrics

2021-10-28 Thread Aleksey Yeschenko (Jira)


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

Aleksey Yeschenko updated CASSANDRA-17052:
--
 Bug Category: Parent values: Code(13163)Level 1 values: Bug - Unclear 
Impact(13164)
   Complexity: Normal
Discovered By: Code Inspection
 Severity: Low
   Status: Open  (was: Triage Needed)

> Queries performed with NODE_LOCAL consistency level do not update request 
> metrics
> -
>
> Key: CASSANDRA-17052
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17052
> Project: Cassandra
>  Issue Type: Bug
>  Components: Observability/Metrics
>Reporter: Aleksey Yeschenko
>Assignee: Aleksey Yeschenko
>Priority: Normal
> Fix For: 4.0.x, 4.x
>
>
> Currently, queries performed with {{NODE_LOCAL}} consistency level are not 
> reflected in request metrics. The suggested patch addresses that, and also 
> allows modification and batch statements to be used with {{NODE_LOCAL}} 
> consistency level.



--
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-17052) Queries performed with NODE_LOCAL consistency level do not update request metrics

2021-10-28 Thread Aleksey Yeschenko (Jira)


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

Aleksey Yeschenko updated CASSANDRA-17052:
--
  Fix Version/s: 4.x
 4.0.x
Source Control Link: 
https://github.com/iamaleksey/cassandra/commits/17052-4.0
Test and Documentation Plan: Unit tests included
Description: Currently, queries performed with 
{{NODE_LOCAL}} consistency level are not reflected in request metrics. The 
suggested patch addresses that, and also allows modification and batch 
statements to be used with {{NODE_LOCAL}} consistency level.  (was: TBD)
Summary: Queries performed with NODE_LOCAL consistency 
level do not update request metrics  (was: TBD)

> Queries performed with NODE_LOCAL consistency level do not update request 
> metrics
> -
>
> Key: CASSANDRA-17052
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17052
> Project: Cassandra
>  Issue Type: Bug
>  Components: Observability/Metrics
>Reporter: Aleksey Yeschenko
>Assignee: Aleksey Yeschenko
>Priority: Normal
> Fix For: 4.0.x, 4.x
>
>
> Currently, queries performed with {{NODE_LOCAL}} consistency level are not 
> reflected in request metrics. The suggested patch addresses that, and also 
> allows modification and batch statements to be used with {{NODE_LOCAL}} 
> consistency level.



--
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-6936) Make all byte representations of types comparable by their unsigned byte representation only

2021-10-28 Thread Branimir Lambov (Jira)


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

Branimir Lambov updated CASSANDRA-6936:
---
Authors: Branimir Lambov, Dimitar Dimitrov, Jacek 
Lewandowski  (was: Branimir Lambov)
Test and Documentation Plan: Unit tests and in-tree documentation are 
included. 
 Status: Patch Available  (was: In Progress)

Patch uploaded here: 
[branch|https://github.com/blambov/cassandra/tree/CASSANDRA-6936] [pull 
request|https://github.com/apache/cassandra/pull/1294]

Provides an API for converting keys to and from byte-comparable 
representations. Documentation of the translation is given in the included 
{{ByteComparable.md}}. The translation is versioned and the patch provides two 
versions: forward-only translation corresponding to DSE 6's trie-indexed 
sstable format, and a current bi-directional version that can be freely 
modified.

The byte-ordered translation is required for trie memtables, trie-based primary 
indexes and SAI secondary indexes.

> Make all byte representations of types comparable by their unsigned byte 
> representation only
> 
>
> Key: CASSANDRA-6936
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6936
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Legacy/Core
>Reporter: Benedict Elliott Smith
>Assignee: Branimir Lambov
>Priority: Normal
>  Labels: compaction, performance
> Fix For: 4.x
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> This could be a painful change, but is necessary for implementing a 
> trie-based index, and settling for less would be suboptimal; it also should 
> make comparisons cheaper all-round, and since comparison operations are 
> pretty much the majority of C*'s business, this should be easily felt (see 
> CASSANDRA-6553 and CASSANDRA-6934 for an example of some minor changes with 
> major performance impacts). No copying/special casing/slicing should mean 
> fewer opportunities to introduce performance regressions as well.
> Since I have slated for 3.0 a lot of non-backwards-compatible sstable 
> changes, hopefully this shouldn't be too much more of a burden.



--
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-6936) Make all byte representations of types comparable by their unsigned byte representation only

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


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

Benedict Elliott Smith commented on CASSANDRA-6936:
---

Another blast from the past. I'm looking forward to seeing this land.

> Make all byte representations of types comparable by their unsigned byte 
> representation only
> 
>
> Key: CASSANDRA-6936
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6936
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Legacy/Core
>Reporter: Benedict Elliott Smith
>Assignee: Branimir Lambov
>Priority: Normal
>  Labels: compaction, performance
> Fix For: 4.x
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> This could be a painful change, but is necessary for implementing a 
> trie-based index, and settling for less would be suboptimal; it also should 
> make comparisons cheaper all-round, and since comparison operations are 
> pretty much the majority of C*'s business, this should be easily felt (see 
> CASSANDRA-6553 and CASSANDRA-6934 for an example of some minor changes with 
> major performance impacts). No copying/special casing/slicing should mean 
> fewer opportunities to introduce performance regressions as well.
> Since I have slated for 3.0 a lot of non-backwards-compatible sstable 
> changes, hopefully this shouldn't be too much more of a burden.



--
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-17074) Remove custom Duration object and refactor its usages to use Duration from Java

2021-10-28 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-17074:
--
Change Category: Code Clarity
 Complexity: Low Hanging Fruit
Component/s: Local/Other
  Fix Version/s: 4.1
 Status: Open  (was: Triage Needed)

> Remove custom Duration object and refactor its usages to use Duration from 
> Java
> ---
>
> Key: CASSANDRA-17074
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17074
> Project: Cassandra
>  Issue Type: Task
>  Components: Local/Other
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 4.1
>
>
> Extracted this as a separate ticket per discussion on CASSANDRA-17044



--
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] [Assigned] (CASSANDRA-6936) Make all byte representations of types comparable by their unsigned byte representation only

2021-10-28 Thread Branimir Lambov (Jira)


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

Branimir Lambov reassigned CASSANDRA-6936:
--

Assignee: Branimir Lambov

> Make all byte representations of types comparable by their unsigned byte 
> representation only
> 
>
> Key: CASSANDRA-6936
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6936
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Legacy/Core
>Reporter: Benedict Elliott Smith
>Assignee: Branimir Lambov
>Priority: Normal
>  Labels: compaction, performance
> Fix For: 4.x
>
>
> This could be a painful change, but is necessary for implementing a 
> trie-based index, and settling for less would be suboptimal; it also should 
> make comparisons cheaper all-round, and since comparison operations are 
> pretty much the majority of C*'s business, this should be easily felt (see 
> CASSANDRA-6553 and CASSANDRA-6934 for an example of some minor changes with 
> major performance impacts). No copying/special casing/slicing should mean 
> fewer opportunities to introduce performance regressions as well.
> Since I have slated for 3.0 a lot of non-backwards-compatible sstable 
> changes, hopefully this shouldn't be too much more of a burden.



--
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-17070) ViewComplexTest hardening

2021-10-28 Thread Jira


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

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

> ViewComplexTest hardening
> -
>
> Key: CASSANDRA-17070
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17070
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/unit
>Reporter: Berenguer Blasi
>Assignee: Berenguer Blasi
>Priority: Normal
> Fix For: 4.0.x, 4.x
>
>
> I have seen a number of times already the {{ViewComplexTest}} family timeout 
> on test method teardown. This leaves a dirty env behind triggering the 
> following test methods to fail on it. This ticket aims at hardening them.



--
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-17070) ViewComplexTest hardening

2021-10-28 Thread Jira


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

Andres de la Peña updated CASSANDRA-17070:
--
Reviewers: Andres de la Peña, Andres de la Peña  (was: Andres de la Peña)
   Andres de la Peña, Andres de la Peña  (was: Andres de la Peña)
   Status: Review In Progress  (was: Patch Available)

> ViewComplexTest hardening
> -
>
> Key: CASSANDRA-17070
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17070
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/unit
>Reporter: Berenguer Blasi
>Assignee: Berenguer Blasi
>Priority: Normal
> Fix For: 4.0.x, 4.x
>
>
> I have seen a number of times already the {{ViewComplexTest}} family timeout 
> on test method teardown. This leaves a dirty env behind triggering the 
> following test methods to fail on it. This ticket aims at hardening them.



--
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-17044) Refactor schema management to allow for schema source pluggability

2021-10-28 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-17044:
---

For things which were mentioned as unrelated and suggested to be addressed in 
separate tickets, I've created:

- CASSANDRA-17071
- CASSANDRA-17072
- CASSANDRA-17073
- CASSANDRA-17074


> Refactor schema management to allow for schema source pluggability
> --
>
> Key: CASSANDRA-17044
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17044
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Cluster/Schema
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 4.1
>
>
> The idea is decompose `Schema` into separate entities responsible for 
> different things. In particular extract what is related to schema storage and 
> synchronization into a separate class so that it is possible to create an 
> extension point there and store schema in a different way than 
> `system_schema` keyspace, for example in etcd. 
> This would also simplify the logic and reduce the number of special cases, 
> make all the things more testable and the logic of internal classes 
> encapsulated.



--
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-17074) Remove custom Duration object and refactor its usages to use Duration from Java

2021-10-28 Thread Jacek Lewandowski (Jira)
Jacek Lewandowski created CASSANDRA-17074:
-

 Summary: Remove custom Duration object and refactor its usages to 
use Duration from Java
 Key: CASSANDRA-17074
 URL: https://issues.apache.org/jira/browse/CASSANDRA-17074
 Project: Cassandra
  Issue Type: Task
Reporter: Jacek Lewandowski
Assignee: Jacek Lewandowski


Extracted this as a separate ticket per discussion on CASSANDRA-17044




--
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-17073) The initial endpoint state is not propagated to all registered listeners in Gossiper

2021-10-28 Thread Jacek Lewandowski (Jira)
Jacek Lewandowski created CASSANDRA-17073:
-

 Summary: The initial endpoint state is not propagated to all 
registered listeners in Gossiper
 Key: CASSANDRA-17073
 URL: https://issues.apache.org/jira/browse/CASSANDRA-17073
 Project: Cassandra
  Issue Type: Bug
  Components: Local/Other
Reporter: Jacek Lewandowski
Assignee: Jacek Lewandowski


Extracted this as a separate ticket per discussion on CASSANDRA-17044

Once joined the ring, {{StorageService}} artificially executes {{onChange}} 
(endpoint event subscriber method) with all the updated values. However, what 
we want probably that all registered endpoint event subscribers get updated.




--
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-17072) Fix client warning in schema change related statements

2021-10-28 Thread Jacek Lewandowski (Jira)
Jacek Lewandowski created CASSANDRA-17072:
-

 Summary: Fix client warning in schema change related statements
 Key: CASSANDRA-17072
 URL: https://issues.apache.org/jira/browse/CASSANDRA-17072
 Project: Cassandra
  Issue Type: Bug
  Components: Local/Other
Reporter: Jacek Lewandowski
Assignee: Jacek Lewandowski


Extracted this as a separate ticket per discussion on CASSANDRA-17044

This seemed to be screwed a bit. In just two schema alteration statements we 
collect client warnings which are captured during the transformation into a 
local collection. 

I guess it is done that way because the transformation is being executed in a 
different stage (migration) and client warnings collected in that stage are not 
present in the stage where the query is executed. 

Then, the client warnings are retrieved using {{clientWarnings}} method and 
added to the captured client warnings in the stage which is executing the 
query. 

This mechanism was implemented only in two schema alteration statements. It is 
possible that for other ones the client warnings can simply get lost.




--
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-17071) Relax schema synchronization when opening a keyspace

2021-10-28 Thread Jacek Lewandowski (Jira)
Jacek Lewandowski created CASSANDRA-17071:
-

 Summary: Relax schema synchronization when opening a keyspace
 Key: CASSANDRA-17071
 URL: https://issues.apache.org/jira/browse/CASSANDRA-17071
 Project: Cassandra
  Issue Type: Improvement
  Components: Cluster/Schema
Reporter: Jacek Lewandowski
Assignee: Jacek Lewandowski


Extracted this as a separate ticket per discussion on CASSANDRA-17044

In short, there are two purposes of this change:

# Move the code around to the more appropriate places (for example, CFS 
specific code for dropping table was moved from SM class to CFS class)
# Relax the synchronization when adding/removing keyspace instances in SM - 
instead of synchronizing the whole collection of keyspace instances, we only 
synchronize the related item (the original idea authored by [~blambov])




--
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-17044) Refactor schema management to allow for schema source pluggability

2021-10-28 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-17044:
--
Change Category: Code Clarity
 Complexity: Normal
  Fix Version/s: 4.1
 Status: Open  (was: Triage Needed)

> Refactor schema management to allow for schema source pluggability
> --
>
> Key: CASSANDRA-17044
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17044
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Cluster/Schema
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 4.1
>
>
> The idea is decompose `Schema` into separate entities responsible for 
> different things. In particular extract what is related to schema storage and 
> synchronization into a separate class so that it is possible to create an 
> extension point there and store schema in a different way than 
> `system_schema` keyspace, for example in etcd. 
> This would also simplify the logic and reduce the number of special cases, 
> make all the things more testable and the logic of internal classes 
> encapsulated.



--
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-16801) PasswordObfuscator should not assume PASSWORD is the last item in the WITH clause

2021-10-28 Thread Berenguer Blasi (Jira)


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

Berenguer Blasi updated CASSANDRA-16801:

Test and Documentation Plan: See PR
 Status: Patch Available  (was: In Progress)

> PasswordObfuscator should not assume PASSWORD is the last item in the WITH 
> clause
> -
>
> Key: CASSANDRA-16801
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16801
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tool/auditlogging
>Reporter: Caleb Rackliffe
>Assignee: Berenguer Blasi
>Priority: Normal
> Fix For: 4.0.x, 4.x
>
>
> CASSANDRA-16669 introduced support for obfuscating passwords for audit log 
> statements, but there are a few cases where the obfuscation logic can destroy 
> some of the contents of the original/provided string.
> ex. This is perfectly valid...
> {noformat}
> WITH LOGIN = false AND PASSWORD = 'bar' AND SUPERUSER = false
> {noformat}
> ...but calling obfuscate() on it will produce...
> {noformat}
> WITH LOGIN = false AND PASSWORD ***
> {noformat}
> -We should be able to create a reasonable RegEx and use String#replaceAll() 
> to both simplify and correct PasswordObfuscator#obfuscate().-



--
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-17009) Sstableverify unit test operate on SSTables

2021-10-28 Thread Berenguer Blasi (Jira)


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

Berenguer Blasi commented on CASSANDRA-17009:
-

Hi [~bhouser] I noticed you pushed. Is this ready for review again? Feel free 
to ask for help if you're too busy etc

> Sstableverify unit test operate on SSTables
> ---
>
> Key: CASSANDRA-17009
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17009
> Project: Cassandra
>  Issue Type: Sub-task
>  Components: Tool/sstable
>Reporter: Brian Houser
>Assignee: Brian Houser
>Priority: Normal
> Fix For: 4.0.x, 4.x
>
>  Time Spent: 3.5h
>  Remaining Estimate: 0h
>
> as part of https://issues.apache.org/jira/browse/CASSANDRA-16009, unit 
> coverage is a bit lax and doesn't run through the verifier (based on my 
> coverage results).
> There should be a unit test that exercises the internal verifier both for a 
> corrupt example and a working example.



--
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-16801) PasswordObfuscator should not assume PASSWORD is the last item in the WITH clause

2021-10-28 Thread Berenguer Blasi (Jira)


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

Berenguer Blasi edited comment on CASSANDRA-16801 at 10/28/21, 8:07 AM:


Info for the reviewer:

Luckily antlr was already moving the password around in a DTO {{RoleOptions}}. 
So the new logic is applied whenever possible and uses the previous logic as a 
fallback.

Interesting corner case I found where {{testp}} is being revealed #justfyi
{noformat}
Type: audit
LogMessage: 
user:cassandra|host:localhost/127.0.0.1:7000|source:/127.0.0.1|port:41278|timestamp:1635328638577|type:REQUEST_FAILURE|category:ERROR|operation:create
 user 'test' with password ***; line 1:33 mismatched input 'testp' 
expecting STRING_LITERAL (create user 'test' with password ***
{noformat}



was (Author: bereng):
Info for the reviewer:

Luckily antlr was already moving the password around in a DTO {{RoleOptions}}. 
So the new logic is applied whenever possible and uses the previous logic as a 
fallback.

Interesting corner case I found where {{testp}} is being revealed #jus
{noformat}
tfyi
Type: audit
LogMessage: 
user:cassandra|host:localhost/127.0.0.1:7000|source:/127.0.0.1|port:41278|timestamp:1635328638577|type:REQUEST_FAILURE|category:ERROR|operation:create
 user 'test' with password ***; line 1:33 mismatched input 'testp' 
expecting STRING_LITERAL (create user 'test' with password ***
{noformat}


> PasswordObfuscator should not assume PASSWORD is the last item in the WITH 
> clause
> -
>
> Key: CASSANDRA-16801
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16801
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tool/auditlogging
>Reporter: Caleb Rackliffe
>Assignee: Berenguer Blasi
>Priority: Normal
> Fix For: 4.0.x, 4.x
>
>
> CASSANDRA-16669 introduced support for obfuscating passwords for audit log 
> statements, but there are a few cases where the obfuscation logic can destroy 
> some of the contents of the original/provided string.
> ex. This is perfectly valid...
> {noformat}
> WITH LOGIN = false AND PASSWORD = 'bar' AND SUPERUSER = false
> {noformat}
> ...but calling obfuscate() on it will produce...
> {noformat}
> WITH LOGIN = false AND PASSWORD ***
> {noformat}
> -We should be able to create a reasonable RegEx and use String#replaceAll() 
> to both simplify and correct PasswordObfuscator#obfuscate().-



--
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-16801) PasswordObfuscator should not assume PASSWORD is the last item in the WITH clause

2021-10-28 Thread Berenguer Blasi (Jira)


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

Berenguer Blasi edited comment on CASSANDRA-16801 at 10/28/21, 8:07 AM:


Info for the reviewer:

Luckily antlr was already moving the password around in a DTO {{RoleOptions}}. 
So the new logic is applied whenever possible and uses the previous logic as a 
fallback.

Interesting corner case I found where {{testp}} is being revealed #jus
{noformat}
tfyi
Type: audit
LogMessage: 
user:cassandra|host:localhost/127.0.0.1:7000|source:/127.0.0.1|port:41278|timestamp:1635328638577|type:REQUEST_FAILURE|category:ERROR|operation:create
 user 'test' with password ***; line 1:33 mismatched input 'testp' 
expecting STRING_LITERAL (create user 'test' with password ***
{noformat}



was (Author: bereng):
Info for the reviewer:

Luckily antlr was already moving the password around in a DTO {{RoleOptions}}. 
So the new logic is applied whenever possible and uses the previous logic as a 
fallback.

Interesting corner case I found where {{testp}} is being revealed #justfyi
{{Type: audit
LogMessage: 
user:cassandra|host:localhost/127.0.0.1:7000|source:/127.0.0.1|port:41278|timestamp:1635328638577|type:REQUEST_FAILURE|category:ERROR|operation:create
 user 'test' with password ***; line 1:33 mismatched input 'testp' 
expecting STRING_LITERAL (create user 'test' with password ***
}}

> PasswordObfuscator should not assume PASSWORD is the last item in the WITH 
> clause
> -
>
> Key: CASSANDRA-16801
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16801
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tool/auditlogging
>Reporter: Caleb Rackliffe
>Assignee: Berenguer Blasi
>Priority: Normal
> Fix For: 4.0.x, 4.x
>
>
> CASSANDRA-16669 introduced support for obfuscating passwords for audit log 
> statements, but there are a few cases where the obfuscation logic can destroy 
> some of the contents of the original/provided string.
> ex. This is perfectly valid...
> {noformat}
> WITH LOGIN = false AND PASSWORD = 'bar' AND SUPERUSER = false
> {noformat}
> ...but calling obfuscate() on it will produce...
> {noformat}
> WITH LOGIN = false AND PASSWORD ***
> {noformat}
> -We should be able to create a reasonable RegEx and use String#replaceAll() 
> to both simplify and correct PasswordObfuscator#obfuscate().-



--
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-16801) PasswordObfuscator should not assume PASSWORD is the last item in the WITH clause

2021-10-28 Thread Berenguer Blasi (Jira)


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

Berenguer Blasi commented on CASSANDRA-16801:
-

Info for the reviewer:

Luckily antlr was already moving the password around in a DTO {{RoleOptions}}. 
So the new logic is applied whenever possible and uses the previous logic as a 
fallback.

Interesting corner case I found where {{testp}} is being revealed #justfyi
{{Type: audit
LogMessage: 
user:cassandra|host:localhost/127.0.0.1:7000|source:/127.0.0.1|port:41278|timestamp:1635328638577|type:REQUEST_FAILURE|category:ERROR|operation:create
 user 'test' with password ***; line 1:33 mismatched input 'testp' 
expecting STRING_LITERAL (create user 'test' with password ***
}}

> PasswordObfuscator should not assume PASSWORD is the last item in the WITH 
> clause
> -
>
> Key: CASSANDRA-16801
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16801
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tool/auditlogging
>Reporter: Caleb Rackliffe
>Assignee: Berenguer Blasi
>Priority: Normal
> Fix For: 4.0.x, 4.x
>
>
> CASSANDRA-16669 introduced support for obfuscating passwords for audit log 
> statements, but there are a few cases where the obfuscation logic can destroy 
> some of the contents of the original/provided string.
> ex. This is perfectly valid...
> {noformat}
> WITH LOGIN = false AND PASSWORD = 'bar' AND SUPERUSER = false
> {noformat}
> ...but calling obfuscate() on it will produce...
> {noformat}
> WITH LOGIN = false AND PASSWORD ***
> {noformat}
> -We should be able to create a reasonable RegEx and use String#replaceAll() 
> to both simplify and correct PasswordObfuscator#obfuscate().-



--
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-17031) Add support for PEM based key material for SSL

2021-10-28 Thread Stefan Miklosovic (Jira)


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

Stefan Miklosovic commented on CASSANDRA-17031:
---

Sure, I am just busy. Maybe next week. Sorry, try to ping somebody else if it 
is urgent.

> Add support for PEM based key material for SSL
> --
>
> Key: CASSANDRA-17031
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17031
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Messaging/Internode
>Reporter: Maulin Vasavada
>Assignee: Maulin Vasavada
>Priority: Normal
>
> h1. Scope
> Currently Cassandra supports standard keystore types for SSL 
> keys/certificates. The scope of this enhancement is to add support for PEM 
> based key material (keys/certificate) given that PEM is widely used common 
> format for the same. We intend to add support for Unencrypted and Password 
> Based Encrypted (PBE) PKCS#8 formatted Private Keys in PEM format with 
> standard algorithms (RSA, DSA and EC) along with the certificate chain for 
> the private key and PEM based X509 certificates. The work here is going to be 
> built on top of [CEP-9: Make SSLContext creation 
> pluggable|https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-9%3A+Make+SSLContext+creation+pluggable]
>  for which the code is merged for Apache Cassandra 4.1 release.
> We intend to support the key material be configured as direct PEM values 
> input OR via the file (configured with keystore and truststore configurations 
> today). We are not going to model PEM as a valid 'store_type' given that 
> 'store_type' has a [specific 
> definition|https://docs.oracle.com/en/java/javase/11/security/java-cryptography-architecture-jca-reference-guide.html#GUID-AB51DEFD-5238-4F96-967F-082F6D34FBEA].
>  
> h1. Approach
> Create an implementation for 
> [ISslContextFactory|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/security/ISslContextFactory.java]
>  extending 
> [FileBasedSslContextFactory|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/security/FileBasedSslContextFactory.java]
>  implementation to add PEM formatted key/certificates.
> h1. Motivation
> PEM is a widely used format for encoding Private Keys and X.509 Certificates 
> and Apache Cassandra's current implementation lacks the support for 
> specifying the PEM formatted key material for SSL configurations. This means 
> operators have to re-create the key material to comply to the supported 
> formats (using key/trust store types - jks, pkcs12 etc) and deal with an 
> operational task for managing it. This is an operational overhead we can 
> avoid by supporting the PEM format making Apache Cassandra even more customer 
> friendly and drive more adoption.
> h1. Proposed Changes
>  # A new implementation for ISslContextFactory - PEMBasedSslContextFactory 
> with the following supported configuration
> {panel:title=New configurations}
> {panel}
> |{{encryption_options:  }}
>  {{}}{{ssl_context_factory:}}
>  {{}}{{class_name: 
> org.apache.cassandra.security.PEMBasedSslContextFactory}}
>  {{}}{{parameters:}}
>  {{  }}{{private_key:  certificate chain>}}
>  {{  }}{{private_key_password:  }}{{private}} {{key }}{{if}} {{it is encrypted>}}
>  {{  }}{{trusted_certificates: }}|
> *NOTE:* We could reuse 'keystore_password' instead of the 
> 'private_key_password'. However PEM encoded private key is not a 'keystore' 
> in itself hence it would be inappropriate to piggyback on that other than 
> avoid duplicating similar fields.
>  # The PEMBasedSslContextFactory will also support file based key material 
> (and the corresponding HOT Reloading based on file timestamp updates) for the 
> PEM format via existing  'keystore' and 'truststore' encryption options. 
> However in that case the 'truststore_password' configuration won't be used 
> since generally PEM formatted certificates for truststore don't get encrypted 
> with a password.
>  # The PEMBasedSslContextFactory will internally create PKCS12 keystore for 
> private key and the trusted certificates. However, this doesn't impact the 
> user of the implementation in anyway and it is mentioned for clarity only.
>  



--
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-17070) ViewComplexTest hardening

2021-10-28 Thread Berenguer Blasi (Jira)


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

Berenguer Blasi commented on CASSANDRA-17070:
-

Hardening by trying to rerun the cleanup logic on any leftovers in case the 
first attempt failed. Trunk PR will be identical.

> ViewComplexTest hardening
> -
>
> Key: CASSANDRA-17070
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17070
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/unit
>Reporter: Berenguer Blasi
>Assignee: Berenguer Blasi
>Priority: Normal
> Fix For: 4.0.x, 4.x
>
>
> I have seen a number of times already the {{ViewComplexTest}} family timeout 
> on test method teardown. This leaves a dirty env behind triggering the 
> following test methods to fail on it. This ticket aims at hardening them.



--
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-17070) ViewComplexTest hardening

2021-10-28 Thread Berenguer Blasi (Jira)


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

Berenguer Blasi updated CASSANDRA-17070:

Test and Documentation Plan: See PR
 Status: Patch Available  (was: In Progress)

> ViewComplexTest hardening
> -
>
> Key: CASSANDRA-17070
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17070
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/unit
>Reporter: Berenguer Blasi
>Assignee: Berenguer Blasi
>Priority: Normal
> Fix For: 4.0.x, 4.x
>
>
> I have seen a number of times already the {{ViewComplexTest}} family timeout 
> on test method teardown. This leaves a dirty env behind triggering the 
> following test methods to fail on it. This ticket aims at hardening them.



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