From afcc7fb16723562d0f7e0e029d6a6d7bcb326155 Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin Date: Sun, 28 Jul 2019 12:12:30 +0300 Subject: [PATCH] app/vmselect/netstorage: improve error message when reading data blocks from storage Mention the block number in the error. This should simplify troubleshooting in this code. --- app/vmselect/netstorage/netstorage.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/app/vmselect/netstorage/netstorage.go b/app/vmselect/netstorage/netstorage.go index 69cb7535c..5c7f50317 100644 --- a/app/vmselect/netstorage/netstorage.go +++ b/app/vmselect/netstorage/netstorage.go @@ -480,26 +480,28 @@ func ProcessSearchQuery(sq *storage.SearchQuery, deadline Deadline) (*Results, e tbf := getTmpBlocksFile() m := make(map[string][]tmpBlockAddr) + blocksRead := 0 for sr.NextMetricBlock() { + blocksRead++ addr, err := tbf.WriteBlock(sr.MetricBlock.Block) if err != nil { putTmpBlocksFile(tbf) - return nil, fmt.Errorf("cannot write data to temporary blocks file: %s", err) + return nil, fmt.Errorf("cannot write data block #%d to temporary blocks file: %s", blocksRead, err) } if time.Until(deadline.Deadline) < 0 { putTmpBlocksFile(tbf) - return nil, fmt.Errorf("timeout exceeded while fetching data from storage: %s", deadline.Timeout) + return nil, fmt.Errorf("timeout exceeded while fetching data block #%d from storage: %s", blocksRead, deadline.Timeout) } metricName := sr.MetricBlock.MetricName m[string(metricName)] = append(m[string(metricName)], addr) } if err := sr.Error(); err != nil { putTmpBlocksFile(tbf) - return nil, fmt.Errorf("search error: %s", err) + return nil, fmt.Errorf("search error after reading %d data blocks: %s", blocksRead, err) } if err := tbf.Finalize(); err != nil { putTmpBlocksFile(tbf) - return nil, fmt.Errorf("cannot finalize temporary blocks file: %s", err) + return nil, fmt.Errorf("cannot finalize temporary blocks file with %d blocks: %s", blocksRead, err) } var rss Results