mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-12-01 14:47:38 +00:00
lib/storage: fix collect downsampling metrics (#489)
* lib/storage: fix downsampling * lib/storage: update logic * lib/storage: fix comments, removed unneeded check
This commit is contained in:
parent
4793665c4f
commit
67a526f5f7
2 changed files with 6 additions and 5 deletions
|
@ -1238,10 +1238,6 @@ func atomicSetBool(p *uint64, b bool) {
|
|||
|
||||
func (pt *partition) runFinalDedup() error {
|
||||
requiredDedupInterval, actualDedupInterval := pt.getRequiredDedupInterval()
|
||||
if requiredDedupInterval <= actualDedupInterval {
|
||||
// Deduplication isn't needed.
|
||||
return nil
|
||||
}
|
||||
t := time.Now()
|
||||
logger.Infof("starting final dedup for partition %s using requiredDedupInterval=%d ms, since the partition has smaller actualDedupInterval=%d ms",
|
||||
pt.bigPartsPath, requiredDedupInterval, actualDedupInterval)
|
||||
|
@ -1252,6 +1248,11 @@ func (pt *partition) runFinalDedup() error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (pt *partition) isFinalDedupNeeded() bool {
|
||||
requiredDedupInterval, actualDedupInterval := pt.getRequiredDedupInterval()
|
||||
return requiredDedupInterval > actualDedupInterval
|
||||
}
|
||||
|
||||
func (pt *partition) getRequiredDedupInterval() (int64, int64) {
|
||||
pws := pt.GetParts(nil, false)
|
||||
defer pt.PutParts(pws)
|
||||
|
|
|
@ -455,7 +455,7 @@ func (tb *table) finalDedupWatcher() {
|
|||
timestamp := timestampFromTime(time.Now())
|
||||
currentPartitionName := timestampToPartitionName(timestamp)
|
||||
for _, ptw := range ptws {
|
||||
if ptw.pt.name == currentPartitionName {
|
||||
if ptw.pt.name == currentPartitionName || !ptw.pt.isFinalDedupNeeded() {
|
||||
// Do not run final dedup for the current month.
|
||||
continue
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue