[jira] [Commented] (CASSANDRA-14823) Legacy sstables with range tombstones spanning multiple index blocks create invalid bound sequences on 3.0+
[ https://issues.apache.org/jira/browse/CASSANDRA-14823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16703447#comment-16703447 ] Blake Eggleston commented on CASSANDRA-14823: - That’s correct Mick, it almost definitely affects people upgrading from 2.2 as well. > Legacy sstables with range tombstones spanning multiple index blocks create > invalid bound sequences on 3.0+ > --- > > Key: CASSANDRA-14823 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14823 > Project: Cassandra > Issue Type: Bug > Components: Local Write-Read Paths >Reporter: Blake Eggleston >Assignee: Blake Eggleston >Priority: Major > Fix For: 3.0.18, 3.11.4 > > > During upgrade from 2.1 to 3.0, reading old sstables in reverse order would > generate invalid sequences of range tombstone bounds if their range > tombstones spanned multiple column index blocks. The read fails in different > ways depending on whether the 2.1 tables were produced by a flush or a > compaction. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14823) Legacy sstables with range tombstones spanning multiple index blocks create invalid bound sequences on 3.0+
[ https://issues.apache.org/jira/browse/CASSANDRA-14823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16702747#comment-16702747 ] mck commented on CASSANDRA-14823: - [~bdeggleston], correct me if i'm wrong please… For this to impact a user all the following must be true: - upgrading from 2.1, - clients were performing partition or multi-row deletes, creating range tombstones, - partitions have multiple rows and are {{>64KB}} (IndexInfo column index blocks), - before the post-upgrade {{`nodetool upgradesstables`}} is complete, clients perform reads with an ordering clause (that reverses the clustering column's ordering on disk). That is a data-model that does not do {{DELETE}}s, or only single-row or column {{DELETE}}s, will not be affected by this bug. Likewise a data-model that never specifies the "{{ORDER BY"}} clause in any {{SELECT}}s will not be affected by this bug. > Legacy sstables with range tombstones spanning multiple index blocks create > invalid bound sequences on 3.0+ > --- > > Key: CASSANDRA-14823 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14823 > Project: Cassandra > Issue Type: Bug > Components: Local Write-Read Paths >Reporter: Blake Eggleston >Assignee: Blake Eggleston >Priority: Major > Fix For: 3.0.18, 3.11.4 > > > During upgrade from 2.1 to 3.0, reading old sstables in reverse order would > generate invalid sequences of range tombstone bounds if their range > tombstones spanned multiple column index blocks. The read fails in different > ways depending on whether the 2.1 tables were produced by a flush or a > compaction. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14823) Legacy sstables with range tombstones spanning multiple index blocks create invalid bound sequences on 3.0+
[ https://issues.apache.org/jira/browse/CASSANDRA-14823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16684469#comment-16684469 ] Jeff Jirsa commented on CASSANDRA-14823: [~madega] yes, it will impact 3.11.3, and will be fixed with 3.11.4 when it's released. > Legacy sstables with range tombstones spanning multiple index blocks create > invalid bound sequences on 3.0+ > --- > > Key: CASSANDRA-14823 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14823 > Project: Cassandra > Issue Type: Bug >Reporter: Blake Eggleston >Assignee: Blake Eggleston >Priority: Major > Fix For: 3.0.18, 3.11.4 > > > During upgrade from 2.1 to 3.0, reading old sstables in reverse order would > generate invalid sequences of range tombstone bounds if their range > tombstones spanned multiple column index blocks. The read fails in different > ways depending on whether the 2.1 tables were produced by a flush or a > compaction. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14823) Legacy sstables with range tombstones spanning multiple index blocks create invalid bound sequences on 3.0+
[ https://issues.apache.org/jira/browse/CASSANDRA-14823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16657414#comment-16657414 ] Ma Dega commented on CASSANDRA-14823: - Does this fix apply to 3.11.3 release? > Legacy sstables with range tombstones spanning multiple index blocks create > invalid bound sequences on 3.0+ > --- > > Key: CASSANDRA-14823 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14823 > Project: Cassandra > Issue Type: Bug >Reporter: Blake Eggleston >Assignee: Blake Eggleston >Priority: Major > Fix For: 3.0.x, 3.11.x > > > During upgrade from 2.1 to 3.0, reading old sstables in reverse order would > generate invalid sequences of range tombstone bounds if their range > tombstones spanned multiple column index blocks. The read fails in different > ways depending on whether the 2.1 tables were produced by a flush or a > compaction. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14823) Legacy sstables with range tombstones spanning multiple index blocks create invalid bound sequences on 3.0+
[ https://issues.apache.org/jira/browse/CASSANDRA-14823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16652227#comment-16652227 ] Aleksey Yeschenko commented on CASSANDRA-14823: --- LGTM > Legacy sstables with range tombstones spanning multiple index blocks create > invalid bound sequences on 3.0+ > --- > > Key: CASSANDRA-14823 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14823 > Project: Cassandra > Issue Type: Bug >Reporter: Blake Eggleston >Assignee: Blake Eggleston >Priority: Major > Fix For: 3.0.x, 3.11.x > > > During upgrade from 2.1 to 3.0, reading old sstables in reverse order would > generate invalid sequences of range tombstone bounds if their range > tombstones spanned multiple column index blocks. The read fails in different > ways depending on whether the 2.1 tables were produced by a flush or a > compaction. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14823) Legacy sstables with range tombstones spanning multiple index blocks create invalid bound sequences on 3.0+
[ https://issues.apache.org/jira/browse/CASSANDRA-14823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16652070#comment-16652070 ] Sam Tunnicliffe commented on CASSANDRA-14823: - +1 > Legacy sstables with range tombstones spanning multiple index blocks create > invalid bound sequences on 3.0+ > --- > > Key: CASSANDRA-14823 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14823 > Project: Cassandra > Issue Type: Bug >Reporter: Blake Eggleston >Assignee: Blake Eggleston >Priority: Major > Fix For: 3.0.x, 3.11.x > > > During upgrade from 2.1 to 3.0, reading old sstables in reverse order would > generate invalid sequences of range tombstone bounds if their range > tombstones spanned multiple column index blocks. The read fails in different > ways depending on whether the 2.1 tables were produced by a flush or a > compaction. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14823) Legacy sstables with range tombstones spanning multiple index blocks create invalid bound sequences on 3.0+
[ https://issues.apache.org/jira/browse/CASSANDRA-14823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16650833#comment-16650833 ] Blake Eggleston commented on CASSANDRA-14823: - Changes look good to me. Pulled in, merged to 3.11 and started another run of tests: |[3.0|https://github.com/bdeggleston/cassandra/tree/14823-3.0]|[circle|https://circleci.com/workflow-run/fd588958-4771-4d4e-8569-772415523c88]| |[3.11|https://github.com/bdeggleston/cassandra/tree/14823-3.11]|[circle|https://circleci.com/workflow-run/37a12a6a-f2ab-4591-a5c7-83b926ba655a]| > Legacy sstables with range tombstones spanning multiple index blocks create > invalid bound sequences on 3.0+ > --- > > Key: CASSANDRA-14823 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14823 > Project: Cassandra > Issue Type: Bug >Reporter: Blake Eggleston >Assignee: Blake Eggleston >Priority: Major > Fix For: 3.0.x, 3.11.x > > > During upgrade from 2.1 to 3.0, reading old sstables in reverse order would > generate invalid sequences of range tombstone bounds if their range > tombstones spanned multiple column index blocks. The read fails in different > ways depending on whether the 2.1 tables were produced by a flush or a > compaction. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14823) Legacy sstables with range tombstones spanning multiple index blocks create invalid bound sequences on 3.0+
[ https://issues.apache.org/jira/browse/CASSANDRA-14823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16650286#comment-16650286 ] Sam Tunnicliffe commented on CASSANDRA-14823: - I realised that I'd overlooked one additional aspect here: that a 2.1 has the potential to have multiple repeated RTs following a block boundary. So I've updated the test data generator to do that, though I could only figure out how to do it via the compaction path. While I was at it, I changed the naming of the test tables slightly from {{...\_compact\_...}} to {{...\_compacted\_...}} to avoid potential confusion due to the existing test tables named that way to indicate that they use {{COMPACT STORAGE}}. [3.0 branch|https://github.com/beobal/cassandra/tree/14823-3.0] [2.1 sstable generator|https://github.com/beobal/cassandra/commit/420457c3192952206e07276be7c2edf86aa79a7e] [circle|https://circleci.com/gh/beobal/workflows/cassandra/tree/cci%2F14823-3.0] > Legacy sstables with range tombstones spanning multiple index blocks create > invalid bound sequences on 3.0+ > --- > > Key: CASSANDRA-14823 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14823 > Project: Cassandra > Issue Type: Bug >Reporter: Blake Eggleston >Assignee: Blake Eggleston >Priority: Major > Fix For: 3.0.x, 3.11.x > > > During upgrade from 2.1 to 3.0, reading old sstables in reverse order would > generate invalid sequences of range tombstone bounds if their range > tombstones spanned multiple column index blocks. The read fails in different > ways depending on whether the 2.1 tables were produced by a flush or a > compaction. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14823) Legacy sstables with range tombstones spanning multiple index blocks create invalid bound sequences on 3.0+
[ https://issues.apache.org/jira/browse/CASSANDRA-14823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16649460#comment-16649460 ] Sam Tunnicliffe commented on CASSANDRA-14823: - This is a nasty one. The patch essentially LGTM, though I've pushed a couple of tiny commits with minor suggestions [here|https://github.com/beobal/cassandra/commits/14823-3.0]. The first fixes a couple of typos, tweaks the comments slightly in SSTRI and changes a param name. The second switches from using Guava {{Preconditions}} to {{Verify}}, which is not a big deal at all, but seems marginally better aligned semantically. e.g. {quote}If checking whether the _caller_ has violated your method or constructor's contract (such as by passing an invalid argument), use the utilities of the Preconditions class instead." {quote} from [the Verify doc|https://google.github.io/guava/releases/18.0/api/docs/com/google/common/base/Verify.html]) One last thing to note is that the merge to 3.11 is not entirely clean but it is trivially resolvable and tests do pass once merged. > Legacy sstables with range tombstones spanning multiple index blocks create > invalid bound sequences on 3.0+ > --- > > Key: CASSANDRA-14823 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14823 > Project: Cassandra > Issue Type: Bug >Reporter: Blake Eggleston >Assignee: Blake Eggleston >Priority: Major > Fix For: 3.0.x, 3.11.x > > > During upgrade from 2.1 to 3.0, reading old sstables in reverse order would > generate invalid sequences of range tombstone bounds if their range > tombstones spanned multiple column index blocks. The read fails in different > ways depending on whether the 2.1 tables were produced by a flush or a > compaction. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14823) Legacy sstables with range tombstones spanning multiple index blocks create invalid bound sequences on 3.0+
[ https://issues.apache.org/jira/browse/CASSANDRA-14823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16648595#comment-16648595 ] Blake Eggleston commented on CASSANDRA-14823: - [~benedict] [~iamaleksey] would one (or both) of you mind taking a look at this as well? > Legacy sstables with range tombstones spanning multiple index blocks create > invalid bound sequences on 3.0+ > --- > > Key: CASSANDRA-14823 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14823 > Project: Cassandra > Issue Type: Bug >Reporter: Blake Eggleston >Assignee: Blake Eggleston >Priority: Major > Fix For: 3.0.x, 3.11.x > > > During upgrade from 2.1 to 3.0, reading old sstables in reverse order would > generate invalid sequences of range tombstone bounds if their range > tombstones spanned multiple column index blocks. The read fails in different > ways depending on whether the 2.1 tables were produced by a flush or a > compaction. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org