From ef774c952ef8d9465de292c42aba01dc82880073 Mon Sep 17 00:00:00 2001 From: Tom Wilkie Date: Mon, 4 May 2020 20:53:10 +0100 Subject: [PATCH] Don't write empty values to the index. This causes tombstones to be written to Cassandra, which causes excessive heap usage.: Signed-off-by: Tom Wilkie --- pkg/chunk/schema.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkg/chunk/schema.go b/pkg/chunk/schema.go index e6a8c68d0cc..441fc5f84cd 100644 --- a/pkg/chunk/schema.go +++ b/pkg/chunk/schema.go @@ -36,6 +36,7 @@ const ( var ( // ErrNotSupported when a schema doesn't support that particular lookup. ErrNotSupported = errors.New("not supported") + empty = []byte("-") ) type hasChunksForIntervalFunc func(userID, seriesID string, from, through model.Time) (bool, error) @@ -677,6 +678,7 @@ func (v9Entries) GetLabelWriteEntries(bucket Bucket, metricName string, labels l TableName: bucket.tableName, HashValue: bucket.hashKey + ":" + metricName, RangeValue: encodeRangeKey(seriesRangeKeyV1, seriesID, nil, nil), + Value: empty, }, } @@ -780,6 +782,7 @@ func (s v10Entries) GetLabelWriteEntries(bucket Bucket, metricName string, label TableName: bucket.tableName, HashValue: fmt.Sprintf("%02d:%s:%s", shard, bucket.hashKey, metricName), RangeValue: encodeRangeKey(seriesRangeKeyV1, seriesID, nil, nil), + Value: empty, }, } @@ -811,6 +814,7 @@ func (v10Entries) GetChunkWriteEntries(bucket Bucket, metricName string, labels TableName: bucket.tableName, HashValue: bucket.hashKey + ":" + string(seriesID), RangeValue: encodeRangeKey(chunkTimeRangeKeyV3, encodedThroughBytes, nil, []byte(chunkID)), + Value: empty, }, } @@ -923,6 +927,7 @@ func (s v11Entries) GetLabelWriteEntries(bucket Bucket, metricName string, label TableName: bucket.tableName, HashValue: fmt.Sprintf("%02d:%s:%s", shard, bucket.hashKey, metricName), RangeValue: encodeRangeKey(seriesRangeKeyV1, seriesID, nil, nil), + Value: empty, }, // Entry for seriesID -> label names {