projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
9463: Fixed some integration tests broken because of the replication_desired addition...
[arvados.git]
/
sdk
/
go
/
keepclient
/
collectionreader.go
diff --git
a/sdk/go/keepclient/collectionreader.go
b/sdk/go/keepclient/collectionreader.go
index b532a1642b981ee40cab10a8a53f18a0b4c8a548..bed60f499562a36c4585018932860fe35df34701 100644
(file)
--- a/
sdk/go/keepclient/collectionreader.go
+++ b/
sdk/go/keepclient/collectionreader.go
@@
-40,6
+40,10
@@
func (kc *KeepClient) CollectionFileReader(collection map[string]interface{}, fi
return nil, ErrNoManifest
}
m := manifest.Manifest{Text: mText}
return nil, ErrNoManifest
}
m := manifest.Manifest{Text: mText}
+ return kc.ManifestFileReader(m, filename)
+}
+
+func (kc *KeepClient) ManifestFileReader(m manifest.Manifest, filename string) (ReadCloserWithLen, error) {
rdrChan := make(chan *cfReader)
go kc.queueSegmentsToGet(m, filename, rdrChan)
r, ok := <-rdrChan
rdrChan := make(chan *cfReader)
go kc.queueSegmentsToGet(m, filename, rdrChan)
r, ok := <-rdrChan
@@
-205,6
+209,10
@@
GET:
}
var buf = make([]byte, fs.Offset+fs.Len)
_, err = io.ReadFull(rdr, buf)
}
var buf = make([]byte, fs.Offset+fs.Len)
_, err = io.ReadFull(rdr, buf)
+ errClosing := rdr.Close()
+ if err == nil {
+ err = errClosing
+ }
if err != nil {
r.err = err
close(r.errNotNil)
if err != nil {
r.err = err
close(r.errNotNil)