[ https://issues.apache.org/jira/browse/CASSANDRA-19448?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17833353#comment-17833353 ]
Tiago L. Alves commented on CASSANDRA-19448: -------------------------------------------- Thanks [~brandon.williams] and [~maxwellguo] for your feedback. Wrt. the granularity of the PIT restore, in theory I understand the support to microsecond level which is supported internally in C*. I understand the patch goal to align PIT restore with what C* supports internally. What I miss is the practical knowledge on how a customer can determine at microsecond level precision if something is being inserted in a cluster. It's just curiosity and I would be happy to learn about it. [~maxwellguo] regarding the patch, I've seen the description for RIP: * Sorry for the dumb question, what does RIP stands for? * What I meant about detecting automatic the granularity was that we don't need to separately attempt to parse seconds, milliseconds, and microseconds. This can be achieved by using `DateTimeFormatter.ofPattern("yyyy:MM:dd HH:mm:ss[.[SSSSSS][SSS]]")` which works for all. This allows simplifying the code a lot by removing the need of the `RIPLEVEL` enum. I would be willing to to pick up where you left in [https://github.com/apache/cassandra/pull/3215] and try out that simplification if you agree. > CommitlogArchiver only has granularity to seconds for restore_point_in_time > --------------------------------------------------------------------------- > > Key: CASSANDRA-19448 > URL: https://issues.apache.org/jira/browse/CASSANDRA-19448 > Project: Cassandra > Issue Type: Bug > Components: Local/Commit Log > Reporter: Jeremy Hanna > Assignee: Maxwell Guo > Priority: Normal > Fix For: 4.0.x, 4.1.x, 5.0.x, 5.x > > Time Spent: 10m > Remaining Estimate: 0h > > Commitlog archiver allows users to backup commitlog files for the purpose of > doing point in time restores. The [configuration > file|https://github.com/apache/cassandra/blob/trunk/conf/commitlog_archiving.properties] > gives an example of down to the seconds granularity but then asks what > whether the timestamps are microseconds or milliseconds - defaulting to > microseconds. Because the [CommitLogArchiver uses a second based date > format|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/db/commitlog/CommitLogArchiver.java#L52], > if a user specifies to restore at something at a lower granularity like > milliseconds or microseconds, that means that the it will truncate everything > after the second and restore to that second. So say you specify a > restore_point_in_time like this: > restore_point_in_time=2024:01:18 17:01:01.623392 > it will silently truncate everything after the 01 seconds. So effectively to > the user, it is missing updates between 01 and 01.623392. > This appears to be a bug in the intent. We should allow users to specify > down to the millisecond or even microsecond level. If we allow them to > specify down to microseconds for the restore point in time, then it may > internally need to change from a long. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org