Is there currently any way – or any plans to add – the ability to specify millisecond granularity for timestamps?
We’re attempting to deal with some concurrency control issues and right now it looks like timestamp-based concurrency control is the easiest path forward. The problem we face is that with second-level granularity, there’s always the possibility that a write was performed on GitHub after a write from our application and we cannot tell which write happened first. We would prefer not to propagate our write and allow GitHub’s write to win; i.e. last write wins, always.
In this scenario, let’s assume that our write happens at
12:00:00.001, and the write on GitHub at
12:00:00.999. The problem we face is that we only get
12:00:00 from the GitHub API, leaving us to be pessimistic about the timestamp and assume it is simply
12:00:00.0. GitHub’s event actually happened last, so our write should not even propagate to GitHub; our local data should be overwritten instead.
I don’t see any way right now to get millisecond-level accuracy. Is this possible or planned?
If not, is there a recommended way of dealing with this kind of concurrency control, where we cannot assume that GitHub’s data is the source of truth?
Thanks in advance!