pecl:mysqlnd_ms

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
pecl:mysqlnd_ms [2012/04/23 12:02] – [Development steps (release planning)] uwpecl:mysqlnd_ms [2017/09/22 13:28] (current) – external edit 127.0.0.1
Line 157: Line 157:
  
 === 1.4 - Tweaking based on user feedback  === === 1.4 - Tweaking based on user feedback  ===
 +
 +== Coding/Features ==
 +
 +  * [done] More fail over options
 +    * [done] Automatic on-connect fail over, if activated, shall be done in a loop until a connection can be opened. Currently we stop after the first attempt. If automatic fail over is on, we try "next" and in case of a failure of "next" we stop. With the new logic there shall be no stop until all possible "next" have been tried.
 +    * [done] Remember failed hosts for the duration of a web request (the plugins' typical lifespan)
 +
 +  * [done] Refine QoS session consistency server selection policy
 +    * [done] Support "wait for GTID". Currently we loop over all servers until we find a matching one. MySQL 5.6 allows SQL users either to fetch the latest GTID or SQL users can ask for a GTID and their request will block until the GTID has been replicated on the server. We should support the latter logic as well.
 +
 +  * [done] Improve load balancing
 +    * [done] Allow users to set a ratio/weight for query distribution. There may be machines in a cluster/config which can handle twice as many requests as others. Such machines shall be given a weight of, for example, two to indicate that the load balancer shall direct twice as many requests to them as to a machine with the weight of one.
 + 
 +== QA ==
 +
 +  * [done] 85-90% code coverage through tests
 +
 +== Documentation, Blogs, Articles etc. ===
 +
 +  * [done] Update documentation
 +  * [done] Assorted blog postings
 +
 +=== 1.5 - Tweaking based on user feedback  ===
 +
 +Work has not started yet.
  
 == Coding/Features == == Coding/Features ==
Line 163: Line 188:
     * [open] Silent and automatic connection fail over if server returns configured error code     * [open] Silent and automatic connection fail over if server returns configured error code
       * NOTE: this may require refactoring of four filters.        * NOTE: this may require refactoring of four filters. 
-    * [open] Automatic on-connect fail over, if activated, shall be done in a loop until a connection can be opened. Currently we stop after the first attempt. If automatic fail over is on, we try "next" and in case of a failure of "next" we stop. With the new logic there shall be no stop until all possible "next" have been tried. 
-    * [open] Remember failed hosts for the duration of a web request (the plugins' typical lifespan) 
     * [open] Add failover timeout and failover (maximum) attempts limits/configuration settings     * [open] Add failover timeout and failover (maximum) attempts limits/configuration settings
  
   * [open] Support directing statements manually to a group of nodes for more efficient server cache usage   * [open] Support directing statements manually to a group of nodes for more efficient server cache usage
-  * [open] Refine QoS session consistency server selection policy 
-    * [open] Support "wait for GTID". Currently we loop over all servers until we find a matching one. MySQL 5.6 allows SQL users either to fetch the latest GTID or SQL users can ask for a GTID and their request will block until the GTID has been replicated on the server. We should support the latter logic as well. 
     * [open] Remember the most current server and test this one first when searching for a GTID (a synchronous server). Use of cached information is possible for the duration of a read-only request sequence. The cache must be flushed and refreshed for every write.     * [open] Remember the most current server and test this one first when searching for a GTID (a synchronous server). Use of cached information is possible for the duration of a read-only request sequence. The cache must be flushed and refreshed for every write.
- 
-  * [open] Improve load balancing 
-    * [open] Allow users to set a ratio/weight for query distribution. There may be machines in a cluster/config which can handle twice as many requests as others. Such machines shall be given a weight of, for example, two to indicate that the load balancer shall direct twice as many requests to them as to a machine with the weight of one. 
- 
-  * [in progress] Improve lazy connection charset handling  
  
   * [open] Work with php.net Windows team to provide PECL/mysqlnd_ms windows builds   * [open] Work with php.net Windows team to provide PECL/mysqlnd_ms windows builds
Line 190: Line 206:
   * [open] Update documentation   * [open] Update documentation
   * [open] Assorted blog postings   * [open] Assorted blog postings
- 
-=== Open and delayed tasks === 
- 
-== Coding/Features == 
-  
-  * [incomplete - 1.2] make load balancer schemata aware 
-    * for each statement detect database/table 
-    * follow schemata based partitioning rules  
-    * basic idea: http://blog.ulf-wendel.de/?p=310 
-    * cancelled/delayed: SQL parser is not stable and can crash plugin 
-  * [cancelled] improve trx_stickiness using MYSQL*/MYSQLND* in_transaction flag 
-    * cancelled: http://blog.ulf-wendel.de/?p=313 - No protocol flag for transaction aware load balancing 
-  * [open] bail on unknown config settings. For example, bail if someone uses round_robin instead of roundrobin 
- 
-== QA ==  
- 
-  * [open] >= 90% code coverage through tests 
-  * [open] write report on parsing overhead, goal: <5% in worst case micro benchmarks 
- 
-== Documentation, Blogs, Articles etc. == 
- 
-  * [done] impact of connection limits such as allow_persistent, max_persistent, max_links 
  
  
pecl/mysqlnd_ms.1335182556.txt.gz · Last modified: 2017/09/22 13:28 (external edit)