SunshinePHP Developer Conference 2015

Mongo::switchSlave

(PECL mongo >=1.1.0)

Mongo::switchSlaveChoose a new secondary for slaveOkay reads

Description

public string Mongo::switchSlave ( void )

This choses a random secondary for a connection to read from. It is called automatically by the driver and should not need to be used. It calls MongoClient::getHosts() (to refresh the status of hosts) and Mongo::getSlave() (to get the return value).

See the query section of this manual for information on distributing reads to secondaries.

Parameters

This function has no parameters.

Return Values

The address of the secondary this connection is using for reads. This may be the same as the previous address as addresses are randomly chosen. It may return only one address if only one secondary (or only the primary) is available.

For example, if we had a three member replica set with a primary, secondary, and arbiter this method would always return the address of the secondary. If the secondary became unavailable, this method would always return the address of the primary. If the primary also became unavailable, this method would throw an exception, as an arbiter cannot handle reads.

Errors/Exceptions

Throws a MongoException (error code 15) if it is called on a non-replica-set connection. It will also throw MongoExceptions if it cannot find anyone (primary or secondary) to read from (error code 16).

Changelog

Version Description
1.2.11 Emits E_DEPRECATED when used.

See Also

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top