I released libmongoc 1.1.6 today with some bugfixes and a major performance enhancement.
mongoc_bulk_operation_executenow coalesces consecutive update operations into a single message to a MongoDB 2.6+ server, yielding huge performance gains. Same for remove operations. (Inserts were always coalesced.)
- Large numbers of insert operations are now properly batched according to number of documents and total data size.
- GSSAPI / Kerberos auth now works.
- The driver no longer tries three times in vain to reconnect to a primary,
connectTimeoutMSnow behave closer to what you expect for replica sets with down members. A full fix awaits 1.2.0.
I snuck in a feature:
mongoc_matcher_tdoes basic subdocument and array matching
I also released libbson 1.1.6 to maintain version parity; it's identical to libbson 1.1.5.
Release tarballs are available for download:
You'll notice this is just a week after the 1.1.5 release, since there were a users waiting on these particular fixes that I couldn't get in to last week's release.
It's my intention to do only the most critical work for the 1.1.x line of the driver libraries, and concentrate on shipping 1.2.0 as soon as possible: a reasonably tested beta in the middle of June and a stable version at the beginning of August. (Circumstances are likely to intervene, of course.) Shipping version 1.2.0 will offer you a C driver that conforms with the modern MongoDB specs: Server Discovery And Monitoring, and Server Selection. It will resolve a heap of replica set issues in the current driver.
For further information:
Thanks to those who contributed:
- A. Jesse Jiryu Davis
- Jason Carey
- Kai Mast
- Matt Cotter