[jira] [Updated] (CASSANDRA-19479) Fix type issues and provide tests for type compatibility between 4.1 and 5.0

2024-04-18 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19479:
--
  Fix Version/s: 4.0.13
 4.1.5
 5.0-rc
 5.1
 (was: 5.x)
 (was: 4.0.x)
 (was: 4.1.x)
 (was: 5.0.x)
Source Control Link: 
https://github.com/apache/cassandra/commit/f92998190ccfc688e22d035318848a2f61987585
 Resolution: Fixed
 Status: Resolved  (was: Ready to Commit)

> Fix type issues and provide tests for type compatibility between 4.1 and 5.0
> 
>
> Key: CASSANDRA-19479
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19479
> Project: Cassandra
>  Issue Type: Task
>  Components: Legacy/Core, Test/unit
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 4.0.13, 4.1.5, 5.0-rc, 5.1
>
> Attachments: ci_summary.html, results_details.tar.xz
>
>
> This is a part of CASSANDRA-14476 - we should verify whether the type 
> compatibility matrix is upgradable from 4.0 and 4.1 to 5.0, and if not, fix 
> the remaining issues.
> The implemented tests verify the following:
> - assumed compatibility between primitive types
> - equals method symmetricity
> - freezing/unfreezing
> - value compatibility by using a serializer of one type to deserialize a 
> value serialized using a serializer of another type
> - serialization compatibility by serializing a row with a column of one type 
> as a column of another type for simple and complex cells (multicell types)
> - (comparison) compatibility by comparing serialized values of one type using 
> a comparator of another type; for multicell types - build rows and compare 
> cell paths of a complex type using a cell path comparator of another complex 
> type
> - verify whether types that are (value/serialization/comparison) compatible 
> in a previous release are still compatible with this release
> - store the compatibility matrix in a compressed JSON file so that we can 
> copy it to future releases to assert backward compatibility (similar approach 
> to LegacySSTableTest)
> - verify that type serializers are different for non-compatible type pairs 
> which use custom comparisons
> Additionally:
> - the equals method in {{TupleType}} and {{UserType}} was fixed to be 
> symmetric. Previously, comparing two values gave a different outcome when 
> inverted.
> - fixed a condition in comparison method of {{AbstractCompositeType}}
> - ported a fix for composite and dynamic composite types which adds a 
> distinct serializers for them so that the serializers for those types and for 
> {{BytesType}} are considered different; similar thing was done for 
> {{LexicalUUIDType}} to make its serializer different to {{UUIDType}} 
> serializer (see 
> https://the-asf.slack.com/archives/CK23JSY2K/p1712060572432959)
> - fixed a problem with DCT builder - in 5.0+ the {{DynamicCompositeType}} 
> generation has a problem with inverse alias-type mapping which makes it 
> vulnerable to problems when the same type has two different aliases



--
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-19479) Fix type issues and provide tests for type compatibility between 4.1 and 5.0

2024-04-18 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19479:
--
Attachment: results_details.tar.xz
ci_summary.html

> Fix type issues and provide tests for type compatibility between 4.1 and 5.0
> 
>
> Key: CASSANDRA-19479
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19479
> Project: Cassandra
>  Issue Type: Task
>  Components: Legacy/Core, Test/unit
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 4.0.x, 4.1.x, 5.0.x, 5.x
>
> Attachments: ci_summary.html, results_details.tar.xz
>
>
> This is a part of CASSANDRA-14476 - we should verify whether the type 
> compatibility matrix is upgradable from 4.0 and 4.1 to 5.0, and if not, fix 
> the remaining issues.
> The implemented tests verify the following:
> - assumed compatibility between primitive types
> - equals method symmetricity
> - freezing/unfreezing
> - value compatibility by using a serializer of one type to deserialize a 
> value serialized using a serializer of another type
> - serialization compatibility by serializing a row with a column of one type 
> as a column of another type for simple and complex cells (multicell types)
> - (comparison) compatibility by comparing serialized values of one type using 
> a comparator of another type; for multicell types - build rows and compare 
> cell paths of a complex type using a cell path comparator of another complex 
> type
> - verify whether types that are (value/serialization/comparison) compatible 
> in a previous release are still compatible with this release
> - store the compatibility matrix in a compressed JSON file so that we can 
> copy it to future releases to assert backward compatibility (similar approach 
> to LegacySSTableTest)
> - verify that type serializers are different for non-compatible type pairs 
> which use custom comparisons
> Additionally:
> - the equals method in {{TupleType}} and {{UserType}} was fixed to be 
> symmetric. Previously, comparing two values gave a different outcome when 
> inverted.
> - fixed a condition in comparison method of {{AbstractCompositeType}}
> - ported a fix for composite and dynamic composite types which adds a 
> distinct serializers for them so that the serializers for those types and for 
> {{BytesType}} are considered different; similar thing was done for 
> {{LexicalUUIDType}} to make its serializer different to {{UUIDType}} 
> serializer (see 
> https://the-asf.slack.com/archives/CK23JSY2K/p1712060572432959)
> - fixed a problem with DCT builder - in 5.0+ the {{DynamicCompositeType}} 
> generation has a problem with inverse alias-type mapping which makes it 
> vulnerable to problems when the same type has two different aliases



--
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-19479) Fix type issues and provide tests for type compatibility between 4.1 and 5.0

2024-04-18 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19479:
--
Status: Ready to Commit  (was: Review In Progress)

> Fix type issues and provide tests for type compatibility between 4.1 and 5.0
> 
>
> Key: CASSANDRA-19479
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19479
> Project: Cassandra
>  Issue Type: Task
>  Components: Legacy/Core, Test/unit
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 4.0.x, 4.1.x, 5.0.x, 5.x
>
> Attachments: ci_summary.html, results_details.tar.xz
>
>
> This is a part of CASSANDRA-14476 - we should verify whether the type 
> compatibility matrix is upgradable from 4.0 and 4.1 to 5.0, and if not, fix 
> the remaining issues.
> The implemented tests verify the following:
> - assumed compatibility between primitive types
> - equals method symmetricity
> - freezing/unfreezing
> - value compatibility by using a serializer of one type to deserialize a 
> value serialized using a serializer of another type
> - serialization compatibility by serializing a row with a column of one type 
> as a column of another type for simple and complex cells (multicell types)
> - (comparison) compatibility by comparing serialized values of one type using 
> a comparator of another type; for multicell types - build rows and compare 
> cell paths of a complex type using a cell path comparator of another complex 
> type
> - verify whether types that are (value/serialization/comparison) compatible 
> in a previous release are still compatible with this release
> - store the compatibility matrix in a compressed JSON file so that we can 
> copy it to future releases to assert backward compatibility (similar approach 
> to LegacySSTableTest)
> - verify that type serializers are different for non-compatible type pairs 
> which use custom comparisons
> Additionally:
> - the equals method in {{TupleType}} and {{UserType}} was fixed to be 
> symmetric. Previously, comparing two values gave a different outcome when 
> inverted.
> - fixed a condition in comparison method of {{AbstractCompositeType}}
> - ported a fix for composite and dynamic composite types which adds a 
> distinct serializers for them so that the serializers for those types and for 
> {{BytesType}} are considered different; similar thing was done for 
> {{LexicalUUIDType}} to make its serializer different to {{UUIDType}} 
> serializer (see 
> https://the-asf.slack.com/archives/CK23JSY2K/p1712060572432959)
> - fixed a problem with DCT builder - in 5.0+ the {{DynamicCompositeType}} 
> generation has a problem with inverse alias-type mapping which makes it 
> vulnerable to problems when the same type has two different aliases



--
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-19479) Fix type issues and provide tests for type compatibility between 4.1 and 5.0

2024-04-18 Thread Jacek Lewandowski (Jira)


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

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

> Fix type issues and provide tests for type compatibility between 4.1 and 5.0
> 
>
> Key: CASSANDRA-19479
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19479
> Project: Cassandra
>  Issue Type: Task
>  Components: Legacy/Core, Test/unit
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 4.0.x, 4.1.x, 5.0.x, 5.x
>
>
> This is a part of CASSANDRA-14476 - we should verify whether the type 
> compatibility matrix is upgradable from 4.0 and 4.1 to 5.0, and if not, fix 
> the remaining issues.
> The implemented tests verify the following:
> - assumed compatibility between primitive types
> - equals method symmetricity
> - freezing/unfreezing
> - value compatibility by using a serializer of one type to deserialize a 
> value serialized using a serializer of another type
> - serialization compatibility by serializing a row with a column of one type 
> as a column of another type for simple and complex cells (multicell types)
> - (comparison) compatibility by comparing serialized values of one type using 
> a comparator of another type; for multicell types - build rows and compare 
> cell paths of a complex type using a cell path comparator of another complex 
> type
> - verify whether types that are (value/serialization/comparison) compatible 
> in a previous release are still compatible with this release
> - store the compatibility matrix in a compressed JSON file so that we can 
> copy it to future releases to assert backward compatibility (similar approach 
> to LegacySSTableTest)
> - verify that type serializers are different for non-compatible type pairs 
> which use custom comparisons
> Additionally:
> - the equals method in {{TupleType}} and {{UserType}} was fixed to be 
> symmetric. Previously, comparing two values gave a different outcome when 
> inverted.
> - fixed a condition in comparison method of {{AbstractCompositeType}}
> - ported a fix for composite and dynamic composite types which adds a 
> distinct serializers for them so that the serializers for those types and for 
> {{BytesType}} are considered different; similar thing was done for 
> {{LexicalUUIDType}} to make its serializer different to {{UUIDType}} 
> serializer (see 
> https://the-asf.slack.com/archives/CK23JSY2K/p1712060572432959)
> - fixed a problem with DCT builder - in 5.0+ the {{DynamicCompositeType}} 
> generation has a problem with inverse alias-type mapping which makes it 
> vulnerable to problems when the same type has two different aliases



--
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-12937) Default setting (yaml) for SSTable compression

2024-04-15 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-12937:
---

[~samt]  let's leave aside the discussion about whether CQL is good or not as 
serialization format - I didn't mean that actually. I meant that we store the 
raw CQL passed by the user which is known before processing the transformation. 
The resolved table settings are available after the transformation and require 
rebuilding the statement as we do in "describe". 

Ok, it looks like the table should simply not store the resolved default but 
just the "default marker" to use whatever default is set on the node. That is, 
if we not provide any compression/compaction/memtable configuration explicitly, 
we will apply the node specific defaults from the yaml.

> Default setting (yaml) for SSTable compression
> --
>
> Key: CASSANDRA-12937
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12937
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local/Config
>Reporter: Michael Semb Wever
>Assignee: Stefan Miklosovic
>Priority: Low
>  Labels: AdventCalendar2021
> Fix For: 5.x
>
>  Time Spent: 8h
>  Remaining Estimate: 0h
>
> In many situations the choice of compression for sstables is more relevant to 
> the disks attached than to the schema and data.
> This issue is to add to cassandra.yaml a default value for sstable 
> compression that new tables will inherit (instead of the defaults found in 
> {{CompressionParams.DEFAULT}}.
> Examples where this can be relevant are filesystems that do on-the-fly 
> compression (btrfs, zfs) or specific disk configurations or even specific C* 
> versions (see CASSANDRA-10995 ).
> +Additional information for newcomers+
> Some new fields need to be added to {{cassandra.yaml}} to allow specifying 
> the field required for defining the default compression parameters. In 
> {{DatabaseDescriptor}} a new {{CompressionParams}} field should be added for 
> the default compression. This field should be initialized in 
> {{DatabaseDescriptor.applySimpleConfig()}}. At the different places where 
> {{CompressionParams.DEFAULT}} was used the code should call 
> {{DatabaseDescriptor#getDefaultCompressionParams}} that should return some 
> copy of configured {{CompressionParams}}.
> Some unit test using {{OverrideConfigurationLoader}} should be used to test 
> that the table schema use the new default when a new table is created (see 
> CreateTest for some example).



--
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-12937) Default setting (yaml) for SSTable compression

2024-04-15 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-12937:
---

{quote}Ideally we should store the value that is actually resolved during 
initial execution on each node so that it can be re-used if/when the 
transformation is reapplied.
{quote}
So, if nodes had configurations out-of-sync, they would end up with local 
schemas with different compression, compaction, etc. settings each? 

I didn't mean storing defaults as defaults, just materializing all the settings 
when the table is created. Currently it is not easy because the schema 
transformation is stored as a raw CQL

> Default setting (yaml) for SSTable compression
> --
>
> Key: CASSANDRA-12937
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12937
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local/Config
>Reporter: Michael Semb Wever
>Assignee: Stefan Miklosovic
>Priority: Low
>  Labels: AdventCalendar2021
> Fix For: 5.x
>
>  Time Spent: 8h
>  Remaining Estimate: 0h
>
> In many situations the choice of compression for sstables is more relevant to 
> the disks attached than to the schema and data.
> This issue is to add to cassandra.yaml a default value for sstable 
> compression that new tables will inherit (instead of the defaults found in 
> {{CompressionParams.DEFAULT}}.
> Examples where this can be relevant are filesystems that do on-the-fly 
> compression (btrfs, zfs) or specific disk configurations or even specific C* 
> versions (see CASSANDRA-10995 ).
> +Additional information for newcomers+
> Some new fields need to be added to {{cassandra.yaml}} to allow specifying 
> the field required for defining the default compression parameters. In 
> {{DatabaseDescriptor}} a new {{CompressionParams}} field should be added for 
> the default compression. This field should be initialized in 
> {{DatabaseDescriptor.applySimpleConfig()}}. At the different places where 
> {{CompressionParams.DEFAULT}} was used the code should call 
> {{DatabaseDescriptor#getDefaultCompressionParams}} that should return some 
> copy of configured {{CompressionParams}}.
> Some unit test using {{OverrideConfigurationLoader}} should be used to test 
> that the table schema use the new default when a new table is created (see 
> CreateTest for some example).



--
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-12937) Default setting (yaml) for SSTable compression

2024-04-15 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski edited comment on CASSANDRA-12937 at 4/15/24 11:01 AM:
-

The problem with the failing test is probably that the default configuration 
for compression parameters (and other defaults for table / keyspace 
creation/alteration) should be part of the schema transformation data and 
stored in TCM log.

This is it not an issues related to this ticket because it applies to various 
settings; For example, even without this PR, similar test would fail while 
manipulating a value of "
cassandra.sstable_compression_default" property. Then, we would have the same 
problem with default compaction and memtable options which are also got from 
the configuration, 


was (Author: jlewandowski):
The problem with the failing test is probably that the default configuration 
for compression parameters (and other defaults for table / keyspace 
creation/alteration) should be part of the schema transformation data and 
stored in TCM log.

 

> Default setting (yaml) for SSTable compression
> --
>
> Key: CASSANDRA-12937
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12937
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local/Config
>Reporter: Michael Semb Wever
>Assignee: Stefan Miklosovic
>Priority: Low
>  Labels: AdventCalendar2021
> Fix For: 5.x
>
>  Time Spent: 8h
>  Remaining Estimate: 0h
>
> In many situations the choice of compression for sstables is more relevant to 
> the disks attached than to the schema and data.
> This issue is to add to cassandra.yaml a default value for sstable 
> compression that new tables will inherit (instead of the defaults found in 
> {{CompressionParams.DEFAULT}}.
> Examples where this can be relevant are filesystems that do on-the-fly 
> compression (btrfs, zfs) or specific disk configurations or even specific C* 
> versions (see CASSANDRA-10995 ).
> +Additional information for newcomers+
> Some new fields need to be added to {{cassandra.yaml}} to allow specifying 
> the field required for defining the default compression parameters. In 
> {{DatabaseDescriptor}} a new {{CompressionParams}} field should be added for 
> the default compression. This field should be initialized in 
> {{DatabaseDescriptor.applySimpleConfig()}}. At the different places where 
> {{CompressionParams.DEFAULT}} was used the code should call 
> {{DatabaseDescriptor#getDefaultCompressionParams}} that should return some 
> copy of configured {{CompressionParams}}.
> Some unit test using {{OverrideConfigurationLoader}} should be used to test 
> that the table schema use the new default when a new table is created (see 
> CreateTest for some example).



--
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-12937) Default setting (yaml) for SSTable compression

2024-04-15 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-12937:
---

The problem with the failing test is probably that the default configuration 
for compression parameters (and other defaults for table / keyspace 
creation/alteration) should be part of the schema transformation data and 
stored in TCM log.

 

> Default setting (yaml) for SSTable compression
> --
>
> Key: CASSANDRA-12937
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12937
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local/Config
>Reporter: Michael Semb Wever
>Assignee: Stefan Miklosovic
>Priority: Low
>  Labels: AdventCalendar2021
> Fix For: 5.x
>
>  Time Spent: 8h
>  Remaining Estimate: 0h
>
> In many situations the choice of compression for sstables is more relevant to 
> the disks attached than to the schema and data.
> This issue is to add to cassandra.yaml a default value for sstable 
> compression that new tables will inherit (instead of the defaults found in 
> {{CompressionParams.DEFAULT}}.
> Examples where this can be relevant are filesystems that do on-the-fly 
> compression (btrfs, zfs) or specific disk configurations or even specific C* 
> versions (see CASSANDRA-10995 ).
> +Additional information for newcomers+
> Some new fields need to be added to {{cassandra.yaml}} to allow specifying 
> the field required for defining the default compression parameters. In 
> {{DatabaseDescriptor}} a new {{CompressionParams}} field should be added for 
> the default compression. This field should be initialized in 
> {{DatabaseDescriptor.applySimpleConfig()}}. At the different places where 
> {{CompressionParams.DEFAULT}} was used the code should call 
> {{DatabaseDescriptor#getDefaultCompressionParams}} that should return some 
> copy of configured {{CompressionParams}}.
> Some unit test using {{OverrideConfigurationLoader}} should be used to test 
> that the table schema use the new default when a new table is created (see 
> CreateTest for some example).



--
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-18954) Transformations should be pure so that replaying them results in the same outcome regardless of the node state or configuration

2024-04-15 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-18954:
---

[~samt]  - CASSANDRA-12937 problem is caused by the fact that the 
transformations are not pure. It is not enough that they are side-effects-free, 
they also cannot depend on any external properties other than the current 
cluster state and the store transformation data. I haven't looked at the fixed 
you mentioned, but in my PR there was just an example fix for one schema 
transformation - alter-table, one of the applied fixes was to not verify 
"enableDropCompactStorage" from the configuration in replay mode because the 
configuration is not the part of the transformation data. That could lead to 
different outcomes after replaying a log, in particular to inability to start 
the cluster after changing the configuration. 

> Transformations should be pure so that replaying them results in the same 
> outcome regardless of the node state or configuration
> ---
>
> Key: CASSANDRA-18954
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18954
> Project: Cassandra
>  Issue Type: Bug
>  Components: Transactional Cluster Metadata
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
>
> Discussed on Slack



--
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-18954) Transformations should be pure so that replaying them results in the same outcome regardless of the node state or configuration

2024-04-10 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-18954:
---

I don't know [~samt] to be honest. My patch is pretty old and I don't know what 
you guys did in those tickets.

 

> Transformations should be pure so that replaying them results in the same 
> outcome regardless of the node state or configuration
> ---
>
> Key: CASSANDRA-18954
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18954
> Project: Cassandra
>  Issue Type: Bug
>  Components: Transactional Cluster Metadata
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
>
> Discussed on Slack



--
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-19549) Test failure: rebuild_test.TestRebuild.test_resumable_rebuild

2024-04-10 Thread Jacek Lewandowski (Jira)
Jacek Lewandowski created CASSANDRA-19549:
-

 Summary: Test failure: 
rebuild_test.TestRebuild.test_resumable_rebuild
 Key: CASSANDRA-19549
 URL: https://issues.apache.org/jira/browse/CASSANDRA-19549
 Project: Cassandra
  Issue Type: Bug
  Components: Test/dtest/python
Reporter: Jacek Lewandowski


Interrupted exception thrown during shutdown and caught by 
{{JVMStabilityInspector}} - does not look serious but we may want to ignore 
interrupted exception during shutdown.

https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/1326/workflows/021d350a-4b62-44af-9650-f5a0eb105522/jobs/70413/tests

{noformat}
failed on teardown with "Unexpected error found in node logs (see stdout for 
full details). 
Errors: [[node2] 'ERROR [NettyStreaming-Outbound-/127.0.0.3.7000:3] 2024-04-09 
08:32:19,662 JVMStabilityInspector.java:70 - Exception in thread Thread 
NettyStreaming-Outbound-/127.0.0.3.7000:3,5,NettyStreaming-Outbound-/127.0.0.3.7000]
org.apache.cassandra.utils.concurrent.UncheckedInterruptedException: 
java.lang.InterruptedException
at 
org.apache.cassandra.streaming.async.StreamingMultiplexedChannel$FileStreamTask.acquirePermit(StreamingMultiplexedChannel.java:373)
at 
org.apache.cassandra.streaming.async.StreamingMultiplexedChannel$FileStreamTask.run(StreamingMultiplexedChannel.java:309)
at org.apache.cassandra.concurrent.FutureTask$1.call(FutureTask.java:96)
at org.apache.cassandra.concurrent.FutureTask.call(FutureTask.java:61)
at org.apache.cassandra.concurrent.FutureTask.run(FutureTask.java:71)
at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.InterruptedException: null
at 
java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1081)
at 
java.base/java.util.concurrent.Semaphore.tryAcquire(Semaphore.java:592)
at 
org.apache.cassandra.streaming.async.StreamingMultiplexedChannel$FileStreamTask.acquirePermit(StreamingMultiplexedChannel.java:356)
... 8 common frames omitted', [node2] 'ERROR 
[NettyStreaming-Outbound-/127.0.0.3.7000:3] 2024-04-09 08:32:19,664 
ExecutionFailure.java:72 - Unexpected error while handling unexpected error
org.apache.cassandra.utils.concurrent.UncheckedInterruptedException: 
java.lang.InterruptedException
at 
org.apache.cassandra.utils.JVMStabilityInspector.inspectThrowable(JVMStabilityInspector.java:142)
at 
org.apache.cassandra.utils.JVMStabilityInspector.inspectThrowable(JVMStabilityInspector.java:170)
at 
org.apache.cassandra.utils.JVMStabilityInspector.inspectThrowable(JVMStabilityInspector.java:89)
at 
org.apache.cassandra.utils.JVMStabilityInspector.uncaughtException(JVMStabilityInspector.java:78)
at 
org.apache.cassandra.concurrent.ExecutionFailure.handle(ExecutionFailure.java:67)
at 
org.apache.cassandra.concurrent.FutureTask.tryFailure(FutureTask.java:86)
at org.apache.cassandra.concurrent.FutureTask.run(FutureTask.java:75)
at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.InterruptedException: null
at 
java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1081)
at 
java.base/java.util.concurrent.Semaphore.tryAcquire(Semaphore.java:592)
at 
org.apache.cassandra.streaming.async.StreamingMultiplexedChannel$FileStreamTask.acquirePermit(StreamingMultiplexedChannel.java:356)
at 
org.apache.cassandra.streaming.async.StreamingMultiplexedChannel$FileStreamTask.run(StreamingMultiplexedChannel.java:309)
at org.apache.cassandra.concurrent.FutureTask$1.call(FutureTask.java:96)
at org.apache.cassandra.concurrent.FutureTask.call(FutureTask.java:61)
at org.apache.cassandra.concurrent.FutureTask.run(FutureTask.java:71)
... 4 common frames omitted']"
Unexpected error found in node logs (see stdout for full details). Errors: 
[[node2] 'ERROR [NettyStreaming-Outbound-/127.0.0.3.7000:3] 2024-04-09 
08:32:19,662 JVMStabilityInspector.java:70 - Exception in thread 
Thread[NettyStreaming-Outbound-/127.0.0.3.7000:3,5,NettyStreaming-Outbound-/127.0.0.3.7000]

[jira] [Updated] (CASSANDRA-19549) Test failure: rebuild_test.TestRebuild.test_resumable_rebuild

2024-04-10 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19549:
--
Fix Version/s: 5.0.x

> Test failure: rebuild_test.TestRebuild.test_resumable_rebuild
> -
>
> Key: CASSANDRA-19549
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19549
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/python
>Reporter: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.0.x
>
>
> Interrupted exception thrown during shutdown and caught by 
> {{JVMStabilityInspector}} - does not look serious but we may want to ignore 
> interrupted exception during shutdown.
> https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/1326/workflows/021d350a-4b62-44af-9650-f5a0eb105522/jobs/70413/tests
> {noformat}
> failed on teardown with "Unexpected error found in node logs (see stdout for 
> full details). 
> Errors: [[node2] 'ERROR [NettyStreaming-Outbound-/127.0.0.3.7000:3] 
> 2024-04-09 08:32:19,662 JVMStabilityInspector.java:70 - Exception in thread 
> Thread 
> NettyStreaming-Outbound-/127.0.0.3.7000:3,5,NettyStreaming-Outbound-/127.0.0.3.7000]
> org.apache.cassandra.utils.concurrent.UncheckedInterruptedException: 
> java.lang.InterruptedException
>   at 
> org.apache.cassandra.streaming.async.StreamingMultiplexedChannel$FileStreamTask.acquirePermit(StreamingMultiplexedChannel.java:373)
>   at 
> org.apache.cassandra.streaming.async.StreamingMultiplexedChannel$FileStreamTask.run(StreamingMultiplexedChannel.java:309)
>   at org.apache.cassandra.concurrent.FutureTask$1.call(FutureTask.java:96)
>   at org.apache.cassandra.concurrent.FutureTask.call(FutureTask.java:61)
>   at org.apache.cassandra.concurrent.FutureTask.run(FutureTask.java:71)
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
>   at 
> io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
>   at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.InterruptedException: null
>   at 
> java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1081)
>   at 
> java.base/java.util.concurrent.Semaphore.tryAcquire(Semaphore.java:592)
>   at 
> org.apache.cassandra.streaming.async.StreamingMultiplexedChannel$FileStreamTask.acquirePermit(StreamingMultiplexedChannel.java:356)
>   ... 8 common frames omitted', [node2] 'ERROR 
> [NettyStreaming-Outbound-/127.0.0.3.7000:3] 2024-04-09 08:32:19,664 
> ExecutionFailure.java:72 - Unexpected error while handling unexpected error
> org.apache.cassandra.utils.concurrent.UncheckedInterruptedException: 
> java.lang.InterruptedException
>   at 
> org.apache.cassandra.utils.JVMStabilityInspector.inspectThrowable(JVMStabilityInspector.java:142)
>   at 
> org.apache.cassandra.utils.JVMStabilityInspector.inspectThrowable(JVMStabilityInspector.java:170)
>   at 
> org.apache.cassandra.utils.JVMStabilityInspector.inspectThrowable(JVMStabilityInspector.java:89)
>   at 
> org.apache.cassandra.utils.JVMStabilityInspector.uncaughtException(JVMStabilityInspector.java:78)
>   at 
> org.apache.cassandra.concurrent.ExecutionFailure.handle(ExecutionFailure.java:67)
>   at 
> org.apache.cassandra.concurrent.FutureTask.tryFailure(FutureTask.java:86)
>   at org.apache.cassandra.concurrent.FutureTask.run(FutureTask.java:75)
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
>   at 
> io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
>   at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.InterruptedException: null
>   at 
> java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1081)
>   at 
> java.base/java.util.concurrent.Semaphore.tryAcquire(Semaphore.java:592)
>   at 
> org.apache.cassandra.streaming.async.StreamingMultiplexedChannel$FileStreamTask.acquirePermit(StreamingMultiplexedChannel.java:356)
>   at 
> org.apache.cassandra.streaming.async.StreamingMultiplexedChannel$FileStreamTask.run(StreamingMultiplexedChannel.java:309)
>   at org.apache.cassandra.concurrent.FutureTask$1.call(FutureTask.java:96)
>   at org.apache.cassandra.concurrent.FutureTask.call(FutureTask.java:61)
>   at org.apache.cassandra.concurrent.FutureTask.run(FutureTask.java:71)
>   ... 4 common frames 

[jira] [Updated] (CASSANDRA-19548) IntergerIntervalsTest may fail due to integer overflow

2024-04-10 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19548:
--
Summary: IntergerIntervalsTest may fail due to integer overflow  (was: 
IntergetIntervalsTest may fail due to integer overflow)

> IntergerIntervalsTest may fail due to integer overflow
> --
>
> Key: CASSANDRA-19548
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19548
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/unit
>Reporter: Jacek Lewandowski
>Priority: Normal
> Fix For: 4.0.x, 4.1.x, 5.0.x, 5.1
>
>
> {noformat}
> junit.framework.AssertionFailedError
>   at 
> org.apache.cassandra.utils.IntegerInterval$Set.add(IntegerInterval.java:138)
>   at 
> org.apache.cassandra.utils.IntegerIntervalsTest.lambda$testSetAddMultiThread$5(IntegerIntervalsTest.java:252)
>   at 
> java.base/jdk.internal.util.random.RandomSupport$RandomIntsSpliterator.forEachRemaining(RandomSupport.java:1002)
>   at 
> java.base/java.util.stream.IntPipeline$Head.forEach(IntPipeline.java:617)
>   at 
> org.apache.cassandra.utils.IntegerIntervalsTest.testSetAddMultiThread(IntegerIntervalsTest.java:252)
>   at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
>   at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> {noformat}
> https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/1326/workflows/021d350a-4b62-44af-9650-f5a0eb105522/jobs/70420/tests



--
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-19548) IntergetIntervalsTest may fail due to integer overflow

2024-04-10 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19548:
--
Fix Version/s: 4.0.x
   4.1.x
   5.0.x
   5.1

> IntergetIntervalsTest may fail due to integer overflow
> --
>
> Key: CASSANDRA-19548
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19548
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/unit
>Reporter: Jacek Lewandowski
>Priority: Normal
> Fix For: 4.0.x, 4.1.x, 5.0.x, 5.1
>
>
> {noformat}
> junit.framework.AssertionFailedError
>   at 
> org.apache.cassandra.utils.IntegerInterval$Set.add(IntegerInterval.java:138)
>   at 
> org.apache.cassandra.utils.IntegerIntervalsTest.lambda$testSetAddMultiThread$5(IntegerIntervalsTest.java:252)
>   at 
> java.base/jdk.internal.util.random.RandomSupport$RandomIntsSpliterator.forEachRemaining(RandomSupport.java:1002)
>   at 
> java.base/java.util.stream.IntPipeline$Head.forEach(IntPipeline.java:617)
>   at 
> org.apache.cassandra.utils.IntegerIntervalsTest.testSetAddMultiThread(IntegerIntervalsTest.java:252)
>   at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
>   at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> {noformat}
> https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/1326/workflows/021d350a-4b62-44af-9650-f5a0eb105522/jobs/70420/tests



--
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-19548) IntergetIntervalsTest may fail due to integer overflow

2024-04-10 Thread Jacek Lewandowski (Jira)
Jacek Lewandowski created CASSANDRA-19548:
-

 Summary: IntergetIntervalsTest may fail due to integer overflow
 Key: CASSANDRA-19548
 URL: https://issues.apache.org/jira/browse/CASSANDRA-19548
 Project: Cassandra
  Issue Type: Bug
  Components: Test/unit
Reporter: Jacek Lewandowski


{noformat}
junit.framework.AssertionFailedError
at 
org.apache.cassandra.utils.IntegerInterval$Set.add(IntegerInterval.java:138)
at 
org.apache.cassandra.utils.IntegerIntervalsTest.lambda$testSetAddMultiThread$5(IntegerIntervalsTest.java:252)
at 
java.base/jdk.internal.util.random.RandomSupport$RandomIntsSpliterator.forEachRemaining(RandomSupport.java:1002)
at 
java.base/java.util.stream.IntPipeline$Head.forEach(IntPipeline.java:617)
at 
org.apache.cassandra.utils.IntegerIntervalsTest.testSetAddMultiThread(IntegerIntervalsTest.java:252)
at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
{noformat}

https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/1326/workflows/021d350a-4b62-44af-9650-f5a0eb105522/jobs/70420/tests




--
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-18974) Failed test: BatchTest

2024-04-09 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-18974:
--
Description: 
[https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/1042/workflows/5e568327-53a6-4214-aba8-23dc6ac717a2/jobs/42694/tests]
[https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/1324/workflows/4ab8e461-b506-4868-aeb4-fcb4ebee89e4/jobs/70028/tests]
{{testTableWithClusteringInLoggedBatch}}
{noformat}
com.datastax.driver.core.exceptions.WriteTimeoutException: Cassandra timeout 
during BATCH write query at consistency LOCAL_ONE (1 replica were required but 
only 0 acknowledged the write)
at 
com.datastax.driver.core.exceptions.WriteTimeoutException.copy(WriteTimeoutException.java:85)
at 
com.datastax.driver.core.exceptions.WriteTimeoutException.copy(WriteTimeoutException.java:23)
at 
com.datastax.driver.core.DriverThrowables.propagateCause(DriverThrowables.java:35)
at 
com.datastax.driver.core.DefaultResultSetFuture.getUninterruptibly(DefaultResultSetFuture.java:293)
at 
com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:58)
at org.apache.cassandra.cql3.BatchTest.sendBatch(BatchTest.java:183)
at 
org.apache.cassandra.cql3.BatchTest.testTableWithClusteringInLoggedBatch(BatchTest.java:129)
Caused by: com.datastax.driver.core.exceptions.WriteTimeoutException: Cassandra 
timeout during BATCH write query at consistency LOCAL_ONE (1 replica were 
required but only 0 acknowledged the write)
at 
com.datastax.driver.core.exceptions.WriteTimeoutException.copy(WriteTimeoutException.java:113)
at 
com.datastax.driver.core.Responses$Error.asException(Responses.java:167)
at 
com.datastax.driver.core.RequestHandler$SpeculativeExecution.onSet(RequestHandler.java:651)
at 
com.datastax.driver.core.Connection$Dispatcher.channelRead0(Connection.java:1290)
at 
com.datastax.driver.core.Connection$Dispatcher.channelRead0(Connection.java:1208)
at 
com.datastax.shaded.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
at 
com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
at 
com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
at 
com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
at 
com.datastax.shaded.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
at 
com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
at 
com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
at 
com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
at 
com.datastax.shaded.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
at 
com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
at 
com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
at 
com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
at 
com.datastax.shaded.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
at 
com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
at 
com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
at 
com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
at 
com.datastax.shaded.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:312)
at 
com.datastax.shaded.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:286)
at 
com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
at 
com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
at 
com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
at 
com.datastax.shaded.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
at 

[jira] [Commented] (CASSANDRA-19479) Fix type issues and provide tests for type compatibility between 4.1 and 5.0

2024-04-03 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-19479:
---

There are some tests running for 4. 0 - 
https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/1317/workflows/ec01696c-8075-4f77-834a-c55be2491100


> Fix type issues and provide tests for type compatibility between 4.1 and 5.0
> 
>
> Key: CASSANDRA-19479
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19479
> Project: Cassandra
>  Issue Type: Task
>  Components: Legacy/Core, Test/unit
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 4.0.13, 4.1.5, 5.0, 5.1
>
>
> This is a part of CASSANDRA-14476 - we should verify whether the type 
> compatibility matrix is upgradable from 4.0 and 4.1 to 5.0, and if not, fix 
> the remaining issues.
> The implemented tests verify the following:
> - assumed compatibility between primitive types
> - equals method symmetricity
> - freezing/unfreezing
> - value compatibility by using a serializer of one type to deserialize a 
> value serialized using a serializer of another type
> - serialization compatibility by serializing a row with a column of one type 
> as a column of another type for simple and complex cells (multicell types)
> - (comparison) compatibility by comparing serialized values of one type using 
> a comparator of another type; for multicell types - build rows and compare 
> cell paths of a complex type using a cell path comparator of another complex 
> type
> - verify whether types that are (value/serialization/comparison) compatible 
> in a previous release are still compatible with this release
> - store the compatibility matrix in a compressed JSON file so that we can 
> copy it to future releases to assert backward compatibility (similar approach 
> to LegacySSTableTest)
> - verify that type serializers are different for non-compatible type pairs 
> which use custom comparisons
> Additionally:
> - the equals method in {{TupleType}} and {{UserType}} was fixed to be 
> symmetric. Previously, comparing two values gave a different outcome when 
> inverted.
> - fixed a condition in comparison method of {{AbstractCompositeType}}
> - ported a fix for composite and dynamic composite types which adds a 
> distinct serializers for them so that the serializers for those types and for 
> {{BytesType}} are considered different; similar thing was done for 
> {{LexicalUUIDType}} to make its serializer different to {{UUIDType}} 
> serializer (see 
> https://the-asf.slack.com/archives/CK23JSY2K/p1712060572432959)
> - fixed a problem with DCT builder - in 5.0+ the {{DynamicCompositeType}} 
> generation has a problem with inverse alias-type mapping which makes it 
> vulnerable to problems when the same type has two different aliases



--
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-19479) Fix type issues and provide tests for type compatibility between 4.1 and 5.0

2024-04-03 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19479:
--
Component/s: Legacy/Core

> Fix type issues and provide tests for type compatibility between 4.1 and 5.0
> 
>
> Key: CASSANDRA-19479
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19479
> Project: Cassandra
>  Issue Type: Task
>  Components: Legacy/Core, Test/unit
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 4.0.13, 4.1.5, 5.0, 5.1
>
>
> This is a part of CASSANDRA-14476 - we should verify whether the type 
> compatibility matrix is upgradable from 4.0 and 4.1 to 5.0, and if not, fix 
> the remaining issues.
> The implemented tests verify the following:
> - assumed compatibility between primitive types
> - equals method symmetricity
> - freezing/unfreezing
> - value compatibility by using a serializer of one type to deserialize a 
> value serialized using a serializer of another type
> - serialization compatibility by serializing a row with a column of one type 
> as a column of another type for simple and complex cells (multicell types)
> - (comparison) compatibility by comparing serialized values of one type using 
> a comparator of another type; for multicell types - build rows and compare 
> cell paths of a complex type using a cell path comparator of another complex 
> type
> - verify whether types that are (value/serialization/comparison) compatible 
> in a previous release are still compatible with this release
> - store the compatibility matrix in a compressed JSON file so that we can 
> copy it to future releases to assert backward compatibility (similar approach 
> to LegacySSTableTest)
> - verify that type serializers are different for non-compatible type pairs 
> which use custom comparisons
> Additionally:
> - the equals method in {{TupleType}} and {{UserType}} was fixed to be 
> symmetric. Previously, comparing two values gave a different outcome when 
> inverted.
> - fixed a condition in comparison method of {{AbstractCompositeType}}
> - ported a fix for composite and dynamic composite types which adds a 
> distinct serializers for them so that the serializers for those types and for 
> {{BytesType}} are considered different; similar thing was done for 
> {{LexicalUUIDType}} to make its serializer different to {{UUIDType}} 
> serializer (see 
> https://the-asf.slack.com/archives/CK23JSY2K/p1712060572432959)
> - fixed a problem with DCT builder - in 5.0+ the {{DynamicCompositeType}} 
> generation has a problem with inverse alias-type mapping which makes it 
> vulnerable to problems when the same type has two different aliases



--
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-19479) Fix type issues and provide tests for type compatibility between 4.1 and 5.0

2024-04-03 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19479:
--
Summary: Fix type issues and provide tests for type compatibility between 
4.1 and 5.0  (was: Provide tests for type compatibility between 4.1 and 5.0)

> Fix type issues and provide tests for type compatibility between 4.1 and 5.0
> 
>
> Key: CASSANDRA-19479
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19479
> Project: Cassandra
>  Issue Type: Task
>  Components: Test/unit
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 4.0.13, 4.1.5, 5.0, 5.1
>
>
> This is a part of CASSANDRA-14476 - we should verify whether the type 
> compatibility matrix is upgradable from 4.0 and 4.1 to 5.0, and if not, fix 
> the remaining issues.
> The implemented tests verify the following:
> - assumed compatibility between primitive types
> - equals method symmetricity
> - freezing/unfreezing
> - value compatibility by using a serializer of one type to deserialize a 
> value serialized using a serializer of another type
> - serialization compatibility by serializing a row with a column of one type 
> as a column of another type for simple and complex cells (multicell types)
> - (comparison) compatibility by comparing serialized values of one type using 
> a comparator of another type; for multicell types - build rows and compare 
> cell paths of a complex type using a cell path comparator of another complex 
> type
> - verify whether types that are (value/serialization/comparison) compatible 
> in a previous release are still compatible with this release
> - store the compatibility matrix in a compressed JSON file so that we can 
> copy it to future releases to assert backward compatibility (similar approach 
> to LegacySSTableTest)
> - verify that type serializers are different for non-compatible type pairs 
> which use custom comparisons
> Additionally:
> - the equals method in {{TupleType}} and {{UserType}} was fixed to be 
> symmetric. Previously, comparing two values gave a different outcome when 
> inverted.
> - fixed a condition in comparison method of {{AbstractCompositeType}}
> - ported a fix for composite and dynamic composite types which adds a 
> distinct serializers for them so that the serializers for those types and for 
> {{BytesType}} are considered different; similar thing was done for 
> {{LexicalUUIDType}} to make its serializer different to {{UUIDType}} 
> serializer (see 
> https://the-asf.slack.com/archives/CK23JSY2K/p1712060572432959)
> - fixed a problem with DCT builder - in 5.0+ the {{DynamicCompositeType}} 
> generation has a problem with inverse alias-type mapping which makes it 
> vulnerable to problems when the same type has two different aliases



--
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-19479) Provide tests for type compatibility between 4.1 and 5.0

2024-04-03 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19479:
--
Description: 
This is a part of CASSANDRA-14476 - we should verify whether the type 
compatibility matrix is upgradable from 4.0 and 4.1 to 5.0, and if not, fix the 
remaining issues.

The implemented tests verify the following:
- assumed compatibility between primitive types
- equals method symmetricity
- freezing/unfreezing
- value compatibility by using a serializer of one type to deserialize a value 
serialized using a serializer of another type
- serialization compatibility by serializing a row with a column of one type as 
a column of another type for simple and complex cells (multicell types)
- (comparison) compatibility by comparing serialized values of one type using a 
comparator of another type; for multicell types - build rows and compare cell 
paths of a complex type using a cell path comparator of another complex type
- verify whether types that are (value/serialization/comparison) compatible in 
a previous release are still compatible with this release
- store the compatibility matrix in a compressed JSON file so that we can copy 
it to future releases to assert backward compatibility (similar approach to 
LegacySSTableTest)
- verify that type serializers are different for non-compatible type pairs 
which use custom comparisons

Additionally:
- the equals method in {{TupleType}} and {{UserType}} was fixed to be 
symmetric. Previously, comparing two values gave a different outcome when 
inverted.
- fixed a condition in comparison method of {{AbstractCompositeType}}
- ported a fix for composite and dynamic composite types which adds a distinct 
serializers for them so that the serializers for those types and for 
{{BytesType}} are considered different; similar thing was done for 
{{LexicalUUIDType}} to make its serializer different to {{UUIDType}} serializer 
(see https://the-asf.slack.com/archives/CK23JSY2K/p1712060572432959)
- fixed a problem with DCT builder - in 5.0+ the {{DynamicCompositeType}} 
generation has a problem with inverse alias-type mapping which makes it 
vulnerable to problems when the same type has two different aliases


  was:
This is a part of CASSANDRA-14476 - we should verify whether the type 
compatibility matrix is upgradable from 4.0 and 4.1 to 5.0, and if not, fix the 
remaining issues.

The implemented tests verify the following:
- assumed compatibility between primitive types
- equals method symmetricity
- freezing/unfreezing
- value compatibility by using a serializer of one type to deserialize a value 
serialized using a serializer of another type
- serialization compatibility by serializing a row with a column of one type as 
a column of another type for simple and complex cells (multicell types)
- (comparison) compatibility by comparing serialized values of one type using a 
comparator of another type; for multicell types - build rows and compare cell 
paths of a complex type using a cell path comparator of another complex type
- verify whether types that are (value/serialization/comparison) compatible in 
a previous release are still compatible with this release
- store the compatibility matrix in a compressed JSON file so that we can copy 
it to future releases to assert backward compatibility (similar approach to 
LegacySSTableTest)

Additionally, the equals method in TupleType and UserType was fixed to be 
symmetric. Previously, comparing two values gave a different outcome when 
inverted.



> Provide tests for type compatibility between 4.1 and 5.0
> 
>
> Key: CASSANDRA-19479
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19479
> Project: Cassandra
>  Issue Type: Task
>  Components: Test/unit
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 4.0.13, 4.1.5, 5.0, 5.1
>
>
> This is a part of CASSANDRA-14476 - we should verify whether the type 
> compatibility matrix is upgradable from 4.0 and 4.1 to 5.0, and if not, fix 
> the remaining issues.
> The implemented tests verify the following:
> - assumed compatibility between primitive types
> - equals method symmetricity
> - freezing/unfreezing
> - value compatibility by using a serializer of one type to deserialize a 
> value serialized using a serializer of another type
> - serialization compatibility by serializing a row with a column of one type 
> as a column of another type for simple and complex cells (multicell types)
> - (comparison) compatibility by comparing serialized values of one type using 
> a comparator of another type; for multicell types - build rows and compare 
> cell paths of a complex type using a cell path comparator of another complex 
> type
> - verify 

[jira] [Updated] (CASSANDRA-19479) Provide tests for type compatibility between 4.1 and 5.0

2024-03-28 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19479:
--
Test and Documentation Plan: regression tests
 Status: Patch Available  (was: In Progress)

> Provide tests for type compatibility between 4.1 and 5.0
> 
>
> Key: CASSANDRA-19479
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19479
> Project: Cassandra
>  Issue Type: Task
>  Components: Test/unit
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 4.0.13, 4.1.5, 5.0, 5.1
>
>
> This is a part of CASSANDRA-14476 - we should verify whether the type 
> compatibility matrix is upgradable from 4.0 and 4.1 to 5.0, and if not, fix 
> the remaining issues.
> The implemented tests verify the following:
> - assumed compatibility between primitive types
> - equals method symmetricity
> - freezing/unfreezing
> - value compatibility by using a serializer of one type to deserialize a 
> value serialized using a serializer of another type
> - serialization compatibility by serializing a row with a column of one type 
> as a column of another type for simple and complex cells (multicell types)
> - (comparison) compatibility by comparing serialized values of one type using 
> a comparator of another type; for multicell types - build rows and compare 
> cell paths of a complex type using a cell path comparator of another complex 
> type
> - verify whether types that are (value/serialization/comparison) compatible 
> in a previous release are still compatible with this release
> - store the compatibility matrix in a compressed JSON file so that we can 
> copy it to future releases to assert backward compatibility (similar approach 
> to LegacySSTableTest)
> Additionally, the equals method in TupleType and UserType was fixed to be 
> symmetric. Previously, comparing two values gave a different outcome when 
> inverted.



--
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-19479) Provide tests for type compatibility between 4.1 and 5.0

2024-03-28 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19479:
--
Description: 
This is a part of CASSANDRA-14476 - we should verify whether the type 
compatibility matrix is upgradable from 4.0 and 4.1 to 5.0, and if not, fix the 
remaining issues.

The implemented tests verify the following:
- assumed compatibility between primitive types
- equals method symmetricity
- freezing/unfreezing
- value compatibility by using a serializer of one type to deserialize a value 
serialized using a serializer of another type
- serialization compatibility by serializing a row with a column of one type as 
a column of another type for simple and complex cells (multicell types)
- (comparison) compatibility by comparing serialized values of one type using a 
comparator of another type; for multicell types - build rows and compare cell 
paths of a complex type using a cell path comparator of another complex type
- verify whether types that are (value/serialization/comparison) compatible in 
a previous release are still compatible with this release
- store the compatibility matrix in a compressed JSON file so that we can copy 
it to future releases to assert backward compatibility (similar approach to 
LegacySSTableTest)

Additionally, the equals method in TupleType and UserType was fixed to be 
symmetric. Previously, comparing two values gave a different outcome when 
inverted.


  was:
Part of CASSANDRA-14476, we should verify whether the type compatibility matrix 
is upgradable from 4.0 and 4.1 to 5.0 and if not, fix the remaining issues.

The test were implemented under CASSANDRA-14476, we need to verify that in that 
certain upgrade paths.



> Provide tests for type compatibility between 4.1 and 5.0
> 
>
> Key: CASSANDRA-19479
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19479
> Project: Cassandra
>  Issue Type: Task
>  Components: Test/unit
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 4.0.13, 4.1.5, 5.0, 5.1
>
>
> This is a part of CASSANDRA-14476 - we should verify whether the type 
> compatibility matrix is upgradable from 4.0 and 4.1 to 5.0, and if not, fix 
> the remaining issues.
> The implemented tests verify the following:
> - assumed compatibility between primitive types
> - equals method symmetricity
> - freezing/unfreezing
> - value compatibility by using a serializer of one type to deserialize a 
> value serialized using a serializer of another type
> - serialization compatibility by serializing a row with a column of one type 
> as a column of another type for simple and complex cells (multicell types)
> - (comparison) compatibility by comparing serialized values of one type using 
> a comparator of another type; for multicell types - build rows and compare 
> cell paths of a complex type using a cell path comparator of another complex 
> type
> - verify whether types that are (value/serialization/comparison) compatible 
> in a previous release are still compatible with this release
> - store the compatibility matrix in a compressed JSON file so that we can 
> copy it to future releases to assert backward compatibility (similar approach 
> to LegacySSTableTest)
> Additionally, the equals method in TupleType and UserType was fixed to be 
> symmetric. Previously, comparing two values gave a different outcome when 
> inverted.



--
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-19479) Provide tests for type compatibility between 4.1 and 5.0

2024-03-28 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19479:
--
Fix Version/s: 4.0.13
   4.1.5
   5.1
   (was: 5.0-rc)

> Provide tests for type compatibility between 4.1 and 5.0
> 
>
> Key: CASSANDRA-19479
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19479
> Project: Cassandra
>  Issue Type: Task
>  Components: Test/unit
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 4.0.13, 4.1.5, 5.0, 5.1
>
>
> Part of CASSANDRA-14476, we should verify whether the type compatibility 
> matrix is upgradable from 4.0 and 4.1 to 5.0 and if not, fix the remaining 
> issues.
> The test were implemented under CASSANDRA-14476, we need to verify that in 
> that certain upgrade paths.



--
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-19479) Provide tests for type compatibility between 4.1 and 5.0

2024-03-18 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19479:
--
Change Category: Quality Assurance
 Complexity: Normal
  Fix Version/s: 5.0-rc
 5.0
 Status: Open  (was: Triage Needed)

> Provide tests for type compatibility between 4.1 and 5.0
> 
>
> Key: CASSANDRA-19479
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19479
> Project: Cassandra
>  Issue Type: Task
>  Components: Test/unit
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.0-rc, 5.0
>
>
> Part of CASSANDRA-14476, we should verify whether the type compatibility 
> matrix is upgradable from 4.0 and 4.1 to 5.0 and if not, fix the remaining 
> issues.
> The test were implemented under CASSANDRA-14476, we need to verify that in 
> that certain upgrade paths.



--
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] [Assigned] (CASSANDRA-19479) Provide tests for type compatibility between 4.1 and 5.0

2024-03-18 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski reassigned CASSANDRA-19479:
-

Assignee: Jacek Lewandowski

> Provide tests for type compatibility between 4.1 and 5.0
> 
>
> Key: CASSANDRA-19479
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19479
> Project: Cassandra
>  Issue Type: Task
>  Components: Test/unit
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
>
> Part of CASSANDRA-14476, we should verify whether the type compatibility 
> matrix is upgradable from 4.0 and 4.1 to 5.0 and if not, fix the remaining 
> issues.
> The test were implemented under CASSANDRA-14476, we need to verify that in 
> that certain upgrade paths.



--
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-19479) Provide tests for type compatibility between 4.1 and 5.0

2024-03-18 Thread Jacek Lewandowski (Jira)
Jacek Lewandowski created CASSANDRA-19479:
-

 Summary: Provide tests for type compatibility between 4.1 and 5.0
 Key: CASSANDRA-19479
 URL: https://issues.apache.org/jira/browse/CASSANDRA-19479
 Project: Cassandra
  Issue Type: Task
  Components: Test/unit
Reporter: Jacek Lewandowski


Part of CASSANDRA-14476, we should verify whether the type compatibility matrix 
is upgradable from 4.0 and 4.1 to 5.0 and if not, fix the remaining issues.

The test were implemented under CASSANDRA-14476, we need to verify that in that 
certain upgrade paths.




--
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-18504) Added support for type VECTOR

2024-03-13 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-18504:
---

Why {{SSTableHeaderFix}} got removed? Aren't we affected anymore by the issue? 
Can we have a upgrade dtest to prove that?

> Added support for type VECTOR
> --
>
> Key: CASSANDRA-18504
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18504
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Cluster/Schema, CQL/Syntax
>Reporter: David Capwell
>Assignee: David Capwell
>Priority: Normal
> Fix For: 5.0-alpha1, 5.0
>
>  Time Spent: 20h 40m
>  Remaining Estimate: 0h
>
> Based off several mailing list threads (see "[POLL] Vector type for ML”, 
> "[DISCUSS] New data type for vector search”, and "Adding vector search to SAI 
> with heirarchical navigable small world graph index”), its desirable to add a 
> new type “VECTOR” that has the following properties
> 1) fixed length array
> 2) elements may not be null
> 3) flatten array (aka multi-cell = false)



--
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-14476) ShortType and ByteType are incorrectly considered variable-length types

2024-03-08 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-14476:
---

Here it is: https://github.com/apache/cassandra/pull/3169

> ShortType and ByteType are incorrectly considered variable-length types
> ---
>
> Key: CASSANDRA-14476
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14476
> Project: Cassandra
>  Issue Type: Bug
>  Components: Legacy/Core
>Reporter: Vladimir Krivopalov
>Assignee: Jacek Lewandowski
>Priority: Low
>  Labels: lhf
> Fix For: 5.0.x, 5.1
>
>
> The AbstractType class has a method valueLengthIfFixed() that returns -1 for 
> data types with a variable length and a positive value for types with a fixed 
> length. This is primarily used for efficient serialization and 
> deserialization. 
>  
> It turns out that there is an inconsistency in types ShortType and ByteType 
> as those are in fact fixed-length types (2 bytes and 1 byte, respectively) 
> but they don't have the valueLengthIfFixed() method overloaded and it returns 
> -1 as if they were of variable length.
>  
> It would be good to fix that at some appropriate point, for example, when 
> introducing a new version of SSTables format, to keep the meaning of the 
> function consistent across data types. Saving some bytes in serialized format 
> is a minor but pleasant bonus.



--
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-14476) ShortType and ByteType are incorrectly considered variable-length types

2024-03-08 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-14476:
---

I'm going to first submit some tests which will validate serialization and 
comparisons, as well asl backward compatibility.


> ShortType and ByteType are incorrectly considered variable-length types
> ---
>
> Key: CASSANDRA-14476
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14476
> Project: Cassandra
>  Issue Type: Bug
>  Components: Legacy/Core
>Reporter: Vladimir Krivopalov
>Assignee: Jacek Lewandowski
>Priority: Low
>  Labels: lhf
> Fix For: 5.0.x, 5.1
>
>
> The AbstractType class has a method valueLengthIfFixed() that returns -1 for 
> data types with a variable length and a positive value for types with a fixed 
> length. This is primarily used for efficient serialization and 
> deserialization. 
>  
> It turns out that there is an inconsistency in types ShortType and ByteType 
> as those are in fact fixed-length types (2 bytes and 1 byte, respectively) 
> but they don't have the valueLengthIfFixed() method overloaded and it returns 
> -1 as if they were of variable length.
>  
> It would be good to fix that at some appropriate point, for example, when 
> introducing a new version of SSTables format, to keep the meaning of the 
> function consistent across data types. Saving some bytes in serialized format 
> is a minor but pleasant bonus.



--
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-14476) ShortType and ByteType are incorrectly considered variable-length types

2024-03-08 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski edited comment on CASSANDRA-14476 at 3/8/24 1:05 PM:
---

There are more problems with type compatibility:

1. Fixed length types reported as variable length: *ByteType*, *ShortType*, 
*CounterColumnType*, *SimpleDateType*, *TimeType*, and types like *TupleType*, 
*UserType* when all subtypes are of fixed length

2. Value compatibility issues:
* *IntegerType* should be compatible with *ShortType*, *ByteType*, 
*SimpleDateType*, and *TimeType* - all of them are simple integers serialized 
with Big-Endian byte order
* *LongType* is compatible with *TimestampType* and *TimestampType* is 
compatible with *LongType*, which makes a cycle in the type compatibility 
hierarchy - I don't know if it is ok because the relation 
{{isValueCompatibleWith}} is used when merging data from different sources to 
determine the resulting type. It may end up with a result depending on the 
order of data sources. Is it ok for compaction and querying? - I don't know.
* *TimeType* is compatible with *LongType*, but it should be opposite as the 
*LongType* is more generic than *TimeType*
* *SimpleDateType* is compatible with *Int32Type*, but is should be opposite as 
the *Int32Type* is more generic than *SimpleDateType*

3. Painful lack of tests for this stuff

4. {{isCompatibleWith}} seems to be used for very few things:
* validating the return type of the replaced function or aggregate
* validating the new table metadata against the previous metadata - the new 
metadata must have all the types compatible with the previous metadata.

Some conclusions:

* for the return type of functions and aggregates, it does not matter whether 
the compared types are multi-cell or not, all in all we deal with opaque value 
- it would be enough to ensure value compatibility (compose/decompose) and 
comparison consistency. 
* I suspect a bug there, though - the return type is required to satisfy 
{{returnType.isCompatibleWith(existingAggregate.returnType())}} condition. I 
believe the condition should be the opposite - assuming that relation 
{{isCompatibleWith}} is a partial order, the *existing return type should be 
the same or more generic than the new type* so that the function will continue 
to work correctly with the existing usages. If we allow changing the type from, 
say, {{UTF8}} to {{Bytes}} (which is valid according to the current condition), 
the usages expecting {{UTF8}} return type will stop working.
* For the metadata compatibility checks, we never use multi-cell serialized 
values for sorting. If a multi-cell type is ever used in an order requiring 
context (part of the primary key), it is always frozen. Therefore, there is no 
need to consider different rules for multi-cell / frozen variants.

---

I haven't investigated the compatibility of complex types yet


was (Author: jlewandowski):
There are more problems with type compatibility:

1. Fixed length types reported as variable length: *ByteType*, *ShortType*, 
*CounterColumnType*, *SimpleDateType*, *TimeType*, and types like *TupleType*, 
*UserType* when all subtypes are of fixed length
2. Value compatibility issues:
* *IntegerType* should be compatible with *ShortType*, *ByteType*, 
*SimpleDateType* and *TimeType* - all of them are simple integers serialized 
with Big-Endian byte order
* *LongType* is compatible with *TimestampType* and *TimestampType* is 
compatible with *LongType* which makes a cycle in the type compatibility 
hierarchy - I don't know if it is ok because the relation 
{{isValueCompatibleWith}} is used when merging data from different sources in 
order to determine the resulting type. It may end up with a result depending on 
the order of data sources - is it ok for compaction and querying?
* *TimeType* is compatible with *LongType*, but it should be opposite as the 
*LongType* is more generic than *TimeType*
* *SimpleDateType* is compatible with *Int32Type*, but is should be opposite as 
the *Int32Type* is more generic than *SimpleDateType*
3. Painful lack of tests for this stuff

---

I haven't investigated the compatibility of complex types yet

> ShortType and ByteType are incorrectly considered variable-length types
> ---
>
> Key: CASSANDRA-14476
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14476
> Project: Cassandra
>  Issue Type: Bug
>  Components: Legacy/Core
>Reporter: Vladimir Krivopalov
>Assignee: Jacek Lewandowski
>Priority: Low
>  Labels: lhf
> Fix For: 5.0.x, 5.1
>
>
> The AbstractType class has a method valueLengthIfFixed() that returns -1 for 
> data types with a variable length and a positive value 

[jira] [Commented] (CASSANDRA-14476) ShortType and ByteType are incorrectly considered variable-length types

2024-02-29 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-14476:
---

There are more problems with type compatibility:

1. Fixed length types reported as variable length: *ByteType*, *ShortType*, 
*CounterColumnType*, *SimpleDateType*, *TimeType*, and types like *TupleType*, 
*UserType* when all subtypes are of fixed length
2. Value compatibility issues:
* *IntegerType* should be compatible with *ShortType*, *ByteType*, 
*SimpleDateType* and *TimeType* - all of them are simple integers serialized 
with Big-Endian byte order
* *LongType* is compatible with *TimestampType* and *TimestampType* is 
compatible with *LongType* which makes a cycle in the type compatibility 
hierarchy - I don't know if it is ok because the relation 
{{isValueCompatibleWith}} is used when merging data from different sources in 
order to determine the resulting type. It may end up with a result depending on 
the order of data sources - is it ok for compaction and querying?
* *TimeType* is compatible with *LongType*, but it should be opposite as the 
*LongType* is more generic than *TimeType*
* *SimpleDateType* is compatible with *Int32Type*, but is should be opposite as 
the *Int32Type* is more generic than *SimpleDateType*
3. Painful lack of tests for this stuff

---

I haven't investigated the compatibility of complex types yet

> ShortType and ByteType are incorrectly considered variable-length types
> ---
>
> Key: CASSANDRA-14476
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14476
> Project: Cassandra
>  Issue Type: Bug
>  Components: Legacy/Core
>Reporter: Vladimir Krivopalov
>Assignee: Jacek Lewandowski
>Priority: Low
>  Labels: lhf
> Fix For: 5.0.x, 5.1
>
>
> The AbstractType class has a method valueLengthIfFixed() that returns -1 for 
> data types with a variable length and a positive value for types with a fixed 
> length. This is primarily used for efficient serialization and 
> deserialization. 
>  
> It turns out that there is an inconsistency in types ShortType and ByteType 
> as those are in fact fixed-length types (2 bytes and 1 byte, respectively) 
> but they don't have the valueLengthIfFixed() method overloaded and it returns 
> -1 as if they were of variable length.
>  
> It would be good to fix that at some appropriate point, for example, when 
> introducing a new version of SSTables format, to keep the meaning of the 
> function consistent across data types. Saving some bytes in serialized format 
> is a minor but pleasant bonus.



--
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-14476) ShortType and ByteType are incorrectly considered variable-length types

2024-02-27 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-14476:
--
Fix Version/s: 5.0.x
   5.1

> ShortType and ByteType are incorrectly considered variable-length types
> ---
>
> Key: CASSANDRA-14476
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14476
> Project: Cassandra
>  Issue Type: Bug
>  Components: Legacy/Core
>Reporter: Vladimir Krivopalov
>Assignee: Jacek Lewandowski
>Priority: Low
>  Labels: lhf
> Fix For: 5.0.x, 5.1
>
>
> The AbstractType class has a method valueLengthIfFixed() that returns -1 for 
> data types with a variable length and a positive value for types with a fixed 
> length. This is primarily used for efficient serialization and 
> deserialization. 
>  
> It turns out that there is an inconsistency in types ShortType and ByteType 
> as those are in fact fixed-length types (2 bytes and 1 byte, respectively) 
> but they don't have the valueLengthIfFixed() method overloaded and it returns 
> -1 as if they were of variable length.
>  
> It would be good to fix that at some appropriate point, for example, when 
> introducing a new version of SSTables format, to keep the meaning of the 
> function consistent across data types. Saving some bytes in serialized format 
> is a minor but pleasant bonus.



--
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-14476) ShortType and ByteType are incorrectly considered variable-length types

2024-02-27 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-14476:
---

In 5.0 the problem affects more types: {{ByteType}}, {{ShortType}}, 
{{SimpleDateType}}, {{TimeType}}, {{TimestampType}}. I'm going to fix it and 
move the original method checking for whether the type serialization is 
variable or fixed length directly to {{TypeSerializer}}. I'll also provide some 
upgrade tests to make sure the old sstables can be read without problems. I 
don't think we need to bump SSTable version though because it does not change 
anything with serialization. It may certainly break some implicit casting in 
CQL though.


> ShortType and ByteType are incorrectly considered variable-length types
> ---
>
> Key: CASSANDRA-14476
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14476
> Project: Cassandra
>  Issue Type: Bug
>  Components: Legacy/Core
>Reporter: Vladimir Krivopalov
>Assignee: Jacek Lewandowski
>Priority: Low
>  Labels: lhf
>
> The AbstractType class has a method valueLengthIfFixed() that returns -1 for 
> data types with a variable length and a positive value for types with a fixed 
> length. This is primarily used for efficient serialization and 
> deserialization. 
>  
> It turns out that there is an inconsistency in types ShortType and ByteType 
> as those are in fact fixed-length types (2 bytes and 1 byte, respectively) 
> but they don't have the valueLengthIfFixed() method overloaded and it returns 
> -1 as if they were of variable length.
>  
> It would be good to fix that at some appropriate point, for example, when 
> introducing a new version of SSTables format, to keep the meaning of the 
> function consistent across data types. Saving some bytes in serialized format 
> is a minor but pleasant bonus.



--
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] [Assigned] (CASSANDRA-14476) ShortType and ByteType are incorrectly considered variable-length types

2024-02-27 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski reassigned CASSANDRA-14476:
-

Assignee: Jacek Lewandowski  (was: Jearvon Dharrie)

> ShortType and ByteType are incorrectly considered variable-length types
> ---
>
> Key: CASSANDRA-14476
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14476
> Project: Cassandra
>  Issue Type: Bug
>  Components: Legacy/Core
>Reporter: Vladimir Krivopalov
>Assignee: Jacek Lewandowski
>Priority: Low
>  Labels: lhf
>
> The AbstractType class has a method valueLengthIfFixed() that returns -1 for 
> data types with a variable length and a positive value for types with a fixed 
> length. This is primarily used for efficient serialization and 
> deserialization. 
>  
> It turns out that there is an inconsistency in types ShortType and ByteType 
> as those are in fact fixed-length types (2 bytes and 1 byte, respectively) 
> but they don't have the valueLengthIfFixed() method overloaded and it returns 
> -1 as if they were of variable length.
>  
> It would be good to fix that at some appropriate point, for example, when 
> introducing a new version of SSTables format, to keep the meaning of the 
> function consistent across data types. Saving some bytes in serialized format 
> is a minor but pleasant bonus.



--
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-19408) Define smoke tests set to run with both JVMs

2024-02-16 Thread Jacek Lewandowski (Jira)
Jacek Lewandowski created CASSANDRA-19408:
-

 Summary: Define smoke tests set to run with both JVMs
 Key: CASSANDRA-19408
 URL: https://issues.apache.org/jira/browse/CASSANDRA-19408
 Project: Cassandra
  Issue Type: Task
Reporter: Jacek Lewandowski






--
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-19407) Drop one JVM tests run from pre-commit pipeline

2024-02-16 Thread Jacek Lewandowski (Jira)
Jacek Lewandowski created CASSANDRA-19407:
-

 Summary: Drop one JVM tests run from pre-commit pipeline
 Key: CASSANDRA-19407
 URL: https://issues.apache.org/jira/browse/CASSANDRA-19407
 Project: Cassandra
  Issue Type: Task
Reporter: Jacek Lewandowski






--
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-19406) Optimize pre-commit test suite

2024-02-16 Thread Jacek Lewandowski (Jira)
Jacek Lewandowski created CASSANDRA-19406:
-

 Summary: Optimize pre-commit test suite
 Key: CASSANDRA-19406
 URL: https://issues.apache.org/jira/browse/CASSANDRA-19406
 Project: Cassandra
  Issue Type: Epic
Reporter: Jacek Lewandowski






--
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-18824) Backport CASSANDRA-16418: Cleanup behaviour during node decommission caused missing replica

2024-02-07 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-18824:
--
  Fix Version/s: 3.0.30
 3.11.17
 4.0.12
 4.1.4
 5.0-rc
 5.1
 (was: 3.0.x)
 (was: 3.11.x)
 (was: 5.x)
 (was: 4.0.x)
 (was: 4.1.x)
 (was: 5.0.x)
Source Control Link: 
https://github.com/apache/cassandra/commit/5be57829b03ef980933ba52ecc0549787f653da4
 Resolution: Fixed
 Status: Resolved  (was: Ready to Commit)

> Backport CASSANDRA-16418: Cleanup behaviour during node decommission caused 
> missing replica
> ---
>
> Key: CASSANDRA-18824
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18824
> Project: Cassandra
>  Issue Type: Bug
>  Components: Consistency/Bootstrap and Decommission
>Reporter: Szymon Miezal
>Assignee: Szymon Miezal
>Priority: Normal
> Fix For: 3.0.30, 3.11.17, 4.0.12, 4.1.4, 5.0-rc, 5.1
>
>  Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> Node decommission triggers data transfer to other nodes. While this transfer 
> is in progress,
> receiving nodes temporarily hold token ranges in a pending state. However, 
> the cleanup process currently doesn't consider these pending ranges when 
> calculating token ownership.
> As a consequence, data that is already stored in sstables gets inadvertently 
> cleaned up.
> STR:
>  * Create two node cluster
>  * Create keyspace with RF=1
>  * Insert sample data (assert data is available when querying both nodes)
>  * Start decommission process of node 1
>  * Start running cleanup in a loop on node 2 until decommission on node 1 
> finishes
>  * Verify of all rows are in the cluster - it will fail as the previous step 
> removed some of the rows
> It seems that the cleanup process does not take into account the pending 
> ranges, it uses only the local ranges - 
> [https://github.com/apache/cassandra/blob/caad2f24f95b494d05c6b5d86a8d25fbee58d7c2/src/java/org/apache/cassandra/db/compaction/CompactionManager.java#L466].
> There are two solutions to the problem.
> One would be to change the cleanup process in a way that it start taking 
> pending ranges into account. Even thought it might sound tempting at first it 
> will require involving changes and a lot of testing effort.
> Alternatively we could interrupt/prevent the cleanup process from running 
> when any pending range on a node is detected. That sounds like a reasonable 
> alternative to the problem and something that is relatively easy to implement.
> The bug has been already fixed in 4.x with CASSANDRA-16418, the goal of this 
> ticket is to backport it to 3.x.



--
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-18824) Backport CASSANDRA-16418: Cleanup behaviour during node decommission caused missing replica

2024-02-07 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-18824:
--
Reviewers: Brandon Williams, Jacek Lewandowski, Jacek Lewandowski  (was: 
Brandon Williams, Jacek Lewandowski)
   Brandon Williams, Jacek Lewandowski, Jacek Lewandowski  (was: 
Brandon Williams, Jacek Lewandowski)
   Status: Review In Progress  (was: Patch Available)

> Backport CASSANDRA-16418: Cleanup behaviour during node decommission caused 
> missing replica
> ---
>
> Key: CASSANDRA-18824
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18824
> Project: Cassandra
>  Issue Type: Bug
>  Components: Consistency/Bootstrap and Decommission
>Reporter: Szymon Miezal
>Assignee: Szymon Miezal
>Priority: Normal
> Fix For: 3.0.x, 3.11.x, 4.0.x, 4.1.x, 5.0.x, 5.x
>
>  Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> Node decommission triggers data transfer to other nodes. While this transfer 
> is in progress,
> receiving nodes temporarily hold token ranges in a pending state. However, 
> the cleanup process currently doesn't consider these pending ranges when 
> calculating token ownership.
> As a consequence, data that is already stored in sstables gets inadvertently 
> cleaned up.
> STR:
>  * Create two node cluster
>  * Create keyspace with RF=1
>  * Insert sample data (assert data is available when querying both nodes)
>  * Start decommission process of node 1
>  * Start running cleanup in a loop on node 2 until decommission on node 1 
> finishes
>  * Verify of all rows are in the cluster - it will fail as the previous step 
> removed some of the rows
> It seems that the cleanup process does not take into account the pending 
> ranges, it uses only the local ranges - 
> [https://github.com/apache/cassandra/blob/caad2f24f95b494d05c6b5d86a8d25fbee58d7c2/src/java/org/apache/cassandra/db/compaction/CompactionManager.java#L466].
> There are two solutions to the problem.
> One would be to change the cleanup process in a way that it start taking 
> pending ranges into account. Even thought it might sound tempting at first it 
> will require involving changes and a lot of testing effort.
> Alternatively we could interrupt/prevent the cleanup process from running 
> when any pending range on a node is detected. That sounds like a reasonable 
> alternative to the problem and something that is relatively easy to implement.
> The bug has been already fixed in 4.x with CASSANDRA-16418, the goal of this 
> ticket is to backport it to 3.x.



--
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-18824) Backport CASSANDRA-16418: Cleanup behaviour during node decommission caused missing replica

2024-02-07 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-18824:
--
Status: Ready to Commit  (was: Review In Progress)

> Backport CASSANDRA-16418: Cleanup behaviour during node decommission caused 
> missing replica
> ---
>
> Key: CASSANDRA-18824
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18824
> Project: Cassandra
>  Issue Type: Bug
>  Components: Consistency/Bootstrap and Decommission
>Reporter: Szymon Miezal
>Assignee: Szymon Miezal
>Priority: Normal
> Fix For: 3.0.x, 3.11.x, 4.0.x, 4.1.x, 5.0.x, 5.x
>
>  Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> Node decommission triggers data transfer to other nodes. While this transfer 
> is in progress,
> receiving nodes temporarily hold token ranges in a pending state. However, 
> the cleanup process currently doesn't consider these pending ranges when 
> calculating token ownership.
> As a consequence, data that is already stored in sstables gets inadvertently 
> cleaned up.
> STR:
>  * Create two node cluster
>  * Create keyspace with RF=1
>  * Insert sample data (assert data is available when querying both nodes)
>  * Start decommission process of node 1
>  * Start running cleanup in a loop on node 2 until decommission on node 1 
> finishes
>  * Verify of all rows are in the cluster - it will fail as the previous step 
> removed some of the rows
> It seems that the cleanup process does not take into account the pending 
> ranges, it uses only the local ranges - 
> [https://github.com/apache/cassandra/blob/caad2f24f95b494d05c6b5d86a8d25fbee58d7c2/src/java/org/apache/cassandra/db/compaction/CompactionManager.java#L466].
> There are two solutions to the problem.
> One would be to change the cleanup process in a way that it start taking 
> pending ranges into account. Even thought it might sound tempting at first it 
> will require involving changes and a lot of testing effort.
> Alternatively we could interrupt/prevent the cleanup process from running 
> when any pending range on a node is detected. That sounds like a reasonable 
> alternative to the problem and something that is relatively easy to implement.
> The bug has been already fixed in 4.x with CASSANDRA-16418, the goal of this 
> ticket is to backport it to 3.x.



--
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-18824) Backport CASSANDRA-16418: Cleanup behaviour during node decommission caused missing replica

2024-02-07 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-18824:
---

ok, merging

> Backport CASSANDRA-16418: Cleanup behaviour during node decommission caused 
> missing replica
> ---
>
> Key: CASSANDRA-18824
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18824
> Project: Cassandra
>  Issue Type: Bug
>  Components: Consistency/Bootstrap and Decommission
>Reporter: Szymon Miezal
>Assignee: Szymon Miezal
>Priority: Normal
> Fix For: 3.0.x, 3.11.x, 4.0.x, 4.1.x, 5.0.x, 5.x
>
>  Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> Node decommission triggers data transfer to other nodes. While this transfer 
> is in progress,
> receiving nodes temporarily hold token ranges in a pending state. However, 
> the cleanup process currently doesn't consider these pending ranges when 
> calculating token ownership.
> As a consequence, data that is already stored in sstables gets inadvertently 
> cleaned up.
> STR:
>  * Create two node cluster
>  * Create keyspace with RF=1
>  * Insert sample data (assert data is available when querying both nodes)
>  * Start decommission process of node 1
>  * Start running cleanup in a loop on node 2 until decommission on node 1 
> finishes
>  * Verify of all rows are in the cluster - it will fail as the previous step 
> removed some of the rows
> It seems that the cleanup process does not take into account the pending 
> ranges, it uses only the local ranges - 
> [https://github.com/apache/cassandra/blob/caad2f24f95b494d05c6b5d86a8d25fbee58d7c2/src/java/org/apache/cassandra/db/compaction/CompactionManager.java#L466].
> There are two solutions to the problem.
> One would be to change the cleanup process in a way that it start taking 
> pending ranges into account. Even thought it might sound tempting at first it 
> will require involving changes and a lot of testing effort.
> Alternatively we could interrupt/prevent the cleanup process from running 
> when any pending range on a node is detected. That sounds like a reasonable 
> alternative to the problem and something that is relatively easy to implement.
> The bug has been already fixed in 4.x with CASSANDRA-16418, the goal of this 
> ticket is to backport it to 3.x.



--
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-18824) Backport CASSANDRA-16418: Cleanup behaviour during node decommission caused missing replica

2024-02-05 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-18824:
---

I've created https://issues.apache.org/jira/browse/CASSANDRA-19363 and 
https://issues.apache.org/jira/browse/CASSANDRA-19364 as a result of 
investigating the flakiness. The fact that it didn't fail in 5k runs, assuming 
all of those runs were executed under very similar cluster conditions, can be 
misleading. Adding a slight delay in an async code of pending ranges calculator 
leads to consistent test failures even on 4.0. This is not related to this 
issue though - it is only the test added here which can accidentally detect the 
problem. Since those separate tickets are now created, I think we can merge 
this ticket. However, those who asked for this fix should be notified about 
those possible issues.

 

> Backport CASSANDRA-16418: Cleanup behaviour during node decommission caused 
> missing replica
> ---
>
> Key: CASSANDRA-18824
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18824
> Project: Cassandra
>  Issue Type: Bug
>  Components: Consistency/Bootstrap and Decommission
>Reporter: Szymon Miezal
>Assignee: Szymon Miezal
>Priority: Normal
> Fix For: 3.0.x, 3.11.x, 4.0.x, 4.1.x, 5.0.x, 5.x
>
>  Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> Node decommission triggers data transfer to other nodes. While this transfer 
> is in progress,
> receiving nodes temporarily hold token ranges in a pending state. However, 
> the cleanup process currently doesn't consider these pending ranges when 
> calculating token ownership.
> As a consequence, data that is already stored in sstables gets inadvertently 
> cleaned up.
> STR:
>  * Create two node cluster
>  * Create keyspace with RF=1
>  * Insert sample data (assert data is available when querying both nodes)
>  * Start decommission process of node 1
>  * Start running cleanup in a loop on node 2 until decommission on node 1 
> finishes
>  * Verify of all rows are in the cluster - it will fail as the previous step 
> removed some of the rows
> It seems that the cleanup process does not take into account the pending 
> ranges, it uses only the local ranges - 
> [https://github.com/apache/cassandra/blob/caad2f24f95b494d05c6b5d86a8d25fbee58d7c2/src/java/org/apache/cassandra/db/compaction/CompactionManager.java#L466].
> There are two solutions to the problem.
> One would be to change the cleanup process in a way that it start taking 
> pending ranges into account. Even thought it might sound tempting at first it 
> will require involving changes and a lot of testing effort.
> Alternatively we could interrupt/prevent the cleanup process from running 
> when any pending range on a node is detected. That sounds like a reasonable 
> alternative to the problem and something that is relatively easy to implement.
> The bug has been already fixed in 4.x with CASSANDRA-16418, the goal of this 
> ticket is to backport it to 3.x.



--
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-19363) Weird data loss in 3.11 flakiness during decommission

2024-02-05 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19363:
--
Description: 
While testing CASSANDRA-18824 on 3.11, we noticed one flaky result of the newly 
added decommission test. It looked innocent; however, when digging into the 
logs, it turned out that, for some reason, the data that were being pumped into 
the cluster went to the decommissioned node instead of going to the working 
node.

That is, the data were inserted into a 2-node cluster (RF=1) while, say, node1 
got decommissioned. The expected behavior would be that the data land in node2 
after that. However, for some reason, in this 1/1000 flaky test, the situation 
was the opposite, and the data went to the decommissioned node, resulting in a 
total loss.

I haven't found the reason. I don't know if it is a test failure or a 
production code problem. I cannot prove that it is only a 3.11 problem. I'm 
creating this ticket because if this is a real issue and exists on newer 
branches, it is serious.
 
The logs artifact is lost in CircleCI thus I'm attaching the one I've 
downloaded earlier, unfortunately it is cleaned up a bit. The relevant part is:
{noformat}
DEBUG [node1_isolatedExecutor:3] node1 ColumnFamilyStore.java:949 - Enqueuing 
flush of tbl: 38.965KiB (0%) on-heap, 0.000KiB (0%) off-heap
DEBUG [node1_PerDiskMemtableFlushWriter_1:1] node1 Memtable.java:477 - Writing 
Memtable-tbl(5.176KiB serialized bytes, 100 ops, 0%/0% of on/off-heap limit), 
flushed range = (max(-3074457345618258603), max(3074457345618258602)]
DEBUG [node1_PerDiskMemtableFlushWriter_2:1] node1 Memtable.java:477 - Writing 
Memtable-tbl(5.176KiB serialized bytes, 100 ops, 0%/0% of on/off-heap limit), 
flushed range = (max(3074457345618258602), max(9223372036854775807)]
DEBUG [node1_PerDiskMemtableFlushWriter_0:1] node1 Memtable.java:477 - Writing 
Memtable-tbl(5.176KiB serialized bytes, 100 ops, 0%/0% of on/off-heap limit), 
flushed range = (min(-9223372036854775808), max(-3074457345618258603)]
DEBUG [node1_PerDiskMemtableFlushWriter_2:1] node1 Memtable.java:506 - 
Completed flushing 
/node1/data2/distributed_test_keyspace/tbl-7fb7aa20ab3a11eeac381f661fe8b82f/me-3-big-Data.db
 (1.059KiB) for commitlog position CommitLogPosition(segmentId=1704397819937, 
position=47614)
DEBUG [node1_PerDiskMemtableFlushWriter_1:1] node1 Memtable.java:506 - 
Completed flushing 
/node1/data1/distributed_test_keyspace/tbl-7fb7aa20ab3a11eeac381f661fe8b82f/me-2-big-Data.db
 (1.091KiB) for commitlog position CommitLogPosition(segmentId=1704397819937, 
position=47614)
DEBUG [node1_PerDiskMemtableFlushWriter_0:1] node1 Memtable.java:506 - 
Completed flushing 
/node1/data0/distributed_test_keyspace/tbl-7fb7aa20ab3a11eeac381f661fe8b82f/me-1-big-Data.db
 (1.260KiB) for commitlog position CommitLogPosition(segmentId=1704397819937, 
position=47614)
DEBUG [node1_MemtableFlushWriter:1] node1 ColumnFamilyStore.java:1267 - Flushed 
to 
[BigTableReader(path='/node1/data0/distributed_test_keyspace/tbl-7fb7aa20ab3a11eeac381f661fe8b82f/me-1-big-Data.db'),
 
BigTableReader(path='/node1/data1/distributed_test_keyspace/tbl-7fb7aa20ab3a11eeac381f661fe8b82f/me-2-big-Data.db'),
 
BigTableReader(path='/node1/data2/distributed_test_keyspace/tbl-7fb7aa20ab3a11eeac381f661fe8b82f/me-3-big-Data.db')]
 (3 sstables, 17.521KiB), biggest 5.947KiB, smallest 5.773KiB
DEBUG [node2_isolatedExecutor:1] node2 ColumnFamilyStore.java:949 - Enqueuing 
flush of tbl: 38.379KiB (0%) on-heap, 0.000KiB (0%) off-heap
DEBUG [node2_PerDiskMemtableFlushWriter_0:1] node2 Memtable.java:477 - Writing 
Memtable-tbl(5.176KiB serialized bytes, 100 ops, 0%/0% of on/off-heap limit), 
flushed range = (null, null]
DEBUG [node2_PerDiskMemtableFlushWriter_0:1] node2 Memtable.java:506 - 
Completed flushing 
/node2/data2/distributed_test_keyspace/tbl-7fb7aa20ab3a11eeac381f661fe8b82f/me-1-big-Data.db
 (3.409KiB) for commitlog position CommitLogPosition(segmentId=1704397821653, 
position=54585)
DEBUG [node2_MemtableFlushWriter:1] node2 ColumnFamilyStore.java:1267 - Flushed 
to 
[BigTableReader(path='/node2/data2/distributed_test_keyspace/tbl-7fb7aa20ab3a11eeac381f661fe8b82f/me-1-big-Data.db')]
 (1 sstables, 7.731KiB), biggest 7.731KiB, 
{noformat}

As one can see, node1 flushed 3 sstables of {{tbl}} although it is already 
decommissioned. Node 2 did not flush much. This is opposite to the passing run 
of the test.

The test code is as follows:
{code:java}
try (Cluster cluster = init(builder().withNodes(2)
 
.withTokenSupplier(evenlyDistributedTokens(2))
 
.withNodeIdTopology(NetworkTopology.singleDcNetworkTopology(2, "dc0", "rack0"))
 .withConfig(config -> 
config.with(NETWORK, GOSSIP))
 .start(), 1))
{
 

[jira] [Updated] (CASSANDRA-19363) Weird data loss in 3.11 flakiness during decommission

2024-02-05 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19363:
--
Attachment: bad.txt

> Weird data loss in 3.11 flakiness during decommission
> -
>
> Key: CASSANDRA-19363
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19363
> Project: Cassandra
>  Issue Type: Bug
>  Components: Consistency/Bootstrap and Decommission
>Reporter: Jacek Lewandowski
>Priority: Normal
> Fix For: 3.11.x
>
> Attachments: bad.txt
>
>
> While testing CASSANDRA-18824 on 3.11, we noticed one flaky result of the 
> newly added decommission test. It looked innocent; however, when digging into 
> the logs, it turned out that, for some reason, the data that were being 
> pumped into the cluster went to the decommissioned node instead of going to 
> the working node.
> That is, the data were inserted into a 2-node cluster (RF=1) while, say, 
> node2 got decommissioned. The expected behavior would be that the data land 
> in node1 after that. However, for some reason, in this 1/1000 flaky test, the 
> situation was the opposite, and the data went to the decommissioned node, 
> resulting in a total loss.
> I haven't found the reason. I don't know if it is a test failure or a 
> production code problem. I cannot prove that it is only a 3.11 problem. I'm 
> creating this ticket because if this is a real issue and exists on newer 
> branches, it is serious.
>  



--
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-19364) Data loss during decommission possible due to a delayed and unsynced pending ranges calculation

2024-02-05 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19364:
--
Description: 
This possible issue has been discovered while inspecting flaky tests of 
CASSANDRA-18824. Pending ranges calculation is executed asynchronously when the 
node is decommissioned. If the data is inserted during decommissioning, and 
pending ranges calculation is delayed for some reason (it can be as it is not 
synchronous), we may end up with partial data loss. That can be just a wrong 
test. Thus, I perceive this ticket more like a memo for further investigation 
or discussion. 

Note that this has obviously been fixed by TCM.

The test in question was:

{code:java}
try (Cluster cluster = init(builder().withNodes(2)
 
.withTokenSupplier(evenlyDistributedTokens(2))
 
.withNodeIdTopology(NetworkTopology.singleDcNetworkTopology(2, "dc0", "rack0"))
 .withConfig(config -> 
config.with(NETWORK, GOSSIP))
 .start(), 1))
{
IInvokableInstance nodeToDecommission = cluster.get(1);
IInvokableInstance nodeToRemainInCluster = cluster.get(2);

// Start decomission on nodeToDecommission
cluster.forEach(statusToDecommission(nodeToDecommission));
logger.info("Decommissioning node {}", 
nodeToDecommission.broadcastAddress());

// Add data to cluster while node is decomissioning
int numRows = 100;
cluster.schemaChange("CREATE TABLE IF NOT EXISTS " + KEYSPACE + 
".tbl (pk int, ck int, v int, PRIMARY KEY (pk, ck))");
insertData(cluster, 1, numRows, ConsistencyLevel.ONE); // 
<--- HERE - when PRC is delayed, we get there only ~50% of 
inserted rows

// Check data before cleanup on nodeToRemainInCluster
assertEquals(100, nodeToRemainInCluster.executeInternal("SELECT * 
FROM " + KEYSPACE + ".tbl").length);
}
{code}


  was:
This possible issue has been discovered while inspecting flaky tests of 
CASSANDRA-18824. Pending ranges calculation is executed asynchronously when the 
node is decommissioned. If the data is inserted during decommissioning, and 
pending ranges calculation is delayed for some reason (it can be as it is not 
synchronous), we may end up with partial data loss. That can be just a wrong 
test. Thus, I perceive this ticket more like a memo for further investigation 
or discussion. 

Note that this has obviously been fixed by TCM.


> Data loss during decommission possible due to a delayed and unsynced pending 
> ranges calculation
> ---
>
> Key: CASSANDRA-19364
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19364
> Project: Cassandra
>  Issue Type: Bug
>  Components: Consistency/Bootstrap and Decommission
>Reporter: Jacek Lewandowski
>Priority: Normal
>
> This possible issue has been discovered while inspecting flaky tests of 
> CASSANDRA-18824. Pending ranges calculation is executed asynchronously when 
> the node is decommissioned. If the data is inserted during decommissioning, 
> and pending ranges calculation is delayed for some reason (it can be as it is 
> not synchronous), we may end up with partial data loss. That can be just a 
> wrong test. Thus, I perceive this ticket more like a memo for further 
> investigation or discussion. 
> Note that this has obviously been fixed by TCM.
> The test in question was:
> {code:java}
> try (Cluster cluster = init(builder().withNodes(2)
>  
> .withTokenSupplier(evenlyDistributedTokens(2))
>  
> .withNodeIdTopology(NetworkTopology.singleDcNetworkTopology(2, "dc0", 
> "rack0"))
>  .withConfig(config -> 
> config.with(NETWORK, GOSSIP))
>  .start(), 1))
> {
> IInvokableInstance nodeToDecommission = cluster.get(1);
> IInvokableInstance nodeToRemainInCluster = cluster.get(2);
> // Start decomission on nodeToDecommission
> cluster.forEach(statusToDecommission(nodeToDecommission));
> logger.info("Decommissioning node {}", 
> nodeToDecommission.broadcastAddress());
> // Add data to cluster while node is decomissioning
> int numRows = 100;
> cluster.schemaChange("CREATE TABLE IF NOT EXISTS " + KEYSPACE + 
> ".tbl (pk int, ck int, v int, PRIMARY KEY (pk, ck))");
> insertData(cluster, 1, numRows, ConsistencyLevel.ONE); // 
> 

[jira] [Created] (CASSANDRA-19364) Data loss during decommission possible due to a delayed and unsynced pending ranges calculation

2024-02-05 Thread Jacek Lewandowski (Jira)
Jacek Lewandowski created CASSANDRA-19364:
-

 Summary: Data loss during decommission possible due to a delayed 
and unsynced pending ranges calculation
 Key: CASSANDRA-19364
 URL: https://issues.apache.org/jira/browse/CASSANDRA-19364
 Project: Cassandra
  Issue Type: Bug
  Components: Consistency/Bootstrap and Decommission
Reporter: Jacek Lewandowski


This possible issue has been discovered while inspecting flaky tests of 
CASSANDRA-18824. Pending ranges calculation is executed asynchronously when the 
node is decommissioned. If the data is inserted during decommissioning, and 
pending ranges calculation is delayed for some reason (it can be as it is not 
synchronous), we may end up with partial data loss. That can be just a wrong 
test. Thus, I perceive this ticket more like a memo for further investigation 
or discussion. 

Note that this has obviously been fixed by TCM.



--
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-19363) Weird data loss in 3.11 flakiness during decommission

2024-02-05 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19363:
--
Fix Version/s: 3.11.x

> Weird data loss in 3.11 flakiness during decommission
> -
>
> Key: CASSANDRA-19363
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19363
> Project: Cassandra
>  Issue Type: Bug
>  Components: Consistency/Bootstrap and Decommission
>Reporter: Jacek Lewandowski
>Priority: Normal
> Fix For: 3.11.x
>
>
> While testing CASSANDRA-18824 on 3.11, we noticed one flaky result of the 
> newly added decommission test. It looked innocent; however, when digging into 
> the logs, it turned out that, for some reason, the data that were being 
> pumped into the cluster went to the decommissioned node instead of going to 
> the working node.
> That is, the data were inserted into a 2-node cluster (RF=1) while, say, 
> node2 got decommissioned. The expected behavior would be that the data land 
> in node1 after that. However, for some reason, in this 1/1000 flaky test, the 
> situation was the opposite, and the data went to the decommissioned node, 
> resulting in a total loss.
> I haven't found the reason. I don't know if it is a test failure or a 
> production code problem. I cannot prove that it is only a 3.11 problem. I'm 
> creating this ticket because if this is a real issue and exists on newer 
> branches, it is serious.
>  



--
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-19363) Weird data loss in 3.11 flakiness during decommission

2024-02-05 Thread Jacek Lewandowski (Jira)
Jacek Lewandowski created CASSANDRA-19363:
-

 Summary: Weird data loss in 3.11 flakiness during decommission
 Key: CASSANDRA-19363
 URL: https://issues.apache.org/jira/browse/CASSANDRA-19363
 Project: Cassandra
  Issue Type: Bug
  Components: Consistency/Bootstrap and Decommission
Reporter: Jacek Lewandowski


While testing CASSANDRA-18824 on 3.11, we noticed one flaky result of the newly 
added decommission test. It looked innocent; however, when digging into the 
logs, it turned out that, for some reason, the data that were being pumped into 
the cluster went to the decommissioned node instead of going to the working 
node.

That is, the data were inserted into a 2-node cluster (RF=1) while, say, node2 
got decommissioned. The expected behavior would be that the data land in node1 
after that. However, for some reason, in this 1/1000 flaky test, the situation 
was the opposite, and the data went to the decommissioned node, resulting in a 
total loss.

I haven't found the reason. I don't know if it is a test failure or a 
production code problem. I cannot prove that it is only a 3.11 problem. I'm 
creating this ticket because if this is a real issue and exists on newer 
branches, it is serious.
 



--
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-13855) Implement Http Seed provider

2024-01-26 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-13855:
---

though we have already a variety of cloud providers implemented

> Implement Http Seed provider
> 
>
> Key: CASSANDRA-13855
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13855
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Legacy/Coordination, Legacy/Core
>Reporter: Jon Haddad
>Assignee: Claude Warren
>Priority: Low
>  Labels: lhf
> Fix For: 5.x
>
> Attachments: 0001-Add-URL-Seed-Provider-trunk.txt, signature.asc, 
> signature.asc, signature.asc
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Seems like including a dead simple seed provider that can fetch from a URL, 1 
> line per seed, would be useful.



--
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-13855) Implement Http Seed provider

2024-01-26 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-13855:
---

Can you guys provide some justification beyond that it would be nice to have 
this feature? Are there still real use cases for this?

> Implement Http Seed provider
> 
>
> Key: CASSANDRA-13855
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13855
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Legacy/Coordination, Legacy/Core
>Reporter: Jon Haddad
>Assignee: Claude Warren
>Priority: Low
>  Labels: lhf
> Fix For: 5.x
>
> Attachments: 0001-Add-URL-Seed-Provider-trunk.txt, signature.asc, 
> signature.asc, signature.asc
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Seems like including a dead simple seed provider that can fetch from a URL, 1 
> line per seed, would be useful.



--
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-13855) Implement Http Seed provider

2024-01-26 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-13855:
--
Reviewers: Jacek Lewandowski, Jon Haddad, Stefan Miklosovic  (was: Jon 
Haddad, Stefan Miklosovic)

> Implement Http Seed provider
> 
>
> Key: CASSANDRA-13855
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13855
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Legacy/Coordination, Legacy/Core
>Reporter: Jon Haddad
>Assignee: Claude Warren
>Priority: Low
>  Labels: lhf
> Fix For: 5.x
>
> Attachments: 0001-Add-URL-Seed-Provider-trunk.txt, signature.asc, 
> signature.asc, signature.asc
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Seems like including a dead simple seed provider that can fetch from a URL, 1 
> line per seed, would be useful.



--
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-19239) jvm-dtests crash on java 17

2024-01-26 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-19239:
---

Hey, sorry for the delay. The context is that - when running this 
{{NativeTransportEncryptionOptionsTest}} test on 5.0 it passes, in the diagrams 
above you can see the heap memory usage over the whole test. It looks OK to me; 
the peak usage is far below 1GB max heap size. With G1GC in J17 tests, the 
memory usage is a bit greater, but this is unrelated to the topic.

On the charts for the trunk, however, you can find that the heap memory usage 
is greater; it actually nearly monotonically grows with subsequent test cases. 
It is not related to the metaspace, but I found it is correlated to the number 
of threads. I haven't attached a chart for that, though I saw the threads are 
started and stopped for individual test cases on 5.0, while some threads remain 
running on the trunk branch, and the total number of threads grows on average. 

This can also be verified by uncommenting the thread leak detector in the dtest 
cluster implementation.  


> jvm-dtests crash on java 17
> ---
>
> Key: CASSANDRA-19239
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19239
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/java
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.x
>
> Attachments: image-2024-01-23-13-11-50-313.png, 
> image-2024-01-23-13-12-33-954.png, screenshot-1.png, screenshot-2.png
>
>
> This is a similar problem to the one mentioned in 
> https://issues.apache.org/jira/browse/CASSANDRA-15981
> I'm filling it because I've noticed the same problem on JDK17, perhaps we 
> should also disable unloading classes with CMS for JDK17. 
> However, I'm in favour of moving tests to G1 instead.



--
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-18840) Leakage of references to SSTable on unsuccessful operations

2024-01-26 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-18840:
---

The issue is the assertion - it is unnecessary, actually - it is too early.

The aborted streams are closed in the later step in the streaming session, so 
the fix is just to remove the assertion + provide a test case that verifies all 
references are eventually released.

*Explanation*
We open {{{}SSTableReader{}}}, and we get additional references to it for each 
{{{}CassandraOutgoingFile{}}}. In that method with assertion, we close only the 
primary {{SSTableReader}} reference, assuming all the remaining 
{{CassandraOutgoingFile}} were already closed. This is the case when everything 
is completed correctly.
However, when it doesn't, the remaining {{CassandraOugoingFile}} objects are 
closed around [this 
place|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/streaming/StreamSession.java#L557]:
{code:java}
StreamSession.java
logger.debug("[Stream #{}] Will close attached inbound 
{} and outbound {} channels", planId(), inbound, outbound);
{code}
While the method with the assertion is called earlier, concretely 
[here|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/streaming/StreamSession.java#L545]:
{code:java}
StreamSession.java
streamResult.handleSessionComplete(this);
{code}
That's why the references are released regardless of that assertion anyway.

> Leakage of references to SSTable on unsuccessful operations
> ---
>
> Key: CASSANDRA-18840
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18840
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local/SSTable
>Reporter: Stefan Miklosovic
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.0, 5.1
>
>  Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> This is a little bit tricky to describe correctly as I can talk about the 
> symptoms only. I hit this issue when testing CASSANDRA-18781.
> In a nutshell, when we go to bulkload an SSTable, it opens it in 
> SSTableLoader. If bulkloading fails on server side and exception is 
> propagated to the client, on releasing of references, it fails on this assert 
> (1). This practically means that we are leaking resources as something still 
> references that SSTable but it was not tidied up (on failure). On a happy 
> path, it is all de-referenced correctly.
> I think that this might have implications beyond SSTable loading, e.g. this 
> could happen upon streaming too.
> (1) 
> https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/io/sstable/SSTableLoader.java#L245



--
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-19239) jvm-dtests crash on java 17

2024-01-23 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-19239:
---

[~samt] / [~ifesdjeen] - there is a thread leak on trunk - do you have any 
hints how to fix it?


> jvm-dtests crash on java 17
> ---
>
> Key: CASSANDRA-19239
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19239
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/java
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.x
>
> Attachments: image-2024-01-23-13-11-50-313.png, 
> image-2024-01-23-13-12-33-954.png, screenshot-1.png, screenshot-2.png
>
>
> This is a similar problem to the one mentioned in 
> https://issues.apache.org/jira/browse/CASSANDRA-15981
> I'm filling it because I've noticed the same problem on JDK17, perhaps we 
> should also disable unloading classes with CMS for JDK17. 
> However, I'm in favour of moving tests to G1 instead.



--
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-19239) jvm-dtests crash on java 17

2024-01-23 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-19239:
---

and now the biggest mystery - when I run this test from IntelliJ, the memory 
usage looks the same as on 5.0!

> jvm-dtests crash on java 17
> ---
>
> Key: CASSANDRA-19239
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19239
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/java
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.x
>
> Attachments: image-2024-01-23-13-11-50-313.png, 
> image-2024-01-23-13-12-33-954.png, screenshot-1.png, screenshot-2.png
>
>
> This is a similar problem to the one mentioned in 
> https://issues.apache.org/jira/browse/CASSANDRA-15981
> I'm filling it because I've noticed the same problem on JDK17, perhaps we 
> should also disable unloading classes with CMS for JDK17. 
> However, I'm in favour of moving tests to G1 instead.



--
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-19239) jvm-dtests crash on java 17

2024-01-23 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-19239:
---

Let me see what we have on heap...

> jvm-dtests crash on java 17
> ---
>
> Key: CASSANDRA-19239
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19239
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/java
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.x
>
> Attachments: image-2024-01-23-13-11-50-313.png, 
> image-2024-01-23-13-12-33-954.png, screenshot-1.png, screenshot-2.png
>
>
> This is a similar problem to the one mentioned in 
> https://issues.apache.org/jira/browse/CASSANDRA-15981
> I'm filling it because I've noticed the same problem on JDK17, perhaps we 
> should also disable unloading classes with CMS for JDK17. 
> However, I'm in favour of moving tests to G1 instead.



--
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-19239) jvm-dtests crash on java 17

2024-01-23 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-19239:
---

And actually it seems like we must have a leak in trunk :(

this is from 5.0 / j11
 !screenshot-1.png! 

5.0 / j17
 !screenshot-2.png! 

J17 usage is higher than J11, but trunk uses twice as much memory


> jvm-dtests crash on java 17
> ---
>
> Key: CASSANDRA-19239
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19239
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/java
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.x
>
> Attachments: image-2024-01-23-13-11-50-313.png, 
> image-2024-01-23-13-12-33-954.png, screenshot-1.png, screenshot-2.png
>
>
> This is a similar problem to the one mentioned in 
> https://issues.apache.org/jira/browse/CASSANDRA-15981
> I'm filling it because I've noticed the same problem on JDK17, perhaps we 
> should also disable unloading classes with CMS for JDK17. 
> However, I'm in favour of moving tests to G1 instead.



--
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-19239) jvm-dtests crash on java 17

2024-01-23 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19239:
--
Attachment: screenshot-2.png

> jvm-dtests crash on java 17
> ---
>
> Key: CASSANDRA-19239
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19239
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/java
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.x
>
> Attachments: image-2024-01-23-13-11-50-313.png, 
> image-2024-01-23-13-12-33-954.png, screenshot-1.png, screenshot-2.png
>
>
> This is a similar problem to the one mentioned in 
> https://issues.apache.org/jira/browse/CASSANDRA-15981
> I'm filling it because I've noticed the same problem on JDK17, perhaps we 
> should also disable unloading classes with CMS for JDK17. 
> However, I'm in favour of moving tests to G1 instead.



--
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-19239) jvm-dtests crash on java 17

2024-01-23 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19239:
--
Attachment: screenshot-1.png

> jvm-dtests crash on java 17
> ---
>
> Key: CASSANDRA-19239
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19239
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/java
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.x
>
> Attachments: image-2024-01-23-13-11-50-313.png, 
> image-2024-01-23-13-12-33-954.png, screenshot-1.png
>
>
> This is a similar problem to the one mentioned in 
> https://issues.apache.org/jira/browse/CASSANDRA-15981
> I'm filling it because I've noticed the same problem on JDK17, perhaps we 
> should also disable unloading classes with CMS for JDK17. 
> However, I'm in favour of moving tests to G1 instead.



--
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-19239) jvm-dtests crash on java 17

2024-01-23 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-19239:
---

Referring to your other comment - why only on trunk - well, trunk differs 
significantly from 5.0 (TCM and other stuff) thus it uses more memory. On the 
other hand, as you can see, it is not that much difference between what we have 
a and what we need. I'll try to analyze the memory usage on 5.0 as well to have 
a complete view on the problem.

> jvm-dtests crash on java 17
> ---
>
> Key: CASSANDRA-19239
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19239
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/java
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.x
>
> Attachments: image-2024-01-23-13-11-50-313.png, 
> image-2024-01-23-13-12-33-954.png
>
>
> This is a similar problem to the one mentioned in 
> https://issues.apache.org/jira/browse/CASSANDRA-15981
> I'm filling it because I've noticed the same problem on JDK17, perhaps we 
> should also disable unloading classes with CMS for JDK17. 
> However, I'm in favour of moving tests to G1 instead.



--
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-19239) jvm-dtests crash on java 17

2024-01-23 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-19239:
---

If I change those settings, I'll do that only for the tests. I'm not going to 
touch the production configuration. Anyway, the immediate solution is to 
increase the heap size for tests. Those tests use {{medium}} configuration in 
CircleCI which means 2 vcpus and 4 GB. Increasing the heap size from 1G to 1.5G 
or 2GB should be fine. 1GB is pretty little for JVM dtests, especially if we 
run multiple nodes. Also, the diagrams above show that the cleanup is not 
perfect and we have a lot of leftovers after each test case. 

> jvm-dtests crash on java 17
> ---
>
> Key: CASSANDRA-19239
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19239
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/java
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.x
>
> Attachments: image-2024-01-23-13-11-50-313.png, 
> image-2024-01-23-13-12-33-954.png
>
>
> This is a similar problem to the one mentioned in 
> https://issues.apache.org/jira/browse/CASSANDRA-15981
> I'm filling it because I've noticed the same problem on JDK17, perhaps we 
> should also disable unloading classes with CMS for JDK17. 
> However, I'm in favour of moving tests to G1 instead.



--
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-19126) Streaming appears to be incompatible with different storage_compatibility_mode settings

2024-01-23 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19126:
--
  Fix Version/s: 5.1
 (was: 5.x)
  Since Version: 5.0-beta1
Source Control Link: 
https://github.com/apache/cassandra/commit/d422eb1f353d27264665bfe3357dac1160814ea1
 Resolution: Fixed
 Status: Resolved  (was: Ready to Commit)

> Streaming appears to be incompatible with different 
> storage_compatibility_mode settings
> ---
>
> Key: CASSANDRA-19126
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19126
> Project: Cassandra
>  Issue Type: Bug
>  Components: Consistency/Streaming, Legacy/Streaming and Messaging, 
> Messaging/Internode, Tool/bulk load
>Reporter: Branimir Lambov
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.0-rc, 5.1
>
>
> In particular, SSTableLoader appears to be incompatible with 
> storage_compatibility_mode: NONE, which manifests as a failure of 
> {{org.apache.cassandra.distributed.test.SSTableLoaderEncryptionOptionsTest}} 
> when the flag is turned on (found during CASSANDRA-18753 testing). Setting 
> {{storage_compatibility_mode: NONE}} in the tool configuration yaml does not 
> help (according to the docs, this setting is not picked up).
> This is likely a bigger problem as the acceptable streaming version for C* 5 
> is 12 only in legacy mode and 13 only in none, i.e. two C* 5 nodes do not 
> appear to be able to stream with each other if their setting for the 
> compatibility mode is different.



--
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-19126) Streaming appears to be incompatible with different storage_compatibility_mode settings

2024-01-23 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19126:
--
Reviewers: Berenguer Blasi, Branimir Lambov  (was: Branimir Lambov, Jacek 
Lewandowski)

> Streaming appears to be incompatible with different 
> storage_compatibility_mode settings
> ---
>
> Key: CASSANDRA-19126
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19126
> Project: Cassandra
>  Issue Type: Bug
>  Components: Consistency/Streaming, Legacy/Streaming and Messaging, 
> Messaging/Internode, Tool/bulk load
>Reporter: Branimir Lambov
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.0-rc, 5.x
>
>
> In particular, SSTableLoader appears to be incompatible with 
> storage_compatibility_mode: NONE, which manifests as a failure of 
> {{org.apache.cassandra.distributed.test.SSTableLoaderEncryptionOptionsTest}} 
> when the flag is turned on (found during CASSANDRA-18753 testing). Setting 
> {{storage_compatibility_mode: NONE}} in the tool configuration yaml does not 
> help (according to the docs, this setting is not picked up).
> This is likely a bigger problem as the acceptable streaming version for C* 5 
> is 12 only in legacy mode and 13 only in none, i.e. two C* 5 nodes do not 
> appear to be able to stream with each other if their setting for the 
> compatibility mode is different.



--
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-19126) Streaming appears to be incompatible with different storage_compatibility_mode settings

2024-01-23 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19126:
--
Status: Ready to Commit  (was: Changes Suggested)

> Streaming appears to be incompatible with different 
> storage_compatibility_mode settings
> ---
>
> Key: CASSANDRA-19126
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19126
> Project: Cassandra
>  Issue Type: Bug
>  Components: Consistency/Streaming, Legacy/Streaming and Messaging, 
> Messaging/Internode, Tool/bulk load
>Reporter: Branimir Lambov
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.0-rc, 5.x
>
>
> In particular, SSTableLoader appears to be incompatible with 
> storage_compatibility_mode: NONE, which manifests as a failure of 
> {{org.apache.cassandra.distributed.test.SSTableLoaderEncryptionOptionsTest}} 
> when the flag is turned on (found during CASSANDRA-18753 testing). Setting 
> {{storage_compatibility_mode: NONE}} in the tool configuration yaml does not 
> help (according to the docs, this setting is not picked up).
> This is likely a bigger problem as the acceptable streaming version for C* 5 
> is 12 only in legacy mode and 13 only in none, i.e. two C* 5 nodes do not 
> appear to be able to stream with each other if their setting for the 
> compatibility mode is different.



--
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-19239) jvm-dtests crash on java 17

2024-01-23 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski edited comment on CASSANDRA-19239 at 1/23/24 12:12 PM:
-

I think I have some idea for this mystery. Java 17 uses G1GC and G1GC is known 
for using more memory that declared. But it is not important in this case. We 
have {{G1HeapRegionSize=16m}} in G1 settings which is the problem. The region 
size large enough to cause 30% greater heap usage in case of that particular 
test. Another problem, which can be also responsible for simulation tests 
failures is that we force set 1G heap size for tests regardless any Xmx 
parameters defined for particular test tasks. I'm going to fix all of those 
issues and we will see.

tl;dr
with that parameter set 1m
 !image-2024-01-23-13-11-50-313.png! 

with that parameter set 16m
 !image-2024-01-23-13-12-33-954.png! 


was (Author: jlewandowski):
I think I have some idea for this mystery. Java 17 uses G1GC and G1GC is known 
for using more memory that declared. But it is not important in this case. We 
have {{G1HeapRegionSize=16m}} in G1 settings which is the problem. The region 
size large enough to cause 30% greater heap usage in case of that particular 
test. Another problem, which can be also responsible for simulation tests 
failures is that we force set 1G heap size for tests regardless any Xmx 
parameters defined for particular test tasks. I'm going to fix all of those 
issues and we will see.


> jvm-dtests crash on java 17
> ---
>
> Key: CASSANDRA-19239
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19239
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/java
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.x
>
> Attachments: image-2024-01-23-13-11-50-313.png, 
> image-2024-01-23-13-12-33-954.png
>
>
> This is a similar problem to the one mentioned in 
> https://issues.apache.org/jira/browse/CASSANDRA-15981
> I'm filling it because I've noticed the same problem on JDK17, perhaps we 
> should also disable unloading classes with CMS for JDK17. 
> However, I'm in favour of moving tests to G1 instead.



--
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-19239) jvm-dtests crash on java 17

2024-01-23 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-19239:
---

I think I have some idea for this mystery. Java 17 uses G1GC and G1GC is known 
for using more memory that declared. But it is not important in this case. We 
have {{G1HeapRegionSize=16m}} in G1 settings which is the problem. The region 
size large enough to cause 30% greater heap usage in case of that particular 
test. Another problem, which can be also responsible for simulation tests 
failures is that we force set 1G heap size for tests regardless any Xmx 
parameters defined for particular test tasks. I'm going to fix all of those 
issues and we will see.


> jvm-dtests crash on java 17
> ---
>
> Key: CASSANDRA-19239
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19239
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/java
>Reporter: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.x
>
>
> This is a similar problem to the one mentioned in 
> https://issues.apache.org/jira/browse/CASSANDRA-15981
> I'm filling it because I've noticed the same problem on JDK17, perhaps we 
> should also disable unloading classes with CMS for JDK17. 
> However, I'm in favour of moving tests to G1 instead.



--
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] [Assigned] (CASSANDRA-19239) jvm-dtests crash on java 17

2024-01-23 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski reassigned CASSANDRA-19239:
-

Assignee: Jacek Lewandowski

> jvm-dtests crash on java 17
> ---
>
> Key: CASSANDRA-19239
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19239
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/java
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.x
>
>
> This is a similar problem to the one mentioned in 
> https://issues.apache.org/jira/browse/CASSANDRA-15981
> I'm filling it because I've noticed the same problem on JDK17, perhaps we 
> should also disable unloading classes with CMS for JDK17. 
> However, I'm in favour of moving tests to G1 instead.



--
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-19239) jvm-dtests crash on java 17

2024-01-22 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-19239:
---

Thanks [~e.dimitrova], I agree, if there is no 5.0 failure, it does not make 
sense to make it a blocker for 5.0-rc.


> jvm-dtests crash on java 17
> ---
>
> Key: CASSANDRA-19239
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19239
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/java
>Reporter: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.x
>
>
> This is a similar problem to the one mentioned in 
> https://issues.apache.org/jira/browse/CASSANDRA-15981
> I'm filling it because I've noticed the same problem on JDK17, perhaps we 
> should also disable unloading classes with CMS for JDK17. 
> However, I'm in favour of moving tests to G1 instead.



--
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-19126) Streaming appears to be incompatible with different storage_compatibility_mode settings

2024-01-08 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-19126:
---

What is the conclusion here - is the PR acceptable as an immediate solution? 
[~blambov], [~Bereng] ?

> Streaming appears to be incompatible with different 
> storage_compatibility_mode settings
> ---
>
> Key: CASSANDRA-19126
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19126
> Project: Cassandra
>  Issue Type: Bug
>  Components: Consistency/Streaming, Legacy/Streaming and Messaging, 
> Messaging/Internode, Tool/bulk load
>Reporter: Branimir Lambov
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.0-rc, 5.x
>
>
> In particular, SSTableLoader appears to be incompatible with 
> storage_compatibility_mode: NONE, which manifests as a failure of 
> {{org.apache.cassandra.distributed.test.SSTableLoaderEncryptionOptionsTest}} 
> when the flag is turned on (found during CASSANDRA-18753 testing). Setting 
> {{storage_compatibility_mode: NONE}} in the tool configuration yaml does not 
> help (according to the docs, this setting is not picked up).
> This is likely a bigger problem as the acceptable streaming version for C* 5 
> is 12 only in legacy mode and 13 only in none, i.e. two C* 5 nodes do not 
> appear to be able to stream with each other if their setting for the 
> compatibility mode is different.



--
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-18824) Backport CASSANDRA-16418: Cleanup behaviour during node decommission caused missing replica

2024-01-08 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-18824:
---

[~brandon.williams] thank you for running the tests. I didn't run them, was 
waiting for feedback

> Backport CASSANDRA-16418: Cleanup behaviour during node decommission caused 
> missing replica
> ---
>
> Key: CASSANDRA-18824
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18824
> Project: Cassandra
>  Issue Type: Bug
>  Components: Consistency/Bootstrap and Decommission
>Reporter: Szymon Miezal
>Assignee: Szymon Miezal
>Priority: Normal
> Fix For: 3.0.x, 3.11.x, 4.0.x, 4.1.x, 5.0.x, 5.x
>
>  Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> Node decommission triggers data transfer to other nodes. While this transfer 
> is in progress,
> receiving nodes temporarily hold token ranges in a pending state. However, 
> the cleanup process currently doesn't consider these pending ranges when 
> calculating token ownership.
> As a consequence, data that is already stored in sstables gets inadvertently 
> cleaned up.
> STR:
>  * Create two node cluster
>  * Create keyspace with RF=1
>  * Insert sample data (assert data is available when querying both nodes)
>  * Start decommission process of node 1
>  * Start running cleanup in a loop on node 2 until decommission on node 1 
> finishes
>  * Verify of all rows are in the cluster - it will fail as the previous step 
> removed some of the rows
> It seems that the cleanup process does not take into account the pending 
> ranges, it uses only the local ranges - 
> [https://github.com/apache/cassandra/blob/caad2f24f95b494d05c6b5d86a8d25fbee58d7c2/src/java/org/apache/cassandra/db/compaction/CompactionManager.java#L466].
> There are two solutions to the problem.
> One would be to change the cleanup process in a way that it start taking 
> pending ranges into account. Even thought it might sound tempting at first it 
> will require involving changes and a lot of testing effort.
> Alternatively we could interrupt/prevent the cleanup process from running 
> when any pending range on a node is detected. That sounds like a reasonable 
> alternative to the problem and something that is relatively easy to implement.
> The bug has been already fixed in 4.x with CASSANDRA-16418, the goal of this 
> ticket is to backport it to 3.x.



--
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-18824) Backport CASSANDRA-16418: Cleanup behaviour during node decommission caused missing replica

2024-01-04 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-18824:
---

[~brandon.williams] - would you review my PRs?

> Backport CASSANDRA-16418: Cleanup behaviour during node decommission caused 
> missing replica
> ---
>
> Key: CASSANDRA-18824
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18824
> Project: Cassandra
>  Issue Type: Bug
>  Components: Consistency/Bootstrap and Decommission
>Reporter: Szymon Miezal
>Assignee: Szymon Miezal
>Priority: Normal
> Fix For: 3.0.x, 3.11.x, 4.0.x, 4.1.x, 5.0.x, 5.x
>
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> Node decommission triggers data transfer to other nodes. While this transfer 
> is in progress,
> receiving nodes temporarily hold token ranges in a pending state. However, 
> the cleanup process currently doesn't consider these pending ranges when 
> calculating token ownership.
> As a consequence, data that is already stored in sstables gets inadvertently 
> cleaned up.
> STR:
>  * Create two node cluster
>  * Create keyspace with RF=1
>  * Insert sample data (assert data is available when querying both nodes)
>  * Start decommission process of node 1
>  * Start running cleanup in a loop on node 2 until decommission on node 1 
> finishes
>  * Verify of all rows are in the cluster - it will fail as the previous step 
> removed some of the rows
> It seems that the cleanup process does not take into account the pending 
> ranges, it uses only the local ranges - 
> [https://github.com/apache/cassandra/blob/caad2f24f95b494d05c6b5d86a8d25fbee58d7c2/src/java/org/apache/cassandra/db/compaction/CompactionManager.java#L466].
> There are two solutions to the problem.
> One would be to change the cleanup process in a way that it start taking 
> pending ranges into account. Even thought it might sound tempting at first it 
> will require involving changes and a lot of testing effort.
> Alternatively we could interrupt/prevent the cleanup process from running 
> when any pending range on a node is detected. That sounds like a reasonable 
> alternative to the problem and something that is relatively easy to implement.
> The bug has been already fixed in 4.x with CASSANDRA-16418, the goal of this 
> ticket is to backport it to 3.x.



--
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-18824) Backport CASSANDRA-16418: Cleanup behaviour during node decommission caused missing replica

2024-01-04 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-18824:
---

np, I'll handle that in the PRs

> Backport CASSANDRA-16418: Cleanup behaviour during node decommission caused 
> missing replica
> ---
>
> Key: CASSANDRA-18824
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18824
> Project: Cassandra
>  Issue Type: Bug
>  Components: Consistency/Bootstrap and Decommission
>Reporter: Szymon Miezal
>Assignee: Szymon Miezal
>Priority: Normal
> Fix For: 3.0.x, 3.11.x, 4.0.x, 4.1.x, 5.0.x, 5.x
>
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> Node decommission triggers data transfer to other nodes. While this transfer 
> is in progress,
> receiving nodes temporarily hold token ranges in a pending state. However, 
> the cleanup process currently doesn't consider these pending ranges when 
> calculating token ownership.
> As a consequence, data that is already stored in sstables gets inadvertently 
> cleaned up.
> STR:
>  * Create two node cluster
>  * Create keyspace with RF=1
>  * Insert sample data (assert data is available when querying both nodes)
>  * Start decommission process of node 1
>  * Start running cleanup in a loop on node 2 until decommission on node 1 
> finishes
>  * Verify of all rows are in the cluster - it will fail as the previous step 
> removed some of the rows
> It seems that the cleanup process does not take into account the pending 
> ranges, it uses only the local ranges - 
> [https://github.com/apache/cassandra/blob/caad2f24f95b494d05c6b5d86a8d25fbee58d7c2/src/java/org/apache/cassandra/db/compaction/CompactionManager.java#L466].
> There are two solutions to the problem.
> One would be to change the cleanup process in a way that it start taking 
> pending ranges into account. Even thought it might sound tempting at first it 
> will require involving changes and a lot of testing effort.
> Alternatively we could interrupt/prevent the cleanup process from running 
> when any pending range on a node is detected. That sounds like a reasonable 
> alternative to the problem and something that is relatively easy to implement.
> The bug has been already fixed in 4.x with CASSANDRA-16418, the goal of this 
> ticket is to backport it to 3.x.



--
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-18824) Backport CASSANDRA-16418: Cleanup behaviour during node decommission caused missing replica

2024-01-04 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-18824:
---

Compilation fails on some branches - I've created PRs yesterday, they are 
attached in the links section. I'm applying some fixes on each of them. When 
ready, I'll rerun the CI

> Backport CASSANDRA-16418: Cleanup behaviour during node decommission caused 
> missing replica
> ---
>
> Key: CASSANDRA-18824
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18824
> Project: Cassandra
>  Issue Type: Bug
>  Components: Consistency/Bootstrap and Decommission
>Reporter: Szymon Miezal
>Assignee: Szymon Miezal
>Priority: Normal
> Fix For: 3.0.x, 3.11.x, 4.0.x, 4.1.x, 5.0.x, 5.x
>
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> Node decommission triggers data transfer to other nodes. While this transfer 
> is in progress,
> receiving nodes temporarily hold token ranges in a pending state. However, 
> the cleanup process currently doesn't consider these pending ranges when 
> calculating token ownership.
> As a consequence, data that is already stored in sstables gets inadvertently 
> cleaned up.
> STR:
>  * Create two node cluster
>  * Create keyspace with RF=1
>  * Insert sample data (assert data is available when querying both nodes)
>  * Start decommission process of node 1
>  * Start running cleanup in a loop on node 2 until decommission on node 1 
> finishes
>  * Verify of all rows are in the cluster - it will fail as the previous step 
> removed some of the rows
> It seems that the cleanup process does not take into account the pending 
> ranges, it uses only the local ranges - 
> [https://github.com/apache/cassandra/blob/caad2f24f95b494d05c6b5d86a8d25fbee58d7c2/src/java/org/apache/cassandra/db/compaction/CompactionManager.java#L466].
> There are two solutions to the problem.
> One would be to change the cleanup process in a way that it start taking 
> pending ranges into account. Even thought it might sound tempting at first it 
> will require involving changes and a lot of testing effort.
> Alternatively we could interrupt/prevent the cleanup process from running 
> when any pending range on a node is detected. That sounds like a reasonable 
> alternative to the problem and something that is relatively easy to implement.
> The bug has been already fixed in 4.x with CASSANDRA-16418, the goal of this 
> ticket is to backport it to 3.x.



--
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-19126) Streaming appears to be incompatible with different storage_compatibility_mode settings

2024-01-03 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-19126:
---

So the rule will be like - if it is a client, it is assumed it runs outside the 
server and should accept all protocol versions. If it is a tool, it will just 
use the server configuration. As I looked at what we consider tools and 
clients, it seems tools operate on existing sstable files in data directories. 
BulkLoader was also considered a tool, but I think it is more appropriate to 
consider it a client. Changed that and made it work with client initialization. 

> Streaming appears to be incompatible with different 
> storage_compatibility_mode settings
> ---
>
> Key: CASSANDRA-19126
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19126
> Project: Cassandra
>  Issue Type: Bug
>  Components: Consistency/Streaming, Legacy/Streaming and Messaging, 
> Messaging/Internode, Tool/bulk load
>Reporter: Branimir Lambov
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.0-rc, 5.x
>
>
> In particular, SSTableLoader appears to be incompatible with 
> storage_compatibility_mode: NONE, which manifests as a failure of 
> {{org.apache.cassandra.distributed.test.SSTableLoaderEncryptionOptionsTest}} 
> when the flag is turned on (found during CASSANDRA-18753 testing). Setting 
> {{storage_compatibility_mode: NONE}} in the tool configuration yaml does not 
> help (according to the docs, this setting is not picked up).
> This is likely a bigger problem as the acceptable streaming version for C* 5 
> is 12 only in legacy mode and 13 only in none, i.e. two C* 5 nodes do not 
> appear to be able to stream with each other if their setting for the 
> compatibility mode is different.



--
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-16565) Remove dependency on sigar

2024-01-03 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-16565:
---

I've left few comments.

> Remove dependency on sigar
> --
>
> Key: CASSANDRA-16565
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16565
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Build
>Reporter: David Capwell
>Assignee: Claude Warren
>Priority: Normal
> Fix For: 5.x
>
>
> sigar is used to check if the environment has good settings for running C*, 
> but requires we bundle a lot of native libraries to perform this check (which 
> can also be done elsewhere).  This project also appears to be dead as the 
> last commit was around 6 years ago.
> With the move to resolve artifacts rather than commit them, removing this 
> dependency would remove majority of the artifacts fetched from GitHub.



--
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-19239) jvm-dtests crash on java 17

2024-01-03 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski edited comment on CASSANDRA-19239 at 1/3/24 11:02 AM:


https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/1252/workflows/234ccc92-65f2-4adb-a68a-a5505398f4d0/jobs/63795/parallel-runs/7?filterBy=FAILED

https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/1252/workflows/33925172-aab5-43be-9707-4ffece98d926/jobs/63798

https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/1252/workflows/b10132a7-1b4f-44d0-8808-f19a3b5fde69/jobs/63797


was (Author: jlewandowski):
https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/1252/workflows/234ccc92-65f2-4adb-a68a-a5505398f4d0/jobs/63795/parallel-runs/7?filterBy=FAILED

> jvm-dtests crash on java 17
> ---
>
> Key: CASSANDRA-19239
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19239
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/java
>Reporter: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.0-rc, 5.1
>
>
> This is a similar problem to the one mentioned in 
> https://issues.apache.org/jira/browse/CASSANDRA-15981
> I'm filling it because I've noticed the same problem on JDK17, perhaps we 
> should also disable unloading classes with CMS for JDK17. 
> However, I'm in favour of moving tests to G1 instead.



--
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-19239) jvm-dtests crash on java 17

2024-01-03 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-19239:
---

https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/1252/workflows/234ccc92-65f2-4adb-a68a-a5505398f4d0/jobs/63795/parallel-runs/7?filterBy=FAILED

> jvm-dtests crash on java 17
> ---
>
> Key: CASSANDRA-19239
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19239
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/java
>Reporter: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.0-rc, 5.1
>
>
> This is a similar problem to the one mentioned in 
> https://issues.apache.org/jira/browse/CASSANDRA-15981
> I'm filling it because I've noticed the same problem on JDK17, perhaps we 
> should also disable unloading classes with CMS for JDK17. 
> However, I'm in favour of moving tests to G1 instead.



--
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-19126) Streaming appears to be incompatible with different storage_compatibility_mode settings

2024-01-02 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski edited comment on CASSANDRA-19126 at 1/2/24 8:40 AM:
---

By running tests, I realized I don't know what the Scrubber should do, which 
resulting format should it choose? Maybe we need to provide that explicitly? 
what do you think?

EDIT: After thinking about it a bit, Scrubber is not actually something to be 
run outside of the server, or at least, it would be pretty rare. Therefore, it 
should take the server configuration. I'll also consider letting the user 
provide the target format/version through the command line. 


was (Author: jlewandowski):
By running tests, I realized I don't know what the Scrubber should do, which 
resulting format should it choose? Maybe we need to provide that explicitly? 
what do you think?

> Streaming appears to be incompatible with different 
> storage_compatibility_mode settings
> ---
>
> Key: CASSANDRA-19126
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19126
> Project: Cassandra
>  Issue Type: Bug
>  Components: Consistency/Streaming, Legacy/Streaming and Messaging, 
> Messaging/Internode, Tool/bulk load
>Reporter: Branimir Lambov
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.0-rc, 5.x
>
>
> In particular, SSTableLoader appears to be incompatible with 
> storage_compatibility_mode: NONE, which manifests as a failure of 
> {{org.apache.cassandra.distributed.test.SSTableLoaderEncryptionOptionsTest}} 
> when the flag is turned on (found during CASSANDRA-18753 testing). Setting 
> {{storage_compatibility_mode: NONE}} in the tool configuration yaml does not 
> help (according to the docs, this setting is not picked up).
> This is likely a bigger problem as the acceptable streaming version for C* 5 
> is 12 only in legacy mode and 13 only in none, i.e. two C* 5 nodes do not 
> appear to be able to stream with each other if their setting for the 
> compatibility mode is different.



--
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-19126) Streaming appears to be incompatible with different storage_compatibility_mode settings

2023-12-22 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-19126:
---

By running tests, I realized I don't know what the Scrubber should do, which 
resulting format should it choose? Maybe we need to provide that explicitly? 
what do you think?

> Streaming appears to be incompatible with different 
> storage_compatibility_mode settings
> ---
>
> Key: CASSANDRA-19126
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19126
> Project: Cassandra
>  Issue Type: Bug
>  Components: Consistency/Streaming, Legacy/Streaming and Messaging, 
> Messaging/Internode, Tool/bulk load
>Reporter: Branimir Lambov
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.0-rc, 5.x
>
>
> In particular, SSTableLoader appears to be incompatible with 
> storage_compatibility_mode: NONE, which manifests as a failure of 
> {{org.apache.cassandra.distributed.test.SSTableLoaderEncryptionOptionsTest}} 
> when the flag is turned on (found during CASSANDRA-18753 testing). Setting 
> {{storage_compatibility_mode: NONE}} in the tool configuration yaml does not 
> help (according to the docs, this setting is not picked up).
> This is likely a bigger problem as the acceptable streaming version for C* 5 
> is 12 only in legacy mode and 13 only in none, i.e. two C* 5 nodes do not 
> appear to be able to stream with each other if their setting for the 
> compatibility mode is different.



--
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-18902) Test failure: org.apache.cassandra.distributed.test.MigrationCoordinatorTest.explicitEndpointIgnore

2023-12-22 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-18902:
--
  Since Version: 4.1.0
Source Control Link: 
https://github.com/apache/cassandra/commit/3edca0041caf95a03453c533dc70bdc62e6dabd9
 Resolution: Fixed
 Status: Resolved  (was: Ready to Commit)

> Test failure: 
> org.apache.cassandra.distributed.test.MigrationCoordinatorTest.explicitEndpointIgnore
> ---
>
> Key: CASSANDRA-18902
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18902
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/java
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 4.1.x, 5.0-rc, 5.x
>
>
> Repeated run from `cassandra-4.1` 
> [https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/941/workflows/46fc6cb7-135e-4862-b9d3-6996c0993de8]
>  



--
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-18902) Test failure: org.apache.cassandra.distributed.test.MigrationCoordinatorTest.explicitEndpointIgnore

2023-12-22 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-18902:
--
Status: Ready to Commit  (was: Review In Progress)

> Test failure: 
> org.apache.cassandra.distributed.test.MigrationCoordinatorTest.explicitEndpointIgnore
> ---
>
> Key: CASSANDRA-18902
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18902
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/java
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 4.1.x, 5.0-rc, 5.x
>
>
> Repeated run from `cassandra-4.1` 
> [https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/941/workflows/46fc6cb7-135e-4862-b9d3-6996c0993de8]
>  



--
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-18263) Update gc settings in build.xml

2023-12-22 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-18263:
---

There is a reason to move to G1GC. We need to explicitly disable class 
unloading for CMS which causes OOM problems in some runs. We also need to 
devote much higher resources to the longer JVM Dtests. Since we use G1GC in 
production as a default configuration, we should use it in tests as well.  I'm 
going to fix this because I'm tired dealing with OOM on CI every now and then.

> Update gc settings in build.xml
> ---
>
> Key: CASSANDRA-18263
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18263
> Project: Cassandra
>  Issue Type: Task
>  Components: Local/Config
>Reporter: Ekaterina Dimitrova
>Priority: Normal
> Fix For: 5.x
>
>
> As part of CASSANDRA-18027 we switched trunk to default to G1GC. We need to 
> update also our test settings in build.xml to test with what we default to in 
> trunk
> CC [~mck] 



--
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] [Assigned] (CASSANDRA-18263) Update gc settings in build.xml

2023-12-22 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski reassigned CASSANDRA-18263:
-

Assignee: Jacek Lewandowski

> Update gc settings in build.xml
> ---
>
> Key: CASSANDRA-18263
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18263
> Project: Cassandra
>  Issue Type: Task
>  Components: Local/Config
>Reporter: Ekaterina Dimitrova
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.x
>
>
> As part of CASSANDRA-18027 we switched trunk to default to G1GC. We need to 
> update also our test settings in build.xml to test with what we default to in 
> trunk
> CC [~mck] 



--
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-19239) jvm-dtests crash on java 17

2023-12-22 Thread Jacek Lewandowski (Jira)
Jacek Lewandowski created CASSANDRA-19239:
-

 Summary: jvm-dtests crash on java 17
 Key: CASSANDRA-19239
 URL: https://issues.apache.org/jira/browse/CASSANDRA-19239
 Project: Cassandra
  Issue Type: Bug
  Components: Test/dtest/java
Reporter: Jacek Lewandowski


This is a similar problem to the one mentioned in 
https://issues.apache.org/jira/browse/CASSANDRA-15981

I'm filling it because I've noticed the same problem on JDK17, perhaps we 
should also disable unloading classes with CMS for JDK17. 

However, I'm in favour of moving tests to G1 instead.



--
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-19239) jvm-dtests crash on java 17

2023-12-22 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19239:
--
Fix Version/s: 5.0-rc
   5.1

> jvm-dtests crash on java 17
> ---
>
> Key: CASSANDRA-19239
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19239
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/java
>Reporter: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.0-rc, 5.1
>
>
> This is a similar problem to the one mentioned in 
> https://issues.apache.org/jira/browse/CASSANDRA-15981
> I'm filling it because I've noticed the same problem on JDK17, perhaps we 
> should also disable unloading classes with CMS for JDK17. 
> However, I'm in favour of moving tests to G1 instead.



--
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-15981) jvm-dtests crash on java 11

2023-12-22 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-15981:
---

does it mean we have the same problem on JDK17?

> jvm-dtests crash on java 11
> ---
>
> Key: CASSANDRA-15981
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15981
> Project: Cassandra
>  Issue Type: Bug
>  Components: Build
>Reporter: David Capwell
>Assignee: David Capwell
>Priority: Normal
> Fix For: 4.0-beta2, 4.0
>
>
> There is a race condition bug with CMS and class unloading which cause the 
> JVM to crash.  Since jvm-dtests rely on class loaders and unloading, this 
> causes sporadic JVM crashes that look like the following in CI logs
> {code}
> junit.framework.AssertionFailedError: Forked Java VM exited abnormally. 
> Please note the time in the report does not reflect the time until the VM 
> exit.
>   at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
>   at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.base/java.util.Vector.forEach(Vector.java:1387)
>   at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
>   at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
>   at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.base/java.util.Vector.forEach(Vector.java:1387)
>   at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
>   at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>   at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.base/java.lang.Thread.run(Thread.java:834)
> {code}
> Here is the JVM bug https://bugs.openjdk.java.net/browse/JDK-8252955



--
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-15981) jvm-dtests crash on java 11

2023-12-22 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-15981:
---

It just failed here:
https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/1252/workflows/b10132a7-1b4f-44d0-8808-f19a3b5fde69/jobs/63797/tests

It is java17 run of java11 compiled class


> jvm-dtests crash on java 11
> ---
>
> Key: CASSANDRA-15981
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15981
> Project: Cassandra
>  Issue Type: Bug
>  Components: Build
>Reporter: David Capwell
>Assignee: David Capwell
>Priority: Normal
> Fix For: 4.0-beta2, 4.0
>
>
> There is a race condition bug with CMS and class unloading which cause the 
> JVM to crash.  Since jvm-dtests rely on class loaders and unloading, this 
> causes sporadic JVM crashes that look like the following in CI logs
> {code}
> junit.framework.AssertionFailedError: Forked Java VM exited abnormally. 
> Please note the time in the report does not reflect the time until the VM 
> exit.
>   at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
>   at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.base/java.util.Vector.forEach(Vector.java:1387)
>   at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
>   at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
>   at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.base/java.util.Vector.forEach(Vector.java:1387)
>   at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
>   at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>   at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.base/java.lang.Thread.run(Thread.java:834)
> {code}
> Here is the JVM bug https://bugs.openjdk.java.net/browse/JDK-8252955



--
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-19228) Test failure: write_failures_test.TestWriteFailures.test_mutation_any

2023-12-21 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19228:
--
Fix Version/s: 5.1

> Test failure: write_failures_test.TestWriteFailures.test_mutation_any
> -
>
> Key: CASSANDRA-19228
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19228
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/python
>Reporter: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.1
>
>
> https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/1252/workflows/a10c9859-3ded-42eb-804b-97dad97bbd2f/jobs/63753/tests
> {noformat}
> failed on teardown with "Failed: Unexpected error found in node logs (see 
> stdout for full details). Errors: [[node3] 'ERROR [GossipStage:1] 2023-12-21 
> 16:51:00,081 MessagingService.java:488 - Cannot send the message 
> (from:/127.0.0.3:7000, type:GOSSIP verb:GOSSIP_DIGEST_ACK2) to 
> /127.0.0.2:7000, as messaging service is shutting down']"
> Unexpected error found in node logs (see stdout for full details). Errors: 
> [[node3] 'ERROR [GossipStage:1] 2023-12-21 16:51:00,081 
> MessagingService.java:488 - Cannot send the message (from:/127.0.0.3:7000, 
> type:GOSSIP verb:GOSSIP_DIGEST_ACK2) to /127.0.0.2:7000, as messaging service 
> is shutting down']
> {noformat}



--
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-19228) Test failure: write_failures_test.TestWriteFailures.test_mutation_any

2023-12-21 Thread Jacek Lewandowski (Jira)
Jacek Lewandowski created CASSANDRA-19228:
-

 Summary: Test failure: 
write_failures_test.TestWriteFailures.test_mutation_any
 Key: CASSANDRA-19228
 URL: https://issues.apache.org/jira/browse/CASSANDRA-19228
 Project: Cassandra
  Issue Type: Bug
  Components: Test/dtest/python
Reporter: Jacek Lewandowski


https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/1252/workflows/a10c9859-3ded-42eb-804b-97dad97bbd2f/jobs/63753/tests

{noformat}
failed on teardown with "Failed: Unexpected error found in node logs (see 
stdout for full details). Errors: [[node3] 'ERROR [GossipStage:1] 2023-12-21 
16:51:00,081 MessagingService.java:488 - Cannot send the message 
(from:/127.0.0.3:7000, type:GOSSIP verb:GOSSIP_DIGEST_ACK2) to /127.0.0.2:7000, 
as messaging service is shutting down']"
Unexpected error found in node logs (see stdout for full details). Errors: 
[[node3] 'ERROR [GossipStage:1] 2023-12-21 16:51:00,081 
MessagingService.java:488 - Cannot send the message (from:/127.0.0.3:7000, 
type:GOSSIP verb:GOSSIP_DIGEST_ACK2) to /127.0.0.2:7000, as messaging service 
is shutting down']
{noformat}




--
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-19227) Test failure: org.apache.cassandra.distributed.test.ring.DecommissionTest.testDecomDirectoryMinMaxVersions

2023-12-21 Thread Jacek Lewandowski (Jira)
Jacek Lewandowski created CASSANDRA-19227:
-

 Summary: Test failure: 
org.apache.cassandra.distributed.test.ring.DecommissionTest.testDecomDirectoryMinMaxVersions
 Key: CASSANDRA-19227
 URL: https://issues.apache.org/jira/browse/CASSANDRA-19227
 Project: Cassandra
  Issue Type: Bug
  Components: Test/dtest/java
Reporter: Jacek Lewandowski


https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/1252/workflows/234ccc92-65f2-4adb-a68a-a5505398f4d0/jobs/63795/tests

{noformat}
java.lang.RuntimeException: java.util.concurrent.TimeoutException
at org.apache.cassandra.utils.Throwables.maybeFail(Throwables.java:79)
at 
org.apache.cassandra.utils.FBUtilities.waitOnFutures(FBUtilities.java:547)
at 
org.apache.cassandra.distributed.impl.AbstractCluster.close(AbstractCluster.java:1098)
at 
org.apache.cassandra.distributed.test.ring.DecommissionTest.testDecomDirectoryMinMaxVersions(DecommissionTest.java:130)
at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Caused by: java.util.concurrent.TimeoutException
at 
org.apache.cassandra.utils.concurrent.AbstractFuture.get(AbstractFuture.java:253)
at 
org.apache.cassandra.utils.FBUtilities.waitOnFutures(FBUtilities.java:539)
{noformat}




--
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-19227) Test failure: org.apache.cassandra.distributed.test.ring.DecommissionTest.testDecomDirectoryMinMaxVersions

2023-12-21 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19227:
--
Fix Version/s: 5.1

> Test failure: 
> org.apache.cassandra.distributed.test.ring.DecommissionTest.testDecomDirectoryMinMaxVersions
> --
>
> Key: CASSANDRA-19227
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19227
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/java
>Reporter: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.1
>
>
> https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/1252/workflows/234ccc92-65f2-4adb-a68a-a5505398f4d0/jobs/63795/tests
> {noformat}
> java.lang.RuntimeException: java.util.concurrent.TimeoutException
>   at org.apache.cassandra.utils.Throwables.maybeFail(Throwables.java:79)
>   at 
> org.apache.cassandra.utils.FBUtilities.waitOnFutures(FBUtilities.java:547)
>   at 
> org.apache.cassandra.distributed.impl.AbstractCluster.close(AbstractCluster.java:1098)
>   at 
> org.apache.cassandra.distributed.test.ring.DecommissionTest.testDecomDirectoryMinMaxVersions(DecommissionTest.java:130)
>   at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
>   at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> Caused by: java.util.concurrent.TimeoutException
>   at 
> org.apache.cassandra.utils.concurrent.AbstractFuture.get(AbstractFuture.java:253)
>   at 
> org.apache.cassandra.utils.FBUtilities.waitOnFutures(FBUtilities.java:539)
> {noformat}



--
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-19226) Test Failure: pushed_notifications_test.TestPushedNotifications.test_move_single_node_localhost

2023-12-21 Thread Jacek Lewandowski (Jira)
Jacek Lewandowski created CASSANDRA-19226:
-

 Summary: Test Failure: 
pushed_notifications_test.TestPushedNotifications.test_move_single_node_localhost
 Key: CASSANDRA-19226
 URL: https://issues.apache.org/jira/browse/CASSANDRA-19226
 Project: Cassandra
  Issue Type: Bug
  Components: Test/dtest/python
Reporter: Jacek Lewandowski


https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/1252/workflows/234ccc92-65f2-4adb-a68a-a5505398f4d0/jobs/63791/tests

{noformat}
AssertionError: assert 'MOVED_NODE' == 'NEW_NODE'
  - NEW_NODE
  + MOVED_NODE
self = 

@pytest.mark.no_vnodes
def test_move_single_node_localhost(self):
"""
Test that we don't get NODE_MOVED notifications from nodes other than 
the local one,
when rpc_address is set to localhost (127.0.0.1) Pre 4.0.
Test that we get NODE_MOVED notifications from nodes other than the 
local one,
when rpc_address is set to localhost (127.0.0.1) Post 4.0.
@jira_ticket  CASSANDRA-10052
@jira_ticket  CASSANDRA-15677

To set-up this test we override the rpc_address to "localhost 
(127.0.0.1)" for all nodes, and
therefore we must change the rpc port or else processes won't start.
"""
cluster = self.cluster
cluster.populate(3)

self.change_rpc_address_to_localhost()

cluster.start()

waiters = [NotificationWaiter(self, node, ["TOPOLOGY_CHANGE"])
   for node in list(self.cluster.nodes.values())]

# The first node sends NEW_NODE for the other 2 nodes during startup, 
in case they are
# late due to network delays let's block a bit longer
logger.debug("Waiting for unwanted notifications...")
waiters[0].wait_for_notifications(timeout=30, num_notifications=2)
waiters[0].clear_notifications()

logger.debug("Issuing move command")
node1 = list(self.cluster.nodes.values())[0]
node1.move("123")

version = self.cluster.cassandra_version()
for waiter in waiters:
logger.debug("Waiting for notification from 
{}".format(waiter.address,))
notifications = waiter.wait_for_notifications(30.0)
if version >= '4.0':
# CASSANDRA-15677 Post 4.0 we'll get the notifications. Check 
that they are for the right node.
assert 1 == len(notifications), notifications
notification = notifications[0]
change_type = notification["change_type"]
address, port = notification["address"]
>   assert "MOVED_NODE" == change_type
E   AssertionError: assert 'MOVED_NODE' == 'NEW_NODE'
E - NEW_NODE
E + MOVED_NODE

pushed_notifications_test.py:163: AssertionError
{noformat}




--
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-19226) Test Failure: pushed_notifications_test.TestPushedNotifications.test_move_single_node_localhost

2023-12-21 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19226:
--
Fix Version/s: 5.1

> Test Failure: 
> pushed_notifications_test.TestPushedNotifications.test_move_single_node_localhost
> ---
>
> Key: CASSANDRA-19226
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19226
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/python
>Reporter: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.1
>
>
> https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/1252/workflows/234ccc92-65f2-4adb-a68a-a5505398f4d0/jobs/63791/tests
> {noformat}
> AssertionError: assert 'MOVED_NODE' == 'NEW_NODE'
>   - NEW_NODE
>   + MOVED_NODE
> self =  0x7f4f60868dd0>
> @pytest.mark.no_vnodes
> def test_move_single_node_localhost(self):
> """
> Test that we don't get NODE_MOVED notifications from nodes other than 
> the local one,
> when rpc_address is set to localhost (127.0.0.1) Pre 4.0.
> Test that we get NODE_MOVED notifications from nodes other than the 
> local one,
> when rpc_address is set to localhost (127.0.0.1) Post 4.0.
> @jira_ticket  CASSANDRA-10052
> @jira_ticket  CASSANDRA-15677
> 
> To set-up this test we override the rpc_address to "localhost 
> (127.0.0.1)" for all nodes, and
> therefore we must change the rpc port or else processes won't start.
> """
> cluster = self.cluster
> cluster.populate(3)
> 
> self.change_rpc_address_to_localhost()
> 
> cluster.start()
> 
> waiters = [NotificationWaiter(self, node, ["TOPOLOGY_CHANGE"])
>for node in list(self.cluster.nodes.values())]
> 
> # The first node sends NEW_NODE for the other 2 nodes during startup, 
> in case they are
> # late due to network delays let's block a bit longer
> logger.debug("Waiting for unwanted notifications...")
> waiters[0].wait_for_notifications(timeout=30, num_notifications=2)
> waiters[0].clear_notifications()
> 
> logger.debug("Issuing move command")
> node1 = list(self.cluster.nodes.values())[0]
> node1.move("123")
> 
> version = self.cluster.cassandra_version()
> for waiter in waiters:
> logger.debug("Waiting for notification from 
> {}".format(waiter.address,))
> notifications = waiter.wait_for_notifications(30.0)
> if version >= '4.0':
> # CASSANDRA-15677 Post 4.0 we'll get the notifications. Check 
> that they are for the right node.
> assert 1 == len(notifications), notifications
> notification = notifications[0]
> change_type = notification["change_type"]
> address, port = notification["address"]
> >   assert "MOVED_NODE" == change_type
> E   AssertionError: assert 'MOVED_NODE' == 'NEW_NODE'
> E - NEW_NODE
> E + MOVED_NODE
> pushed_notifications_test.py:163: AssertionError
> {noformat}



--
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-19088) Test Failure: pushed_notifications_test.TestPushedNotifications.test_move_single_node

2023-12-21 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-19088:
---

failed *_localhost test : 
https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/1252/workflows/234ccc92-65f2-4adb-a68a-a5505398f4d0/jobs/63791/tests


> Test Failure: 
> pushed_notifications_test.TestPushedNotifications.test_move_single_node
> -
>
> Key: CASSANDRA-19088
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19088
> Project: Cassandra
>  Issue Type: Bug
>  Components: Test/dtest/python
>Reporter: Michael Semb Wever
>Assignee: Sam Tunnicliffe
>Priority: Normal
> Fix For: 5.1-alpha1
>
>
> In j11_dtests from CASSANDRA-19034
> https://app.circleci.com/pipelines/github/mike-tr-adamson/cassandra/402/workflows/92aacb84-fd3a-48e0-9fb2-d1e2fe6fc71a/jobs/35345/tests
> {noformat}
> AssertionError: assert 'MOVED_NODE' == 'NEW_NODE'
>   - NEW_NODE
>   + MOVED_NODE
> self =  0x7fd28ee838d0>
> @pytest.mark.no_vnodes
> def test_move_single_node(self):
> """
> @jira_ticket CASSANDRA-8516
> Moving a token should result in MOVED_NODE notifications.
> """
> self.cluster.populate(3).start()
> 
> waiters = [NotificationWaiter(self, node, ["TOPOLOGY_CHANGE"])
>for node in list(self.cluster.nodes.values())]
> 
> # The first node sends NEW_NODE for the other 2 nodes during startup, 
> in case they are
> # late due to network delays let's block a bit longer
> logger.debug("Waiting for unwanted notifications")
> waiters[0].wait_for_notifications(timeout=30, num_notifications=2)
> waiters[0].clear_notifications()
> 
> logger.debug("Issuing move command")
> node1 = list(self.cluster.nodes.values())[0]
> node1.move("123")
> 
> for waiter in waiters:
> logger.debug("Waiting for notification from 
> {}".format(waiter.address,))
> notifications = waiter.wait_for_notifications(60.0)
> assert 1 == len(notifications), notifications
> notification = notifications[0]
> change_type = notification["change_type"]
> address, port = notification["address"]
> >   assert "MOVED_NODE" == change_type
> E   AssertionError: assert 'MOVED_NODE' == 'NEW_NODE'
> E - NEW_NODE
> E + MOVED_NODE
> pushed_notifications_test.py:118: AssertionError
> {noformat}



--
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-19196) Don't allow to enable direct i/o with broken kernels

2023-12-21 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19196:
--
  Since Version: 5.0-beta1
Source Control Link: 
https://github.com/apache/cassandra/commit/f0ea12c6d7683697d9a5ca0c99c2b7dc3bc11230
 Resolution: Fixed
 Status: Resolved  (was: Ready to Commit)

> Don't allow to enable direct i/o with broken kernels
> 
>
> Key: CASSANDRA-19196
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19196
> Project: Cassandra
>  Issue Type: Bug
>  Components: Legacy/Local Write-Read Paths
>Reporter: Jacek Lewandowski
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.0-rc, 5.1
>
> Attachments: signature.asc
>
>
> https://lwn.net/Articles/954285/, found by [~rustyrazorblade]



--
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-19222) Leak - Strong self-ref loop detected in BTI

2023-12-21 Thread Jacek Lewandowski (Jira)
Jacek Lewandowski created CASSANDRA-19222:
-

 Summary: Leak - Strong self-ref loop detected in BTI
 Key: CASSANDRA-19222
 URL: https://issues.apache.org/jira/browse/CASSANDRA-19222
 Project: Cassandra
  Issue Type: Bug
  Components: Local/SSTable
Reporter: Jacek Lewandowski


https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/1233/workflows/bb617340-f1da-4550-9c87-5541469972c4/jobs/62534/tests

{noformat}
ERROR [Strong-Reference-Leak-Detector:1] 2023-12-21 09:50:33,072 Strong 
self-ref loop detected 
[/tmp/cassandra/build/test/cassandra/data/system/IndexInfo-9f5c6374d48532299a0a5094af9ad1e3/oa-1-big
private java.util.List 
org.apache.cassandra.io.sstable.format.SSTableReader$InstanceTidier.closeables-java.util.ArrayList
transient java.lang.Object[] java.util.ArrayList.elementData-[Ljava.lang.Object;
transient java.lang.Object[] 
java.util.ArrayList.elementData-org.apache.cassandra.io.util.FileHandle
final org.apache.cassandra.utils.concurrent.Ref 
org.apache.cassandra.utils.concurrent.SharedCloseableImpl.ref-org.apache.cassandra.utils.concurrent.Ref
final org.apache.cassandra.utils.concurrent.Ref$State 
org.apache.cassandra.utils.concurrent.Ref.state-org.apache.cassandra.utils.concurrent.Ref$State
final org.apache.cassandra.utils.concurrent.Ref$GlobalState 
org.apache.cassandra.utils.concurrent.Ref$State.globalState-org.apache.cassandra.utils.concurrent.Ref$GlobalState
private final org.apache.cassandra.utils.concurrent.RefCounted$Tidy 
org.apache.cassandra.utils.concurrent.Ref$GlobalState.tidy-org.apache.cassandra.io.util.FileHandle$Cleanup
final java.util.Optional 
org.apache.cassandra.io.util.FileHandle$Cleanup.chunkCache-java.util.Optional
private final java.lang.Object 
java.util.Optional.value-org.apache.cassandra.cache.ChunkCache
private final org.apache.cassandra.utils.memory.BufferPool 
org.apache.cassandra.cache.ChunkCache.bufferPool-org.apache.cassandra.utils.memory.BufferPool
private final java.util.Set 
org.apache.cassandra.utils.memory.BufferPool.localPoolReferences-java.util.Collections$SetFromMap
private final java.util.Map 
java.util.Collections$SetFromMap.m-java.util.concurrent.ConcurrentHashMap
private final java.util.Map 
java.util.Collections$SetFromMap.m-org.apache.cassandra.utils.memory.BufferPool$LocalPoolRef
private final org.apache.cassandra.utils.memory.BufferPool$MicroQueueOfChunks 
org.apache.cassandra.utils.memory.BufferPool$LocalPoolRef.chunks-org.apache.cassandra.utils.memory.BufferPool$MicroQueueOfChunks
private org.apache.cassandra.utils.memory.BufferPool$Chunk 
org.apache.cassandra.utils.memory.BufferPool$MicroQueueOfChunks.chunk0-org.apache.cassandra.utils.memory.BufferPool$Chunk
private volatile org.apache.cassandra.utils.memory.BufferPool$LocalPool 
org.apache.cassandra.utils.memory.BufferPool$Chunk.owner-org.apache.cassandra.utils.memory.BufferPool$LocalPool
private final java.lang.Thread 
org.apache.cassandra.utils.memory.BufferPool$LocalPool.owningThread-io.netty.util.concurrent.FastThreadLocalThread
private java.lang.Runnable 
java.lang.Thread.target-io.netty.util.concurrent.FastThreadLocalRunnable
private final java.lang.Runnable 
io.netty.util.concurrent.FastThreadLocalRunnable.runnable-java.util.concurrent.ThreadPoolExecutor$Worker
final java.util.concurrent.ThreadPoolExecutor 
java.util.concurrent.ThreadPoolExecutor$Worker.this$0-org.apache.cassandra.concurrent.ScheduledThreadPoolExecutorPlus
private final java.util.concurrent.BlockingQueue 
java.util.concurrent.ThreadPoolExecutor.workQueue-java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue
private final java.util.concurrent.BlockingQueue 
java.util.concurrent.ThreadPoolExecutor.workQueue-java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask
private java.util.concurrent.Callable 
java.util.concurrent.FutureTask.callable-java.util.concurrent.Executors$RunnableAdapter
private final java.lang.Runnable 
java.util.concurrent.Executors$RunnableAdapter.task-org.apache.cassandra.concurrent.ExecutionFailure$1
final java.lang.Runnable 
org.apache.cassandra.concurrent.ExecutionFailure$1.val$wrap-org.apache.cassandra.hints.HintsService$$Lambda$1142/0x000801576aa0
private final org.apache.cassandra.hints.HintsService 
org.apache.cassandra.hints.HintsService$$Lambda$1142/0x000801576aa0.arg$1-org.apache.cassandra.hints.HintsService
private final org.apache.cassandra.hints.HintsWriteExecutor 
org.apache.cassandra.hints.HintsService.writeExecutor-org.apache.cassandra.hints.HintsWriteExecutor
private final org.apache.cassandra.concurrent.ExecutorPlus 
org.apache.cassandra.hints.HintsWriteExecutor.executor-org.apache.cassandra.concurrent.SingleThreadExecutorPlus
private final java.util.HashSet 
java.util.concurrent.ThreadPoolExecutor.workers-java.util.HashSet
private transient java.util.HashMap java.util.HashSet.map-java.util.HashMap
transient 

[jira] [Updated] (CASSANDRA-19222) Leak - Strong self-ref loop detected in BTI

2023-12-21 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19222:
--
Fix Version/s: 5.0-rc
   5.1

> Leak - Strong self-ref loop detected in BTI
> ---
>
> Key: CASSANDRA-19222
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19222
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local/SSTable
>Reporter: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.0-rc, 5.1
>
>
> https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/1233/workflows/bb617340-f1da-4550-9c87-5541469972c4/jobs/62534/tests
> {noformat}
> ERROR [Strong-Reference-Leak-Detector:1] 2023-12-21 09:50:33,072 Strong 
> self-ref loop detected 
> [/tmp/cassandra/build/test/cassandra/data/system/IndexInfo-9f5c6374d48532299a0a5094af9ad1e3/oa-1-big
> private java.util.List 
> org.apache.cassandra.io.sstable.format.SSTableReader$InstanceTidier.closeables-java.util.ArrayList
> transient java.lang.Object[] 
> java.util.ArrayList.elementData-[Ljava.lang.Object;
> transient java.lang.Object[] 
> java.util.ArrayList.elementData-org.apache.cassandra.io.util.FileHandle
> final org.apache.cassandra.utils.concurrent.Ref 
> org.apache.cassandra.utils.concurrent.SharedCloseableImpl.ref-org.apache.cassandra.utils.concurrent.Ref
> final org.apache.cassandra.utils.concurrent.Ref$State 
> org.apache.cassandra.utils.concurrent.Ref.state-org.apache.cassandra.utils.concurrent.Ref$State
> final org.apache.cassandra.utils.concurrent.Ref$GlobalState 
> org.apache.cassandra.utils.concurrent.Ref$State.globalState-org.apache.cassandra.utils.concurrent.Ref$GlobalState
> private final org.apache.cassandra.utils.concurrent.RefCounted$Tidy 
> org.apache.cassandra.utils.concurrent.Ref$GlobalState.tidy-org.apache.cassandra.io.util.FileHandle$Cleanup
> final java.util.Optional 
> org.apache.cassandra.io.util.FileHandle$Cleanup.chunkCache-java.util.Optional
> private final java.lang.Object 
> java.util.Optional.value-org.apache.cassandra.cache.ChunkCache
> private final org.apache.cassandra.utils.memory.BufferPool 
> org.apache.cassandra.cache.ChunkCache.bufferPool-org.apache.cassandra.utils.memory.BufferPool
> private final java.util.Set 
> org.apache.cassandra.utils.memory.BufferPool.localPoolReferences-java.util.Collections$SetFromMap
> private final java.util.Map 
> java.util.Collections$SetFromMap.m-java.util.concurrent.ConcurrentHashMap
> private final java.util.Map 
> java.util.Collections$SetFromMap.m-org.apache.cassandra.utils.memory.BufferPool$LocalPoolRef
> private final org.apache.cassandra.utils.memory.BufferPool$MicroQueueOfChunks 
> org.apache.cassandra.utils.memory.BufferPool$LocalPoolRef.chunks-org.apache.cassandra.utils.memory.BufferPool$MicroQueueOfChunks
> private org.apache.cassandra.utils.memory.BufferPool$Chunk 
> org.apache.cassandra.utils.memory.BufferPool$MicroQueueOfChunks.chunk0-org.apache.cassandra.utils.memory.BufferPool$Chunk
> private volatile org.apache.cassandra.utils.memory.BufferPool$LocalPool 
> org.apache.cassandra.utils.memory.BufferPool$Chunk.owner-org.apache.cassandra.utils.memory.BufferPool$LocalPool
> private final java.lang.Thread 
> org.apache.cassandra.utils.memory.BufferPool$LocalPool.owningThread-io.netty.util.concurrent.FastThreadLocalThread
> private java.lang.Runnable 
> java.lang.Thread.target-io.netty.util.concurrent.FastThreadLocalRunnable
> private final java.lang.Runnable 
> io.netty.util.concurrent.FastThreadLocalRunnable.runnable-java.util.concurrent.ThreadPoolExecutor$Worker
> final java.util.concurrent.ThreadPoolExecutor 
> java.util.concurrent.ThreadPoolExecutor$Worker.this$0-org.apache.cassandra.concurrent.ScheduledThreadPoolExecutorPlus
> private final java.util.concurrent.BlockingQueue 
> java.util.concurrent.ThreadPoolExecutor.workQueue-java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue
> private final java.util.concurrent.BlockingQueue 
> java.util.concurrent.ThreadPoolExecutor.workQueue-java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask
> private java.util.concurrent.Callable 
> java.util.concurrent.FutureTask.callable-java.util.concurrent.Executors$RunnableAdapter
> private final java.lang.Runnable 
> java.util.concurrent.Executors$RunnableAdapter.task-org.apache.cassandra.concurrent.ExecutionFailure$1
> final java.lang.Runnable 
> org.apache.cassandra.concurrent.ExecutionFailure$1.val$wrap-org.apache.cassandra.hints.HintsService$$Lambda$1142/0x000801576aa0
> private final org.apache.cassandra.hints.HintsService 
> org.apache.cassandra.hints.HintsService$$Lambda$1142/0x000801576aa0.arg$1-org.apache.cassandra.hints.HintsService
> private final org.apache.cassandra.hints.HintsWriteExecutor 
> 

[jira] [Created] (CASSANDRA-19220) Test failure: FBUtilitiesTest.testPrettyPrintAndParseRandom

2023-12-21 Thread Jacek Lewandowski (Jira)
Jacek Lewandowski created CASSANDRA-19220:
-

 Summary: Test failure: 
FBUtilitiesTest.testPrettyPrintAndParseRandom
 Key: CASSANDRA-19220
 URL: https://issues.apache.org/jira/browse/CASSANDRA-19220
 Project: Cassandra
  Issue Type: Bug
  Components: Test/unit
Reporter: Jacek Lewandowski


https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/1233/workflows/5ae4f362-a864-4cc5-82ab-6148479979fc/jobs/63109/tests

{noformat}
junit.framework.AssertionFailedError: expected:<1.7976630058631505E308> but 
was:
at 
org.apache.cassandra.utils.FBUtilitiesTest.testPrettyPrintAndParseRandom(FBUtilitiesTest.java:372)
at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
{noformat}

Although it failed on trunk only, there is probably a lack of covered and API 
contract for the inf values




--
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-19181) Failed instances may stay partially running even after closing the cluster in dtest-api

2023-12-21 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski commented on CASSANDRA-19181:
---

Here are other potential issues with cluster shutdown:

https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/1243/workflows/6f790596-afe9-4872-bfb9-5935a54f223f/jobs/62823/tests
{noformat}
org.apache.cassandra.distributed.shared.ShutdownException: Uncaught exceptions 
were thrown during test
at 
org.apache.cassandra.distributed.impl.AbstractCluster.checkAndResetUncaughtExceptions(AbstractCluster.java:1117)
at 
org.apache.cassandra.distributed.impl.AbstractCluster.close(AbstractCluster.java:1103)
at 
org.apache.cassandra.distributed.test.FailingRepairTest.teardownCluster(FailingRepairTest.java:161)
at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Suppressed: java.util.concurrent.RejectedExecutionException: 
ScheduledThreadPoolExecutor has shut down.
at 
org.apache.cassandra.concurrent.ScheduledThreadPoolExecutorPlus.lambda$static$0(ScheduledThreadPoolExecutorPlus.java:58)
at 
java.base/java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:825)
at 
java.base/java.util.concurrent.ScheduledThreadPoolExecutor.delayedExecute(ScheduledThreadPoolExecutor.java:340)
at 
java.base/java.util.concurrent.ScheduledThreadPoolExecutor.schedule(ScheduledThreadPoolExecutor.java:562)
at 
org.apache.cassandra.concurrent.ScheduledThreadPoolExecutorPlus.schedule(ScheduledThreadPoolExecutorPlus.java:81)
at 
org.apache.cassandra.concurrent.ScheduledThreadPoolExecutorPlus.scheduleSelfRecurring(ScheduledThreadPoolExecutorPlus.java:106)
at 
org.apache.cassandra.auth.CassandraRoleManager.scheduleSetupTask(CassandraRoleManager.java:463)
at 
org.apache.cassandra.auth.CassandraRoleManager.lambda$scheduleSetupTask$6(CassandraRoleManager.java:477)
at 
org.apache.cassandra.concurrent.ExecutionFailure$1.run(ExecutionFailure.java:133)
at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at 
java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at 
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:829)
{noformat}

https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/1243/workflows/6f790596-afe9-4872-bfb9-5935a54f223f/jobs/62806
{noformat}
org.apache.cassandra.distributed.shared.ShutdownException: Uncaught exceptions 
were thrown during test
at 
org.apache.cassandra.distributed.impl.AbstractCluster.checkAndResetUncaughtExceptions(AbstractCluster.java:1117)
at 
org.apache.cassandra.distributed.impl.AbstractCluster.close(AbstractCluster.java:1103)
at 
org.apache.cassandra.distributed.test.CASTest.afterClass(CASTest.java:98)
at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Suppressed: java.lang.RuntimeException: 
java.lang.IllegalStateException: HintsService is shut down and can't accept new 
hints
at 
org.apache.cassandra.service.StorageProxy$HintRunnable.run(StorageProxy.java:2695)
at 
org.apache.cassandra.concurrent.FutureTask$1.call(FutureTask.java:96)
at 
org.apache.cassandra.concurrent.FutureTask.call(FutureTask.java:61)
at 
org.apache.cassandra.concurrent.FutureTask.run(FutureTask.java:71)
at 
org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:143)
at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.IllegalStateException: HintsService is shut down 
and can't accept new hints
at 

[jira] [Updated] (CASSANDRA-19126) Streaming appears to be incompatible with different storage_compatibility_mode settings

2023-12-21 Thread Jacek Lewandowski (Jira)


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

Jacek Lewandowski updated CASSANDRA-19126:
--
Reviewers: Branimir Lambov, Jacek Lewandowski
   Status: Review In Progress  (was: Patch Available)

> Streaming appears to be incompatible with different 
> storage_compatibility_mode settings
> ---
>
> Key: CASSANDRA-19126
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19126
> Project: Cassandra
>  Issue Type: Bug
>  Components: Consistency/Streaming, Legacy/Streaming and Messaging, 
> Messaging/Internode, Tool/bulk load
>Reporter: Branimir Lambov
>Assignee: Jacek Lewandowski
>Priority: Normal
> Fix For: 5.0-rc, 5.x
>
>
> In particular, SSTableLoader appears to be incompatible with 
> storage_compatibility_mode: NONE, which manifests as a failure of 
> {{org.apache.cassandra.distributed.test.SSTableLoaderEncryptionOptionsTest}} 
> when the flag is turned on (found during CASSANDRA-18753 testing). Setting 
> {{storage_compatibility_mode: NONE}} in the tool configuration yaml does not 
> help (according to the docs, this setting is not picked up).
> This is likely a bigger problem as the acceptable streaming version for C* 5 
> is 12 only in legacy mode and 13 only in none, i.e. two C* 5 nodes do not 
> appear to be able to stream with each other if their setting for the 
> compatibility mode is different.



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



  1   2   3   4   5   6   7   8   9   10   >