[jira] [Commented] (CASSANDRA-18061) Add compaction type output result for nodetool compactionhistory

2022-12-15 Thread Stefan Miklosovic (Jira)


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

Stefan Miklosovic commented on CASSANDRA-18061:
---

https://ci-cassandra.apache.org/view/patches/job/Cassandra-devbranch/2108/

> Add compaction type output result for nodetool compactionhistory
> 
>
> Key: CASSANDRA-18061
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18061
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local/Compaction, Tool/nodetool
>Reporter: maxwellguo
>Assignee: maxwellguo
>Priority: Low
> Fix For: 4.x
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> If we want to see whether we have made a compaction and what kind of 
> compaction we have done for this node, we may go to see the 
> compaction_history system table for some deftails or use nodetool 
> compactionhistory command , But I found that the table do not specify the 
> compaction type so does the compactionhistory command too, like index build , 
> compaction type, clean or scrub for this node. So I think may be it is need 
> to add a type of compaction column to specify the compaction tpe for 
> system.compaction_history and so we can get the type of compaction through 
> system.compaction_history table or nodetool compactionhistory to see whether 
> we have made a major compact for this node  .:)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Commented] (CASSANDRA-17723) Add support for big endian architecture (s390x)

2022-12-15 Thread Shahid Shaikh (Jira)


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

Shahid Shaikh commented on CASSANDRA-17723:
---

[~mck] Saw that Cassandra 4.1.0 has been GA'ed on 13 December (y)
Could you please take this forward in next Cassandra release?

> Add support for big endian architecture (s390x)
> ---
>
> Key: CASSANDRA-17723
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17723
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Legacy/Observability, Legacy/Testing
>Reporter: Shahid Shaikh
>Assignee: Shahid Shaikh
>Priority: Normal
> Fix For: 4.x
>
> Attachments: CASSANDRA-17723-4.0.patch
>
>
> Noticed that some of the Cassandra tests are failing on big endian 
> architectures (s390x). Please find the attached code patch which corrects the 
> data handling for big endian architecture. It also corrects the byte ordering 
> when dealing with sun.misc.Unsafe methods. After the patch following tests 
> are passing for s390x which were failing earlier:
> TTLTest
> ScrubTest
> LegacySSTableTest
> SSTableExportSchemaLoadingTest
> SSTableMetadataViewerTest
> StandaloneUpgraderOnSStablesTest
> StandaloneVerifierOnSSTablesTest
> The code change ensures that Cassandra for little endian architectures remain 
> unaffected.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Commented] (CASSANDRA-18088) cqlsh - module 're' has no attribute 'sre_parse' - with Python 3.11

2022-12-15 Thread Berenguer Blasi (Jira)


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

Berenguer Blasi commented on CASSANDRA-18088:
-

Are you saying you A. are going to make dtests repo 3.11 'friendly' or B. that 
we will add new dtests runs for 3.11? I guess you mean B yes?

> cqlsh - module 're' has no attribute 'sre_parse' - with Python 3.11
> ---
>
> Key: CASSANDRA-18088
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18088
> Project: Cassandra
>  Issue Type: Bug
>  Components: CQL/Interpreter
>Reporter: Aaron Ploetz
>Assignee: Brandon Williams
>Priority: Normal
> Fix For: 4.0.x, 4.1.x, 4.x
>
>
> User reported an error with cqlsh (Cassandra 4.0.7) on Stack Overflow: 
> [https://stackoverflow.com/questions/74673247/cannot-able-to-run-cqlsh-due-to-python-attribute-error|https://stackoverflow.com/questions/74673247/cannot-able-to-run-cqlsh-due-to-python-attribute-error?noredirect=1#comment131807816_74673247]
>  
> Found out that the user was using Python 3.11, and I was able to reproduce it 
> with that.
> {{% python3.11 bin/cqlsh.py}}
> {{Traceback (most recent call last):}}
> {{  File "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/cqlsh.py", line 
> 159, in }}
> {{    from cqlshlib import cql3handling, cqlhandling, pylexotron, 
> sslhandling, cqlshhandling}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/cql3handling.py",
>  line 19, in }}
> {{    from cqlshlib.cqlhandling import CqlParsingRuleSet, Hint}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/cqlhandling.py",
>  line 23, in }}
> {{    from cqlshlib import pylexotron, util}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/pylexotron.py",
>  line 342, in }}
> {{    class ParsingRuleSet:}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/pylexotron.py",
>  line 343, in ParsingRuleSet}}
> {{    RuleSpecScanner = SaferScanner([}}
> {{                      ^^}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/saferscanner.py",
>  line 91, in _{_}init{_}_}}
> {{    s = re.sre_parse.State()}}
> {{        }}
> {{AttributeError: module 're' has no attribute 'sre_parse'}}
> Appears to be something specific (again) with Python's synchronizing regex 
> engine (SRE).  Works fine with Python 3.10, so there may have been a(nother) 
> breaking change in that the re module with 3.11.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Commented] (CASSANDRA-17949) Update CCM post CASSANDRA-17379

2022-12-15 Thread Berenguer Blasi (Jira)


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

Berenguer Blasi commented on CASSANDRA-17949:
-

LGTM, just dropped a quick comment +1 for that PR.

> Update CCM post CASSANDRA-17379
> ---
>
> Key: CASSANDRA-17949
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17949
> Project: Cassandra
>  Issue Type: Task
>  Components: CI
>Reporter: Ekaterina Dimitrova
>Priority: Normal
>
> We updated in CASSANDRA-15234 CCM updateconf to enable it to handle 
> overloading of parameters Python upgrade tests. 
> This also allows us not to update for 4.1 the Python DTests but exercise the 
> backward compatibility we have in C* in our tests.
> Now CASSANDRA-17379 added a few flags to opt in or out for overloading of 
> parameters.
> The default points to -Dcassandra.allow_new_old_config_keys=false but this 
> does not affect our tests as CCM handles the overloading in the yaml.
> But this is confusing for users and might lead to issues.
> We need to bring on par one way or another ccm with the new flags introduced 
> in CASSANDRA-17379
> *Until then the recommendation is to use 
> `-Dcassandra.allow_new_old_config_keys=false` and  
> `-Dcassandra.allow_duplicate_config_keys=false` to prohibit any kind of 
> overloading when using CCM master and CCM released to prevent any confusion.*



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Commented] (CASSANDRA-17992) Upgrade Netty on 4.x(current trunk)

2022-12-15 Thread Ekaterina Dimitrova (Jira)


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

Ekaterina Dimitrova commented on CASSANDRA-17992:
-

And I still see with the latest Netty Version the mentioned classCastException. 
For example in 

bulkLoaderSuccessfullyStreamsOverSsl. I will investigate why that happens. In 
the meantime I was thinking that if we have Chunk implement DirectBuffer that 
will require add-exports.

 

 

> Upgrade Netty on 4.x(current trunk)
> ---
>
> Key: CASSANDRA-17992
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17992
> Project: Cassandra
>  Issue Type: Task
>  Components: Dependencies
>Reporter: Ekaterina Dimitrova
>Assignee: Ekaterina Dimitrova
>Priority: Low
> Fix For: 4.x
>
>
> I haven't been able to identify from the Netty docs which was the lowest 
> version where JDK17 was added but we are about 40 versions behind in netty 4 
> so I suspect we better update. 
> We need to consider there was an issue with class cast exceptions when 
> building with JDK17 with newer versions of netty (the newest available in 
> March 2022). For the record, we didn't see those when running CI on JDK8 and 
> JDK11. We also need to carefully revise the changes between the netty 
> versions.
> Upgrading will cover also a fix in netty that was discussed in 
> [this|https://the-asf.slack.com/archives/CK23JSY2K/p1665567660202989] ASF 
> Slack thread. 
> CC [~benedict] , [~aleksey] 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Commented] (CASSANDRA-17992) Upgrade Netty on 4.x(current trunk)

2022-12-15 Thread Ekaterina Dimitrova (Jira)


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

Ekaterina Dimitrova commented on CASSANDRA-17992:
-

Another problem we hit with JDK17 was [this 
issue|https://github.com/netty/netty/issues/10317] which I resolved as 
suggested by adding bouncy castle as a dependency for test purposes. (I will 
send mail to the mailing list, first want to solve all problems here and double 
check all my findings/solutions). The issue was observed in SSLFactoryTest

 

> Upgrade Netty on 4.x(current trunk)
> ---
>
> Key: CASSANDRA-17992
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17992
> Project: Cassandra
>  Issue Type: Task
>  Components: Dependencies
>Reporter: Ekaterina Dimitrova
>Assignee: Ekaterina Dimitrova
>Priority: Low
> Fix For: 4.x
>
>
> I haven't been able to identify from the Netty docs which was the lowest 
> version where JDK17 was added but we are about 40 versions behind in netty 4 
> so I suspect we better update. 
> We need to consider there was an issue with class cast exceptions when 
> building with JDK17 with newer versions of netty (the newest available in 
> March 2022). For the record, we didn't see those when running CI on JDK8 and 
> JDK11. We also need to carefully revise the changes between the netty 
> versions.
> Upgrading will cover also a fix in netty that was discussed in 
> [this|https://the-asf.slack.com/archives/CK23JSY2K/p1665567660202989] ASF 
> Slack thread. 
> CC [~benedict] , [~aleksey] 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Commented] (CASSANDRA-18061) Add compaction type output result for nodetool compactionhistory

2022-12-15 Thread maxwellguo (Jira)


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

maxwellguo commented on CASSANDRA-18061:


Thanks [~brandon.williams] and [~smiklosovic]
and I have update the patch agagin [~smiklosovic], would mind rerun this CI  to 
cover dtests? it seems all unit test have passed. 

> Add compaction type output result for nodetool compactionhistory
> 
>
> Key: CASSANDRA-18061
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18061
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local/Compaction, Tool/nodetool
>Reporter: maxwellguo
>Assignee: maxwellguo
>Priority: Low
> Fix For: 4.x
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> If we want to see whether we have made a compaction and what kind of 
> compaction we have done for this node, we may go to see the 
> compaction_history system table for some deftails or use nodetool 
> compactionhistory command , But I found that the table do not specify the 
> compaction type so does the compactionhistory command too, like index build , 
> compaction type, clean or scrub for this node. So I think may be it is need 
> to add a type of compaction column to specify the compaction tpe for 
> system.compaction_history and so we can get the type of compaction through 
> system.compaction_history table or nodetool compactionhistory to see whether 
> we have made a major compact for this node  .:)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[cassandra-website] branch asf-staging updated (23275537e -> abd88d307)

2022-12-15 Thread git-site-role
This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a change to branch asf-staging
in repository https://gitbox.apache.org/repos/asf/cassandra-website.git


 discard 23275537e generate docs for 4d3ddc0d
 add b072ce0a2 Update Apache-Cassandra-4.1-New-SSTable-Identifiers.adoc
 new abd88d307 generate docs for b072ce0a

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

 * -- * -- B -- O -- O -- O   (23275537e)
\
 N -- N -- N   refs/heads/asf-staging (abd88d307)

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

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

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


Summary of changes:
 ...ache-Cassandra-4.1-New-SSTable-Identifiers.html |   2 +-
 ...ache-Cassandra-4.1-New-SSTable-Identifiers.adoc |   4 ++--
 site-ui/build/ui-bundle.zip| Bin 4970898 -> 4970898 
bytes
 3 files changed, 3 insertions(+), 3 deletions(-)


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



[jira] [Updated] (CASSANDRA-18117) Blog article contains outdated parameter

2022-12-15 Thread Michael Semb Wever (Jira)


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

Michael Semb Wever updated CASSANDRA-18117:
---
Resolution: Fixed
Status: Resolved  (was: Triage Needed)

Committed as 
https://github.com/apache/cassandra-website/commit/b072ce0a2d50a6e4a443f98a80f98c4af953a123

> Blog article contains outdated parameter
> 
>
> Key: CASSANDRA-18117
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18117
> Project: Cassandra
>  Issue Type: Bug
>  Components: Documentation/Blog
>Reporter: Tibor Repasi
>Priority: Normal
>  Labels: pull-request-available
>
> The parameter as described in the blog article on new SSTable identifier has 
> been changed since the article.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[cassandra-website] branch trunk updated: Update Apache-Cassandra-4.1-New-SSTable-Identifiers.adoc

2022-12-15 Thread mck
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/trunk by this push:
 new b072ce0a2 Update Apache-Cassandra-4.1-New-SSTable-Identifiers.adoc
b072ce0a2 is described below

commit b072ce0a2d50a6e4a443f98a80f98c4af953a123
Author: Tibor Répási 
AuthorDate: Wed Dec 14 13:05:01 2022 +0100

Update Apache-Cassandra-4.1-New-SSTable-Identifiers.adoc

Parameter name was changed with CASSANDRA-17738

 patch by Tibor Répási; reviewed by Mick Semb Wever for CASSANDRA-18117
---
 .../ROOT/pages/blog/Apache-Cassandra-4.1-New-SSTable-Identifiers.adoc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git 
a/site-content/source/modules/ROOT/pages/blog/Apache-Cassandra-4.1-New-SSTable-Identifiers.adoc
 
b/site-content/source/modules/ROOT/pages/blog/Apache-Cassandra-4.1-New-SSTable-Identifiers.adoc
index ec9a57fea..669243922 100644
--- 
a/site-content/source/modules/ROOT/pages/blog/Apache-Cassandra-4.1-New-SSTable-Identifiers.adoc
+++ 
b/site-content/source/modules/ROOT/pages/blog/Apache-Cassandra-4.1-New-SSTable-Identifiers.adoc
@@ -132,8 +132,8 @@ From those names, we can see that the first component of 
all the identifiers is
 
 === Migration
 
-The globally unique identifier feature is enabled by switching the 
`enable_uuid_sstable_identifiers` flag to `true` in cassandra.yaml. It is 
disabled by default because once a node starts with this feature enabled, each 
newly stored SSTable will have an identifier created using the new mechanism. 
As a result, this makes downgrading process more difficult because globally 
unique identifiers are not readable by Apache Cassandra before 4.1. 
Consequently, all the SSTable files would have to  [...]
+The globally unique identifier feature is enabled by switching the 
`uuid_sstable_identifiers_enabled` flag to `true` in cassandra.yaml. It is 
disabled by default because once a node starts with this feature enabled, each 
newly stored SSTable will have an identifier created using the new mechanism. 
As a result, this makes downgrading process more difficult because globally 
unique identifiers are not readable by Apache Cassandra before 4.1. 
Consequently, all the SSTable files would have to [...]
 
 Note that setting the flag to `true` does not make Cassandra immediately 
rename the existing SSTables according to the new scheme. It only affects newly 
stored SSTables. Existing SSTables are eventually removed during the regular 
compaction process.
 
-Support for globally unique SSTable identifiers was implemented in 
https://issues.apache.org/jira/browse/CASSANDRA-17048[CASSANDRA-17048^] and is 
part of the Apache Cassandra 4.1 release. We expect it will eliminate some 
problems with manual backups as each SSTable created, for any table, on any 
node will have a globally unique identifier.
\ No newline at end of file
+Support for globally unique SSTable identifiers was implemented in 
https://issues.apache.org/jira/browse/CASSANDRA-17048[CASSANDRA-17048^] and is 
part of the Apache Cassandra 4.1 release. We expect it will eliminate some 
problems with manual backups as each SSTable created, for any table, on any 
node will have a globally unique identifier.


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



[jira] [Comment Edited] (CASSANDRA-14013) Data loss in snapshots keyspace after service restart

2022-12-15 Thread Stefan Miklosovic (Jira)


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

Stefan Miklosovic edited comment on CASSANDRA-14013 at 12/15/22 10:38 PM:
--

_We did not have a test on DescriptorTest#testKeyspaceTableParsing to pick up 
the scenario of a legacy "backups" table directory and keyspace, when the table 
id suffix is missing so I added it here._

So, we _do_ support that, still, right? In that case, could you add a test in 
SSTableLoaderTest as it was, that it is loading it just fine without uuid as 
well? Just same thing as it was before.

When it comes to branches, more branches better it is :D I made the peace with 
having it in 4.0+, you will have bonus points for anything older. However, 
having data being lost on this kind of stuff is rather embarrassing in 2022 
(almost 2023!)



was (Author: smiklosovic):
_On this commit, I added the ./* prefix to the regex which made it pick up the 
case of a "backups" table in the legacy directory format without the table 
uuid. I also updated SSTableLoaderTest to use the new table directory format._

Just to be sure, if you changed that test to support new table format, does 
that mean that a user in 4.2 / 5.0 will not be able to import sstables in table 
dir called "backups"? That is basically regression when it comes to 
CASSANDRA-16235.

But I think I am wrong because here in your you write:

_We did not have a test on DescriptorTest#testKeyspaceTableParsing to pick up 
the scenario of a legacy "backups" table directory and keyspace, when the table 
id suffix is missing so I added it here._

So, we _do_ support that, still, right? In that case, could you add a test in 
SSTableLoaderTest as it was, that it is loading it just fine without uuid as 
well? Just same thing as it was before.

When it comes to branches, more branches better it is :D I made the peace with 
having it in 4.0+, you will have bonus points for anything older. However, 
having data being lost on this kind of stuff is rather embarrassing in 2022 
(almost 2023!)


> Data loss in snapshots keyspace after service restart
> -
>
> Key: CASSANDRA-14013
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14013
> Project: Cassandra
>  Issue Type: Bug
>  Components: Legacy/Core, Local/Snapshots
>Reporter: Gregor Uhlenheuer
>Assignee: Stefan Miklosovic
>Priority: Normal
> Fix For: 4.0.x, 4.1.x, 4.x
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> I am posting this bug in hope to discover the stupid mistake I am doing 
> because I can't imagine a reasonable answer for the behavior I see right now 
> :-)
> In short words, I do observe data loss in a keyspace called *snapshots* after 
> restarting the Cassandra service. Say I do have 1000 records in a table 
> called *snapshots.test_idx* then after restart the table has less entries or 
> is even empty.
> My kind of "mysterious" observation is that it happens only in a keyspace 
> called *snapshots*...
> h3. Steps to reproduce
> These steps to reproduce show the described behavior in "most" attempts (not 
> every single time though).
> {code}
> # create keyspace
> CREATE KEYSPACE snapshots WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1};
> # create table
> CREATE TABLE snapshots.test_idx (key text, seqno bigint, primary key(key));
> # insert some test data
> INSERT INTO snapshots.test_idx (key,seqno) values ('key1', 1);
> ...
> INSERT INTO snapshots.test_idx (key,seqno) values ('key1000', 1000);
> # count entries
> SELECT count(*) FROM snapshots.test_idx;
> 1000
> # restart service
> kill 
> cassandra -f
> # count entries
> SELECT count(*) FROM snapshots.test_idx;
> 0
> {code}
> I hope someone can point me to the obvious mistake I am doing :-)
> This happened to me using both Cassandra 3.9 and 3.11.0



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Commented] (CASSANDRA-14013) Data loss in snapshots keyspace after service restart

2022-12-15 Thread Stefan Miklosovic (Jira)


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

Stefan Miklosovic commented on CASSANDRA-14013:
---

_On this commit, I added the ./* prefix to the regex which made it pick up the 
case of a "backups" table in the legacy directory format without the table 
uuid. I also updated SSTableLoaderTest to use the new table directory format._

Just to be sure, if you changed that test to support new table format, does 
that mean that a user in 4.2 / 5.0 will not be able to import sstables in table 
dir called "backups"? That is basically regression when it comes to 
CASSANDRA-16235.

But I think I am wrong because here in your you write:

_We did not have a test on DescriptorTest#testKeyspaceTableParsing to pick up 
the scenario of a legacy "backups" table directory and keyspace, when the table 
id suffix is missing so I added it here._

So, we _do_ support that, still, right? In that case, could you add a test in 
SSTableLoaderTest as it was, that it is loading it just fine without uuid as 
well? Just same thing as it was before.

When it comes to branches, more branches better it is :D I made the peace with 
having it in 4.0+, you will have bonus points for anything older. However, 
having data being lost on this kind of stuff is rather embarrassing in 2022 
(almost 2023!)


> Data loss in snapshots keyspace after service restart
> -
>
> Key: CASSANDRA-14013
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14013
> Project: Cassandra
>  Issue Type: Bug
>  Components: Legacy/Core, Local/Snapshots
>Reporter: Gregor Uhlenheuer
>Assignee: Stefan Miklosovic
>Priority: Normal
> Fix For: 4.0.x, 4.1.x, 4.x
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> I am posting this bug in hope to discover the stupid mistake I am doing 
> because I can't imagine a reasonable answer for the behavior I see right now 
> :-)
> In short words, I do observe data loss in a keyspace called *snapshots* after 
> restarting the Cassandra service. Say I do have 1000 records in a table 
> called *snapshots.test_idx* then after restart the table has less entries or 
> is even empty.
> My kind of "mysterious" observation is that it happens only in a keyspace 
> called *snapshots*...
> h3. Steps to reproduce
> These steps to reproduce show the described behavior in "most" attempts (not 
> every single time though).
> {code}
> # create keyspace
> CREATE KEYSPACE snapshots WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1};
> # create table
> CREATE TABLE snapshots.test_idx (key text, seqno bigint, primary key(key));
> # insert some test data
> INSERT INTO snapshots.test_idx (key,seqno) values ('key1', 1);
> ...
> INSERT INTO snapshots.test_idx (key,seqno) values ('key1000', 1000);
> # count entries
> SELECT count(*) FROM snapshots.test_idx;
> 1000
> # restart service
> kill 
> cassandra -f
> # count entries
> SELECT count(*) FROM snapshots.test_idx;
> 0
> {code}
> I hope someone can point me to the obvious mistake I am doing :-)
> This happened to me using both Cassandra 3.9 and 3.11.0



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Updated] (CASSANDRA-18061) Add compaction type output result for nodetool compactionhistory

2022-12-15 Thread Stefan Miklosovic (Jira)


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

Stefan Miklosovic updated CASSANDRA-18061:
--
Status: Patch Available  (was: Review In Progress)

> Add compaction type output result for nodetool compactionhistory
> 
>
> Key: CASSANDRA-18061
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18061
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local/Compaction, Tool/nodetool
>Reporter: maxwellguo
>Assignee: maxwellguo
>Priority: Low
> Fix For: 4.x
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> If we want to see whether we have made a compaction and what kind of 
> compaction we have done for this node, we may go to see the 
> compaction_history system table for some deftails or use nodetool 
> compactionhistory command , But I found that the table do not specify the 
> compaction type so does the compactionhistory command too, like index build , 
> compaction type, clean or scrub for this node. So I think may be it is need 
> to add a type of compaction column to specify the compaction tpe for 
> system.compaction_history and so we can get the type of compaction through 
> system.compaction_history table or nodetool compactionhistory to see whether 
> we have made a major compact for this node  .:)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Commented] (CASSANDRA-18061) Add compaction type output result for nodetool compactionhistory

2022-12-15 Thread Stefan Miklosovic (Jira)


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

Stefan Miklosovic commented on CASSANDRA-18061:
---

this failed test is suspicious 
https://ci-cassandra.apache.org/job/Cassandra-devbranch/2105/testReport/junit/org.apache.cassandra.distributed.upgrade/CompactionHistorySystemTableUpgradeTest/compactionHistorySystemTableTest/

> Add compaction type output result for nodetool compactionhistory
> 
>
> Key: CASSANDRA-18061
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18061
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local/Compaction, Tool/nodetool
>Reporter: maxwellguo
>Assignee: maxwellguo
>Priority: Low
> Fix For: 4.x
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> If we want to see whether we have made a compaction and what kind of 
> compaction we have done for this node, we may go to see the 
> compaction_history system table for some deftails or use nodetool 
> compactionhistory command , But I found that the table do not specify the 
> compaction type so does the compactionhistory command too, like index build , 
> compaction type, clean or scrub for this node. So I think may be it is need 
> to add a type of compaction column to specify the compaction tpe for 
> system.compaction_history and so we can get the type of compaction through 
> system.compaction_history table or nodetool compactionhistory to see whether 
> we have made a major compact for this node  .:)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Updated] (CASSANDRA-18061) Add compaction type output result for nodetool compactionhistory

2022-12-15 Thread Stefan Miklosovic (Jira)


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

Stefan Miklosovic updated CASSANDRA-18061:
--
Fix Version/s: 4.x
   (was: 4.2)

> Add compaction type output result for nodetool compactionhistory
> 
>
> Key: CASSANDRA-18061
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18061
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local/Compaction, Tool/nodetool
>Reporter: maxwellguo
>Assignee: maxwellguo
>Priority: Low
> Fix For: 4.x
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> If we want to see whether we have made a compaction and what kind of 
> compaction we have done for this node, we may go to see the 
> compaction_history system table for some deftails or use nodetool 
> compactionhistory command , But I found that the table do not specify the 
> compaction type so does the compactionhistory command too, like index build , 
> compaction type, clean or scrub for this node. So I think may be it is need 
> to add a type of compaction column to specify the compaction tpe for 
> system.compaction_history and so we can get the type of compaction through 
> system.compaction_history table or nodetool compactionhistory to see whether 
> we have made a major compact for this node  .:)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Commented] (CASSANDRA-18122) when will slf4j be upgraded for CVE-2018-8088

2022-12-15 Thread Brandon Williams (Jira)


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

Brandon Williams commented on CASSANDRA-18122:
--

This doesn't show as a vulnerability under OWASP, since it's not.  There are no 
plans to upgrade for no reason other than upgrading.

> when will slf4j be upgraded for CVE-2018-8088
> -
>
> Key: CASSANDRA-18122
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18122
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Jai Bheemsen Rao Dhanwada
>Priority: Normal
>
> Hello Team,
> I see Cassandra 4.1 GA'ed on 12/13/2022 and still uses 1.7.25 version of 
> slf4j and the vulnerability: [https://nvd.nist.gov/vuln/detail/CVE-2018-8088] 
> is fixed only in the 1.7.26 version. Do we have any details on when the slf4j 
> be upgraded ?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Commented] (CASSANDRA-18122) when will slf4j be upgraded for CVE-2018-8088

2022-12-15 Thread Jai Bheemsen Rao Dhanwada (Jira)


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

Jai Bheemsen Rao Dhanwada commented on CASSANDRA-18122:
---

thanks [~brandon.williams] 

I believe it's because C* is using 1.7.25 version of slf4j the scanner detect 
the vulnerability: 
[https://github.com/apache/cassandra/blob/cassandra-4.1.0/build.xml#L534-L536]

are there any plans upgrade this version in the next release?

> when will slf4j be upgraded for CVE-2018-8088
> -
>
> Key: CASSANDRA-18122
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18122
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Jai Bheemsen Rao Dhanwada
>Priority: Normal
>
> Hello Team,
> I see Cassandra 4.1 GA'ed on 12/13/2022 and still uses 1.7.25 version of 
> slf4j and the vulnerability: [https://nvd.nist.gov/vuln/detail/CVE-2018-8088] 
> is fixed only in the 1.7.26 version. Do we have any details on when the slf4j 
> be upgraded ?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Updated] (CASSANDRA-18122) when will slf4j be upgraded for CVE-2018-8088

2022-12-15 Thread Brandon Williams (Jira)


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

Brandon Williams updated CASSANDRA-18122:
-
Resolution: Not A Problem
Status: Resolved  (was: Triage Needed)

We don't use the slf4j-ext module.

> when will slf4j be upgraded for CVE-2018-8088
> -
>
> Key: CASSANDRA-18122
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18122
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Jai Bheemsen Rao Dhanwada
>Priority: Normal
>
> Hello Team,
> I see Cassandra 4.1 GA'ed on 12/13/2022 and still uses 1.7.25 version of 
> slf4j and the vulnerability: [https://nvd.nist.gov/vuln/detail/CVE-2018-8088] 
> is fixed only in the 1.7.26 version. Do we have any details on when the slf4j 
> be upgraded ?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Created] (CASSANDRA-18122) when will slf4j be upgraded for CVE-2018-8088

2022-12-15 Thread Jai Bheemsen Rao Dhanwada (Jira)
Jai Bheemsen Rao Dhanwada created CASSANDRA-18122:
-

 Summary: when will slf4j be upgraded for CVE-2018-8088
 Key: CASSANDRA-18122
 URL: https://issues.apache.org/jira/browse/CASSANDRA-18122
 Project: Cassandra
  Issue Type: Bug
Reporter: Jai Bheemsen Rao Dhanwada


Hello Team,

I see Cassandra 4.1 GA'ed on 12/13/2022 and still uses 1.7.25 version of slf4j 
and the vulnerability: [https://nvd.nist.gov/vuln/detail/CVE-2018-8088] is 
fixed only in the 1.7.26 version. Do we have any details on when the slf4j be 
upgraded ?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Commented] (CASSANDRA-14013) Data loss in snapshots keyspace after service restart

2022-12-15 Thread Paulo Motta (Jira)


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

Paulo Motta commented on CASSANDRA-14013:
-

The reason why {{SSTableLoaderTest#testLoadingBackupsTable}} was failing was 
because this test was using the legacy table directory format which does not 
have {{{}-{uuid{ part and the regex was failing to pick up this case.

On [this 
commit|https://github.com/pauloricardomg/cassandra/commit/59f42ce2e58f7846355ebb9f3395fceb28c76631],
 I added the {{./*}} prefix to the regex which made it pick up the case of a 
"backups" table in the legacy directory format without the table uuid. I also 
updated {{SSTableLoaderTest}} to use the new [table directory 
format|https://github.com/pauloricardomg/cassandra/commit/59f42ce2e58f7846355ebb9f3395fceb28c76631#diff-7caf9acb4092d0f8da99e009b74cab5832ee797d5c9b191ab2e3b394a533812fR333].

We did not have a test on {{DescriptorTest#testKeyspaceTableParsing}} to pick 
up the scenario of a legacy "backups" table directory and keyspace, when the 
table id suffix is missing so I added it 
[here|https://github.com/pauloricardomg/cassandra/commit/59f42ce2e58f7846355ebb9f3395fceb28c76631#diff-f1003299495ea8593e83c86e261e77d7d6d7a57a52c61f52e51e7e816fcdad5eR223].

However, neither the solutions are able to correctly parse a snapshot in a 
legacy "backups" table, for example
{noformat}
/path/to/cassandra/data/dir2/dir5/dir6/backups/backups/snapshots/snapshots/na-1-big-Index.db
{noformat}
Both approaches consider this an sstable on the "snapshots" table of the 
"snapshots" directory, and not a snapshot on the "backups" table of the 
"backups" keyspace. However I don't think we need to fix for this case as we 
should no longer support directories in the legacy format moving forward.

I have submitted a CI run for the latest branch 
[here|https://ci-cassandra.apache.org/view/patches/job/Cassandra-devbranch/2106/].

[~smiklosovic] if tests look good and you're ok I can prepare patch for earlier 
versions with the simpler fix, and the regex fix on trunk. Should we do just 
4.x or 3.X too?

> Data loss in snapshots keyspace after service restart
> -
>
> Key: CASSANDRA-14013
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14013
> Project: Cassandra
>  Issue Type: Bug
>  Components: Legacy/Core, Local/Snapshots
>Reporter: Gregor Uhlenheuer
>Assignee: Stefan Miklosovic
>Priority: Normal
> Fix For: 4.0.x, 4.1.x, 4.x
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> I am posting this bug in hope to discover the stupid mistake I am doing 
> because I can't imagine a reasonable answer for the behavior I see right now 
> :-)
> In short words, I do observe data loss in a keyspace called *snapshots* after 
> restarting the Cassandra service. Say I do have 1000 records in a table 
> called *snapshots.test_idx* then after restart the table has less entries or 
> is even empty.
> My kind of "mysterious" observation is that it happens only in a keyspace 
> called *snapshots*...
> h3. Steps to reproduce
> These steps to reproduce show the described behavior in "most" attempts (not 
> every single time though).
> {code}
> # create keyspace
> CREATE KEYSPACE snapshots WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1};
> # create table
> CREATE TABLE snapshots.test_idx (key text, seqno bigint, primary key(key));
> # insert some test data
> INSERT INTO snapshots.test_idx (key,seqno) values ('key1', 1);
> ...
> INSERT INTO snapshots.test_idx (key,seqno) values ('key1000', 1000);
> # count entries
> SELECT count(*) FROM snapshots.test_idx;
> 1000
> # restart service
> kill 
> cassandra -f
> # count entries
> SELECT count(*) FROM snapshots.test_idx;
> 0
> {code}
> I hope someone can point me to the obvious mistake I am doing :-)
> This happened to me using both Cassandra 3.9 and 3.11.0



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Updated] (CASSANDRA-18061) Add compaction type output result for nodetool compactionhistory

2022-12-15 Thread Stefan Miklosovic (Jira)


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

Stefan Miklosovic updated CASSANDRA-18061:
--
Reviewers: Stefan Miklosovic
   Status: Review In Progress  (was: Patch Available)

> Add compaction type output result for nodetool compactionhistory
> 
>
> Key: CASSANDRA-18061
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18061
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local/Compaction, Tool/nodetool
>Reporter: maxwellguo
>Assignee: maxwellguo
>Priority: Low
> Fix For: 4.2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> If we want to see whether we have made a compaction and what kind of 
> compaction we have done for this node, we may go to see the 
> compaction_history system table for some deftails or use nodetool 
> compactionhistory command , But I found that the table do not specify the 
> compaction type so does the compactionhistory command too, like index build , 
> compaction type, clean or scrub for this node. So I think may be it is need 
> to add a type of compaction column to specify the compaction tpe for 
> system.compaction_history and so we can get the type of compaction through 
> system.compaction_history table or nodetool compactionhistory to see whether 
> we have made a major compact for this node  .:)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Updated] (CASSANDRA-18061) Add compaction type output result for nodetool compactionhistory

2022-12-15 Thread Stefan Miklosovic (Jira)


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

Stefan Miklosovic updated CASSANDRA-18061:
--
Test and Documentation Plan: tests passing
 Status: Patch Available  (was: In Progress)

> Add compaction type output result for nodetool compactionhistory
> 
>
> Key: CASSANDRA-18061
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18061
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local/Compaction, Tool/nodetool
>Reporter: maxwellguo
>Assignee: maxwellguo
>Priority: Low
> Fix For: 4.2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> If we want to see whether we have made a compaction and what kind of 
> compaction we have done for this node, we may go to see the 
> compaction_history system table for some deftails or use nodetool 
> compactionhistory command , But I found that the table do not specify the 
> compaction type so does the compactionhistory command too, like index build , 
> compaction type, clean or scrub for this node. So I think may be it is need 
> to add a type of compaction column to specify the compaction tpe for 
> system.compaction_history and so we can get the type of compaction through 
> system.compaction_history table or nodetool compactionhistory to see whether 
> we have made a major compact for this node  .:)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Comment Edited] (CASSANDRA-18061) Add compaction type output result for nodetool compactionhistory

2022-12-15 Thread Brandon Williams (Jira)


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

Brandon Williams edited comment on CASSANDRA-18061 at 12/15/22 6:41 PM:


I don't have time to commit to a full review right now but I started a CI run 
that can cover dtests: 
[!https://ci-cassandra.apache.org/job/Cassandra-devbranch/2105/badge/icon!|https://ci-cassandra.apache.org/blue/organizations/jenkins/Cassandra-devbranch/detail/Cassandra-devbranch/2105/pipeline]

and if you mark this patch available it will signal to committers it is ready 
to be looked at.



was (Author: brandon.williams):
I don't have time to commit to a full review right now but I started a CI run 
that can cover dtests: 
[!https://ci-cassandra.apache.org/job/Cassandra-devbranch/2105/badge/icon!|https://ci-cassandra.apache.org/blue/organizations/jenkins/Cassandra-devbranch/detail/Cassandra-devbranch/2105/pipeline]


> Add compaction type output result for nodetool compactionhistory
> 
>
> Key: CASSANDRA-18061
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18061
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local/Compaction, Tool/nodetool
>Reporter: maxwellguo
>Assignee: maxwellguo
>Priority: Low
> Fix For: 4.2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> If we want to see whether we have made a compaction and what kind of 
> compaction we have done for this node, we may go to see the 
> compaction_history system table for some deftails or use nodetool 
> compactionhistory command , But I found that the table do not specify the 
> compaction type so does the compactionhistory command too, like index build , 
> compaction type, clean or scrub for this node. So I think may be it is need 
> to add a type of compaction column to specify the compaction tpe for 
> system.compaction_history and so we can get the type of compaction through 
> system.compaction_history table or nodetool compactionhistory to see whether 
> we have made a major compact for this node  .:)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Updated] (CASSANDRA-18061) Add compaction type output result for nodetool compactionhistory

2022-12-15 Thread Brandon Williams (Jira)


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

Brandon Williams updated CASSANDRA-18061:
-
Change Category: Operability
 Complexity: Normal
 Status: Open  (was: Triage Needed)

> Add compaction type output result for nodetool compactionhistory
> 
>
> Key: CASSANDRA-18061
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18061
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local/Compaction, Tool/nodetool
>Reporter: maxwellguo
>Assignee: maxwellguo
>Priority: Low
> Fix For: 4.2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> If we want to see whether we have made a compaction and what kind of 
> compaction we have done for this node, we may go to see the 
> compaction_history system table for some deftails or use nodetool 
> compactionhistory command , But I found that the table do not specify the 
> compaction type so does the compactionhistory command too, like index build , 
> compaction type, clean or scrub for this node. So I think may be it is need 
> to add a type of compaction column to specify the compaction tpe for 
> system.compaction_history and so we can get the type of compaction through 
> system.compaction_history table or nodetool compactionhistory to see whether 
> we have made a major compact for this node  .:)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[cassandra-website] branch asf-staging updated (3680edf51 -> 23275537e)

2022-12-15 Thread git-site-role
This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a change to branch asf-staging
in repository https://gitbox.apache.org/repos/asf/cassandra-website.git


omit 3680edf51 generate docs for 4d3ddc0d
 new 23275537e generate docs for 4d3ddc0d

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

 * -- * -- B -- O -- O -- O   (3680edf51)
\
 N -- N -- N   refs/heads/asf-staging (23275537e)

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

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

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


Summary of changes:
 content/search-index.js |   2 +-
 site-ui/build/ui-bundle.zip | Bin 4970898 -> 4970898 bytes
 2 files changed, 1 insertion(+), 1 deletion(-)


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



[jira] [Commented] (CASSANDRA-18061) Add compaction type output result for nodetool compactionhistory

2022-12-15 Thread Brandon Williams (Jira)


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

Brandon Williams commented on CASSANDRA-18061:
--

I don't have time to commit to a full review right now but I started a CI run 
that can cover dtests: 
[!https://ci-cassandra.apache.org/job/Cassandra-devbranch/2105/badge/icon!|https://ci-cassandra.apache.org/blue/organizations/jenkins/Cassandra-devbranch/detail/Cassandra-devbranch/2105/pipeline]


> Add compaction type output result for nodetool compactionhistory
> 
>
> Key: CASSANDRA-18061
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18061
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local/Compaction, Tool/nodetool
>Reporter: maxwellguo
>Assignee: maxwellguo
>Priority: Low
> Fix For: 4.2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> If we want to see whether we have made a compaction and what kind of 
> compaction we have done for this node, we may go to see the 
> compaction_history system table for some deftails or use nodetool 
> compactionhistory command , But I found that the table do not specify the 
> compaction type so does the compactionhistory command too, like index build , 
> compaction type, clean or scrub for this node. So I think may be it is need 
> to add a type of compaction column to specify the compaction tpe for 
> system.compaction_history and so we can get the type of compaction through 
> system.compaction_history table or nodetool compactionhistory to see whether 
> we have made a major compact for this node  .:)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Updated] (CASSANDRA-18121) Dtests need python 3.11 support

2022-12-15 Thread Brandon Williams (Jira)


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

Brandon Williams updated CASSANDRA-18121:
-
Change Category: Operability
 Complexity: Normal
Component/s: Test/dtest/python
 Status: Open  (was: Triage Needed)

> Dtests need python 3.11 support
> ---
>
> Key: CASSANDRA-18121
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18121
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Test/dtest/python
>Reporter: Brandon Williams
>Assignee: Brandon Williams
>Priority: Normal
>
> In order to have cqlsh support 3.11 the dtest also need to support 3.11 so 
> the cqlsh dtests can be run.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Commented] (CASSANDRA-18088) cqlsh - module 're' has no attribute 'sre_parse' - with Python 3.11

2022-12-15 Thread Brandon Williams (Jira)


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

Brandon Williams commented on CASSANDRA-18088:
--

There is too much functionality being tested in the dtests' cqlsh_tests to 
easily divorce them and cqlsh from the same python version support.  I've 
created CASSANDRA-18121 for the dtests and will go back to looking into them.

> cqlsh - module 're' has no attribute 'sre_parse' - with Python 3.11
> ---
>
> Key: CASSANDRA-18088
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18088
> Project: Cassandra
>  Issue Type: Bug
>  Components: CQL/Interpreter
>Reporter: Aaron Ploetz
>Assignee: Brandon Williams
>Priority: Normal
> Fix For: 4.0.x, 4.1.x, 4.x
>
>
> User reported an error with cqlsh (Cassandra 4.0.7) on Stack Overflow: 
> [https://stackoverflow.com/questions/74673247/cannot-able-to-run-cqlsh-due-to-python-attribute-error|https://stackoverflow.com/questions/74673247/cannot-able-to-run-cqlsh-due-to-python-attribute-error?noredirect=1#comment131807816_74673247]
>  
> Found out that the user was using Python 3.11, and I was able to reproduce it 
> with that.
> {{% python3.11 bin/cqlsh.py}}
> {{Traceback (most recent call last):}}
> {{  File "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/cqlsh.py", line 
> 159, in }}
> {{    from cqlshlib import cql3handling, cqlhandling, pylexotron, 
> sslhandling, cqlshhandling}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/cql3handling.py",
>  line 19, in }}
> {{    from cqlshlib.cqlhandling import CqlParsingRuleSet, Hint}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/cqlhandling.py",
>  line 23, in }}
> {{    from cqlshlib import pylexotron, util}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/pylexotron.py",
>  line 342, in }}
> {{    class ParsingRuleSet:}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/pylexotron.py",
>  line 343, in ParsingRuleSet}}
> {{    RuleSpecScanner = SaferScanner([}}
> {{                      ^^}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/saferscanner.py",
>  line 91, in _{_}init{_}_}}
> {{    s = re.sre_parse.State()}}
> {{        }}
> {{AttributeError: module 're' has no attribute 'sre_parse'}}
> Appears to be something specific (again) with Python's synchronizing regex 
> engine (SRE).  Works fine with Python 3.10, so there may have been a(nother) 
> breaking change in that the re module with 3.11.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Comment Edited] (CASSANDRA-18088) cqlsh - module 're' has no attribute 'sre_parse' - with Python 3.11

2022-12-15 Thread Brandon Williams (Jira)


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

Brandon Williams edited comment on CASSANDRA-18088 at 12/15/22 6:14 PM:


There is too much functionality being tested in the dtests' cqlsh_tests to 
easily divorce them and cqlsh from the same python versions supported.  I've 
created CASSANDRA-18121 for the dtests and will go back to looking into them.


was (Author: brandon.williams):
There is too much functionality being tested in the dtests' cqlsh_tests to 
easily divorce them and cqlsh from the same python version support.  I've 
created CASSANDRA-18121 for the dtests and will go back to looking into them.

> cqlsh - module 're' has no attribute 'sre_parse' - with Python 3.11
> ---
>
> Key: CASSANDRA-18088
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18088
> Project: Cassandra
>  Issue Type: Bug
>  Components: CQL/Interpreter
>Reporter: Aaron Ploetz
>Assignee: Brandon Williams
>Priority: Normal
> Fix For: 4.0.x, 4.1.x, 4.x
>
>
> User reported an error with cqlsh (Cassandra 4.0.7) on Stack Overflow: 
> [https://stackoverflow.com/questions/74673247/cannot-able-to-run-cqlsh-due-to-python-attribute-error|https://stackoverflow.com/questions/74673247/cannot-able-to-run-cqlsh-due-to-python-attribute-error?noredirect=1#comment131807816_74673247]
>  
> Found out that the user was using Python 3.11, and I was able to reproduce it 
> with that.
> {{% python3.11 bin/cqlsh.py}}
> {{Traceback (most recent call last):}}
> {{  File "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/cqlsh.py", line 
> 159, in }}
> {{    from cqlshlib import cql3handling, cqlhandling, pylexotron, 
> sslhandling, cqlshhandling}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/cql3handling.py",
>  line 19, in }}
> {{    from cqlshlib.cqlhandling import CqlParsingRuleSet, Hint}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/cqlhandling.py",
>  line 23, in }}
> {{    from cqlshlib import pylexotron, util}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/pylexotron.py",
>  line 342, in }}
> {{    class ParsingRuleSet:}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/pylexotron.py",
>  line 343, in ParsingRuleSet}}
> {{    RuleSpecScanner = SaferScanner([}}
> {{                      ^^}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/saferscanner.py",
>  line 91, in _{_}init{_}_}}
> {{    s = re.sre_parse.State()}}
> {{        }}
> {{AttributeError: module 're' has no attribute 'sre_parse'}}
> Appears to be something specific (again) with Python's synchronizing regex 
> engine (SRE).  Works fine with Python 3.10, so there may have been a(nother) 
> breaking change in that the re module with 3.11.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Created] (CASSANDRA-18121) Dtests need python 3.11 support

2022-12-15 Thread Brandon Williams (Jira)
Brandon Williams created CASSANDRA-18121:


 Summary: Dtests need python 3.11 support
 Key: CASSANDRA-18121
 URL: https://issues.apache.org/jira/browse/CASSANDRA-18121
 Project: Cassandra
  Issue Type: Improvement
Reporter: Brandon Williams
Assignee: Brandon Williams


In order to have cqlsh support 3.11 the dtest also need to support 3.11 so the 
cqlsh dtests can be run.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Comment Edited] (CASSANDRA-18088) cqlsh - module 're' has no attribute 'sre_parse' - with Python 3.11

2022-12-15 Thread Brandon Williams (Jira)


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

Brandon Williams edited comment on CASSANDRA-18088 at 12/15/22 5:53 PM:


In the image with dependencies I didn't update the source, so it was still 
built from the apache repo.  I've corrected that and uploaded the new image.

There's another problem, though.  Circle runs 'cqlsh_dtests' with the dtest 
runner and the [regex flag with 
'cql'|https://github.com/apache/cassandra/blob/trunk/.circleci/config-2_1.yml#L2160]
 passed to it, which effectively means that cqlsh and the dtest repo must move 
in lockstep with regard to the python version.  If 3.11 support is added to 
cqlsh, because of this, it has to be added to the dtests as well.

I looked into updating the dtests and that is going to be significant work 
worthy of its own ticket (to begin with, pytest has to be updated.)  I think we 
should not block having cqlsh work based upon what will work with the dtests, 
and instead make circle work more like Jenkins does to run the cqlsh tests.


was (Author: brandon.williams):
In the image with dependencies I didn't update the source, so it was still 
built from the apache repo.  I've corrected that and uploaded the new image.

There's another problem, though.  Circle runs 'cqlsh_dtests' with the dtest 
runner and the [regex flag with 
'cql'|https://github.com/apache/cassandra/blob/trunk/.circleci/config-2_1.yml#L2160]
 passed to it, which effectively means that cqlsh and the dtest repo must move 
in lockstep with regard to the python version.  If 3.11 support is added to 
cqlsh, because of this, it has to be added to the dtests as well.

I looked into updating the dtests and that is going to be significant work 
worth of its own ticket (to begin with, pytest has to be updated.)  I think we 
should not block having cqlsh work based upon what will work with the dtests, 
and instead make circle work more like Jenkins does to run the cqlsh tests.

> cqlsh - module 're' has no attribute 'sre_parse' - with Python 3.11
> ---
>
> Key: CASSANDRA-18088
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18088
> Project: Cassandra
>  Issue Type: Bug
>  Components: CQL/Interpreter
>Reporter: Aaron Ploetz
>Assignee: Brandon Williams
>Priority: Normal
> Fix For: 4.0.x, 4.1.x, 4.x
>
>
> User reported an error with cqlsh (Cassandra 4.0.7) on Stack Overflow: 
> [https://stackoverflow.com/questions/74673247/cannot-able-to-run-cqlsh-due-to-python-attribute-error|https://stackoverflow.com/questions/74673247/cannot-able-to-run-cqlsh-due-to-python-attribute-error?noredirect=1#comment131807816_74673247]
>  
> Found out that the user was using Python 3.11, and I was able to reproduce it 
> with that.
> {{% python3.11 bin/cqlsh.py}}
> {{Traceback (most recent call last):}}
> {{  File "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/cqlsh.py", line 
> 159, in }}
> {{    from cqlshlib import cql3handling, cqlhandling, pylexotron, 
> sslhandling, cqlshhandling}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/cql3handling.py",
>  line 19, in }}
> {{    from cqlshlib.cqlhandling import CqlParsingRuleSet, Hint}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/cqlhandling.py",
>  line 23, in }}
> {{    from cqlshlib import pylexotron, util}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/pylexotron.py",
>  line 342, in }}
> {{    class ParsingRuleSet:}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/pylexotron.py",
>  line 343, in ParsingRuleSet}}
> {{    RuleSpecScanner = SaferScanner([}}
> {{                      ^^}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/saferscanner.py",
>  line 91, in _{_}init{_}_}}
> {{    s = re.sre_parse.State()}}
> {{        }}
> {{AttributeError: module 're' has no attribute 'sre_parse'}}
> Appears to be something specific (again) with Python's synchronizing regex 
> engine (SRE).  Works fine with Python 3.10, so there may have been a(nother) 
> breaking change in that the re module with 3.11.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Commented] (CASSANDRA-18088) cqlsh - module 're' has no attribute 'sre_parse' - with Python 3.11

2022-12-15 Thread Brandon Williams (Jira)


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

Brandon Williams commented on CASSANDRA-18088:
--

In the image with dependencies I didn't update the source, so it was still 
built from the apache repo.  I've corrected that and uploaded the new image.

There's another problem, though.  Circle runs 'cqlsh_dtests' with the dtest 
runner and the [regex flag with 
'cql'|https://github.com/apache/cassandra/blob/trunk/.circleci/config-2_1.yml#L2160]
 passed to it, which effectively means that cqlsh and the dtest repo must move 
in lockstep with regard to the python version.  If 3.11 support is added to 
cqlsh, because of this, it has to be added to the dtests as well.

I looked into updating the dtests and that is going to be significant work 
worth of its own ticket (to begin with, pytest has to be updated.)  I think we 
should not block having cqlsh work based upon what will work with the dtests, 
and instead make circle work more like Jenkins does to run the cqlsh tests.

> cqlsh - module 're' has no attribute 'sre_parse' - with Python 3.11
> ---
>
> Key: CASSANDRA-18088
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18088
> Project: Cassandra
>  Issue Type: Bug
>  Components: CQL/Interpreter
>Reporter: Aaron Ploetz
>Assignee: Brandon Williams
>Priority: Normal
> Fix For: 4.0.x, 4.1.x, 4.x
>
>
> User reported an error with cqlsh (Cassandra 4.0.7) on Stack Overflow: 
> [https://stackoverflow.com/questions/74673247/cannot-able-to-run-cqlsh-due-to-python-attribute-error|https://stackoverflow.com/questions/74673247/cannot-able-to-run-cqlsh-due-to-python-attribute-error?noredirect=1#comment131807816_74673247]
>  
> Found out that the user was using Python 3.11, and I was able to reproduce it 
> with that.
> {{% python3.11 bin/cqlsh.py}}
> {{Traceback (most recent call last):}}
> {{  File "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/cqlsh.py", line 
> 159, in }}
> {{    from cqlshlib import cql3handling, cqlhandling, pylexotron, 
> sslhandling, cqlshhandling}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/cql3handling.py",
>  line 19, in }}
> {{    from cqlshlib.cqlhandling import CqlParsingRuleSet, Hint}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/cqlhandling.py",
>  line 23, in }}
> {{    from cqlshlib import pylexotron, util}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/pylexotron.py",
>  line 342, in }}
> {{    class ParsingRuleSet:}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/pylexotron.py",
>  line 343, in ParsingRuleSet}}
> {{    RuleSpecScanner = SaferScanner([}}
> {{                      ^^}}
> {{  File 
> "/Users/aaronploetz/local/apache-cassandra-4.0.7/bin/../pylib/cqlshlib/saferscanner.py",
>  line 91, in _{_}init{_}_}}
> {{    s = re.sre_parse.State()}}
> {{        }}
> {{AttributeError: module 're' has no attribute 'sre_parse'}}
> Appears to be something specific (again) with Python's synchronizing regex 
> engine (SRE).  Works fine with Python 3.10, so there may have been a(nother) 
> breaking change in that the re module with 3.11.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Commented] (CASSANDRA-14013) Data loss in snapshots keyspace after service restart

2022-12-15 Thread Paulo Motta (Jira)


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

Paulo Motta commented on CASSANDRA-14013:
-

bq. If you scroll up enough, there is my original PR which was also trying to 
base the solution to this problem on regexp (1) but then we kind of abandoned 
that in favor of more concise and "less invasive" patch. 

Sorry, I missed that.

bq. If yes, why do you want to have simpler in 4.0 and 4.1 and this new stuff 
in trunk only? Is not it better to just have one approach committed everywhere? 

The simpler fix is less invasive so less riskier for released versions, we 
probably will no longer touch this code. The regex fix changes the way 
directories are parsed but is more robust and future-proof so we would adopt 
that moving forward in trunk, at least until we have the proper fix of encoding 
keyspace/table/index info in the sstable metadata.

bq. Also,  SSTableLoaderTest#testLoadingBackupsTable is failing for me locally 
while testLoadingSnapshotsTable is not. Maybe your patch is not covering 
something?

I haven't checked tests other than \{{DescriptorTest}}, I'll take a look and 
submit a full CI run.

> Data loss in snapshots keyspace after service restart
> -
>
> Key: CASSANDRA-14013
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14013
> Project: Cassandra
>  Issue Type: Bug
>  Components: Legacy/Core, Local/Snapshots
>Reporter: Gregor Uhlenheuer
>Assignee: Stefan Miklosovic
>Priority: Normal
> Fix For: 4.0.x, 4.1.x, 4.x
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> I am posting this bug in hope to discover the stupid mistake I am doing 
> because I can't imagine a reasonable answer for the behavior I see right now 
> :-)
> In short words, I do observe data loss in a keyspace called *snapshots* after 
> restarting the Cassandra service. Say I do have 1000 records in a table 
> called *snapshots.test_idx* then after restart the table has less entries or 
> is even empty.
> My kind of "mysterious" observation is that it happens only in a keyspace 
> called *snapshots*...
> h3. Steps to reproduce
> These steps to reproduce show the described behavior in "most" attempts (not 
> every single time though).
> {code}
> # create keyspace
> CREATE KEYSPACE snapshots WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1};
> # create table
> CREATE TABLE snapshots.test_idx (key text, seqno bigint, primary key(key));
> # insert some test data
> INSERT INTO snapshots.test_idx (key,seqno) values ('key1', 1);
> ...
> INSERT INTO snapshots.test_idx (key,seqno) values ('key1000', 1000);
> # count entries
> SELECT count(*) FROM snapshots.test_idx;
> 1000
> # restart service
> kill 
> cassandra -f
> # count entries
> SELECT count(*) FROM snapshots.test_idx;
> 0
> {code}
> I hope someone can point me to the obvious mistake I am doing :-)
> This happened to me using both Cassandra 3.9 and 3.11.0



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Updated] (CASSANDRA-17977) CME in STCS/DTCS/TWCS.getSSTables

2022-12-15 Thread Aleksey Yeschenko (Jira)


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

Aleksey Yeschenko updated CASSANDRA-17977:
--
Reviewers: Aleksey Yeschenko, Aleksey Yeschenko  (was: Jon Meredith)
   Aleksey Yeschenko, Aleksey Yeschenko  (was: Aleksey Yeschenko)
   Status: Review In Progress  (was: Patch Available)

+1

> CME in STCS/DTCS/TWCS.getSSTables
> -
>
> Key: CASSANDRA-17977
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17977
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local/Compaction
>Reporter: Marcus Eriksson
>Assignee: Marcus Eriksson
>Priority: Normal
> Fix For: 4.0.x, 4.1.x, 4.x
>
>
> This method should be synchronized to avoid ConcurrentModificationException



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Updated] (CASSANDRA-17977) CME in STCS/DTCS/TWCS.getSSTables

2022-12-15 Thread Aleksey Yeschenko (Jira)


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

Aleksey Yeschenko updated CASSANDRA-17977:
--
Status: Ready to Commit  (was: Review In Progress)

> CME in STCS/DTCS/TWCS.getSSTables
> -
>
> Key: CASSANDRA-17977
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17977
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local/Compaction
>Reporter: Marcus Eriksson
>Assignee: Marcus Eriksson
>Priority: Normal
> Fix For: 4.0.x, 4.1.x, 4.x
>
>
> This method should be synchronized to avoid ConcurrentModificationException



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Commented] (CASSANDRA-17949) Update CCM post CASSANDRA-17379

2022-12-15 Thread Ekaterina Dimitrova (Jira)


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

Ekaterina Dimitrova commented on CASSANDRA-17949:
-

CC [~b.le...@gmail.com] 

> Update CCM post CASSANDRA-17379
> ---
>
> Key: CASSANDRA-17949
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17949
> Project: Cassandra
>  Issue Type: Task
>  Components: CI
>Reporter: Ekaterina Dimitrova
>Priority: Normal
>
> We updated in CASSANDRA-15234 CCM updateconf to enable it to handle 
> overloading of parameters Python upgrade tests. 
> This also allows us not to update for 4.1 the Python DTests but exercise the 
> backward compatibility we have in C* in our tests.
> Now CASSANDRA-17379 added a few flags to opt in or out for overloading of 
> parameters.
> The default points to -Dcassandra.allow_new_old_config_keys=false but this 
> does not affect our tests as CCM handles the overloading in the yaml.
> But this is confusing for users and might lead to issues.
> We need to bring on par one way or another ccm with the new flags introduced 
> in CASSANDRA-17379
> *Until then the recommendation is to use 
> `-Dcassandra.allow_new_old_config_keys=false` and  
> `-Dcassandra.allow_duplicate_config_keys=false` to prohibit any kind of 
> overloading when using CCM master and CCM released to prevent any confusion.*



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Commented] (CASSANDRA-17949) Update CCM post CASSANDRA-17379

2022-12-15 Thread Ekaterina Dimitrova (Jira)


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

Ekaterina Dimitrova commented on CASSANDRA-17949:
-

There are several discussions around CCM and until a decision is taken I opened 
a [PR|https://github.com/riptano/ccm/pull/748] to add a warning for users to 
the CCM README.

> Update CCM post CASSANDRA-17379
> ---
>
> Key: CASSANDRA-17949
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17949
> Project: Cassandra
>  Issue Type: Task
>  Components: CI
>Reporter: Ekaterina Dimitrova
>Priority: Normal
>
> We updated in CASSANDRA-15234 CCM updateconf to enable it to handle 
> overloading of parameters Python upgrade tests. 
> This also allows us not to update for 4.1 the Python DTests but exercise the 
> backward compatibility we have in C* in our tests.
> Now CASSANDRA-17379 added a few flags to opt in or out for overloading of 
> parameters.
> The default points to -Dcassandra.allow_new_old_config_keys=false but this 
> does not affect our tests as CCM handles the overloading in the yaml.
> But this is confusing for users and might lead to issues.
> We need to bring on par one way or another ccm with the new flags introduced 
> in CASSANDRA-17379
> *Until then the recommendation is to use 
> `-Dcassandra.allow_new_old_config_keys=false` and  
> `-Dcassandra.allow_duplicate_config_keys=false` to prohibit any kind of 
> overloading when using CCM master and CCM released to prevent any confusion.*



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Updated] (CASSANDRA-17949) Update CCM post CASSANDRA-17379

2022-12-15 Thread Ekaterina Dimitrova (Jira)


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

Ekaterina Dimitrova updated CASSANDRA-17949:

Description: 
We updated in CASSANDRA-15234 CCM updateconf to enable it to handle overloading 
of parameters Python upgrade tests. 

This also allows us not to update for 4.1 the Python DTests but exercise the 
backward compatibility we have in C* in our tests.

Now CASSANDRA-17379 added a few flags to opt in or out for overloading of 
parameters.

The default points to -Dcassandra.allow_new_old_config_keys=false but this does 
not affect our tests as CCM handles the overloading in the yaml.
But this is confusing for users and might lead to issues.

We need to bring on par one way or another ccm with the new flags introduced in 
CASSANDRA-17379

*Until then the recommendation is to use 
`-Dcassandra.allow_new_old_config_keys=false` and  
`-Dcassandra.allow_duplicate_config_keys=false` to prohibit any kind of 
overloading when using CCM master and CCM released to prevent any confusion.*

  was:
We updated in CASSANDRA-15234 CCM to enable it to handle overloading of 
parameters the way that SnakeYAML works. As we have matching and backward 
compatibility between old and new keys in 4.1 (look into this write up for more 
information 
[https://cassandra.apache.org/doc/4.1/cassandra/configuration/configuration.html).]

This also allows us not to update for 4.1 the Python DTests but exercise the 
backward compatibility we have in C* in our tests.

Now CASSANDRA-17379 added a few flags to opt in or out for overloading of 
parameters.

The default points to -Dcassandra.allow_new_old_config_keys=false but this does 
not affect our tests as CCM handles the overloading in the yaml.
But this is confusing for users and might lead to issues.

We need to bring on par one way or another ccm with the new flags introduced in 
CASSANDRA-17379


> Update CCM post CASSANDRA-17379
> ---
>
> Key: CASSANDRA-17949
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17949
> Project: Cassandra
>  Issue Type: Task
>  Components: CI
>Reporter: Ekaterina Dimitrova
>Priority: Normal
>
> We updated in CASSANDRA-15234 CCM updateconf to enable it to handle 
> overloading of parameters Python upgrade tests. 
> This also allows us not to update for 4.1 the Python DTests but exercise the 
> backward compatibility we have in C* in our tests.
> Now CASSANDRA-17379 added a few flags to opt in or out for overloading of 
> parameters.
> The default points to -Dcassandra.allow_new_old_config_keys=false but this 
> does not affect our tests as CCM handles the overloading in the yaml.
> But this is confusing for users and might lead to issues.
> We need to bring on par one way or another ccm with the new flags introduced 
> in CASSANDRA-17379
> *Until then the recommendation is to use 
> `-Dcassandra.allow_new_old_config_keys=false` and  
> `-Dcassandra.allow_duplicate_config_keys=false` to prohibit any kind of 
> overloading when using CCM master and CCM released to prevent any confusion.*



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Created] (CASSANDRA-18120) Single slow node dramatically reduces cluster write throughput regardless of CL

2022-12-15 Thread Dan Sarisky (Jira)
Dan Sarisky created CASSANDRA-18120:
---

 Summary: Single slow node dramatically reduces cluster write 
throughput regardless of CL
 Key: CASSANDRA-18120
 URL: https://issues.apache.org/jira/browse/CASSANDRA-18120
 Project: Cassandra
  Issue Type: Improvement
Reporter: Dan Sarisky


We issue writes to Cassandra as logged batches(RF=3, Consistency levels=TWO, 
QUORUM, or LOCAL_QUORUM)

 

On clusters of any size - a single extremely slow node causes a ~90% loss of 
cluster-wide throughput using batched writes.  We can replicate this in the lab 
via CPU or disk throttling.  I observe this in 3.11, 4.0, and 4.1.

 

It appears the mechanism in play is:

Those logged batches are immediately written to two replica nodes and the 
actual mutations aren't processed until those two nodes acknowledge the batch 
statements.  Those replica nodes are selected randomly from all nodes in the 
local data center currently up in gossip.  If a single node is slow, but still 
thought to be up in gossip, this eventually causes every other node to have all 
of its MutationStages to be waiting while the slow replica accepts batch writes.

 

The code in play appears to be:

See

[https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/locator/ReplicaPlans.java#L245].

  In the method filterBatchlogEndpoints() there is a

Collections.shuffle() to order the endpoints and a

FailureDetector.isEndpointAlive() to test if the endpoint is acceptable.

 

This behavior causes Cassandra to move from a multi-node fault tolerant system 
toa collection of single points of failure.

 

We try to take administrator actions to kill off the extremely slow nodes, but 
it would be great to have some notion of "what node is a bad choice" when 
writing log batches to replica nodes.

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Updated] (CASSANDRA-17874) Only reload compaction strategies if disk boundaries change

2022-12-15 Thread Marcus Eriksson (Jira)


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

Marcus Eriksson updated CASSANDRA-17874:

  Fix Version/s: 4.2
 (was: 4.x)
Source Control Link: 
https://github.com/apache/cassandra/commit/94bcb4e5ec4fb99b73276d90b9d08def6f3b4d30
 Resolution: Fixed
 Status: Resolved  (was: Ready to Commit)

And committed, thanks

test run; 
https://app.circleci.com/pipelines/github/krummas/cassandra/847/workflows/ac3511aa-9c61-4c2f-b7cb-c1853c7014a7

> Only reload compaction strategies if disk boundaries change
> ---
>
> Key: CASSANDRA-17874
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17874
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local/Compaction
>Reporter: Marcus Eriksson
>Assignee: Marcus Eriksson
>Priority: Low
> Fix For: 4.2
>
>
> We currently reload compaction strategies every time ringVersion changes - we 
> should change this to only reload if the ring version change actually changes 
> the disk boundaries.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[cassandra] branch trunk updated: Only reload compaction strategies if disk boundaries change

2022-12-15 Thread marcuse
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/trunk by this push:
 new 94bcb4e5ec Only reload compaction strategies if disk boundaries change
94bcb4e5ec is described below

commit 94bcb4e5ec4fb99b73276d90b9d08def6f3b4d30
Author: Marcus Eriksson 
AuthorDate: Thu Sep 1 09:43:47 2022 +0200

Only reload compaction strategies if disk boundaries change

Patch by Aleksey Yeschenko and marcuse; reviewed by Aleksey Yeschenko for 
CASSANDRA-17874

Co-authored-by: Aleksey Yeschenko 
---
 CHANGES.txt|   1 +
 .../org/apache/cassandra/db/ColumnFamilyStore.java |   4 +-
 .../org/apache/cassandra/db/DiskBoundaries.java|   8 ++
 .../db/compaction/CompactionStrategyManager.java   | 153 +
 ...ompactionStrategyManagerBoundaryReloadTest.java | 103 ++
 5 files changed, 213 insertions(+), 56 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index 04ff21265a..160ecef46b 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.2
+ * Only reload compaction strategies if disk boundaries change 
(CASSANDRA-17874)
  * CEP-10: Simulator Java11 Support (CASSANDRA-17178)
  * Set the major compaction type correctly for compactionstats 
(CASSANDRA-18055)
  * Print exception message without stacktrace when nodetool commands fail on 
probe.getOwnershipWithPort() (CASSANDRA-18079)
diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java 
b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
index cb164a030f..b00a77ab40 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@ -385,7 +385,7 @@ public class ColumnFamilyStore implements 
ColumnFamilyStoreMBean, Memtable.Owner
 for (ColumnFamilyStore cfs : concatWithIndexes())
 cfs.crcCheckChance = new 
DefaultValue(metadata().params.crcCheckChance);
 
-compactionStrategyManager.maybeReload(metadata());
+
compactionStrategyManager.maybeReloadParamsFromSchema(metadata().params.compaction);
 
 indexManager.reload();
 
@@ -418,7 +418,7 @@ public class ColumnFamilyStore implements 
ColumnFamilyStoreMBean, Memtable.Owner
 {
 CompactionParams compactionParams = 
CompactionParams.fromMap(options);
 compactionParams.validate();
-
compactionStrategyManager.setNewLocalCompactionStrategy(compactionParams);
+compactionStrategyManager.overrideLocalParams(compactionParams);
 }
 catch (Throwable t)
 {
diff --git a/src/java/org/apache/cassandra/db/DiskBoundaries.java 
b/src/java/org/apache/cassandra/db/DiskBoundaries.java
index c340d2703d..32edcac433 100644
--- a/src/java/org/apache/cassandra/db/DiskBoundaries.java
+++ b/src/java/org/apache/cassandra/db/DiskBoundaries.java
@@ -20,6 +20,7 @@ package org.apache.cassandra.db;
 
 import java.util.Collections;
 import java.util.List;
+import java.util.Objects;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.collect.ImmutableList;
@@ -163,4 +164,11 @@ public class DiskBoundaries
 int lastIndex = getDiskIndex(last);
 return directories.subList(firstIndex, lastIndex + 1);
 }
+
+public boolean isEquivalentTo(DiskBoundaries oldBoundaries)
+{
+return oldBoundaries != null &&
+   Objects.equals(positions, oldBoundaries.positions) &&
+   Objects.equals(directories, oldBoundaries.directories);
+}
 }
diff --git 
a/src/java/org/apache/cassandra/db/compaction/CompactionStrategyManager.java 
b/src/java/org/apache/cassandra/db/compaction/CompactionStrategyManager.java
index e98e4dd10f..bc0fc0dc81 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionStrategyManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionStrategyManager.java
@@ -42,7 +42,6 @@ import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Lists;
 import com.google.common.primitives.Longs;
-import org.apache.cassandra.io.util.File;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -67,6 +66,7 @@ import org.apache.cassandra.io.sstable.SSTableMultiWriter;
 import org.apache.cassandra.io.sstable.format.SSTableReader;
 import org.apache.cassandra.io.sstable.metadata.MetadataCollector;
 import org.apache.cassandra.io.sstable.metadata.StatsMetadata;
+import org.apache.cassandra.io.util.File;
 import org.apache.cassandra.notifications.INotification;
 import org.apache.cassandra.notifications.INotificationConsumer;
 import org.apache.cassandra.notifications.SSTableAddedNotification;
@@ -76,7 +76,6 @@ import 
org.apache.cassandra.notifications.SSTableMetadataChanged;
 import org.apache.cassandra.notifications.SS

[jira] [Updated] (CASSANDRA-18119) Handle sstable metadata stats file getting a new mtime after compaction has finished

2022-12-15 Thread Marcus Eriksson (Jira)


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

Marcus Eriksson updated CASSANDRA-18119:

Fix Version/s: 4.x

> Handle sstable metadata stats file getting a new mtime after compaction has 
> finished
> 
>
> Key: CASSANDRA-18119
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18119
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local/Compaction, Local/Startup and Shutdown
>Reporter: Marcus Eriksson
>Assignee: Marcus Eriksson
>Priority: Normal
> Fix For: 3.11.x, 4.0.x, 4.1.x, 4.x
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> Due to a race between compaction finishing and compaction strategies getting 
> reloaded there is a chance that we try to add both the new sstable and the 
> old compacted sstable to the compaction strategy, and in the LCS case this 
> can cause the old sstable to get sent to L0 to avoid overlap. This changes 
> the mtime of the stats metadata file and if the node is shut down before the 
> sstable is actually deleted from disk, we fail starting with the following 
> exception:
> {code}
> .../mockcf1-392b3ff07c5a11ed8c662f5760cb10b3/nb_txn_compaction_3983c030-7c5a-11ed-8c66-2f5760cb10b3.log
> REMOVE:[.../data/TransactionLogsTest/mockcf1-392b3ff07c5a11ed8c662f5760cb10b3/nb-0-big-,1671096247000,5][4003386800]
>  ***Unexpected files detected for sstable [nb-0-big-]: last update 
> time [Thu Dec 15 10:24:09 CET 2022] (1671096249000) should have been [Thu Dec 
> 15 10:24:07 CET 2022] (1671096247000)
> ADD:[.../data/TransactionLogsTest/mockcf1-392b3ff07c5a11ed8c662f5760cb10b3/nb-2-big-,0,5][319189529]
> {code}
> A workaround for this (until we properly fix the way compaction strategies 
> get notified about sstable changes) is to ignore the timestamp of the STATS 
> component when cleaning up compaction leftovers on startup. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Updated] (CASSANDRA-18118) Do not leak 2015 memtable synthetic Epoch

2022-12-15 Thread Berenguer Blasi (Jira)


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

Berenguer Blasi updated CASSANDRA-18118:

Fix Version/s: 3.11.x
   4.0.x

> Do not leak 2015 memtable synthetic Epoch
> -
>
> Key: CASSANDRA-18118
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18118
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local/Memtable
>Reporter: Berenguer Blasi
>Assignee: Berenguer Blasi
>Priority: Normal
> Fix For: 3.11.x, 4.0.x
>
>
> This 
> [Epoch|https://github.com/apache/cassandra/blob/cassandra-3.11/src/java/org/apache/cassandra/db/rows/EncodingStats.java#L48]
>  can 
> [leak|https://github.com/apache/cassandra/blob/cassandra-3.11/src/java/org/apache/cassandra/db/Memtable.java#L392]
>  affecting all the timestamps logic.  It has been observed in a production 
> env it can i.e. prevent proper sstable and tombstone cleanup.
> To reproduce create the following table:
> {noformat}
> drop keyspace test;
> create keyspace test WITH replication = {'class':'SimpleStrategy', 
> 'replication_factor' : 1};
> CREATE TABLE test.test (
> key text PRIMARY KEY,
> id text
> ) WITH bloom_filter_fp_chance = 0.01
> AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
> AND comment = ''
> AND compaction = {'class': 
> 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 
> 'max_threshold': '32', 'min_threshold': '2', 'tombstone_compaction_interval': 
> '3000', 'tombstone_threshold': '0.1', 'unchecked_tombstone_compaction': 
> 'true'}
> AND compression = {'chunk_length_in_kb': '64', 'class': 
> 'org.apache.cassandra.io.compress.LZ4Compressor'}
> AND crc_check_chance = 1.0
> AND dclocal_read_repair_chance = 0.0
> AND default_time_to_live = 10
> AND gc_grace_seconds = 10
> AND max_index_interval = 2048
> AND memtable_flush_period_in_ms = 0
> AND min_index_interval = 128
> AND read_repair_chance = 0.0
> AND speculative_retry = '99PERCENTILE';
> CREATE INDEX id_idx ON test.test (id);
> {noformat}
> And stress load it with:
> {noformat}
> insert into test.test (key,id) values('$RANDOM_UUID $RANDOM_UUID', 
> 'eaca36a1-45f1-469c-a3f6-3ba54220363f') USING TTL 10
> {noformat}
> Notice how all inserts have a 10s TTL, the default 10s TTL and gc_grace is 
> also at 10s. This is to speed up the repro:
> - Run the load for a couple minutes and track sstables disk usage. You will 
> see it does only increase, nothing gets cleaned up and it doesn't stop 
> growing (notice all this is well past the 10s gc_grace and TTL)
> - Running a flush and a compaction while under load against the keyspace, 
> table or index doesn't solve the issue.
> - Stopping the load and running a compaction doesn't solve the issue. 
> Flushing does though.
> - On the original observation where TTL was around 600s and gc_grace around 
> 1800s we could get GBs of sstables that weren't cleaned up or compacted away 
> after hours of work.
> - Reproduction can also happen on plain sstables by repeatedly 
> inserting/deleting/overwriting the same values over and over again without 2i 
> indices or TTL being involved.
> The problem seems to be 
> [EncodingStats|https://github.com/apache/cassandra/blob/cassandra-3.11/src/java/org/apache/cassandra/db/rows/EncodingStats.java#L48]
>  using a synthetic Epoch in 2015 which plays nice with Vint serialization.  
> Unfortunately {{Memtable}} is using that to keep track of the 
> {{minTimestamp}} which can leak the 2015 Epoch. This confuses any logic 
> consuming that timestamp. In this particular case purge and fully expired 
> sstables weren't properly detected.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Updated] (CASSANDRA-18118) Do not leak 2015 memtable synthetic Epoch

2022-12-15 Thread Berenguer Blasi (Jira)


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

Berenguer Blasi updated CASSANDRA-18118:

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

> Do not leak 2015 memtable synthetic Epoch
> -
>
> Key: CASSANDRA-18118
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18118
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local/Memtable
>Reporter: Berenguer Blasi
>Assignee: Berenguer Blasi
>Priority: Normal
>
> This 
> [Epoch|https://github.com/apache/cassandra/blob/cassandra-3.11/src/java/org/apache/cassandra/db/rows/EncodingStats.java#L48]
>  can 
> [leak|https://github.com/apache/cassandra/blob/cassandra-3.11/src/java/org/apache/cassandra/db/Memtable.java#L392]
>  affecting all the timestamps logic.  It has been observed in a production 
> env it can i.e. prevent proper sstable and tombstone cleanup.
> To reproduce create the following table:
> {noformat}
> drop keyspace test;
> create keyspace test WITH replication = {'class':'SimpleStrategy', 
> 'replication_factor' : 1};
> CREATE TABLE test.test (
> key text PRIMARY KEY,
> id text
> ) WITH bloom_filter_fp_chance = 0.01
> AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
> AND comment = ''
> AND compaction = {'class': 
> 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 
> 'max_threshold': '32', 'min_threshold': '2', 'tombstone_compaction_interval': 
> '3000', 'tombstone_threshold': '0.1', 'unchecked_tombstone_compaction': 
> 'true'}
> AND compression = {'chunk_length_in_kb': '64', 'class': 
> 'org.apache.cassandra.io.compress.LZ4Compressor'}
> AND crc_check_chance = 1.0
> AND dclocal_read_repair_chance = 0.0
> AND default_time_to_live = 10
> AND gc_grace_seconds = 10
> AND max_index_interval = 2048
> AND memtable_flush_period_in_ms = 0
> AND min_index_interval = 128
> AND read_repair_chance = 0.0
> AND speculative_retry = '99PERCENTILE';
> CREATE INDEX id_idx ON test.test (id);
> {noformat}
> And stress load it with:
> {noformat}
> insert into test.test (key,id) values('$RANDOM_UUID $RANDOM_UUID', 
> 'eaca36a1-45f1-469c-a3f6-3ba54220363f') USING TTL 10
> {noformat}
> Notice how all inserts have a 10s TTL, the default 10s TTL and gc_grace is 
> also at 10s. This is to speed up the repro:
> - Run the load for a couple minutes and track sstables disk usage. You will 
> see it does only increase, nothing gets cleaned up and it doesn't stop 
> growing (notice all this is well past the 10s gc_grace and TTL)
> - Running a flush and a compaction while under load against the keyspace, 
> table or index doesn't solve the issue.
> - Stopping the load and running a compaction doesn't solve the issue. 
> Flushing does though.
> - On the original observation where TTL was around 600s and gc_grace around 
> 1800s we could get GBs of sstables that weren't cleaned up or compacted away 
> after hours of work.
> - Reproduction can also happen on plain sstables by repeatedly 
> inserting/deleting/overwriting the same values over and over again without 2i 
> indices or TTL being involved.
> The problem seems to be 
> [EncodingStats|https://github.com/apache/cassandra/blob/cassandra-3.11/src/java/org/apache/cassandra/db/rows/EncodingStats.java#L48]
>  using a synthetic Epoch in 2015 which plays nice with Vint serialization.  
> Unfortunately {{Memtable}} is using that to keep track of the 
> {{minTimestamp}} which can leak the 2015 Epoch. This confuses any logic 
> consuming that timestamp. In this particular case purge and fully expired 
> sstables weren't properly detected.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Commented] (CASSANDRA-14013) Data loss in snapshots keyspace after service restart

2022-12-15 Thread Stefan Miklosovic (Jira)


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

Stefan Miklosovic commented on CASSANDRA-14013:
---

That is all fine for me, [~paulo] . If you scroll up enough, there is my 
original PR which was also trying to base the solution to this problem on 
regexp (1) but then we kind of abandoned that in favor of more concise and 
"less invasive" patch. What I see is that you managed to still do regexp but it 
looks way shorter which I am glad for.

What do you consider to be the simpler fix? The one I put together without your 
stuff on top? If yes, why do you want to have simpler in 4.0 and 4.1 and this 
new stuff in trunk only? Is not it better to just have one approach committed 
everywhere? 

 

Also,  SSTableLoaderTest#testLoadingBackupsTable is failing for me locally 
while testLoadingSnapshotsTable is not. Maybe your patch is not covering 
something?

(1) https://github.com/apache/cassandra/pull/798/files

> Data loss in snapshots keyspace after service restart
> -
>
> Key: CASSANDRA-14013
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14013
> Project: Cassandra
>  Issue Type: Bug
>  Components: Legacy/Core, Local/Snapshots
>Reporter: Gregor Uhlenheuer
>Assignee: Stefan Miklosovic
>Priority: Normal
> Fix For: 4.0.x, 4.1.x, 4.x
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> I am posting this bug in hope to discover the stupid mistake I am doing 
> because I can't imagine a reasonable answer for the behavior I see right now 
> :-)
> In short words, I do observe data loss in a keyspace called *snapshots* after 
> restarting the Cassandra service. Say I do have 1000 records in a table 
> called *snapshots.test_idx* then after restart the table has less entries or 
> is even empty.
> My kind of "mysterious" observation is that it happens only in a keyspace 
> called *snapshots*...
> h3. Steps to reproduce
> These steps to reproduce show the described behavior in "most" attempts (not 
> every single time though).
> {code}
> # create keyspace
> CREATE KEYSPACE snapshots WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1};
> # create table
> CREATE TABLE snapshots.test_idx (key text, seqno bigint, primary key(key));
> # insert some test data
> INSERT INTO snapshots.test_idx (key,seqno) values ('key1', 1);
> ...
> INSERT INTO snapshots.test_idx (key,seqno) values ('key1000', 1000);
> # count entries
> SELECT count(*) FROM snapshots.test_idx;
> 1000
> # restart service
> kill 
> cassandra -f
> # count entries
> SELECT count(*) FROM snapshots.test_idx;
> 0
> {code}
> I hope someone can point me to the obvious mistake I am doing :-)
> This happened to me using both Cassandra 3.9 and 3.11.0



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Updated] (CASSANDRA-18119) Handle sstable metadata stats file getting a new mtime after compaction has finished

2022-12-15 Thread Marcus Eriksson (Jira)


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

Marcus Eriksson updated CASSANDRA-18119:

Authors: Josh McKenzie  (was: Marcus Eriksson)

> Handle sstable metadata stats file getting a new mtime after compaction has 
> finished
> 
>
> Key: CASSANDRA-18119
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18119
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local/Compaction, Local/Startup and Shutdown
>Reporter: Marcus Eriksson
>Assignee: Marcus Eriksson
>Priority: Normal
> Fix For: 3.11.x, 4.0.x, 4.1.x
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> Due to a race between compaction finishing and compaction strategies getting 
> reloaded there is a chance that we try to add both the new sstable and the 
> old compacted sstable to the compaction strategy, and in the LCS case this 
> can cause the old sstable to get sent to L0 to avoid overlap. This changes 
> the mtime of the stats metadata file and if the node is shut down before the 
> sstable is actually deleted from disk, we fail starting with the following 
> exception:
> {code}
> .../mockcf1-392b3ff07c5a11ed8c662f5760cb10b3/nb_txn_compaction_3983c030-7c5a-11ed-8c66-2f5760cb10b3.log
> REMOVE:[.../data/TransactionLogsTest/mockcf1-392b3ff07c5a11ed8c662f5760cb10b3/nb-0-big-,1671096247000,5][4003386800]
>  ***Unexpected files detected for sstable [nb-0-big-]: last update 
> time [Thu Dec 15 10:24:09 CET 2022] (1671096249000) should have been [Thu Dec 
> 15 10:24:07 CET 2022] (1671096247000)
> ADD:[.../data/TransactionLogsTest/mockcf1-392b3ff07c5a11ed8c662f5760cb10b3/nb-2-big-,0,5][319189529]
> {code}
> A workaround for this (until we properly fix the way compaction strategies 
> get notified about sstable changes) is to ignore the timestamp of the STATS 
> component when cleaning up compaction leftovers on startup. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Updated] (CASSANDRA-18119) Handle sstable metadata stats file getting a new mtime after compaction has finished

2022-12-15 Thread Marcus Eriksson (Jira)


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

Marcus Eriksson updated CASSANDRA-18119:

Test and Documentation Plan: cci run, new unit tests
 Status: Patch Available  (was: Open)

3.11: 
https://github.com/apache/cassandra/pull/2052
https://app.circleci.com/pipelines/github/krummas/cassandra/844/workflows/f50c031c-61ff-466c-898b-dac02165879a

4.0: 
https://github.com/apache/cassandra/pull/2054
https://app.circleci.com/pipelines/github/krummas/cassandra/845/workflows/e6b198b3-d091-4e55-a937-983345bf2901

4.1: 
https://github.com/apache/cassandra/pull/2053
https://app.circleci.com/pipelines/github/krummas/cassandra/846/workflows/f9ff701a-22f6-463b-b356-c37a61d24a75

trunk: 
https://github.com/apache/cassandra/pull/2055
https://app.circleci.com/pipelines/github/krummas/cassandra/843/workflows/e1001039-060b-47d6-bd6d-2ee4747b343f

seems we have some flakiness here, will check

> Handle sstable metadata stats file getting a new mtime after compaction has 
> finished
> 
>
> Key: CASSANDRA-18119
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18119
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local/Compaction, Local/Startup and Shutdown
>Reporter: Marcus Eriksson
>Assignee: Marcus Eriksson
>Priority: Normal
> Fix For: 3.11.x, 4.0.x, 4.1.x
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> Due to a race between compaction finishing and compaction strategies getting 
> reloaded there is a chance that we try to add both the new sstable and the 
> old compacted sstable to the compaction strategy, and in the LCS case this 
> can cause the old sstable to get sent to L0 to avoid overlap. This changes 
> the mtime of the stats metadata file and if the node is shut down before the 
> sstable is actually deleted from disk, we fail starting with the following 
> exception:
> {code}
> .../mockcf1-392b3ff07c5a11ed8c662f5760cb10b3/nb_txn_compaction_3983c030-7c5a-11ed-8c66-2f5760cb10b3.log
> REMOVE:[.../data/TransactionLogsTest/mockcf1-392b3ff07c5a11ed8c662f5760cb10b3/nb-0-big-,1671096247000,5][4003386800]
>  ***Unexpected files detected for sstable [nb-0-big-]: last update 
> time [Thu Dec 15 10:24:09 CET 2022] (1671096249000) should have been [Thu Dec 
> 15 10:24:07 CET 2022] (1671096247000)
> ADD:[.../data/TransactionLogsTest/mockcf1-392b3ff07c5a11ed8c662f5760cb10b3/nb-2-big-,0,5][319189529]
> {code}
> A workaround for this (until we properly fix the way compaction strategies 
> get notified about sstable changes) is to ignore the timestamp of the STATS 
> component when cleaning up compaction leftovers on startup. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Updated] (CASSANDRA-18119) Handle sstable metadata stats file getting a new mtime after compaction has finished

2022-12-15 Thread Marcus Eriksson (Jira)


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

Marcus Eriksson updated CASSANDRA-18119:

Description: 
Due to a race between compaction finishing and compaction strategies getting 
reloaded there is a chance that we try to add both the new sstable and the old 
compacted sstable to the compaction strategy, and in the LCS case this can 
cause the old sstable to get sent to L0 to avoid overlap. This changes the 
mtime of the stats metadata file and if the node is shut down before the 
sstable is actually deleted from disk, we fail starting with the following 
exception:

{code}
.../mockcf1-392b3ff07c5a11ed8c662f5760cb10b3/nb_txn_compaction_3983c030-7c5a-11ed-8c66-2f5760cb10b3.log
REMOVE:[.../data/TransactionLogsTest/mockcf1-392b3ff07c5a11ed8c662f5760cb10b3/nb-0-big-,1671096247000,5][4003386800]
 ***Unexpected files detected for sstable [nb-0-big-]: last update time 
[Thu Dec 15 10:24:09 CET 2022] (1671096249000) should have been [Thu Dec 15 
10:24:07 CET 2022] (1671096247000)
ADD:[.../data/TransactionLogsTest/mockcf1-392b3ff07c5a11ed8c662f5760cb10b3/nb-2-big-,0,5][319189529]
{code}

A workaround for this (until we properly fix the way compaction strategies get 
notified about sstable changes) is to ignore the timestamp of the STATS 
component when cleaning up compaction leftovers on startup. 

  was:
Due to a race between compaction finishing and compaction strategies getting 
reloaded there is a chance that we try to add both the new sstable and the old 
compacted sstable to the compaction strategy, and in the LCS case this can 
cause the old sstable to get sent to L0 to avoid overlap. This changes the 
mtime of the stats metadata file and if the node is shut down before the 
sstable is actually deleted from disk, we fail starting with the following 
exception:

{code}
.../mockcf1-392b3ff07c5a11ed8c662f5760cb10b3/nb_txn_compaction_3983c030-7c5a-11ed-8c66-2f5760cb10b3.log
[junit-timeout] 
REMOVE:[.../data/TransactionLogsTest/mockcf1-392b3ff07c5a11ed8c662f5760cb10b3/nb-0-big-,1671096247000,5][4003386800]
[junit-timeout] ***Unexpected files detected for sstable 
[nb-0-big-]: last update time [Thu Dec 15 10:24:09 CET 2022] (1671096249000) 
should have been [Thu Dec 15 10:24:07 CET 2022] (1671096247000)
[junit-timeout] 
ADD:[.../data/TransactionLogsTest/mockcf1-392b3ff07c5a11ed8c662f5760cb10b3/nb-2-big-,0,5][319189529]
{code}

A workaround for this (until we properly fix the way compaction strategies get 
notified about sstable changes) is to ignore the timestamp of the STATS 
component when cleaning up compaction leftovers on startup. 


> Handle sstable metadata stats file getting a new mtime after compaction has 
> finished
> 
>
> Key: CASSANDRA-18119
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18119
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local/Compaction, Local/Startup and Shutdown
>Reporter: Marcus Eriksson
>Assignee: Marcus Eriksson
>Priority: Normal
> Fix For: 3.11.x, 4.0.x, 4.1.x
>
>
> Due to a race between compaction finishing and compaction strategies getting 
> reloaded there is a chance that we try to add both the new sstable and the 
> old compacted sstable to the compaction strategy, and in the LCS case this 
> can cause the old sstable to get sent to L0 to avoid overlap. This changes 
> the mtime of the stats metadata file and if the node is shut down before the 
> sstable is actually deleted from disk, we fail starting with the following 
> exception:
> {code}
> .../mockcf1-392b3ff07c5a11ed8c662f5760cb10b3/nb_txn_compaction_3983c030-7c5a-11ed-8c66-2f5760cb10b3.log
> REMOVE:[.../data/TransactionLogsTest/mockcf1-392b3ff07c5a11ed8c662f5760cb10b3/nb-0-big-,1671096247000,5][4003386800]
>  ***Unexpected files detected for sstable [nb-0-big-]: last update 
> time [Thu Dec 15 10:24:09 CET 2022] (1671096249000) should have been [Thu Dec 
> 15 10:24:07 CET 2022] (1671096247000)
> ADD:[.../data/TransactionLogsTest/mockcf1-392b3ff07c5a11ed8c662f5760cb10b3/nb-2-big-,0,5][319189529]
> {code}
> A workaround for this (until we properly fix the way compaction strategies 
> get notified about sstable changes) is to ignore the timestamp of the STATS 
> component when cleaning up compaction leftovers on startup. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Updated] (CASSANDRA-18119) Handle sstable metadata stats file getting a new mtime after compaction has finished

2022-12-15 Thread Marcus Eriksson (Jira)


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

Marcus Eriksson updated CASSANDRA-18119:

 Bug Category: Parent values: Degradation(12984)Level 1 values: Other 
Exception(12998)
   Complexity: Normal
  Component/s: Local/Compaction
   Local/Startup and Shutdown
Discovered By: Adhoc Test
Fix Version/s: 3.11.x
   4.0.x
   4.1.x
Reviewers: Jon Meredith, Josh McKenzie
 Severity: Normal
 Assignee: Marcus Eriksson
   Status: Open  (was: Triage Needed)

> Handle sstable metadata stats file getting a new mtime after compaction has 
> finished
> 
>
> Key: CASSANDRA-18119
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18119
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local/Compaction, Local/Startup and Shutdown
>Reporter: Marcus Eriksson
>Assignee: Marcus Eriksson
>Priority: Normal
> Fix For: 3.11.x, 4.0.x, 4.1.x
>
>
> Due to a race between compaction finishing and compaction strategies getting 
> reloaded there is a chance that we try to add both the new sstable and the 
> old compacted sstable to the compaction strategy, and in the LCS case this 
> can cause the old sstable to get sent to L0 to avoid overlap. This changes 
> the mtime of the stats metadata file and if the node is shut down before the 
> sstable is actually deleted from disk, we fail starting with the following 
> exception:
> {code}
> .../mockcf1-392b3ff07c5a11ed8c662f5760cb10b3/nb_txn_compaction_3983c030-7c5a-11ed-8c66-2f5760cb10b3.log
> [junit-timeout] 
> REMOVE:[.../data/TransactionLogsTest/mockcf1-392b3ff07c5a11ed8c662f5760cb10b3/nb-0-big-,1671096247000,5][4003386800]
> [junit-timeout] ***Unexpected files detected for sstable 
> [nb-0-big-]: last update time [Thu Dec 15 10:24:09 CET 2022] (1671096249000) 
> should have been [Thu Dec 15 10:24:07 CET 2022] (1671096247000)
> [junit-timeout] 
> ADD:[.../data/TransactionLogsTest/mockcf1-392b3ff07c5a11ed8c662f5760cb10b3/nb-2-big-,0,5][319189529]
> {code}
> A workaround for this (until we properly fix the way compaction strategies 
> get notified about sstable changes) is to ignore the timestamp of the STATS 
> component when cleaning up compaction leftovers on startup. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Created] (CASSANDRA-18119) Handle sstable metadata stats file getting a new mtime after compaction has finished

2022-12-15 Thread Marcus Eriksson (Jira)
Marcus Eriksson created CASSANDRA-18119:
---

 Summary: Handle sstable metadata stats file getting a new mtime 
after compaction has finished
 Key: CASSANDRA-18119
 URL: https://issues.apache.org/jira/browse/CASSANDRA-18119
 Project: Cassandra
  Issue Type: Bug
Reporter: Marcus Eriksson


Due to a race between compaction finishing and compaction strategies getting 
reloaded there is a chance that we try to add both the new sstable and the old 
compacted sstable to the compaction strategy, and in the LCS case this can 
cause the old sstable to get sent to L0 to avoid overlap. This changes the 
mtime of the stats metadata file and if the node is shut down before the 
sstable is actually deleted from disk, we fail starting with the following 
exception:

{code}
.../mockcf1-392b3ff07c5a11ed8c662f5760cb10b3/nb_txn_compaction_3983c030-7c5a-11ed-8c66-2f5760cb10b3.log
[junit-timeout] 
REMOVE:[.../data/TransactionLogsTest/mockcf1-392b3ff07c5a11ed8c662f5760cb10b3/nb-0-big-,1671096247000,5][4003386800]
[junit-timeout] ***Unexpected files detected for sstable 
[nb-0-big-]: last update time [Thu Dec 15 10:24:09 CET 2022] (1671096249000) 
should have been [Thu Dec 15 10:24:07 CET 2022] (1671096247000)
[junit-timeout] 
ADD:[.../data/TransactionLogsTest/mockcf1-392b3ff07c5a11ed8c662f5760cb10b3/nb-2-big-,0,5][319189529]
{code}

A workaround for this (until we properly fix the way compaction strategies get 
notified about sstable changes) is to ignore the timestamp of the STATS 
component when cleaning up compaction leftovers on startup. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Updated] (CASSANDRA-18118) Do not leak 2015 memtable synthetic Epoch

2022-12-15 Thread Berenguer Blasi (Jira)


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

Berenguer Blasi updated CASSANDRA-18118:

Description: 
This 
[Epoch|https://github.com/apache/cassandra/blob/cassandra-3.11/src/java/org/apache/cassandra/db/rows/EncodingStats.java#L48]
 can 
[leak|https://github.com/apache/cassandra/blob/cassandra-3.11/src/java/org/apache/cassandra/db/Memtable.java#L392]
 affecting all the timestamps logic.  It has been observed in a production env 
it can i.e. prevent proper sstable and tombstone cleanup.

To reproduce create the following table:
{noformat}
drop keyspace test;
create keyspace test WITH replication = {'class':'SimpleStrategy', 
'replication_factor' : 1};
CREATE TABLE test.test (
key text PRIMARY KEY,
id text
) WITH bloom_filter_fp_chance = 0.01
AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
AND comment = ''
AND compaction = {'class': 
'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 
'max_threshold': '32', 'min_threshold': '2', 'tombstone_compaction_interval': 
'3000', 'tombstone_threshold': '0.1', 'unchecked_tombstone_compaction': 'true'}
AND compression = {'chunk_length_in_kb': '64', 'class': 
'org.apache.cassandra.io.compress.LZ4Compressor'}
AND crc_check_chance = 1.0
AND dclocal_read_repair_chance = 0.0
AND default_time_to_live = 10
AND gc_grace_seconds = 10
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.0
AND speculative_retry = '99PERCENTILE';

CREATE INDEX id_idx ON test.test (id);
{noformat}

And stress load it with:
{noformat}
insert into test.test (key,id) values('$RANDOM_UUID $RANDOM_UUID', 
'eaca36a1-45f1-469c-a3f6-3ba54220363f') USING TTL 10
{noformat}

Notice how all inserts have a 10s TTL, the default 10s TTL and gc_grace is also 
at 10s. This is to speed up the repro:
- Run the load for a couple minutes and track sstables disk usage. You will see 
it does only increase, nothing gets cleaned up and it doesn't stop growing 
(notice all this is well past the 10s gc_grace and TTL)
- Running a flush and a compaction while under load against the keyspace, table 
or index doesn't solve the issue.
- Stopping the load and running a compaction doesn't solve the issue. Flushing 
does though.
- On the original observation where TTL was around 600s and gc_grace around 
1800s we could get GBs of sstables that weren't cleaned up or compacted away 
after hours of work.
- Reproduction can also happen on plain sstables by repeatedly 
inserting/deleting/overwriting the same values over and over again without 2i 
indices or TTL being involved.

The problem seems to be 
[EncodingStats|https://github.com/apache/cassandra/blob/cassandra-3.11/src/java/org/apache/cassandra/db/rows/EncodingStats.java#L48]
 using a synthetic Epoch in 2015 which plays nice with Vint serialization.  
Unfortunately {{Memtable}} is using that to keep track of the {{minTimestamp}} 
which can leak the 2015 Epoch. This confuses any logic consuming that 
timestamp. In this particular case purge and fully expired sstables weren't 
properly detected.


  was:
This Epoch can leak affecting all the timestamps logic.  It has been observed 
in a production env it can i.e. prevent proper sstable and tombstone cleanup.




> Do not leak 2015 memtable synthetic Epoch
> -
>
> Key: CASSANDRA-18118
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18118
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local/Memtable
>Reporter: Berenguer Blasi
>Assignee: Berenguer Blasi
>Priority: Normal
>
> This 
> [Epoch|https://github.com/apache/cassandra/blob/cassandra-3.11/src/java/org/apache/cassandra/db/rows/EncodingStats.java#L48]
>  can 
> [leak|https://github.com/apache/cassandra/blob/cassandra-3.11/src/java/org/apache/cassandra/db/Memtable.java#L392]
>  affecting all the timestamps logic.  It has been observed in a production 
> env it can i.e. prevent proper sstable and tombstone cleanup.
> To reproduce create the following table:
> {noformat}
> drop keyspace test;
> create keyspace test WITH replication = {'class':'SimpleStrategy', 
> 'replication_factor' : 1};
> CREATE TABLE test.test (
> key text PRIMARY KEY,
> id text
> ) WITH bloom_filter_fp_chance = 0.01
> AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
> AND comment = ''
> AND compaction = {'class': 
> 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 
> 'max_threshold': '32', 'min_threshold': '2', 'tombstone_compaction_interval': 
> '3000', 'tombstone_threshold': '0.1', 'unchecked_tombstone_compaction': 
> 'true'}
> AND compression = {'chunk_length_in_kb': '64', 'class': 
> 'org.apache.cassandra.io.compress.LZ4Compr

[jira] [Updated] (CASSANDRA-18118) Do not leak 2015 memtable synthetic Epoch

2022-12-15 Thread Berenguer Blasi (Jira)


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

Berenguer Blasi updated CASSANDRA-18118:

 Bug Category: Parent values: Correctness(12982)
   Complexity: Normal
  Component/s: Local/Memtable
Discovered By: User Report
 Severity: Normal
   Status: Open  (was: Triage Needed)

> Do not leak 2015 memtable synthetic Epoch
> -
>
> Key: CASSANDRA-18118
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18118
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local/Memtable
>Reporter: Berenguer Blasi
>Assignee: Berenguer Blasi
>Priority: Normal
>
> This Epoch can leak affecting all the timestamps logic.  It has been observed 
> in a production env it can i.e. prevent proper sstable and tombstone cleanup.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Created] (CASSANDRA-18118) Do not leak 2015 memtable synthetic Epoch

2022-12-15 Thread Berenguer Blasi (Jira)
Berenguer Blasi created CASSANDRA-18118:
---

 Summary: Do not leak 2015 memtable synthetic Epoch
 Key: CASSANDRA-18118
 URL: https://issues.apache.org/jira/browse/CASSANDRA-18118
 Project: Cassandra
  Issue Type: Bug
Reporter: Berenguer Blasi
Assignee: Berenguer Blasi


This Epoch can leak affecting all the timestamps logic.  It has been observed 
in a production env it can i.e. prevent proper sstable and tombstone cleanup.





--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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