qbits.alia.timestamp-generator
atomic-monotonic
(atomic-monotonic)
A timestamp generator based on System.currentTimeMillis(), with an incrementing atomic counter to generate the sub-millisecond part.
This implementation guarantees incrementing timestamps among all client threads, provided that no more than 1000 are requested for a given clock tick (the exact granularity of of System.currentTimeMillis() depends on the operating system).
If that rate is exceeded, a warning is logged and the timestamps don’t increment anymore until the next clock tick. If you consistently exceed that rate, consider using ThreadLocalMonotonicTimestampGenerator.
server-side
(server-side)
A timestamp generator that always returns Long.MIN_VALUE, in order to let Cassandra assign server-side timestamps.
thread-local
(thread-local)
A timestamp generator based on System.currentTimeMillis(), with an incrementing thread-local counter to generate the sub-millisecond part.
This implementation guarantees incrementing timestamps for a given client thread, provided that no more than 1000 are requested for a given clock tick (the exact granularity of of System.currentTimeMillis() depends on the operating system).
If that rate is exceeded, a warning is logged and the timestamps don’t increment anymore until the next clock tick.