Mysqlnd replication and load balancing plugin (
mysqlnd_ms
)
2652
20.7.6.9.1. PECL/mysqlnd_ms 1.5 series
Copyright 1997-2012 the PHP Documentation Group. [2230]
1.5.0-alpha
• Release date: 03/2013
• Motto/theme: Sharding support, improved transaction support
Note
This is the current development series. All features are at an early stage.
Changes may happen at any time without prior notice. Please, do not use this
version in production environments.
The documentation may not reflect all changes yet.
Bug fixes
• Fixed #60605 PHP segmentation fault when mysqlnd_ms is enabled.
• Setting transaction stickiness disables all load balancing, including automatic failover, for the
duration of a transaction. So far connection switches could have happened in the middle of a
transaction in multi-master configurations and during automatic failover although transaction
monitoring had detected transaction boundaries properly.
• BC break and bug fix. SQL hints enforcing the use of a specific kind of
server (
MYSQLND_MS_MASTER_SWITCH
,
MYSQLND_MS_SLAVE_SWITCH
,
MYSQLND_MS_LAST_USED_SWITCH
) are ignored for the duration of a transaction of transaction
stickiness is enabled and transaction boundaries have been detected properly.
This is a change in behaviour. However, it is also a bug fix and a step to align behaviour. If, in
previous versions, transaction stickiness, one of the above listed SQL hints and the quality of service
filtering was combined it could happened that the SQL hints got ignored. In some case the SQL hints
did work, in other cases they did not. The new behaviour is more consistent. SQL hints will always be
ignore for the duration of a transaction, if
transaction stickiness
is enabled.
Please note, transaction boundary detection continues to be based on API call monitoring. SQL
commands controlling transactions are not monitored.
• BC break and bug fix. Calls to
mysqlnd_ms_set_qos
will fail when done in the middle of a
transaction if
transaction stickiness
is enabled. Connection switches are not allowed for the duration
of a transaction. Changing the quality of service likely results on a different set of servers qualifying
for query execution, possibly making it necessary to switch connections. Thus, the call is not
allowed in during an active transaction. The quality of server can, however, be changed in between
transactions.
Feature changes
• Introduced the
node_group
filter. The filter lets you organize servers (master and slaves) into
groups. Queries can be directed to a certain group of servers by prefixing the query statement
with a SQL hint/comment that contains the groups configured name. Grouping can be used for
partitioning and sharding, and also to optimize for local caching. In the case of sharding, a group
name can be thought of like a shard key. All queries for a given shard key will be executed on the
configured shard. Note: both the client and server must support sharding for sharding to function with
mysqlnd_ms.
• Extended configuration file validation during PHP startup (RINIT). An
E_WARNING
level error will be
thrown if the configuration file can not be read (permissions), is empty, or the file (JSON) could not
be parsed. Warnings may appear in log files, which depending on how PHP is configured.
Summary of Contents for 5.0
Page 1: ...MySQL 5 0 Reference Manual ...
Page 18: ...xviii ...
Page 60: ...40 ...
Page 396: ...376 ...
Page 578: ...558 ...
Page 636: ...616 ...
Page 844: ...824 ...
Page 1234: ...1214 ...
Page 1427: ...MySQL Proxy Scripting 1407 ...
Page 1734: ...1714 ...
Page 1752: ...1732 ...
Page 1783: ...Configuring Connector ODBC 1763 ...
Page 1793: ...Connector ODBC Examples 1773 ...
Page 1839: ...Connector Net Installation 1819 2 You must choose the type of installation to perform ...
Page 2850: ...2830 ...
Page 2854: ...2834 ...
Page 2928: ...2908 ...
Page 3000: ...2980 ...
Page 3122: ...3102 ...
Page 3126: ...3106 ...
Page 3174: ...3154 ...
Page 3232: ...3212 ...