[
https://issues.apache.org/jira/browse/CASSANDRA-4782?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13474098#comment-13474098
]
Fabien Rousseau commented on CASSANDRA-4782:
--------------------------------------------
By the way, I just noticed that the commitlog files were not replayed in the
order of their ids.
It seems that they are sorted by "last modification date" before being
replayed, but this does not corresponds to their ids.
Moreover, "last modification date" is changed when a file is copied, so, this
could also change the order of archived commitlogs.
I suppose the sort order of commit log files is for schemas ?
Maybe it's safer to sort them using the id in the file name ?
> 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
> Reporter: Fabien Rousseau
> Assignee: Jonathan Ellis
> Priority: Critical
> Fix For: 1.1.6
>
> Attachments: 4782.txt
>
>
> 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