Release r2013.07.21 of the mgo (http://labix.org/mgo
) MongoDB driver for
the Go language is out with a number of fixes and improvements:
- New Session.SelectServers method allows selecting which specific server
or servers to query based on the server tagging feature introduced in
MongoDB 2.2. This supports use cases such as rack awarness, data center
awareness, or other custom server addressing logic.
More details in the documentation:
- Do not panic on ancient binary format that has no length as part of the
binary data. It doesn't seem to follow the spec, but the decoder must not
panic on bad data either. Issue reported by Daniel Gottlieb.
- Allow Login command to run against secondaries. This fixes support for
authorization done after a direct connection is established against a
secondary. Problem discovered and debugged by Bard Bloom.
- Encode int as int64 when the compiler supports 64 bits ints and the
int is over range. Bug reported by Ryan Nitz.
- Fixed a small window in AcquireSocket that allowed it to put sockets
in the live list after a server has been closed. Fix by John Meinel.
- Fixed Collection.Indexes method so it reads correctly index documents
that are defined with floats. That's what generally ends up in them
since the MongoDB shell handles the number 1 as a float. Issue
reported by Nick Stott.
- When in direct connection mode, allow writes to target secondary
servers when these are issued against the "local" database.
Issue reported by Louisa Berger.
- Send ping commands with a response limit of -1 as the mongos server
fails without it. This wasn't a functional problem, but resulted in
errors being shown in the logs. Issue reported by Evan Shaw.
- Add number of clusters alive to statistics, and add leak check to
suite. There were no leaks, but this ensures there won't be either.
gustavo @ http://niemeyer.net