[jira] [Commented] (CASSANDRA-14823) Legacy sstables with range tombstones spanning multiple index blocks create invalid bound sequences on 3.0+

2018-11-29 Thread Blake Eggleston (JIRA)


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

2018-11-28 Thread mck (JIRA)


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

2018-11-12 Thread Jeff Jirsa (JIRA)


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

2018-10-19 Thread Ma Dega (JIRA)


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

2018-10-16 Thread Aleksey Yeschenko (JIRA)


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

2018-10-16 Thread Sam Tunnicliffe (JIRA)


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

2018-10-15 Thread Blake Eggleston (JIRA)


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

2018-10-15 Thread Sam Tunnicliffe (JIRA)


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

2018-10-14 Thread Sam Tunnicliffe (JIRA)


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

2018-10-12 Thread Blake Eggleston (JIRA)


[ 
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