public class ThreadLocalMonotonicTimestampGenerator extends LoggingMonotonicTimestampGenerator
Beware that there is a risk of timestamp collision with this generator when accessed by more than one thread at a time; only use it when threads are not in direct competition for timestamp ties (i.e., they are executing independent statements).
AbstractMonotonicTimestampGenerator
Constructor and Description |
---|
ThreadLocalMonotonicTimestampGenerator()
Creates a new instance with a warning threshold and warning interval of one second.
|
ThreadLocalMonotonicTimestampGenerator(long warningThreshold,
TimeUnit warningThresholdUnit,
long warningInterval,
TimeUnit warningIntervalUnit)
Creates a new instance.
|
Modifier and Type | Method and Description |
---|---|
long |
next()
Returns the next timestamp.
|
onDrift
computeNext
public ThreadLocalMonotonicTimestampGenerator()
public ThreadLocalMonotonicTimestampGenerator(long warningThreshold, TimeUnit warningThresholdUnit, long warningInterval, TimeUnit warningIntervalUnit)
warningThreshold
- how far in the future timestamps are allowed to drift before a warning
is logged.warningThresholdUnit
- the unit for warningThreshold
.warningInterval
- how often the warning will be logged if timestamps keep drifting above
the threshold.warningIntervalUnit
- the unit for warningIntervalUnit
.public long next()
TimestampGenerator
Implementors should enforce increasing monotonicity of timestamps, that is, a timestamp returned should always be strictly greater that any previously returned timestamp.
Implementors should strive to achieve microsecond precision in the best possible way, which is usually largely dependent on the underlying operating system's capabilities.
Long.MIN_VALUE
, it won't be
sent by the driver, letting Cassandra generate a server-side timestamp.Copyright © 2012–2019. All rights reserved.