From 1c11aefe036381387adc3bec2edf0609df4e8d83 Mon Sep 17 00:00:00 2001 From: Bryan Boreham Date: Mon, 10 Jun 2019 07:19:58 +0000 Subject: [PATCH] Read compressed records file --- extras/scanner/main.go | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/extras/scanner/main.go b/extras/scanner/main.go index 9b38e5bf9..49fd59659 100644 --- a/extras/scanner/main.go +++ b/extras/scanner/main.go @@ -2,9 +2,11 @@ package main import ( "bufio" + "compress/gzip" "context" "flag" "fmt" + "io" "io/ioutil" "net/http" _ "net/http/pprof" @@ -168,9 +170,18 @@ func main() { totals := newSummary() - f, err := os.Open(recordsFile) + var recordsReader io.Reader + fileReader, err := os.Open(recordsFile) checkFatal(err) - defer f.Close() + defer fileReader.Close() + if strings.HasSuffix(recordsFile, ".gz") { + gzipReader, err := gzip.NewReader(fileReader) + checkFatal(err) + defer gzipReader.Close() + recordsReader = gzipReader + } else { + recordsReader = fileReader + } // Create multiple goroutines reading off one queue of records to delete queue := make(chan string) @@ -186,7 +197,7 @@ func main() { }() } - records := bufio.NewScanner(f) + records := bufio.NewScanner(recordsReader) for records.Scan() { queue <- records.Text() }