Sophie

Sophie

distrib > Mageia > 7 > armv7hl > by-pkgid > 2b917e0437961edec048f1d15e2d7449 > files > 10745

php-manual-en-7.2.11-1.mga7.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>PECL/mysqlnd_ms 1.6 series</title>

 </head>
 <body><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="mysqlnd-ms.changes.html">Change History</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="mysqlnd-ms.changes-one-five.html">PECL/mysqlnd_ms 1.5 series</a></div>
 <div class="up"><a href="mysqlnd-ms.changes.html">Change History</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div><hr /><div id="mysqlnd-ms.changes-one-six" class="section">
  <h2 class="title">PECL/mysqlnd_ms 1.6 series</h2>
  <p class="para">
   1.6.0-alpha
   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara">
      Release date: TBD
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      Motto/theme: Maintenance and initial MySQL Fabric support
     </span>
    </li>
   </ul>
  </p>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <p class="para">
     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.
    </p>
    <p class="para">
     The documentation may not reflect all changes yet.
    </p>
  </p></blockquote>
  <p class="para">
   Bug fixes
   <ul class="itemizedlist">
     <li class="listitem">
     <p class="para">
      Won&#039;t fix: #66616 R/W split fails: QOS with mysqlnd_get_last_gtid with built-in MySQL GTID
     </p>
     <p class="para">
      This is not a bug in the plugins implementation but a server side feature
      limitation not considered and documented before. MySQL 5.6 built-in GTIDs cannot be
      used to ensure session consistency when reading from slaves in all cases.
      In the worst case the plugin will not consider using the slaves and
      fallback to using the master. There will be no wrong results but no benefit
      from doing GTID checks either.
     </p>
    </li>
    <li class="listitem">
      <p class="para">
        Fixed #66064 - Random once load balancer ignoring weights
      </p>
      <p class="para">
        Due to a config parsing bug random load balancing has ignored node
        weights if, and only if, the sticky flag was set (random once).
      </p>
    </li>
    <li class="listitem">
      <p class="para">
        Fixed #65496 - Wrong check for slave delay
      </p>
      <p class="para">
       The quality of service filter has erroneously ignored slaves
       that lag for zero (0) seconds if a any maximum lag had been set.
       Although a slave was not lagging behind, it was excluded from the
       load balancing list if a maximum age was set by the QoS filter.
       This was due to using the wrong comparison operator in the source
       of the filter.
      </p>
    </li>
    <li class="listitem">
      <p class="para">
        Fixed #65408 - Compile failure with -Werror=format-security
      </p>
     </li>
   </ul>
  </p>
  <p class="para">
   Feature changes
   <ul class="itemizedlist">
    <li class="listitem">
    <p class="para">
      Introduced an internal connection pool. When using Fabric and switching
      from shard group A to shard group B, we are replacing the entire list of
      masters and slaves. This troubles the connections state alignment logic and
      some filters. Some filters cache information on the master and slave lists.
      The new internal connection pool abstraction allows us to inform the filters
      of changes, hence they can update their caches.
     </p>
     <p class="para">
      Later on, the pool can also be used to reduce connection overhead. Assume
      you are switching from a shard group to another and back again. Whenever
      the switch is done, the pool&#039;s active server (and connection) lists are
      replaced. However, no longer used connections are not necessarily closed
      immediately but can be kept in the pool for later reuse.
     </p>
     <p class="para">
      Please note, the connection pool is internalat this point. There are some
      new statistics to monitor it. However, you cannot yet configure pool size
      of behaviour. 
     </p>
    </li>
    <li class="listitem">
    <p class="para">
      Added a basic distributed transaction abstraction.
      XA transactions can are supported ever since using standard SQL calls.
      This is inconvenient as XA participants must be managed manually.
      PECL/mysqlnd_ms introduces API calls to control XA transaction among MySQL servers.
      When using the new functions, PECL/mysqlnd_ms acts as a transaction coordinator.
      After starting a distributed transaction, the plugin tracks all servers
      involved until the transaction is ended and issues appropriate SQL statements
      on the XA participants.
     </p>
     <p class="para">
       This is useful, for example, when using Fabric and sharding. When using
       Fabric the actual shard servers involved in a business transaction may not be known
       in advance. Thus, manually controlling a transaction that spawns multiple shards becomes
       difficult.
       Please, be warned about <a href="mysqlnd-ms.concept_xa_trx.html" class="link">current limitations</a>.
     </p>
    </li>
    <li class="listitem">
    <p class="para">
      Introduced automatic retry loop for
      <a href="mysqlnd-ms.transient_errors.html" class="link">transient errors</a> and
      <a href="function.mysqlnd-ms-get-stats.html" class="link">corresponding statistic</a>
      to count the number of implicit retries. Some distributed
      database clusters use transient errors to hint a client to retry
      its operation in a bit. Most often, the client is then supposed
      to halt execution (sleep) for a short moment before retrying the
      desired operation. Immediately failing over to another node
      is not necessary in response to the error. Instead, a retry loop
      can be performed. Common situation when using MySQL Cluster.
     </p>
    </li>
    <li class="listitem">
    <p class="para">
      Introduced automatic retry loop for
      <a href="mysqlnd-ms.transient_errors.html" class="link">transient errors</a> and
      <a href="function.mysqlnd-ms-get-stats.html" class="link">corresponding statistic</a>
      to count the number of implicit retries. Some distributed
      database clusters use transient errors to hint a client to retry
      its operation in a bit. Most often, the client is then supposed
      to halt execution (sleep) for a short moment before retrying the
      desired operation. Immediately failing over to another node
      is not necessary in response to the error. Instead, a retry loop
      can be performed. Common situation when using MySQL Cluster.
     </p>
    </li>
    <li class="listitem">
    <p class="para">
      Introduced <a href="mysqlnd-ms.quickstart.mysql_fabric.html" class="link">most basic support</a>
      for the MySQL Fabric High Availability and sharding framework.
    </p>
    <p class="para">
      Please, consider this pre-alpha quality. Both the
      server side framework and the client side code is supposed to work flawless
      considering the MySQL Fabric quickstart examples only. However, testing has not been
      performed to the level of prior plugin  alpha releases.
      Either sides are moving targets, API changes may happen at any
      time without prior warning.
     </p>
     <p class="para">
      As this is work in progress, the manual may not yet reflect allow
      feature limitations and known bugs.
     </p>
    </li>
    <li class="listitem">
    <p class="para">
      New
      <a href="function.mysqlnd-ms-get-stats.html" class="link">statistics</a>
      to monitor the Fabric XML RPC call <em>sharding.lookup_servers</em>:
      <em>fabric_sharding_lookup_servers_success</em>,
      <em>fabric_sharding_lookup_servers_failure</em>,
      <em>fabric_sharding_lookup_servers_time_total</em>,
      <em>fabric_sharding_lookup_servers_bytes_total</em>,
      <em>fabric_sharding_lookup_servers_xml_failure</em>.
     </p>
    </li>
   <li class="listitem">
    <p class="para">
      New functions related to MySQL Fabric:
      <span class="function"><a href="function.mysqlnd-ms-fabric-select-shard.html" class="function">mysqlnd_ms_fabric_select_shard()</a></span>,
      <span class="function"><a href="function.mysqlnd-ms-fabric-select-global.html" class="function">mysqlnd_ms_fabric_select_global()</a></span>,
      <span class="function"><a href="function.mysqlnd-ms-dump-servers.html" class="function">mysqlnd_ms_dump_servers()</a></span>.
     </p>
    </li>
   </ul>
  </p>
 </div><hr /><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="mysqlnd-ms.changes.html">Change History</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="mysqlnd-ms.changes-one-five.html">PECL/mysqlnd_ms 1.5 series</a></div>
 <div class="up"><a href="mysqlnd-ms.changes.html">Change History</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div></body></html>