Description
From the gridfs spec:
Note: drivers SHOULD store length as Int64 and chunkSize as Int32 when creating new GridFS files. However, drivers MUST be able to handle existing GridFS files where the length and chunkSize fields might have been stored using a different numeric data type.
But the Go driver does not handle existing GridFS files if the chunksize type is not int32. It will panic with the following error:
panic: Call of bsoncore.Value.Int32 on 64-bit integer type |
|
goroutine 1274825 [running]: |
go.mongodb.org/mongo-driver/x/bsonx/bsoncore.Value.Int32(0xc007ee2012, 0xc007ee2066, 0x8, 0x12715, 0x1) |
/go/pkg/mod/go.mongodb.org/mongo-driver@v1.7.3/x/bsonx/bsoncore/value.go:755 +0x187 |
go.mongodb.org/mongo-driver/bson.RawValue.Int32(...)
|
/go/pkg/mod/go.mongodb.org/mongo-driver@v1.7.3/bson/raw_value.go:263 |
go.mongodb.org/mongo-driver/mongo/gridfs.(*DownloadStream).fillBuffer(0xc002042af0, 0x109b740, 0xc000118000, 0x109b740, 0xc000118000) |
/go/pkg/mod/go.mongodb.org/mongo-driver@v1.7.3/mongo/gridfs/download_stream.go:245 +0x260 |
go.mongodb.org/mongo-driver/mongo/gridfs.(*DownloadStream).Read(0xc002042af0, 0xc004a48600, 0x200, 0x200, 0x0, 0x0, 0x0) |
/go/pkg/mod/go.mongodb.org/mongo-driver@v1.7.3/mongo/gridfs/download_stream.go:158 +0x1cc |
bytes.(*Buffer).ReadFrom(0xc0011a7bf0, 0x10918a0, 0xc002042af0, 0x7fea00439180, 0xc0011a7bf0, 0xa80f01) |
/usr/local/go/src/bytes/buffer.go:204 +0xb1 |
io.copyBuffer(0x1091140, 0xc0011a7bf0, 0x10918a0, 0xc002042af0, 0x0, 0x0, 0x0, 0xfc11f470bcae5907, 0x72458b000c, 0x0) |
/usr/local/go/src/io/io.go:391 +0x2fc |
io.Copy(...)
|
/usr/local/go/src/io/io.go:364 |
go.mongodb.org/mongo-driver/mongo/gridfs.(*Bucket).downloadToStream(0xc00cf900b0, 0xc002042af0, 0x1091140, 0xc0011a7bf0, 0x0, 0x0, 0x2c) |
/go/pkg/mod/go.mongodb.org/mongo-driver@v1.7.3/mongo/gridfs/bucket.go:419 +0xa8 |
go.mongodb.org/mongo-driver/mongo/gridfs.(*Bucket).DownloadToStream(0xc00cf900b0, 0xa22c40, 0xc0066cdf00, 0x1091140, 0xc0011a7bf0, 0x0, 0x0, 0xa7f597) |
/go/pkg/mod/go.mongodb.org/mongo-driver@v1.7.3/mongo/gridfs/bucket.go:209 +0x9e |
|