diff --git a/lib/storage/block.go b/lib/storage/block.go index 6513c4c44..1a3d1f06d 100644 --- a/lib/storage/block.go +++ b/lib/storage/block.go @@ -95,6 +95,9 @@ func (b *Block) Init(tsid *TSID, timestamps, values []int64, scale int16, precis b.bh.PrecisionBits = precisionBits b.timestamps = append(b.timestamps[:0], timestamps...) b.values = append(b.values[:0], values...) + if len(b.timestamps) > 0 { + b.fixupTimestamps() + } } // nextRow advances to the next row. diff --git a/lib/storage/raw_row.go b/lib/storage/raw_row.go index 69e0ade37..848a75619 100644 --- a/lib/storage/raw_row.go +++ b/lib/storage/raw_row.go @@ -124,7 +124,6 @@ func (rrm *rawRowsMarshaler) marshalToInmemoryPart(mp *inmemoryPart, rows []rawR rrm.auxValues, scale = decimal.AppendFloatToDecimal(rrm.auxValues[:0], rrm.auxFloatValues) tmpBlock.Init(tsid, rrm.auxTimestamps, rrm.auxValues, scale, precisionBits) - tmpBlock.fixupTimestamps() rrm.bsw.WriteExternalBlock(tmpBlock, ph, &rowsMerged) tsid = &r.TSID @@ -135,7 +134,6 @@ func (rrm *rawRowsMarshaler) marshalToInmemoryPart(mp *inmemoryPart, rows []rawR rrm.auxValues, scale = decimal.AppendFloatToDecimal(rrm.auxValues[:0], rrm.auxFloatValues) tmpBlock.Init(tsid, rrm.auxTimestamps, rrm.auxValues, scale, precisionBits) - tmpBlock.fixupTimestamps() rrm.bsw.WriteExternalBlock(tmpBlock, ph, &rowsMerged) if rowsMerged != uint64(len(rows)) { logger.Panicf("BUG: unexpected rowsMerged; got %d; want %d", rowsMerged, len(rows))