[
https://issues.apache.org/jira/browse/CASSANDRA-4782?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13472573#comment-13472573
]
Brandon Williams commented on CASSANDRA-4782:
---------------------------------------------
Thanks for the summary. What are you proposing we do?
> Commitlog not replayed after restart
> ------------------------------------
>
> Key: CASSANDRA-4782
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4782
> Project: Cassandra
> Issue Type: Bug
> Affects Versions: 1.1.0, 1.1.1, 1.1.2, 1.1.3, 1.1.4, 1.1.5
> Reporter: Fabien Rousseau
>
> It seems that there are two corner cases where commitlog is not replayed
> after a restart :
> - After a reboot of a server + restart of cassandra (1.1.0 to 1.1.4)
> - After doing an upgrade from cassandra 1.1.X to cassandra 1.1.5
> This is due to the fact that the commitlog segment id should always be an
> incrementing number (see this condition :
> https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java#L247
> )
> But this assertion can be broken :
> In the first case, it is generated by System.nanoTime() but it seems that
> System.nanoTime() is using the boot time as the base/reference (at least on
> java6 & linux), thus after a reboot, System.nanoTime() can return a lower
> number than before the reboot (and the javadoc says the reference is a
> relative point in time...)
> In the second case, this was introduced by #4601 (which changes
> System.nanoTime() by System.currentTimeMillis() thus people starting with
> 1.1.5 are safe)
> This could explain the following tickets : #4741 and #4481
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira