Details
-
Bug
-
Resolution: Done
-
Major - P3
-
2.0
Description
Serialize an array with more than 100k elements:
using System.IO;
|
using MongoDB.Bson.IO;
|
|
|
public class Bug {
|
|
|
public static void Main() {
|
|
|
var stream = File.OpenWrite("foo.bson");
|
var writer = new BsonBinaryWriter(stream);
|
|
|
writer.WriteStartDocument();
|
writer.WriteName("a");
|
writer.WriteStartArray();
|
for (int i=0; i<110000; i++)
|
writer.WriteInt32(17);
|
writer.WriteEndArray();
|
writer.WriteEndDocument();
|
}
|
}
|
Dump the resulting bson; all the array elements past the first 100k have "1" as a field name.
4: a: DOC len=11aeef(1158895) EOO=11aef5 parent=0
|
b: 0: int32 11 00 00 00
|
12: 1: int32 11 00 00 00
|
19: 2: int32 11 00 00 00
|
20: 3: int32 11 00 00 00
|
27: 4: int32 11 00 00 00
|
2e: 5: int32 11 00 00 00
|
...
|
109d59: 99996: int32 11 00 00 00
|
109d64: 99997: int32 11 00 00 00
|
109d6f: 99998: int32 11 00 00 00
|
109d7a: 99999: int32 11 00 00 00
|
109d85: 1: int32 11 00 00 00
|
109d8c: 1: int32 11 00 00 00
|
109d93: 1: int32 11 00 00 00
|
109d9a: 1: int32 11 00 00 00
|
...
|
11aed2: 1: int32 11 00 00 00
|
11aed9: 1: int32 11 00 00 00
|
11aee0: 1: int32 11 00 00 00
|
11aee7: 1: int32 11 00 00 00
|
11aeee: 1: int32 11 00 00 00
|
11aef5: EOO
|
11aef6: EOO
|