[jira] [Updated] (CASSANDRA-5909) CommitLogReplayer date time issue
[ https://issues.apache.org/jira/browse/CASSANDRA-5909?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vijay updated CASSANDRA-5909: - Attachment: 0001-CASSANDRA-5909.patch Attached patch and test case as a fix to add precision. Thanks! > CommitLogReplayer date time issue > -- > > Key: CASSANDRA-5909 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5909 > Project: Cassandra > Issue Type: Bug > Components: Core >Reporter: Artur Kronenberg >Assignee: Vijay >Priority: Minor > Fix For: 1.2.10 > > Attachments: 0001-CASSANDRA-5909.patch > > > Hi, > First off I am sorry if the component is not right for this. > I am trying to get the point-in-time backup to work. And I ran into the > following issues: > 1. The documentation in the commitlog_archiving.properties seems to be out of > date, as the example date format is no more valid and can't be parsed. > 2. > The restore_point_in_time property seems to differ from the actual > maxTimeStamp. I added additional logging to the codebase in the class > CommitLogReplayer like that: > protected boolean pointInTimeExceeded(RowMutation frm) > { > long restoreTarget = CommitLog.instance.archiver.restorePointInTime; > logger.info(String.valueOf(restoreTarget)); > for (ColumnFamily families : frm.getColumnFamilies()) > { > logger.info(String.valueOf(families.maxTimestamp())); > if (families.maxTimestamp() > restoreTarget) > return true; > } > return false; > } > The following output can be seen: > The restoreTarget timestamp is: 1377015783000 > This has been correctly parsed as I added this date to the properties: > 2013:08:20 17:23:03 > the value for families.maxTimestamp() is: 1377009021033000 > This date corresponds to: Mon 45605-09-05 10:50:33 BST (44 millennia from now) > It seems like the timestamp has 3 additional zeros. This also means that the > code can never return false on the call, as the restoreTarget will always be > smaller then the maxTimestamp(). Therefore the Replayer can never replay any > of my commitlog files. > The timestamp minus the 3 zeros corresponds to "Tue 2013-08-20 15:30:21 BST > (23 hours ago)" which makes more sense and would allow for the replay to > work. > My config: > Cassandra-1.2.4 > Java 1.6 > Ubuntu 12.04 64bit > If you need any more information let me know and I'll be happy to suply > whatever info I can. > -- artur -- 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
[jira] [Updated] (CASSANDRA-5909) CommitLogReplayer date time issue
[ https://issues.apache.org/jira/browse/CASSANDRA-5909?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis updated CASSANDRA-5909: -- Reproduced In: 1.2.4 Priority: Minor (was: Major) Fix Version/s: 1.2.10 Assignee: Vijay > CommitLogReplayer date time issue > -- > > Key: CASSANDRA-5909 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5909 > Project: Cassandra > Issue Type: Bug > Components: Core >Reporter: Artur Kronenberg >Assignee: Vijay >Priority: Minor > Fix For: 1.2.10 > > > Hi, > First off I am sorry if the component is not right for this. > I am trying to get the point-in-time backup to work. And I ran into the > following issues: > 1. The documentation in the commitlog_archiving.properties seems to be out of > date, as the example date format is no more valid and can't be parsed. > 2. > The restore_point_in_time property seems to differ from the actual > maxTimeStamp. I added additional logging to the codebase in the class > CommitLogReplayer like that: > protected boolean pointInTimeExceeded(RowMutation frm) > { > long restoreTarget = CommitLog.instance.archiver.restorePointInTime; > logger.info(String.valueOf(restoreTarget)); > for (ColumnFamily families : frm.getColumnFamilies()) > { > logger.info(String.valueOf(families.maxTimestamp())); > if (families.maxTimestamp() > restoreTarget) > return true; > } > return false; > } > The following output can be seen: > The restoreTarget timestamp is: 1377015783000 > This has been correctly parsed as I added this date to the properties: > 2013:08:20 17:23:03 > the value for families.maxTimestamp() is: 1377009021033000 > This date corresponds to: Mon 45605-09-05 10:50:33 BST (44 millennia from now) > It seems like the timestamp has 3 additional zeros. This also means that the > code can never return false on the call, as the restoreTarget will always be > smaller then the maxTimestamp(). Therefore the Replayer can never replay any > of my commitlog files. > The timestamp minus the 3 zeros corresponds to "Tue 2013-08-20 15:30:21 BST > (23 hours ago)" which makes more sense and would allow for the replay to > work. > My config: > Cassandra-1.2.4 > Java 1.6 > Ubuntu 12.04 64bit > If you need any more information let me know and I'll be happy to suply > whatever info I can. > -- artur -- 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