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

Benedict edited comment on CASSANDRA-15228 at 9/2/19 10:11 AM:
---------------------------------------------------------------

\[This comment refers to prior goal of avoiding writing the sync markers\]

It had been a long time since I looked at the commit log code, and taking a 
look now, this has obviously become tightly interwoven with other extended 
behaviours (encryption and compression) that I would prefer not to unpick 
anytime soon.  This isn't the simplifying change I had hoped it would be.  I 
think it would be preferable to defer any refactoring until we can address 
CASSANDRA-9834.

We can instead, at any time during 4.0 (or later if we choose) modify the 
replayer to simply ignore the lack of a final sync marker, and to attempt to 
replay the contents in-between, to restore earlier persistence behaviour 
without any user-visible file format changes.


was (Author: benedict):
\[This comment refers to prior goal of avoiding writing the sync markers]\

It had been a long time since I looked at the commit log code, and taking a 
look now, this has obviously become tightly interwoven with other extended 
behaviours (encryption and compression) that I would prefer not to unpick 
anytime soon.  This isn't the simplifying change I had hoped it would be.  I 
think it would be preferable to defer any refactoring until we can address 
CASSANDRA-9834.

We can instead, at any time during 4.0 (or later if we choose) modify the 
replayer to simply ignore the lack of a final sync marker, and to attempt to 
replay the contents in-between, to restore earlier persistence behaviour 
without any user-visible file format changes.

> CommitLogReplayer should replay past final sync marker
> ------------------------------------------------------
>
>                 Key: CASSANDRA-15228
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-15228
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Local/Commit Log
>            Reporter: Benedict
>            Priority: Normal
>             Fix For: 4.0.x
>
>
> Under default commit log configuration, the sync markers have no purpose, 
> only serving to reduce persistence by preventing replay of any mutations 
> serialised between syncs.  Refactoring the commit log to prevent this would 
> be painful, given their utility for encrypted and compressed segments, so we 
> should instead ignore the lack of a final sync marker when replaying a raw 
> commit log segment, and attempt to replay any mutations we encounter after 
> the last sync marker.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

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

Reply via email to