cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeff Jirsa (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-13282) Commitlog replay may fail if last mutation is within 4 bytes of end of segment
Date Thu, 02 Mar 2017 19:23:51 GMT

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

Jeff Jirsa commented on CASSANDRA-13282:
----------------------------------------

Will kick off CI in a bit, not going to do all 8 tests at once because I don't want to monopolize
cassci, but links should be accurate once tests start. 

|| Branch || Unit Tests || DTests ||
| [2.2|https://github.com/jeffjirsa/cassandra/commits/cassandra-2.2-13282] | [testall|http://cassci.datastax.com/job/jeffjirsa-cassandra-2.2-13282-testall/]
| [dtest|http://cassci.datastax.com/job/jeffjirsa-cassandra-2.2-13282-dtest/] |
| [3.0|https://github.com/jeffjirsa/cassandra/commits/cassandra-3.0-13282] | [testall|http://cassci.datastax.com/job/jeffjirsa-cassandra-3.0-13282-testall/]
| [dtest|http://cassci.datastax.com/job/jeffjirsa-cassandra-3.0-13282-dtest/] |
| [3.11|https://github.com/jeffjirsa/cassandra/commits/cassandra-3.11-13282] | [testall|http://cassci.datastax.com/job/jeffjirsa-cassandra-3.11-13282-testall/]
| [dtest|http://cassci.datastax.com/job/jeffjirsa-cassandra-3.11-13282-dtest/] |
| [trunk|https://github.com/jeffjirsa/cassandra/commits/cassandra-13282] | [testall|http://cassci.datastax.com/job/jeffjirsa-cassandra-13282-testall/]
| [dtest|http://cassci.datastax.com/job/jeffjirsa-cassandra-13282-dtest/] |


> Commitlog replay may fail if last mutation is within 4 bytes of end of segment
> ------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-13282
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13282
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Jeff Jirsa
>            Assignee: Jeff Jirsa
>             Fix For: 3.0.x, 3.11.x, 4.x
>
>
> Following CASSANDRA-9749 , stricter correctness checks on commitlog replay can incorrectly
detect "corrupt segments" and stop commitlog replay (and potentially stop cassandra, depending
on the configured policy). In {{CommitlogReplayer#replaySyncSection}} we try to read a 4 byte
int {{serializedSize}}, and if it's 0 (which will happen due to zeroing when the segment was
created), we continue on to the next segment. However, it appears that if a mutation is sized
such that it ends with 1, 2, or 3 bytes remaining in the segment, we'll pass the {{isEOF}}
on the while loop but fail to read the {{serializedSize}} int, and fail. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message