MCPcopy
hub / github.com/dgraph-io/dgraph / createGzipArchive

Function createGzipArchive

dgraph/cmd/debuginfo/archive.go:121–162  ·  view source on GitHub ↗

Creates a Gzipped tar archive of the directory provided as parameter.

(debugDir string)

Source from the content-addressed store, hash-verified

119
120// Creates a Gzipped tar archive of the directory provided as parameter.
121func createGzipArchive(debugDir string) (string, error) {
122 source, err := createArchive(debugDir)
123 if err != nil {
124 return "", err
125 }
126
127 reader, err := os.Open(source)
128 if err != nil {
129 return "", err
130 }
131
132 filename := filepath.Base(source)
133 target := fmt.Sprintf("%s.gz", source)
134 writer, err := os.Create(target)
135 if err != nil {
136 return "", err
137 }
138 defer func() {
139 if err := writer.Close(); err != nil {
140 glog.Warningf("error closing writer: %v", err)
141 }
142 }()
143
144 archiver := gzip.NewWriter(writer)
145 archiver.Name = filename
146 defer func() {
147 if err := archiver.Close(); err != nil {
148 glog.Warningf("error closing archiver: %v", err)
149 }
150 }()
151
152 _, err = io.Copy(archiver, reader)
153 if err != nil {
154 return "", err
155 }
156
157 if err = os.Remove(source); err != nil {
158 glog.Warningf("error while removing intermediate tar file: %s", err)
159 }
160
161 return target, nil
162}

Callers 1

archiveDebugInfoFunction · 0.85

Calls 6

createArchiveFunction · 0.85
WarningfMethod · 0.80
OpenMethod · 0.65
CreateMethod · 0.65
CloseMethod · 0.65
RemoveMethod · 0.65

Tested by

no test coverage detected