mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-11-21 14:44:00 +00:00
lib/{mergeset,storage}: simplify the code a bit after ae55ad8749
This commit is contained in:
parent
99d67ac8ad
commit
fd7c86ae25
2 changed files with 22 additions and 16 deletions
|
@ -644,17 +644,20 @@ func (ris *rawItemsShard) appendBlocksToFlush(dst []*inmemoryBlock, tb *Table, i
|
|||
flushSeconds = 1
|
||||
}
|
||||
lastFlushTime := atomic.LoadUint64(&ris.lastFlushTime)
|
||||
if isFinal || currentTime-lastFlushTime > uint64(flushSeconds) {
|
||||
ris.mu.Lock()
|
||||
ibs := ris.ibs
|
||||
dst = append(dst, ibs...)
|
||||
for i := range ibs {
|
||||
ibs[i] = nil
|
||||
}
|
||||
ris.ibs = ibs[:0]
|
||||
atomic.StoreUint64(&ris.lastFlushTime, currentTime)
|
||||
ris.mu.Unlock()
|
||||
if !isFinal && currentTime <= lastFlushTime+uint64(flushSeconds) {
|
||||
// Fast path - nothing to flush
|
||||
return dst
|
||||
}
|
||||
// Slow path - move ris.ibs to dst
|
||||
ris.mu.Lock()
|
||||
ibs := ris.ibs
|
||||
dst = append(dst, ibs...)
|
||||
for i := range ibs {
|
||||
ibs[i] = nil
|
||||
}
|
||||
ris.ibs = ibs[:0]
|
||||
atomic.StoreUint64(&ris.lastFlushTime, currentTime)
|
||||
ris.mu.Unlock()
|
||||
return dst
|
||||
}
|
||||
|
||||
|
|
|
@ -747,13 +747,16 @@ func (rrs *rawRowsShard) appendRawRowsToFlush(dst []rawRow, pt *partition, isFin
|
|||
flushSeconds = 1
|
||||
}
|
||||
lastFlushTime := atomic.LoadUint64(&rrs.lastFlushTime)
|
||||
if isFinal || currentTime-lastFlushTime > uint64(flushSeconds) {
|
||||
rrs.mu.Lock()
|
||||
dst = append(dst, rrs.rows...)
|
||||
rrs.rows = rrs.rows[:0]
|
||||
atomic.StoreUint64(&rrs.lastFlushTime, currentTime)
|
||||
rrs.mu.Unlock()
|
||||
if !isFinal && currentTime <= lastFlushTime+uint64(flushSeconds) {
|
||||
// Fast path - nothing to flush
|
||||
return dst
|
||||
}
|
||||
// Slow path - move rrs.rows to dst.
|
||||
rrs.mu.Lock()
|
||||
dst = append(dst, rrs.rows...)
|
||||
rrs.rows = rrs.rows[:0]
|
||||
atomic.StoreUint64(&rrs.lastFlushTime, currentTime)
|
||||
rrs.mu.Unlock()
|
||||
return dst
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue