If ssl=True is passed as a keyword arg (or ssl=true in the URI)
but no value for ssl_cert_reqs or ssl_ca_certs has been provided,
assume ssl.CERT_REQUIRED for cert_reqs and attempt to load
system provided CA certificates. Raise ConfigurationError if
the necessary SSLContext methods don't exist.
The min_wire_version and max_wire_version attributes have
always been racy when connected to a mixed version replica set
or any sharded cluster. When connected to a mongos all you know
is the wire version of that mongos, not the shards behind it.
With mongos load balancing this problem is even worse, since
each operation could possibly be executed on a different mongo
version during an upgrade.
* PYTHON-857-writable-max-wv:
PYTHON-857 - Update C version of batch writes.
PYTHON-857 - Fix SlaveOkay wire protocol bit for mapreduce.
PYTHON-857 - Delete MongoClient._writable_max_wire_version().
PYTHON-857 - Rename _get_socket_for_writes to _socket_for_writes.
PYTHON-857 - Delete MongoClient._send_message.
PYTHON-857 - Fix "not master" error handling.
PYTHON-857 - Remove MongoClient.__check_gle_response.
PYTHON-857 - Collection and Database use SocketInfo.command.
PYTHON-857 - Complete wire-protocol race fix in Bulk API.
PYTHON-857 - Simplify _Bulk.execute_no_results.
PYTHON-857 - Pass socket to Collection._insert() etc.
PYTHON-857 - Faster attribute access on SocketInfo.
Remove MongoDB 2.5.x-specific code for retrieving an upserted _id.
PYTHON-857 - Use SocketInfo, not MongoClient, in message.py.
Obsolete comment about max write command size.
PYTHON-857 - Fix server-reset logic.
PYTHON-857 - Use client._get_socket_for_writes for write commands.
PYTHON-857 - Use client._get_socket_for_writes for OP_UPDATE and OP_DELETE.
PYTHON-857 - Use client._get_socket_for_writes for OP_INSERT.
Conflicts:
pymongo/collection.py
pymongo/helpers.py
As with the Python functions, the C implementations of _do_batched_insert and
_do_batched_write command must now take a SocketInfo, not a MongoClient, to
ensure they send the OP_INSERT or write command over the same socket used to
determine the server's wire protocol version.