Quantcast
Channel: MySQL Forums - Announcements
Viewing all 1041 articles
Browse latest View live

MySQL Community Server 5.7.16 has been released (no replies)

$
0
0
Dear MySQL users,

MySQL Server 5.7.16, a new version of the popular Open Source
Database Management System, has been released. MySQL 5.7.16 is
recommended for use on production systems.

For an overview of what's new in MySQL 5.7, please see

http://dev.mysql.com/doc/refman/5.7/en/mysql-nutshell.html

For information on installing MySQL 5.7.16 on new servers, please see
the MySQL installation documentation at

http://dev.mysql.com/doc/refman/5.7/en/installing.html

MySQL Server 5.7.16 is available in source and binary form for a number of
platforms from our download pages at

http://dev.mysql.com/downloads/mysql/

MySQL Server 5.7.16 is also available from our repository for Linux
platforms, go here for details:

http://dev.mysql.com/downloads/repo/

Windows packages are available via the Installer for Windows or .ZIP
(no-install) packages for more advanced needs. The point and click
configuration wizards and all MySQL products are available in the
unified Installer for Windows:

http://dev.mysql.com/downloads/installer/

5.7.16 also comes with a web installer as an alternative to the full
installer.

The web installer doesn't come bundled with any actual products
and instead relies on download-on-demand to fetch only the
products you choose to install. This makes the initial download
much smaller but increases install time as the individual products
will need to be downloaded.

We welcome and appreciate your feedback, bug reports, bug fixes,
patches, etc.:

http://bugs.mysql.com/report.php

The following section lists the changes in MySQL 5.7 since
the release of MySQL 5.7.15. It may also be viewed online at

http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-16.html

Enjoy!

Changes in MySQL 5.7.16 (2016-10-12)

      Security Notes

        * Incompatible Change: For STANDALONE and WIN builds, the
          default secure_file_priv value has changed from the empty
          string to NULL. This is a secure-by-default setting
          because it disables import and export operations. To
          permit those operations, set secure_file_priv to the path
          name of the directory to use for those operations. (Bug
          #24679907, Bug #24695274, Bug #24707666)

        * The linked OpenSSL library for the MySQL Commercial
          Server has been updated to version 1.0.1u. For a
          description of issues fixed in this version, see
          http://www.openssl.org/news/vulnerabilities.html.
          This change does not affect the Oracle-produced MySQL
          Community build of MySQL Server, which uses the yaSSL
          library instead. (Bug #24753389)

      Functionality Added or Changed

        * yaSSL was upgraded to version 2.4.2. This upgrade
          corrects issues with: Potential AES side channel leaks;
          DSA padding for unusual sizes; the
          SSL_CTX_load_verify_locations() OpenSSL compatibility
          function failing to handle long path directory names.
          (Bug #24512715, Bug #24740291)

On Behalf of the MySQL/ORACLE RE Team
Hery Ramilison

MySQL Enterprise Monitor 3.1.5 has been released (no replies)

$
0
0
We are pleased to announce that MySQL Enterprise Monitor 3.1.5 is now
available for download on the My Oracle Support (MOS) web site.

This is a maintenance release that includes a few enhancements and
fixes a number of bugs. You can find more information on the contents
of this release in the change log:

http://dev.mysql.com/doc/relnotes/mysql-monitor/3.1/en/news-3-1-5.html
(also included at the end of this note for convenience)

You will find binaries for the new release on My Oracle Support:

https://support.oracle.com

Choose the "Patches & Updates" tab, and then choose the "Product or
Family (Advanced Search)" side tab in the "Patch Search" portlet.

IMPORTANT: MySQL Enterprise Monitor (MEM) 3.3 offers many significant
improvements over MEM 3.1 and MEM 3.2 and we highly recommend that you
consider upgrading. More information on MEM 3.3 is available here:

What's New in MySQL Enterprise Monitor 3.2
http://dev.mysql.com/doc/mysql-monitor/3.3/en/mem-comparison-3-2.html

MySQL Enterprise Monitor
http://www.mysql.com/products/enterprise/monitor.html

MySQL Enterprise Monitor Frequently Asked Questions
http://dev.mysql.com/doc/mysql-monitor/3.3/en/mem-faq.html

MySQL Enterprise Monitor Change History
http://dev.mysql.com/doc/relnotes/mysql-monitor/3.3/en/

Please open a bug or a ticket on My Oracle Support to report problems,
request features, or give us general feedback about how this release
meets your needs.

If you are not a MySQL Enterprise customer and want to try the Monitor
and Query Analyzer using our 30-day free customer trial, go to
http://www.mysql.com/trials, or contact Sales at
http://www.mysql.com/about/contact.

Useful URLs

* My Oracle Support - http://support.oracle.com/
* What's New in 3.1 - https://dev.mysql.com/doc/mysql-monitor/3.1/en/mem-comparison-3-1.html
* Change log - http://dev.mysql.com/doc/relnotes/mysql-monitor/3.1/en/
* Installation documentation - http://dev.mysql.com/doc/mysql-monitor/3.1/en/mem-installing.html
* Complete documentation - http://dev.mysql.com/doc/mysql-monitor/3.1/en/
* Product information - http://www.mysql.com/products/enterprise/monitor.html
* FAQs - http://dev.mysql.com/doc/mysql-monitor/3.1/en/mem-faq.html
* Download - http://support.oracle.com/

Thanks and Happy Monitoring!

- The MySQL Enterprise Tools Development Team

==========

Changes in MySQL Enterprise Monitor 3.1.5

Functionality Added or Changed

* Important Change: The bundled sys schema is upgraded to version
1.5.1.

Important: If you have installed an older version of sys schema on
your monitored instances, it is recommended to upgrade to the latest
version. The upgrade must be performed from the command line. It is
not currently possible to upgrade sys schema from MySQL Enterprise
Service Manager.

* Important Change: As of this release, it is not possible to use
MySQL Server 5.1 or 5.5 as the MySQL Enterprise Monitor repository.
The installer displays an error and the installation process stops.

* The query collection for Query Analyzer was improved in this
release. (Bug #22179215)

* The required privileges for configuring a non-bundled repository
were updated in this release. (Bug #21534737)

* The Tomcat server, bundled with the MySQL Enterprise Service
Manager, has been upgraded to 7.0.69.

* The Warnings Not Being Logged advisor text was updated.

* Events for any future-dated asset which is not an agent, OS, or
MySQL instance, are deleted. Under certain circumstances, these
events contained empty fields.

* The following commands are added to the MySQL Enterprise Service
Manager configuration utility (config.sh/config.bat):

o --renew: renews the existing self-signed certificate.

o --import-certificate=<value>: imports the defined certificate

o --import-key=<value>: imports the defined private key.

* The OpenSSL libraries used by the MySQL Enterprise Monitor
installers and MySQL Enterprise Monitor Aggregator have been
upgraded to 1.0.1u.

* The bundled JRE was updated to 1.8.0_102 for both the Agent and
Service Manager.

* The MySQL database, bundled with the MySQL Enterprise Service
Manager, has been upgraded to MySQL 5.6.34.

Bugs Fixed

* The documentation did not specify the correct format for the ssl-ca-
keystore-path parameter. It was listed as a file path, but is a URL.
For example:

ssl-ca-keystore-path=file:///mysql/enterprise/agent/etc/mykeystore
(Bug #24386496)

* The InnoDB Redo Log Pending Writes graph was not displayed for MySQL
5.7 instances. (Bug #23563358)

* The Event Handler Asset column did not display any assets for the
eleventh handler created. That is, the Asset column correctly
displayed assets for the first 10 event handlers, but did not for
any other event handler. (Bug #23543149)

* The LDAP and SSL documentation did not contain information on how to
connect to LDAP servers which implement AES256. (Bug #23507489)

* The following variables were missing from the Fulltext Search
section of the MySQL Instance InnoDB tab:

o innodb_ft_enable_diag_print

o innodb_ft_result_cache_limit

o innodb_ft_total_cache_size

(Bug #23474063)

* LDAP configuration settings were not validated by the upgrade
process. Some of the fields were empty.

As of this release, default values are added to the empty fields.
(Bug #23299301)

* LDAP configuration was not validated when saved. As a result, if the
LDAP connection information was incorrectly configured,
NullPointerExceptions were logged, and it was not possible to
connect to the LDAP server. (Bug #23299288)

* Under certain circumstances, when monitoring MySQL 5.7, warnings
were generated in Query Analyzer due to a conflict between the
default mysql_mode and the mysql_mode set by MySQL Enterprise
Monitor. (Bug #23033046)

* It was possible to check/uncheck the assets in the Select Instances
field on the Edit Replication Group tab, although the selection or
deselection had no effect on the contents of the replication group.
Replication groups are populated dynamically, not manually. (Bug
#22620609)

* The certificate to keystore upgrade process attempted to use the
system's openSSL installation instead of that delivered with the
installer. As a result, if openSSL was not installed on the system,
the upgrade failed. As of this release, the upgrade only uses the
openSSL libraries delivered with the installer. (Bug #22522309)

* Under certain circumstances, deleting events resulted in a long-
running query which generated empty events. (Bug #22247688)

* The MySQL Enterprise Service Manager utility config.sh returned a
stack trace for unsupported commands, instead of redirecting the
user to the help.

* Custom agent service names were not maintained by the agent upgrade
process. The custom name was overwritten by the default agent
service name, MySQLEnterpriseMonitorAgent.

* The advice page generated by the MySQL Enterprise Backup Health
advisor contained broken links to the InnoDB chapters of the MySQL
Reference Manual. It also incorrectly referred to the --start-lsn
option as the --lsn option.

* On certain browser versions, the symbol << was transformed to Â<<.

* A message about keystore loading was logged every minute by the
certificate loader. The log level for this message was changed to
reduce the unnecessary log entries.

MySQL Cluster 7.5.4 has been released (part 1/2) (no replies)

$
0
0
Dear MySQL Users,

MySQL Cluster 7.5.4 (GA) is the first GA release for MySQL Cluster 7.5.

MySQL Cluster is the distributed, shared-nothing variant of MySQL.
This storage engine provides:

  - In-Memory storage - Real-time performance (with optional
    checkpointing to disk)
  - Transparent Auto-Sharding - Read & write scalability
  - Active-Active/Multi-Master geographic replication

  - 99.999% High Availability with no single point of failure
    and on-line maintenance
  - NoSQL and SQL APIs (including C++, Java, http, Memcached
    and JavaScript/Node.js)

[Due to size limitations on forum/email, this announcement had to be 
split into two parts. This is part 1.] 

MySQL Cluster 7.5.4, has been released and can be downloaded from

  http://www.mysql.com/downloads/cluster/

where you will also find Quick Start guides to help you get your
first MySQL Cluster database up and running.

The release notes are available from

  http://dev.mysql.com/doc/relnotes/mysql-cluster/7.5/en/index.html

MySQL Cluster enables users to meet the database challenges of next
generation web, cloud, and communications services with uncompromising
scalability, uptime and agility.

More details can be found at

  http://www.mysql.com/products/cluster/

Enjoy !


Changes in MySQL Cluster NDB 7.5.4 (5.7.16-ndb-7.5.4) (2016-10-18, General Availability)

   MySQL Cluster NDB 7.5.4 is a new release of MySQL Cluster 7.5, based
   on MySQL Server 5.7 and including features in version 7.5 of the NDB
   (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster.html) storage
   engine, as well as fixing recently discovered bugs in previous MySQL
   Cluster releases.

   Obtaining MySQL Cluster NDB 7.5.  MySQL Cluster NDB 7.5 source code
   and binaries can be obtained from
   http://dev.mysql.com/downloads/cluster/.

   For an overview of changes made in MySQL Cluster NDB 7.5, see What is
   New in MySQL Cluster NDB 7.5
   (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-what-is-new.html).

   This release also incorporates all bugfixes and changes made in
   previous MySQL Cluster releases, as well as all bugfixes and feature
   changes which were added in mainline MySQL 5.7 through MySQL 5.7.16
   (see Changes in MySQL 5.7.16 (2016-10-12, General Availability)
   (http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-16.html)).

     * Functionality Added or Changed

     * Bugs Fixed

   Functionality Added or Changed

     * Important Change; Packaging: Naming and organization of
       the RPMs provided for MySQL Cluster have been changed to align
       with those released for the MySQL server. All MySQL Cluster RPM
       package names are now prefixed with mysql-cluster. Data nodes are
       now installed using the data-node package; management nodes are
       now installed from the management-server package; and SQL nodes
       require the server and common packages. Important: SQL nodes must
       use the mysql-cluster version of these RPMs; the versions
       released for the standard MySQL server do not provide support for
       the NDB storage engine. All client programs, including both the
       mysql client and the ndb_mgm management client, are now included
       in the client RPM.  For more information, see Installing MySQL
       Cluster from RPM
       (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-install-linux-rpm.html).

     * Added the --print-sql-log
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-programs-ndb-restore.html#option_ndb_restore_print-sql-log) 
       option for the ndb_restore program included with the MySQL Cluster
       distribution. This option causes the program to log SQL
       statements to stdout.  Note that each table being restored in
       this fashion must have an explicitly defined primary key; the
       hidden primary key implemented by the NDB
       (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster.html)
       storage engine is not sufficient for this purpose.  (Bug
       #13511949)

     * For fully replicated tables, ndb_desc shows only nodes
       holding main fragment replicas for partitions; nodes with copy
       fragment replicas only are ignored. To make this information
       available in the mysql client, several new tables have been
       introduced in the ndbinfo
       (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo.html)
       information database. These tables are listed here,
       with brief descriptions:

          + dict_obj_info
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo-dict-obj-info.html) 
          provides the names and types of database (DICT) objects in NDB, 
          such as tables and indexes, as well as information about parent
          objects where applicable

          + table_distribution_status
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo-table-distribution-status.html) 
          provides NDB table distribution status information

          + table_fragments
          (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo-table-fragments.html) 
          provides information about the distribution of NDB table fragments

          + table_info
          (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo-table-info.html)
          provides information about logging,
          checkpointing, storage, and other options in force for each
          NDB table

          + table_replicas
          (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo-table-replicas.html) 
          provides information about fragment replicas For more information, 
          see The ndbinfo MySQL Cluster Information Database
          (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo.html).
          (Bug #81762, Bug #23547643)

     * ClusterJ: To help applications handle database errors
       better, a number of new features have been added to the
       ClusterJDatastoreException class:

          + A new method, getCode(), returns code from the NdbError
          object.

          + A new method, getMysqlCode(), returns mysql_code from the
          NdbError object.

          + A new subclass, ClusterJDatastoreException.Classification,
          gives users the ability to decode the result from
          getClassification(). The method Classification.toString()
          gives the name of the error classification as listed in NDB
          Error Classifications
          (http://dev.mysql.com/doc/ndbapi/en/ndb-error-classifications.html). 
          (Bug #22353594)


   Bugs Fixed

     * Important Change: The default value of the
       --ndb-default-column-format
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-options-variables.html#option_mysqld_ndb-default-column-format)
       server option has been changed from DYNAMIC to FIXED.  This has
       been done for backwards compatibility. Only the default has been
       changed; setting this option to DYNAMIC continues to cause
       DYNAMIC to be used for ROW_FORMAT and COLUMN_FORMAT unless
       overridden. (Bug #24487363)

     * Important Change: Event buffer status reporting has been
       improved by altering the semantics for calculating lag or
       slippage. Rather than defining this lag as the number of epochs
       behind, lag is now taken as the number of epochs completely
       buffered in the event buffer, but not yet consumed by the binlog
       injector thread. As part of this work, the default value for the
       ndb_report_thresh_binlog_epoch_slip
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-options-variables.html#sysvar_ndb_report_thresh_binlog_epoch_slip)
       system variable has been increased from 3 to 10.  For more
       information, see the description of this variable in the
       documentation, as well as Event Buffer Reporting in the Cluster
       Log (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-logs-event-buffer.html).
       (Bug #22916457) References: See also: Bug #22901309.

     * Cluster API: The term "fragment count type" has been
       superceded by "partition balance". This change affects NDB_TABLE
       options for NDB tables as well as in the NDB API. In NDB_TABLE
       table option syntax, the FRAGMENT_COUNT_TYPE keyword is replaced
       with PARTITION_BALANCE. In the NDB API, the Table
       (http://dev.mysql.com/doc/ndbapi/en/ndb-table.html) methods
       getFragmentCountType() and setFragmentCountType() have been
       renamed to getPartitionBalance()
       (http://dev.mysql.com/doc/ndbapi/en/ndb-table-getpartitionbalance.html) 
       and setPartitionBalance()
       (http://dev.mysql.com/doc/ndbapi/en/ndb-table-setpartitionbalance.html), 
       respectively; getFragmentCountTypeString() is
       renamed to getPartitionBalanceString()
       (http://dev.mysql.com/doc/ndbapi/en/ndb-table-getpartitionbalancestring.html). 
      In addition, Object::FragmentCountType has
       been renamed to PartitionBalance
       (http://dev.mysql.com/doc/ndbapi/en/ndb-object-partitionbalance.html),
       and the names of its enumerated values have been
       updated to be consistent with the new nomenclature.  For more
       information on how these changes affect NDB API applications, see
       the indicated Table
       (http://dev.mysql.com/doc/ndbapi/en/ndb-table.html) and Object
       (http://dev.mysql.com/doc/ndbapi/en/ndb-object.html) member
       descriptions. For more information on the SQL-level changes made
       as part of this fix, Setting NDB_TABLE options in table comments
(http://dev.mysql.com/doc/refman/5.7/en/create-table-ndb-table-comment-options.html). 
       (Bug #81761, Bug #23547525)
       References: See also: Bug #83147, Bug #24733331.

     * If more than 4096 seconds elapsed while calculating an
       internal NdbDuration::microSec() value, this could cause an
       assert warning that the calculation would overflow. We fix this
       to avoid any overflow or precision loss when converting from the
       internal "tick" format to microseconds and nanoseconds, by
       performing the calculation in two parts corresponding to seconds
       and fractions of a second. (Bug #24695026)

     * The serial commit protocol---which commits each operation
       at each replica individually and serially, and is used by the
       DBTC kernel block (see The DBTC Block
(http://dev.mysql.com/doc/ndbapi/en/ndb-internals-kernel-blocks-dbtc.html))
       for takeover and when a transaction is judged
       to have timed out during the COMMIT or COMPLETE phase---had no
       support for LATE_COMMIT, which is required for the READ_BACKUP
       and FULLY_REPLICATED protocols. (Bug #24681305)

     * In some cases, ALTER TABLE ... REORGANIZE PARTITION
(http://dev.mysql.com/doc/refman/5.7/en/alter-table-partition-operations.html) 
       could lead to an unplanned shutdown of the
       cluster. This was due to the fact that, for fully replicated
       tables. the log part ID was assumed to be the same as the
       partition ID. This worked when FOR_RA_BY_LDM was used, but not
       necessarily for the other partition balancing types. (Bug
       #24610551)

     * Using ALGORITHM=INPLACE when changing any of a table's
       NDB_TABLE properties (see Setting NDB_TABLE options in table
       comments
(http://dev.mysql.com/doc/refman/5.7/en/create-table-ndb-table-comment-options.html)) 
       caused the server to fail.  (Bug #24584741)

     * Following successive ALTER TABLE
       (http://dev.mysql.com/doc/refman/5.7/en/alter-table.html)
       statements updating NDB_TABLE properties (see Setting NDB_TABLE
       options in table comments
(http://dev.mysql.com/doc/refman/5.7/en/create-table-ndb-table-comment-options.html)),
       the current values were not always
       shown by SHOW CREATE TABLE
       (http://dev.mysql.com/doc/refman/5.7/en/show-create-table.html)
       or ndb_desc. (Bug #24584690)

     * Case-insensitivity of keywords such as FULLY_REPLICATED
       in NDB_TABLE comments was not honored. (Bug #24577931)

     * An ALTER TABLE
       (http://dev.mysql.com/doc/refman/5.7/en/alter-table.html)
       statement attempting to set both FULLY_REPLICATED and
       PARTITION_BALANCE (see Setting NDB_TABLE options in table
       comments
(http://dev.mysql.com/doc/refman/5.7/en/create-table-ndb-table-comment-options.html)) 
       failed with a garbled error message. (Bug #24577894)

     * A number of dependencies between the binlog injector
       thread and the NDB utility thread---a recurring source of
       synchronization and other problems---were removed. The principal
       changes are listed here:

          + Moved the setup of binlog injector structures from the
          utility thread to the injector thread itself.

          + Removed sharing of some utility and injector thread
          structures between these threads.

          + Moved stopping of the utility thread from the injector
          thread into a common block in which other such threads are
          stopped.

          + Removed a number of hacks required by the previous design.

          + Removed some injector mutex locking and injector condition
          signaling which were made obsolete by the changes already
          listed.  (Bug #24496910) References: See also: Bug #22204186.

     * A late commit ACK signal used for FULLY_REPLICATED or
       READ_BACKUP tables caused the associated ApiConnectionRecord to
       have an invalid state. (Bug #24459817) References: See also: Bug
       #24444861.

     * Added missing error information for a failure occurring
       when tables on disk became full. (Bug #24425373)

     * When ndbmtd crashed, the resulting error log incorrectly
       specified the name of the trace for thread 0, appending the
       nonexistent suffix _t0 to the file name. (Bug #24353408)

     * Passing a nonexistent node ID to CREATE NODEGROUP
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-mgm-client-commands.html#ndbclient-create-nodegroup)
       led to random data node failures. (Bug #23748958)

     * DROP TABLE
       (http://dev.mysql.com/doc/refman/5.7/en/drop-table.html) followed
       by a node shutdown and subesequent master takeover---and with the
       containing local checkpoint not yet complete prior to the
       takeover---caused the LCP to be ignored, and in some cases, the
       data node to fail. (Bug #23735996) References: See also: Bug
       #23288252.

     * Removed an invalid assertion to the effect that all
       cascading child scans are closed at the time API connection
       records are released following an abort of the main transaction.
       The assertion was invalid because closing of scans in such cases
       is by design asynchronous with respect to the main transaction,
       which means that subscans may well take some time to close after
       the main transaction is closed. (Bug #23709284)

     * Although arguments to the DUMP
       (http://dev.mysql.com/doc/ndbapi/en/ndb-internals-dump-commands.html) 
       command are 32-bit integers, ndb_mgmd used a buffer
       of only 10 bytes when processing them. (Bug #23708039)

     * The READ_BACKUP setting was not honored when performing
       scans on BLOB tables. (Bug #23703536)

     * Setting FULLY_REPLICATED=1 (see Setting NDB_TABLE options
       in table comments
(http://dev.mysql.com/doc/refman/5.7/en/create-table-ndb-table-comment-options.html)) 
       did not propagate to the internal
       BLOB part tables used for BLOB
       (http://dev.mysql.com/doc/refman/5.7/en/blob.html) and TEXT
       (http://dev.mysql.com/doc/refman/5.7/en/blob.html) columns. (Bug
       #23703343)

     * The READ_BACKUP setting was not applied to unique
       indexes. (Bug #23702848)

     * In ReadCommitted mode, DBSPJ read primary fragment
       replicas for tables with READ_BACKUP (see Setting NDB_TABLE
       options in table comments
(http://dev.mysql.com/doc/refman/5.7/en/create-table-ndb-table-comment-options.html)),
       even when a local fragment was available. (Bug #23633848)

     * ALL REPORT MemoryUsage produced incorrect output when
       fully replicated tables were in use. (Bug #23539805)

     * Ordered indexes did not inherit READ_BACKUP (see Setting
       NDB_TABLE options in table comments
(http://dev.mysql.com/doc/refman/5.7/en/create-table-ndb-table-comment-options.html))
       from an indexed table, which meant
       that ordered index scans continued to be routed to only to
       primary fragment replicas and never to backup fragment replicas.
       Now DBDICT sets this property on ordered indexes from the table
       property when it distributes this information to instances of
       DBTC and DBSPJ. (Bug #23522027)

     * Updates to a table containing a virtual column could
       cause the binary logging thread to fail. (Bug #23514050)

     * A number of potential buffer overflow issues were found
       and fixed in the NDB codebase. (Bug #23152979)

     * During an online upgrade from a MySQL Cluster NDB 7.3
       release to an NDB 7.4 (or later) release, the failures of several
       data nodes running the lower version during local checkpoints
       (LCPs), and just prior to upgrading these nodes, led to
       additional node failures following the upgrade. This was due to
       lingering elements of the EMPTY_LCP protocol initiated by the
       older nodes as part of an LCP-plus-restart sequence, and which is
       no longer used in NDB 7.4 and later due to LCP optimizations
       implemented in those versions. (Bug #23129433)

     * A SIGNAL_DROPPED_REP handler invoked in response to long
       message buffer exhaustion was defined in the SPJ kernel block,
       but not actually used. This meant that the default handler from
       SimulatedBlock was used instead in such cases, which shut down
       the data node. (Bug #23048816) References: See also: Bug
       #23251145, Bug #23251423.

     * When a data node has insufficient redo buffer during a
       system restart, it does not participate in the restart until
       after the other nodes have started. After this, it performs a
       takeover of its fragments from the nodes in its node group that
       have already started; during this time, the cluster is already
       running and user activity is possible, including DML and DDL
       operations.  During a system restart, table creation is handled
       differently in the DIH kernel block than normally, as this
       creation actually consists of reloading table definition data
       from disk on the master node. Thus, DIH assumed that any table
       creation that occurred before all nodes had restarted must be
       related to the restart and thus always on the master node.
       However, during the takeover, table creation can occur on
       non-master nodes due to user activity; when this happened, the
       cluster underwent a forced shutdown.  Now an extra check is made
       during system restarts to detect in such cases whether the
       executing node is the master node, and use that information to
       determine whether the table creation is part of the restart
       proper, or is taking place during a subsequent takeover. (Bug
       #23028418)

     * ndb_restore set the MAX_ROWS attribute for a table for
       which it had not been set prior to taking the backup.  (Bug
       #22904640)

   * Whenever data nodes are added to or dropped from the
       cluster, the NDB
       (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster.html)
       kernel's Event API is notified of this using a
       SUB_GCP_COMPLETE_REP signal with either the ADD (add) flag or SUB
       (drop) flag set, as well as the number of nodes to add or drop;
       this allows NDB to maintain a correct count of
       SUB_GCP_COMPLETE_REP signals pending for every incomplete bucket.
       In addition to handling the bucket for the epoch associated with
       the addition or removal, it must also compensate for any later
       incomplete buckets associated with later epochs. Although it was
       possible to complete such buckets out of order, there was no
       handling of these, leading a stall in to event reception.  This
       fix adds detection and handling of such out of order bucket
       completion. (Bug #20402364) References: See also: Bug #82424, Bug
       #24399450.

 * To be continued in part 2....

MySQL Cluster 7.5.4 has been released (part 2/2) (no replies)

$
0
0

[This is part 2 of the announcement] 

     * When performing online reorganization of tables, unique
       indexes were not included in the reorganization. (Bug #13714258)

     * Local reads of unique index and blob tables did not work
       correctly for fully replicated tables using more than one node
       group. (Bug #83016, Bug #24675602)

     * The effects of an ALTER TABLE
       (http://dev.mysql.com/doc/refman/5.7/en/alter-table.html)
       statement changing a table to use READ_BACKUP were not preserved
       after a restart of the cluster. (Bug #82812, Bug #24570439)

     * Using FOR_RP_BY_NODE or FOR_RP_BY_LDM for
       PARTITION_BALANCE did not work with fully replicated tables. (Bug
       #82801, Bug #24565265)

     * Changes to READ_BACKUP settings were not propagated to
       internal blob tables. (Bug #82788, Bug #24558232)

     * The count displayed by the c_exec column in the
       ndbinfo.threadstat
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo-threadstat.html)
       table was incomplete. (Bug #82635, Bug #24482218)

     * The default PARTITION_BALANCE setting for NDB
       (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster.html)
       tables created with READ_BACKUP=1 (see Setting NDB_TABLE options
       in table comments
(http://dev.mysql.com/doc/refman/5.7/en/create-table-ndb-table-comment-options.html))
       has been changed from FOR_RA_BY_LDM
       to FOR_RP_BY_LDM. (Bug #82634, Bug #24482114)

     * The internal function ndbcluster_binlog_wait(), which
       provides a way to make sure that all events originating from a
       given thread arrive in the binary log, is used by SHOW BINLOG
       EVENTS (http://dev.mysql.com/doc/refman/5.7/en/show-binlog-events.html)
       as well as when resetting the binary log. This function
       waits on an injector condition while the latest global epoch
       handled by NDB is more recent than the epoch last committed in
       this session, which implies that this condition must be signalled
       whenever the binary log thread completes and updates a new latest
       global epoch.  Inspection of the code revealed that this
       condition signalling was missing, and that, instead of being
       awakened whenever a new latest global epoch completes (~100ms),
       client threads waited for the maximum timeout (1 second).  This
       fix adds the missing injector condition signalling, while also
       changing it to a condition broadcast to make sure that all client
       threads are alerted. (Bug #82630, Bug #24481551)

     * Fully replicated internal foreign key or unique index
       triggers could fire multiple times, which led to aborted
       transactions for an insert or a delete operation. This happened
       due to redundant deferred constraint triggers firing during
       pre-commit. Now in such cases, we ensure that only triggers
       specific to unique indexes are fired in this stage. (Bug #82570,
       Bug #24454378)

     * Backups potentially could fail when using fully
       replicated tables due to their high usage (and subsequent
       exhaustion) of internal trigger resources. To compensate for
       this, the amount of memory reserved in the NDB kernel for
       internal triggers has been increased, and is now based in part on
       the maximum number of tables. (Bug #82569, Bug #24454262)
       References: See also: Bug #23539733.

     * In the DBTC function executeFullyReplicatedTrigger() in
       the NDB kernel, an incorrect check of state led in some cases to
       failure handling when no failure had actually occurred. (Bug
       #82568, Bug #24454093) References: See also: Bug #23539733.

     * When returning from LQHKEYREQ with failure in LQHKEYREF
       in an internal trigger operation, no check was made as to whether
       the trigger was fully replicated, so that those triggers that
       were fully replicated were never handled.  (Bug #82566, Bug
       #24453949) References: See also: Bug #23539733.

     * When READ_BACKUP had not previously been set, then was
       set to 1 as part of an ALTER TABLE ... ALGORITHM=INPLACE
(http://dev.mysql.com/doc/refman/5.7/en/alter-table-partition-operations.html)
       statement, the change was not propagated to
       internal unique index tables or BLOB
       (http://dev.mysql.com/doc/refman/5.7/en/blob.html) tables. (Bug
       #82491, Bug #24424459)

     * Distribution of MySQL privileges was incomplete due to
       the failure of the mysql_cluster_move_privileges() procedure to
       convert the mysql.proxies_priv table to NDB.  The root cause of
       this was an ALTER TABLE ... ENGINE NDB
       (http://dev.mysql.com/doc/refman/5.7/en/alter-table.html)
       statement which sometimes failed when this table contained
       illegal TIMESTAMP
       (http://dev.mysql.com/doc/refman/5.7/en/datetime.html) values.
       (Bug #82464, Bug #24430209)

     * The internal variable m_max_warning_level was not
       initialized in storage/ndb/src/kernel/blocks/thrman.cpp.  This
       sometimes led to node failures during a restart when the
       uninitialized value was treated as 0. (Bug #82053, Bug #23717703)

     * Usually, when performing a system restart, all nodes are
       restored from redo logs and local checkpoints (LCPs), but in some
       cases some node might require a copy phase before it is finished
       with the system restart. When this happens, the node in question
       waits for all other nodes to start up completely before
       performing the copy phase.  Notwithstanding the fact that it is
       thus possible to begin a local checkpoint before reaching start
       phase 4 in the DBDIH block, LCP status was initialized to IDLE in
       all cases, which could lead to a node failure. Now, when
       performing this variant of a system restart, the LCP status is no
       longer initialized. (Bug #82050, Bug #23717479)

     * After adding a new node group online and executing ALTER
       TABLE ... ALGORITHM=INPLACE REORGANIZE PARTITION
       (http://dev.mysql.com/doc/refman/5.7/en/alter-table-partition-operations.html), 
       partition IDs were not set correctly for
       new fragments.  In a related change done as part of fixing this
       issue, ndb_desc -p
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-programs-ndb-desc.html#option_ndb_desc_extra-partition-info) 
       now displays rows relating to partitions in order of partition ID.
       (Bug #82037, Bug #23710999)

     * When executing STOP BACKUP it is possible sometimes that
       a few bytes are written to the backup data file before the backup
       process actually terminates. When using ODIRECT
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbd-definition.html#ndbparam-ndbd-odirect), 
       this resulted in the wrong error code being returned. Now in such cases, 
       nothing is  written to O_DIRECT files unless the alignment is correct. 
       (Bug #82017, Bug #23701911)

     * When transaction coordinator (TC) connection records were
       used up, it was possible to handle scans only for local
       checkpoints and backups, so that operations coming from the
       DBUTIL block---used for ALTER TABLE ... REORGANIZE PARTITION
(http://dev.mysql.com/doc/refman/5.7/en/alter-table-partition-operations.html) 
       and other operations that reorganize
       metadata---were unnecessarily blocked. In addition, such
       operations were not always retried when TC records were
       exhausted. To fix this issue, a number of operation records are
       now earmarked for DBUTIL usage, as well as for LCP and backup
       usage so that these operations are also not negatively impacted
       by operations coming from DBUTIL.  For more information, see The
       DBUTIL Block
(http://dev.mysql.com/doc/ndbapi/en/ndb-internals-kernel-blocks-dbutil.html). 
       (Bug #81992, Bug #23642198)

     * Operations performing multiple updates of the same row
       within the same transaction could sometimes lead to corruption of
       lengths of page entries. (Bug #81938, Bug #23619031)

     * During a node restart, a fragment can be restored using
       information obtained from local checkpoints (LCPs); up to 2
       restorable LCPs are retained at any given time. When an LCP is
       reported to the DIH kernel block as completed, but the node fails
       before the last global checkpoint index written into this LCP has
       actually completed, the latest LCP is not restorable. Although it
       should be possible to use the older LCP, it was instead assumed
       that no LCP existed for the fragment, which slowed the restart
       process. Now in such cases, the older, restorable LCP is used,
       which should help decrease long node restart times.  (Bug #81894,
       Bug #23602217)

     * Optimized node selection (ndb_optimized_node_selection
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-options-variables.html#sysvar_ndb_optimized_node_selection)
       setting)
       was not respected by ndb_data_node_neighbour
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-options-variables.html#sysvar_ndb_data_node_neighbour) 
       when this was enabled. (Bug #81778, Bug #23555834)

     * NDB no longer retries a global schema lock if this has
       failed due to a timeout (default 3000ms) and there is the
       potential for this lock request to participate in a metadata
       lock-global schema lock deadlock. Now in such cases it selects
       itself as a "victim", and returns the decision to the requestor
       of the metadata lock, which then handles the request as a failed
       lock request (preferable to remaining deadlocked indefinitely),
       or, where a deadlock handler exists, retries the metadata
       lock-global schema lock. (Bug #81775, Bug #23553267)

     * Two issues were found in the implementation of hash
       maps---used by NDB for mapping a table row's hash value to a
       partition---for fully replicated tables:

         1. Hash maps were selected based on the number of fragments
         rather than the number of partitions. This was previously
         undetected due to the fact that, for other kinds of tables,
         these values are always the same.

         2. The hash map was employed as a partition-to-partition map,
         using the table row's hash value modulus the partition count as
         input.  This fix addresses both of the problems just described.
         (Bug #81757, Bug #23544220) References: See also: Bug #81761,
         Bug #23547525, Bug #23553996.

     * Using mysqld together with --initialize
(http://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_initialize) 
       and --ndbcluster
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-options-variables.html#option_mysqld_ndbcluster) 
       led to problems
       later when attempting to use mysql_upgrade. When running with
       --initialize, the server does not require NDB
       (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster.html)
       support, and having it enabled can lead to issues with ndbinfo
       (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo.html) 
       tables. To prevent this from happening, using the
       --initialize option now causes mysqld to ignore the --ndbcluster
       option if the latter is also specified.  This issue affects
       upgrades from MySQL Cluster NDB 7.5.3 or 7.5.3 only. In cases
       where such upgrades fail for the reasons outlined previously, you
       can work around the issue by deleting all .frm files in the
       data/ndbinfo directory following a rolling restart of the entire
       cluster, then running mysql_upgrade. (Bug #81689, Bug #23518923)
       References: See also: Bug #82724, Bug #24521927.

     * While a mysqld was waiting to connect to the management
       server during initialization of the NDB handler, it was not
       possible to shut down the mysqld. If the mysqld was not able to
       make the connection, it could become stuck at this point. This
       was due to an internal wait condition in the utility and index
       statistics threads that could go unmet indefinitely. This
       condition has been augmented with a maximum timeout of 1 second,
       which makes it more likely that these threads terminate
       themselves properly in such cases.  In addition, the connection
       thread waiting for the management server connection performed 2
       sleeps in the case just described, instead of 1 sleep, as
       intended.  (Bug #81585, Bug #23343673)

     * ALTER TABLE ... ALGORITHM=INPLACE
(http://dev.mysql.com/doc/refman/5.7/en/alter-table-partition-operations.html) 
       on a fully replicated table did not copy
       the associated trigger ID, leading to a failure in the DBDICT
       kernel block. (Bug #81544, Bug #23330359)

     * The list of deferred tree node lookup requests created
       when preparing to abort a DBSPJ request were not cleared when
       this was complete, which could lead to deferred operations being
       started even after the DBSPJ request aborted. (Bug #81355, Bug
       #23251423) References: See also: Bug #23048816.

     * Error and abort handling in Dbspj::execTRANSID_AI() was
       implemented such that its abort() method was called before
       processing of the incoming signal was complete.  Since this
       method sends signals to the LDM, this partly overwrote the
       contents of the signal which was later required by
       execTRANSID_AI(). This could result in aborted DBSPJ requests
       cleaning up their allocated resources too early, or not at all.
       (Bug #81353, Bug #23251145) References: See also: Bug #23048816.

     * The read backup feature added in MySQL Cluster NDB 7.5.2
       that makes it possible to read from backup replicas was not used
       for reads with lock, or for reads of BLOB
       (http://dev.mysql.com/doc/refman/5.7/en/blob.html) tables or
       unique key tables where locks were upgraded to reads with lock.
       Now the TCKEYREQ and SCAN_TABREQ signals use a flag to convey
       information about such locks making it possible to read from a
       backup replica when a read lock was upgraded due to being the
       read of the base table for a BLOB table, or due to being the read
       for a unique key.  (Bug #80861, Bug #23001841)

     * Primary replicas of partitioned tables were not
       distributed evenly among node groups and local data managers.  As
       part of the fix for this issue, the maximum number of node groups
       supported for a single MySQL Cluster, which was previously not
       determined, is now set at 48 (MAX_NDB_NODE_GROUPS). (Bug #80845,
       Bug #22996305)

     * Several object constructors and similar functions in the
       NDB (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster.html)
       codebase did not always perform sanity checks when creating new
       instances. These checks are now performed under such
       circumstances. (Bug #77408, Bug #21286722)

     * Cluster API: Reuse of transaction IDs could occur when
       Ndb (http://dev.mysql.com/doc/ndbapi/en/ndb-ndb.html) objects
       were created and deleted concurrently. As part of this fix, the
       NDB API methods lock_ndb_objects()
(http://dev.mysql.com/doc/ndbapi/en/ndb-ndb-cluster-connection-lock-ndb-objects.html) 
       and unlock_ndb_objects
(http://dev.mysql.com/doc/ndbapi/en/ndb-ndb-cluster-connection-unlock-ndb-objects.html) 
       are now declared as const.  (Bug #23709232)

     * Cluster API: When the management server was restarted
       while running an MGM API application that continuously monitored
       events, subsequent events were not reported to the application,
       with timeouts being returned indefinitely instead of an error.
       This occurred because sockets for event listeners were not closed
       when restarting mgmd. This is fixed by ensuring that event
       listener sockets are closed when the management server shuts
       down, causing applications using functions such as
       ndb_logevent_get_next()
       (http://dev.mysql.com/doc/ndbapi/en/mgm-ndb-logevent-get-next.html) 
       to receive a read error following the restart.  (Bug #19474782)

     * Cluster API: To process incoming signals, a thread which
       wants to act as a receiver must acquire polling rights from the
       transporter layer. This can be requested and assigned to a
       separate receiver thread, or each client thread can take the
       receiver role when it is waiting for a result.  When the thread
       acting as poll owner receives a sufficient amount of data, it
       releases locks on any other clients taken while delivering
       signals to them. This could make them runnable again, and the
       operating system scheduler could decide that it was time to wake
       them up, which happened at the expense of the poll owner threads,
       which were in turn excluded from the CPU while still holding
       polling rights on it. After this fix, polling rights are released
       by a thread before unlocking and signalling other threads. This
       makes polling rights available for other threads that are
       actively executing on this CPU.  This change increases
       concurrency when polling receiver data, which should also reduce
       latency for clients waiting to be woken up. (Bug #83129, Bug
       #24716756)

     * Cluster API: libndbclient and libmysqlclient exported
       conflicting symbols, resulting in a segmentation fault in debug
       builds on Linux. To fix this issue, the conflicting symbols in
       libndbclient.so are no longer publicly visible. Due to this
       change, the version number for libndbclient.so has been raised
       from 6.0.0 to 6.1.0. (Bug #83093, Bug #24707521) References: See
       also: Bug #80352, Bug #22722555.

     * Cluster API: When NDB schema object ownership checks are
       enabled by a given NdbTransaction
       (http://dev.mysql.com/doc/ndbapi/en/ndb-ndbtransaction.html),
       objects used by this transaction are checked to make sure that
       they belong to the NdbDictionary
       (http://dev.mysql.com/doc/ndbapi/en/ndb-ndbdictionary.html)
       owned by this connection. An attempt to create a NdbOperation
       (http://dev.mysql.com/doc/ndbapi/en/ndb-ndboperation.html),
       NdbScanOperation
       (http://dev.mysql.com/doc/ndbapi/en/ndb-ndbscanoperation.html),
       or NdbIndexScanOperation
       (http://dev.mysql.com/doc/ndbapi/en/ndb-ndbindexscanoperation.html)
       on a table or index not belonging to the same
       connection fails.  This fix corrects a resource leak which
       occurred when the operation object to be created was allocated
       before checking schema object ownership and subsequently not
       released when the object creation failed. (Bug #81949, Bug
       #23623978) References: See also: Bug #81945, Bug #23623251.

     * Cluster API: NDB API objects are allocated in the context
       of an Ndb (http://dev.mysql.com/doc/ndbapi/en/ndb-ndb.html)
       object, or of an NdbTransaction
       (http://dev.mysql.com/doc/ndbapi/en/ndb-ndbtransaction.html)
       object which is itself owned by an Ndb object. When a given Ndb
       object is destroyed, all remaining NdbTransaction objects are
       terminated, and all NDB API objects related to this Ndb object
       should be released at this time as well. It was found, when there
       remained unclosed NdbTransaction objects when their parent Ndb
       object was destroyed, leaks of objects allocated from the
       NdbTransaction objects could occur. (However, the NdbTransaction
       objects themselves did not leak.) While it is advisable (and,
       indeed, recommended) to close an NdbTransaction explicitly as
       soon as its lifetime ends, the destruction of the parent Ndb
       object should be sufficient to release whatever objects are
       dependent on it. Now in cases such as described previously, the
       Ndb destructor checks to ensure that all objects derived from a
       given Ndb instance are truly released. (Bug #81945, Bug
       #23623251)

     * Cluster API: In some of the NDB API example programs
       included with the MySQL Cluster distribution, ndb_end() was
       called prior to calling the Ndb_cluster_connection
       (http://dev.mysql.com/doc/ndbapi/en/ndb-ndb-cluster-connection.html)
       destructor. This caused a segmentation fault in debug
       builds on all platforms. The example programs affected have also
       been extensively revised and refactored. See NDB API Examples
       (http://dev.mysql.com/doc/ndbapi/en/ndb-examples.html), for more
       information. (Bug #80352, Bug #22722555) References: See also:
       Bug #83093, Bug #24707521.


On behalf of the Oracle MySQL RE Team
Balasubramanian Kandasamy

MySQL Cluster 7.2.26 has been released (no replies)

$
0
0
Dear MySQL Users,

MySQL Cluster is the distributed, shared-nothing variant of MySQL.
This storage engine provides:

  - In-Memory storage - Real-time performance (with optional
    checkpointing to disk)
  - Transparent Auto-Sharding - Read & write scalability
  - Active-Active/Multi-Master geographic replication
  - 99.999% High Availability with no single point of failure
    and on-line maintenance
  - NoSQL and SQL APIs (including C++, Java, http and Memcached)

MySQL Cluster 7.2.26, has been released and can be downloaded from

  http://www.mysql.com/downloads/cluster/

where you will also find Quick Start guides to help you get your
first MySQL Cluster database up and running.

The release notes are available from

http://dev.mysql.com/doc/relnotes/mysql-cluster/7.2/en/index.html

MySQL Cluster enables users to meet the database challenges of next
generation web, cloud, and communications services with uncompromising
scalability, uptime and agility.

More details can be found at

  http://www.mysql.com/products/cluster/

Enjoy !


Changes in MySQL Cluster NDB 7.2.26 (5.5.53-ndb-7.2.26) (2016-10-18, General Availability)


   MySQL Cluster NDB 7.2.26 is a new release of MySQL Cluster,
   incorporating new features in the NDB storage engine, and fixing
   recently discovered bugs in previous MySQL Cluster NDB 7.2
   development releases.

   Obtaining MySQL Cluster NDB 7.2.  MySQL Cluster NDB 7.2 source code
   and binaries can be obtained from
   http://dev.mysql.com/downloads/cluster/.

   This release also incorporates all bugfixes and changes made in
   previous MySQL Cluster releases, as well as all bugfixes and feature
   changes which were added in mainline MySQL 5.5 through MySQL 5.5.53
   (see Changes in MySQL 5.5.53 (Not yet released)
(http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-53.html)).

   Bugs Fixed

     * Several object constructors and similar functions in the
       NDB codebase did not always perform sanity checks when creating
       new instances. These checks are now performed under such
       circumstances. (Bug #77408, Bug #21286722)

On behalf of the Oracle MySQL RE Team
Piotr Obrzut

MySQL Cluster 7.4.13 has been released (no replies)

$
0
0
Dear MySQL Users,

MySQL Cluster is the distributed, shared-nothing variant of MySQL.
This storage engine provides:

  - In-Memory storage - Real-time performance
  - Transparent Auto-Sharding - Read & write scalability
  - Active-Active/Multi-Master geographic replication
  - 99.999% High Availability with no single point of failure
    and on-line maintenance
  - NoSQL and SQL APIs (including C++, Java, http, Memcached
    and JavaScript/Node.js)

MySQL Cluster 7.4 makes significant advances in performance;
operational efficiency (such as enhanced reporting and faster restarts
and upgrades) and conflict detection and resolution for active-active
replication between MySQL Clusters.

MySQL Cluster 7.4.13, has been released and can be downloaded from

  http://www.mysql.com/downloads/cluster/

where you will also find Quick Start guides to help you get your
first MySQL Cluster database up and running.

The release notes are available from

  http://dev.mysql.com/doc/relnotes/mysql-cluster/7.4/en/index.html

MySQL Cluster enables users to meet the database challenges of next
generation web, cloud, and communications services with uncompromising
scalability, uptime and agility.

More details can be found at

  http://www.mysql.com/products/cluster/

Enjoy !

==============================================================================
Changes in MySQL Cluster NDB 7.4.13 (5.6.34-ndb-7.4.13) (2016-10-18)

   MySQL Cluster NDB 7.4.13 is a new release of MySQL Cluster
   7.4, based on MySQL Server 5.6 and including features in
   version 7.4 of the NDB storage engine, as well as fixing
   recently discovered bugs in previous MySQL Cluster releases.

   Obtaining MySQL Cluster NDB 7.4.  MySQL Cluster NDB 7.4
   source code and binaries can be obtained from
   http://dev.mysql.com/downloads/cluster/.

   For an overview of changes made in MySQL Cluster NDB 7.4, see
   What is New in MySQL Cluster NDB 7.4
   (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-what-is
    -new-7-4.html).

   This release also incorporates all bugfixes and changes made
   in previous MySQL Cluster releases, as well as all bugfixes
   and feature changes which were added in mainline MySQL 5.6
   through MySQL 5.6.34 (see Changes in MySQL 5.6.34 (Not yet
   released)
   (http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-34.h
    tml).

   Bugs Fixed

     * Passing a nonexistent node ID to CREATE NODEGROUP led to
       random data node failures. (Bug #23748958)

     * DROP TABLE followed by a node shutdown and subesequent
       master takeover---and with the containing local
       checkpoint not yet complete prior to the
       takeover---caused the LCP to be ignored, and in some
       cases, the data node to fail. (Bug #23735996)
       References: See also: Bug #23288252.

     * Removed an invalid assertion to the effect that all
       cascading child scans are closed at the time API
       connection records are released following an abort of the
       main transaction. The assertion was invalid because
       closing of scans in such cases is by design asynchronous
       with respect to the main transaction, which means that
       subscans may well take some time to close after the main
       transaction is closed. (Bug #23709284)

     * A number of potential buffer overflow issues were found
       and fixed in the NDB codebase. (Bug #23152979)

     * A SIGNAL_DROPPED_REP handler invoked in response to long
       message buffer exhaustion was defined in the SPJ kernel
       block, but not actually used. This meant that the default
       handler from SimulatedBlock was used instead in such
       cases, which shut down the data node. (Bug #23048816)
       References: See also: Bug #23251145, Bug #23251423.

     * When a data node has insufficient redo buffer during a
       system restart, it does not participate in the restart
       until after the other nodes have started. After this, it
       performs a takeover of its fragments from the nodes in
       its node group that have already started; during this
       time, the cluster is already running and user activity is
       possible, including DML and DDL operations.
       During a system restart, table creation is handled
       differently in the DIH kernel block than normally, as
       this creation actually consists of reloading table
       definition data from disk on the master node. Thus, DIH
       assumed that any table creation that occurred before all
       nodes had restarted must be related to the restart and
       thus always on the master node. However, during the
       takeover, table creation can occur on non-master nodes
       due to user activity; when this happened, the cluster
       underwent a forced shutdown.
       Now an extra check is made during system restarts to
       detect in such cases whether the executing node is the
       master node, and use that information to determine
       whether the table creation is part of the restart proper,
       or is taking place during a subsequent takeover. (Bug
       #23028418)

     * ndb_restore set the MAX_ROWS attribute for a table for
       which it had not been set prior to taking the backup.
       (Bug #22904640)

     * Whenever data nodes are added to or dropped from the
       cluster, the NDB kernel's Event API is notified of this
       using a SUB_GCP_COMPLETE_REP signal with either the ADD
       (add) flag or SUB (drop) flag set, as well as the number
       of nodes to add or drop; this allows NDB to maintain a
       correct count of SUB_GCP_COMPLETE_REP signals pending for
       every incomplete bucket. In addition to handling the
       bucket for the epoch associated with the addition or
       removal, it must also compensate for any later incomplete
       buckets associated with later epochs. Although it was
       possible to complete such buckets out of order, there was
       no handling of these, leading a stall in to event
       reception.
       This fix adds detection and handling of such out of order
       bucket completion. (Bug #20402364)
       References: See also: Bug #82424, Bug #24399450.

     * The count displayed by the c_exec column in the
       ndbinfo.threadstat table was incomplete. (Bug #82635, Bug
       #24482218)

     * The internal function ndbcluster_binlog_wait(), which
       provides a way to make sure that all events originating
       from a given thread arrive in the binary log, is used by
       SHOW BINLOG EVENTS as well as when resetting the binary
       log. This function waits on an injector condition while
       the latest global epoch handled by NDB is more recent
       than the epoch last committed in this session, which
       implies that this condition must be signalled whenever
       the binary log thread completes and updates a new latest
       global epoch. Inspection of the code revealed that this
       condition signalling was missing, and that, instead of
       being awakened whenever a new latest global epoch
       completes (~100ms), client threads waited for the maximum
       timeout (1 second).
       This fix adds the missing injector condition signalling,
       while also changing it to a condition broadcast to make
       sure that all client threads are alerted. (Bug #82630,
       Bug #24481551)

     * During a node restart, a fragment can be restored using
       information obtained from local checkpoints (LCPs); up to
       2 restorable LCPs are retained at any given time. When an
       LCP is reported to the DIH kernel block as completed, but
       the node fails before the last global checkpoint index
       written into this LCP has actually completed, the latest
       LCP is not restorable. Although it should be possible to
       use the older LCP, it was instead assumed that no LCP
       existed for the fragment, which slowed the restart
       process. Now in such cases, the older, restorable LCP is
       used, which should help decrease long node restart times.
       (Bug #81894, Bug #23602217)

     * While a mysqld was waiting to connect to the management
       server during initialization of the NDB handler, it was
       not possible to shut down the mysqld. If the mysqld was
       not able to make the connection, it could become stuck at
       this point. This was due to an internal wait condition in
       the utility and index statistics threads that could go
       unmet indefinitely. This condition has been augmented
       with a maximum timeout of 1 second, which makes it more
       likely that these threads terminate themselves properly
       in such cases.
       In addition, the connection thread waiting for the
       management server connection performed 2 sleeps in the
       case just described, instead of 1 sleep, as intended.
       (Bug #81585, Bug #23343673)

     * The list of deferred tree node lookup requests created
       when preparing to abort a DBSPJ request were not cleared
       when this was complete, which could lead to deferred
       operations being started even after the DBSPJ request
       aborted. (Bug #81355, Bug #23251423)
       References: See also: Bug #23048816.

     * Error and abort handling in Dbspj::execTRANSID_AI() was
       implemented such that its abort() method was called
       before processing of the incoming signal was complete.
       Since this method sends signals to the LDM, this partly
       overwrote the contents of the signal which was later
       required by execTRANSID_AI(). This could result in
       aborted DBSPJ requests cleaning up their allocated
       resources too early, or not at all. (Bug #81353, Bug
       #23251145)
       References: See also: Bug #23048816.

     * Several object constructors and similar functions in the
       NDB codebase did not always perform sanity checks when
       creating new instances. These checks are now performed
       under such circumstances. (Bug #77408, Bug #21286722)

     * Cluster API: Reuse of transaction IDs could occur when
       Ndb objects were created and deleted concurrently. As
       part of this fix, the NDB API methods lock_ndb_objects()
       and unlock_ndb_objects are now declared as const. (Bug
       #23709232)

     * Cluster API: When the management server was restarted
       while running an MGM API application that continuously
       monitored events, subsequent events were not reported to
       the application, with timeouts being returned
       indefinitely instead of an error.
       This occurred because sockets for event listeners were
       not closed when restarting mgmd. This is fixed by
       ensuring that event listener sockets are closed when the
       management server shuts down, causing applications using
       functions such as ndb_logevent_get_next() to receive a
       read error following the restart. (Bug #19474782)

Enjoy and thanks for the support!

On behalf of the MySQL Release Team
-Sreedhar S 

MySQL Connector/J 6.0.5 m4 Development Release has been released (no replies)

$
0
0
Dear MySQL users,

MySQL Connector/J 6.0.5 m4 Development Release is a developer milestone
release for the 6.0.x series.
This release includes the following new features and changes, also described
in more detail on
http://dev.mysql.com/doc/relnotes/connector-j/6.0/en/news-6-0-5.html.

As always, we recommend that you check the "CHANGES" file in the download
archive to be aware of changes in behavior that might affect your application.

To download MySQL Connector/J 6.0.5 M4, see the "Development
Releases" tab at http://dev.mysql.com/downloads/connector/j/

Enjoy!

   Changes in MySQL Connector/J 6.0.5 (2016-10-19, Milestone 4)

   Version 6.0.5 Milestone is the forth development release of
   the 6.0 branch of MySQL Connector/J, providing an insight
   into upcoming features. It is suitable for use with MySQL
   server versions 5.5, 5.6, and 5.7. It supports the Java
   Database Connectivity (JDBC) 4.2 API.

   Functionality Added or Changed

     * Added support for the error codes of two MySQL server
       errors, ER_XA_RBTIMEOUT
       (http://dev.mysql.com/doc/refman/5.7/en/error-messages-se
        rver.html#error_er_xa_rbtimeout) and ER_XA_RBDEADLOCK
       (http://dev.mysql.com/doc/refman/5.7/en/error-messages-se
        rver.html#error_er_xa_rbdeadlock). (Bug #13702433, Bug
       #64188)

     * X DevAPI: Client-side failover is now supported. It is
       enabled by specifying multiple hosts in the X DevAPI
       connection URL. See X DevAPI URL Format for more details.

     * com.mysql.cj.core.MysqlType can now be used as
       java.sql.SQLType in JDBC methods.

     * X DevAPI: A new method, createTable(), has been added to
       the Schema interface. See MySQL Connector/J X DevAPI
       Reference (http://dev.mysql.com/doc/dev/connector-j/) for
       details.

     * X DevAPI: A new method, bindToDefaultShard(), has been
       added to the XSession interface. It creates a "virtual"
       NodeSession instance, which shares the connection to the
       router with the XSession that was used to create it. See
       MySQL Connector/J X DevAPI Reference
       (http://dev.mysql.com/doc/dev/connector-j/) for details.

     * X DevAPI: For any function that takes a value list of
       parameters for its argument, there is now more
       flexibility with how the parameters are to be specified:
       they can now be supplied either as a value list or a list
       of individual parameters.

     * The Extension interface has been removed. Extension
       classes now implement their own interfaces.

   Bugs Fixed

     * In certain cases, the exception interceptor was being
       triggered twice in the internal SQLException factory
       method. Also, if the exception interceptor returned an
       exception with the cause already initialized, the same
       factory method would fail to initialize the cause again,
       and the real cause for the exception remained uncaptured.
       (Bug #23743956)

     * getLength() returned -1 for fields of the LONGBLOBL,
       LONGTEXT, and GEOMETRY data types. This is due to the way
       these data types are handled by protocol buffers, and
       this fix makes the method return the right values. (Bug
       #22988922)

     * A memory leakage occurred when the connection properties
       cachePrepStmts and useServerPrepStmts were both set to be
       true and server-side prepared statements were set as
       non-poolable, which resulted in the prepared statement
       being not closable by the client, and the number of
       prepared statements then kept on increasing.
       When the memory leakage described above occurred, it did
       not make Connector/J fail, as Connector/J switched to
       using client-side prepared statements when the maximum
       number of prepared statements was reached. However, when
       rewriteBatchedStatements was also set to true, the switch
       to client-side prepared statements did not occur, and
       Connector/J threw the MySQLSyntaxErrorException ("Can't
       create more than max_prepared_stmt_count statements")
       when the client wanted to create more prepared statements
       than allowed.
       This fix corrected the way prepared statements are
       handled in order to avoid both of the problems described
       above. (Bug #22954007, Bug #80615)

     * ResultSet.getString() sometimes returned garbled data for
       columns of the JSON data type. This was because JSON data
       was binary encoded by MySQL using the utf8mb4 character
       set, but decoded by Connector/J using the ISO-8859-1
       character set. This patch fixes the decoding for JSON
       data. Thanks to Dong Song Ling for contributing to the
       fix. (Bug #22891845, Bug #80631)

     * When Connector/J retrieved the value of a BIT column as a
       string using, for example, getString(), it returned the
       wrong string if the BIT value happened to be equivalent
       to the decimal value of some ASCII character. This was
       because Connector/J treated the BIT value as a character
       code; thus, for example, the value "01100001" (decimal 97
       in binary) was interpreted as the character "a" (whose
       ASCII value in decimal is 97), which was returned by the
       function. This fix corrected the parsing behavior of
       Connector/J on BIT values, so that a string
       representation of the number ("97" in the last example)
       is returned by getString(). (Bug #21938551, Bug #78685)

     * When the connection property useLocalTransactionState was
       set to "true" and autocommit was set to "false" on the
       server, if any exception was thrown, any further calls
       for rollback() or commit() were not sent to the server.
       It was because when there was an exception while
       executing a query, Connector/J lost the information
       regarding the server's transaction state. This patch
       fixes this issue by preserving the previous transaction
       state for the current connection when any exception is
       thrown. (Bug #20212882, Bug #75209)

     * An invalid connection URL caused Connector/J to throw a
       NullPointerException. With this fix, an SQLException is
       thrown instead in the situation. (Bug #18759269, Bug
       #72632)

     * When a very large amount of compressed data is
       transmitted from the server to the client and under very
       special circumstances, a CommunicationsException might
       occur. It happened when a single compressed packet from
       the server was not big enough to provide an entire
       uncompressed packet to the client side. With this fix,
       Connector/J reads as many compressed packets as necessary
       to fill the size of the uncompressed packet that was
       being requested. Thanks to Ryosuke Yamazaki for
       contributing to the fix. (Bug #11756431, Bug #48346)

Documentation
--------------
Online: http://dev.mysql.com/doc/connector-j/6.0/en/index.html

Reporting Bugs
---------------
We welcome and appreciate your feedback and bug reports:
http://bugs.mysql.com/

On behalf of the MySQL Release Team
-Sreedhar S

MySQL Cluster 7.3.15 has been released (no replies)

$
0
0
Dear MySQL Users,

MySQL Cluster is the distributed, shared-nothing variant of MySQL.
This storage engine provides:

- In-Memory storage - Real-time performance (with optional
checkpointing to disk)
- Transparent Auto-Sharding - Read & write scalability
- Active-Active/Multi-Master geographic replication

- 99.999% High Availability with no single point of failure
and on-line maintenance
- NoSQL and SQL APIs (including C++, Java, http, Memcached
and JavaScript/Node.js)

MySQL Cluster 7.3.15, has been released and can be downloaded from

http://www.mysql.com/downloads/cluster/

where you will also find Quick Start guides to help you get your
first MySQL Cluster database up and running.

The release notes are available from

http://dev.mysql.com/doc/relnotes/mysql-cluster/7.3/en/index.html

MySQL Cluster enables users to meet the database challenges of next
generation web, cloud, and communications services with uncompromising
scalability, uptime and agility.

More details can be found at

http://www.mysql.com/products/cluster/

Enjoy !

Changes in MySQL Cluster NDB 7.3.15 (5.6.34-ndb-7.3.15) (2016-10-18)

   MySQL Cluster NDB 7.3.15 is a new release of MySQL Cluster,
   based on MySQL Server 5.6 and including features from version
   7.3 of the NDB storage engine, as well as fixing a number of
   recently discovered bugs in previous MySQL Cluster releases.

   Obtaining MySQL Cluster NDB 7.3.  MySQL Cluster NDB 7.3
   source code and binaries can be obtained from
   http://dev.mysql.com/downloads/cluster/.

   For an overview of changes made in MySQL Cluster NDB 7.3, see
   What is New in MySQL Cluster NDB 7.3
   (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-what-is-new-7-3.html).

   This release also incorporates all bugfixes and changes made
   in previous MySQL Cluster releases, as well as all bugfixes
   and feature changes which were added in mainline MySQL 5.6
   through MySQL 5.6.34 (see Changes in MySQL 5.6.34
   (2016-10-12, General Availability)
   (http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-34.html)).

     * Functionality Added or Changed

     * Bugs Fixed

   Functionality Added or Changed

     * ClusterJ: To help applications handle database errors
       better, a number of new features have been added to the
       ClusterJDatastoreException class:

          + A new method, getCode(), returns code from the
            NdbError object.

          + A new method, getMysqlCode(), returns mysql_code
            from the NdbError object.

          + A new subclass,
            ClusterJDatastoreException.Classification, gives
            users the ability to decode the result from
            getClassification(). The method
            Classification.toString() gives the name of the
            error classification as listed in NDB Error
            Classifications
       (http://dev.mysql.com/doc/ndbapi/en/ndb-error-classifications.html).
       (Bug #22353594)

   Bugs Fixed

     * Removed an invalid assertion to the effect that all
       cascading child scans are closed at the time API
       connection records are released following an abort of the
       main transaction. The assertion was invalid because
       closing of scans in such cases is by design asynchronous
       with respect to the main transaction, which means that
       subscans may well take some time to close after the main
       transaction is closed. (Bug #23709284)

     * A number of potential buffer overflow issues were found
       and fixed in the NDB codebase. (Bug #23152979)

     * When a data node has insufficient redo buffer during a
       system restart, it does not participate in the restart
       until after the other nodes have started. After this, it
       performs a takeover of its fragments from the nodes in
       its node group that have already started; during this
       time, the cluster is already running and user activity is
       possible, including DML and DDL operations.
       During a system restart, table creation is handled
       differently in the DIH kernel block than normally, as
       this creation actually consists of reloading table
       definition data from disk on the master node. Thus, DIH
       assumed that any table creation that occurred before all
       nodes had restarted must be related to the restart and
       thus always on the master node. However, during the
       takeover, table creation can occur on non-master nodes
       due to user activity; when this happened, the cluster
       underwent a forced shutdown.
       Now an extra check is made during system restarts to
       detect in such cases whether the executing node is the
       master node, and use that information to determine
       whether the table creation is part of the restart proper,
       or is taking place during a subsequent takeover. (Bug
       #23028418)

     * Several object constructors and similar functions in the
       NDB codebase did not always perform sanity checks when
       creating new instances. These checks are now performed
       under such circumstances. (Bug #77408, Bug #21286722)

     * Cluster API: Reuse of transaction IDs could occur when
       Ndb objects were created and deleted concurrently. As
       part of this fix, the NDB API methods lock_ndb_objects()
       and unlock_ndb_objects are now declared as const. (Bug
       #23709232)

MySQL Connector/C++ 2.0.3 m3 Development Release has been released (no replies)

$
0
0
Dear MySQL users,

MySQL Connector/C++ 2.0.3 is the next development milestone of the MySQL
Connector/C++ 2.0 series, and the first public release. Apart from
covering more X DevAPI features, it adds a new, plain C API, called
XAPI, that offers functionality similar to X DevAPI to applications
written in plain C. Thus, not only can MySQL Connector/C++ be used to
write C++ applications, as before. Now, using the XAPI, MySQL
Connector/C++ can be used to write plain C applications to access MySQL
Database implementing a document store as well as execute traditional
plain SQL statements. For more information about XAPI, refer to the
documentation at
http://dev.mysql.com/doc/dev/connector-cpp/xapi_ref.html.

To learn more about how to write applications using the X DevAPI, see X
DevAPI User Guide ( http://dev.mysql.com/doc/x-devapi-userguide/en/ ). For
more information about how to use Connector/C++ 2.0 and how the X DevAPI
is implemented in it, see http://dev.mysql.com/doc/dev/connector-cpp/.

Note

The X DevAPI requires at least MySQL Server version 5.7.12 or higher
with the X Plugin enabled. For general documentation about how to get
started using MySQL as a document store, see Using MySQL as a Document
Store ( http://dev.mysql.com/doc/refman/5.7/en/document-store.html ).

To download MySQL Connector/C++ 2.0.3 m3, see the "Development Releases"
tab at http://dev.mysql.com/downloads/connector/cpp/

X DevAPI Notes

     * New X DevAPI features added in this MySQL Connector/C++
       release:

          + Methods for starting and controlling transactions

          + Using an X DevAPI URI or connection string to
            specify new session parameters

          + Capability of binding a session to the default shard
            and execute SQL statements there (using
            XSession.bindToDefaultShard())

          + Methods for counting elements in a table or
            collection

          + Access to multiple result sets if present in a query
            result

          + Methods to count items in a result set and fetch a
            complete result set at once (using fetchAll()),
            instead of accessing items one by one (using
            fetchOne())

          + Access to warnings reported when processing a
            statement (getWarnings())

          + Access to information about affected rows, generated
            auto-increment values, and identifiers of documents
            added to a collection


On Behalf of the MySQL/ORACLE RE Team

MySQL Enterprise Monitor 3.2.5 has been released (no replies)

$
0
0
We are pleased to announce that MySQL Enterprise Monitor 3.2.5 is now
available for download on the My Oracle Support (MOS) web site.

This is a maintenance release that includes a few enhancements and
fixes a number of bugs. You can find more information on the contents
of this release in the change log:

http://dev.mysql.com/doc/relnotes/mysql-monitor/3.2/en/news-3-2-5.html
(also included at the end of this note for convenience)

You will find binaries for the new release on My Oracle Support:

https://support.oracle.com

Choose the "Patches & Updates" tab, and then choose the "Product or
Family (Advanced Search)" side tab in the "Patch Search" portlet.

IMPORTANT: MySQL Enterprise Monitor (MEM) 3.3 offers many significant
improvements over MEM 3.2 and we highly recommend that you consider
upgrading. More information on MEM 3.3 is available here:

What's New in MySQL Enterprise Monitor 3.3
http://dev.mysql.com/doc/mysql-monitor/3.3/en/mem-comparison-3-2.html

MySQL Enterprise Monitor
http://www.mysql.com/products/enterprise/monitor.html

MySQL Enterprise Monitor Frequently Asked Questions
http://dev.mysql.com/doc/mysql-monitor/3.3/en/mem-faq.html

MySQL Enterprise Monitor Change History
http://dev.mysql.com/doc/relnotes/mysql-monitor/3.3/en/

Please open a bug or a ticket on My Oracle Support to report problems,
request features, or give us general feedback about how this release
meets your needs.

If you are not a MySQL Enterprise customer and want to try the Monitor
and Query Analyzer using our 30-day free customer trial, go to
http://www.mysql.com/trials, or contact Sales at
http://www.mysql.com/about/contact.

Useful URLs

* My Oracle Support - http://support.oracle.com/
* What's New in 3.2 - https://dev.mysql.com/doc/mysql-monitor/3.2/en/mem-comparison-3-2.html
* Change log - http://dev.mysql.com/doc/relnotes/mysql-monitor/3.2/en/
* Installation documentation - http://dev.mysql.com/doc/mysql-monitor/3.2/en/mem-installing.html
* Complete documentation - http://dev.mysql.com/doc/mysql-monitor/3.2/en/
* Product information - http://www.mysql.com/products/enterprise/monitor.html
* FAQs - http://dev.mysql.com/doc/mysql-monitor/3.2/en/mem-faq.html
* Download - http://support.oracle.com/

Thanks and Happy Monitoring!

- The MySQL Enterprise Tools Development Team

==========

Changes in MySQL Enterprise Monitor 3.2.5

Functionality Added or Changed

* Important Change: As of this release, it is not possible to use
MySQL Server 5.1 or 5.5 as the MySQL Enterprise Monitor repository.
The installer displays an error and the installation process stops.

* A new Monitoring and Support Services advisor, Duplicate Host
Identity is added. This advisor generates events if duplicate host
identities are discovered on the monitored network. This can be
caused by duplicated SSH keys or Windows SIDs. (Bug #24620458)

* The event status is now included in the body of the notification
mail. (Bug #24311586)

* The OpenSSL libraries used by the MySQL Enterprise Monitor
installers and MySQL Enterprise Monitor Aggregator have been
upgraded to 1.0.1u.

* The configuration menu item Event Handling was renamed Event
Handlers.

* The bundled JRE was updated to 1.8.0_102 for both the Agent and
Service Manager.

* The MySQL database, bundled with the MySQL Enterprise Service
Manager, has been upgraded to MySQL 5.6.34.

Bugs Fixed

* The Processes report did not properly report data from MySQL 5.7
instances. (Bug #24642042)

* The documentation did not specify the correct format for the ssl-ca-
keystore-path parameter. It was listed as a file path, but is a URL.
For example:

ssl-ca-keystore-path=file:///mysql/enterprise/agent/etc/mykeystore
(Bug #24386496)

* The Event Handler Asset column did not display any assets for the
eleventh handler created. That is, the Asset column correctly
displayed assets for the first 10 event handlers, but did not for
any other event handler. (Bug #23543149)

* Under certain circumstances, when monitoring MySQL 5.7, warnings
were generated in Query Analyzer due to a conflict between the
default mysql_mode and the mysql_mode set by MySQL Enterprise
Monitor. (Bug #23033046)

* The advice page generated by the MySQL Enterprise Backup Health
advisor contained broken links to the InnoDB chapters of the MySQL
Reference Manual. It also incorrectly referred to the --start-lsn
option as the --lsn option.

* The Overview page elements did not resize properly if the browser
window was resized.

* On certain browser versions, the symbol << was transformed to Â<<.

* Replication filter information was not collected. As a result, the
replica's Filter/Delay Status frame of the Source Replication Status
was not correctly populated.

MySQL Workbench 6.3.8 GA has been released (no replies)

$
0
0
Dear MySQL users,

The MySQL developer tools team announces 6.3.8 as our GA release for
MySQL Workbench 6.3.

For the full list of changes in this revision, visit
http://dev.mysql.com/doc/relnotes/workbench/en/changes-6-3.html

For discussion, join the MySQL Workbench Forums:
http://forums.mysql.com/index.php?152

Download MySQL Workbench 6.3.8 GA now, for Windows, Mac OS X 10.9+,
Oracle Linux 6 and 7, Fedora 23 and Fedora 24, Ubuntu 16.04
or sources, from:

http://dev.mysql.com/downloads/tools/workbench/

Enjoy!

Changes in MySQL Workbench 6.3.8

   Bugs Fixed

     * Important Note: During normal operations, MySQL Workbench
       frequently and unexpectedly closed or became
       unresponsive. (Bug #24571739, Bug #82778)

     * Compiler errors were resolved with GCC 6.2.1. Thanks to
       Christian Hesse for the patch. (Bug #24842267, Bug
       #83372)

     * Using the ->> operator in a valid SQL statement within a
       stored procedure returned the following error: The
       object's DDL statement contains syntax errors. (Bug
       #24693021, Bug #83043)

     * The Columns tab of the table editor displayed an
       incorrect tooltip description for the G flag. (Bug
       #24558804)

     * For macOS, the table-partition model transposed column
       values leading to an incorrect CREATE TABLE statement.
       Thanks to Kit Yam Tse for the patch. (Bug #24517322, Bug
       #82716)

     * The migration script could not successfully convert UCS-2
       strings to UTF-8 in a table when migrating the table from
       Microsoft SQL Server to MySQL Workbench. (Bug #23751080)

     * Database migration from Microsoft SQL Server 2000 emitted
       errors and stopped when the operation failed to locate
       the required schema list associated with the database
       version. (Bug #23747299, Bug #82069)

     * A CASE statement with WHEN clauses in a stored procedure
       emitted syntax errors. (Bug #23746795, Bug #82114)

     * On Windows, migrating a table with an empty string in a
       column of type ntext failed and displayed the "Could not
       successfully convert UCS-2 string to UTF-8 ..." error
       message. (Bug #23630604, Bug #81967)

     * When migrating a table with a column of type
       nvarchar(max) from Microsoft SQL Server, MySQL Workbench
       found the record to be bigger than the server
       max_allowed_packet value and failed to copy the record to
       the server. (Bug #23623191, Bug #81944)

     * The usage graph under InnoDB Status in the Performance
       Dashboard consistently underreported the actual usage of
       the InnoDB buffer pool as reported on the server. This
       fix implements a new formula to represent the InnoDB
       buffer pool. (Bug #23584042, Bug #81837)

     * Index comments were improperly generated within the index
       section of an SQL script when using the Forward Engineer
       SQL Script wizard to create and export the script. (Bug
       #19896276, Bug #74530)

On behalf of the MySQL Workbench and the MySQL/ORACLE RE Team

MySQL Connector/Python 2.0.5 GA has been released (no replies)

$
0
0
Dear MySQL users,

MySQL Connector/Python 2.0.5 GA is a new GA version of 2.0
release series of the pure Python database driver for MySQL. It
can be used for production environments.

MySQL Connector/Python version 2.0.5 is compatible with MySQL
Server versions 5.5 and greater. Python 2.6 and greater as well as
Python 3.3 and greater are supported. Python 2.4, 2.5 and 3.1, 3.2
are not supported.

MySQL Connector/Python 2.0.5 is available for download from:
  http://dev.mysql.com/downloads/connector/python/#downloads

The ChangeLog file included in the distribution contains a brief summary
of changes in MySQL Connector/Python 2.0.5. For a more complete list of
changes, see below or online at:
  http://dev.mysql.com/doc/relnotes/connector-python/en/

Changes in MySQL Connector/Python 2.0.5 (2016-10-26)

   Bugs Fixed

     * A potential SQL injection vector was eliminated. (Bug
       #22529828, Bug #24816150)

Documentation
--------------------
The manual of MySQL Connector/Python is available online here:
 http://dev.mysql.com/doc/connector-python/en/index.html

It is also available for download in various formats here:
 http://dev.mysql.com/doc/index-connectors.html

Reporting Bugs
--------------------
We welcome and appreciate your feedback and bug reports:
 http://bugs.mysql.com/

Enjoy !

On behalf of the MySQL Connector/Python and the MySQL/ORACLE RE Team
Hery Ramilison

MySQL Connector/NET 7.0.6 m5 development has been released (no replies)

$
0
0
Dear MySQL users,


MySQL Connector/Net 7.0.6 is the third development release that expands
cross-platform support to Linux and OS X when using Microsoft's .NET Core
framework. Now, .NET developers can use the X DevAPI with .NET Core and
Entity Framework Core (EF Core) 1.0 to create server applications that run
on Windows, Linux and OS X. We are very excited about this change and
really look forward to your feedback on it!

MySQL Connector/Net 7.0.6 is also the fifth development release of MySQL
Connector/Net to add support for the new X DevAPI.  The X DevAPI enables
application developers to write code that combines the strengths of the
relational and document models using a modern, NoSQL-like syntax that
does not assume previous experience writing traditional SQL.

To learn more about how to write applications using the X DevAPI, see
http://dev.mysql.com/doc/x-devapi-userguide/en/index.html. For more
information about how the X DevAPI is implemented in Connector/Net, see
http://dev.mysql.com/doc/dev/connector-net.

Please note that the X DevAPI requires at least MySQL Server version
5.7.12 or higher with the X Plugin enabled. For general documentation
about how to get started using MySQL as a document store, see
http://dev.mysql.com/doc/refman/5.7/en/document-store.html.

To download MySQL Connector/Net 7.0.6 M5, see the "Development
Releases" tab at http://dev.mysql.com/downloads/connector/net/

Changes in MySQL Connector/Net 7.0.6 (2016-10-28)


     * Functionality Added or Changed

     * Bugs Fixed

   Functionality Added or Changed

     * X DevAPI: The SessionConfig class, SessionConfigManager
       class, and IpersistenceHandler interface were added for
       session-configuration management to represent all the
       information associated with a session.

     * EF Core: Added all-platform compliance support for the
       .NET Framework stack (Console, WPF, WinForms, and
       ASP.NET) and compatibility with ASP.NET 5 when using the
       .NET Framework or .NET Core version.

     * Added the following functionality for saving changes in
       EF Core:

          + Basic save operation to persist entity-instance
            changes to the database.

          + Optimistic concurrency to protect against
            overwriting changes made by another user after data
            was fetched from the database.

   Bugs Fixed

     * EF Core: A missing function used when a model is added or
       changed caused the migration generation to fail.
       MySQLHistoryRepository now implements get_existssql().
       (Bug #24804771)

     * EF Core: An SQL syntax error was emitted when the
       Contains operator was used in the Where predicate of a
       LINQ query. This fix requires the use of EF Core version
       1.1 or later. (Bug #24797524)

     * An Entity Framework DbContext object created with a
       column of type DateTimeOffset returned an error
       indicating that DateTimeOffset values were incompatible
       with DateTime and Timestamp values. (Bug #24732001)

     * X DevAPI: The GetCollections(), GetTable(), and
       GetTables() methods threw
       System.InvalidOperationException: name is not a valid
       column name in the row. (Bug #24385662)


Nuget packages are available at:

https://www.nuget.org/packages/MySql.Data/7.0.6-IR3
https://www.nuget.org/packages/MySql.Web/7.0.6-IR3
https://www.nuget.org/packages/MySql.Data.Entity/7.0.6-IR3
https://www.nuget.org/packages/MySql.Data.EntityFrameworkCore/7.0.6-IR3 

Enjoy and thanks for the support!

On behalf of the MySQL Release Engineering Team
Prashant Tekriwal

MySQL Connector/Node.js 1.0.5 m4 Development Release has been released (no replies)

$
0
0
Dear MySQL users,

MySQL Connector/Node.js is a new Node.js driver for use with the X
DevAPI. This release, v1.0.5 M4, is the fourth development release of the
MySQL Connector/Node.js 1.0 series.

The X DevAPI enables application developers to write code that combines
the strengths of the relational and document models using a modern,
NoSQL-like syntax that does not assume previous experience writing
traditional SQL.

To learn more about how to write applications using the X DevAPI, see
http://dev.mysql.com/doc/x-devapi-userguide/en/. For more information
about how the X DevAPI is implemented in MySQL Connector/Node.js, and
its usage, see http://dev.mysql.com/doc/dev/connector-nodejs/.

Please note that the X DevAPI requires at least MySQL Server version
5.7.12 or higher with the X Plugin enabled. For general documentation
about how to get started using MySQL as a document store, see
http://dev.mysql.com/doc/refman/5.7/en/document-store.html.

Changes in MySQL Connector/Node.js 1.0.5 (Milestone 4)

   Functionality Added or Changed

     * Added APIs for Transaction handling.

     * Added a Table creation API.

Enjoy and thanks for the support!

MySQL Router 2.0.4 has been released (no replies)

$
0
0
Dear MySQL users,

A new GA (general availability) version of MySQL Router has
been made available: MySQL Router 2.0.4 GA.

The MySQL Router is a new building block for high availability
solutions. MySQL Router simplifies development of high availability
applications by intelligently routing queries to MySQL Servers
for increased performance, robustness, and uptime.

MySQL Router also connects seamlessly with MySQL Fabric permitting
Fabric to manage the high availability groups for the router,
supporting monitoring and automatic management of MySQL servers
for redundancy and continued operation.

You can download MySQL Router from http://dev.mysql.com/downloads/router.
Package binaries are available for several platforms and also as a
source code download.

If you are a commercial customer, MySQL Router is available via the
MySQL Oracle Support (MOS) website. Packages will be available on
eDelivery at the next monthly refresh.

Documentation for MySQL Router can be found at
http://dev.mysql.com/doc/mysql-router/en/

Enjoy!

Changes in MySQL Router 2.0.4 (2016-11-23, General
Availability)

   Functionality Added or Changed

     * The unused ip_from_addrinfo() function was removed. (Bug
       #22811176)

     * Windows support was added. Binaries are now available for
       download, and several Router command line options were
       added to configure a Windows service for MySQL Router.
       The new command line options on Windows are
       --install-service (service starts automatically),
       --install-service-manual (service can be started
       manually), --remove-service (removes a service), and
       --service (starts a service). The service name is
       MySQLRouter.
       For additional information about these options, see
       Starting the Router
       (http://dev.mysql.com/doc/mysql-router/en/mysql-router-se
        rver-starting.html).

   Bugs Fixed

     * The RPATH for executable and shared libraries did not
       contain both the router library path and the router
       plugin library path. (Bug #24763533)

     * The RPATH was incorrect in the executable for RPM builds.
       The plugin_folder path cannot be set to a value not
       present in the executable, and the paths should be used
       for variable interpolation, not to control where plugins
       are found. The error was similar to "Error:
       mysql_protocol.so: cannot open shared object file: No
       such file or directory".
       Additionally, the INSTALL_LIBDIR was incorrectly used,
       which also resulted in path related errors. (Bug
       #24669798, Bug #24695503)

     * When writing packets read from the sender (client or
       server) to the receiver, if a single write() call did not
       write all requested data, the whole buffer was written in
       another attempt. Now, only the remaining part of the
       buffer gets written. (Bug #24578638)

     * The SO version for libmysqlharness was 0, which is
       usually reserved for pre-release versions. The SO version
       was changed to 1, so the library file name changed from
       libmysqlharness.so.0 to libmysqlharness.so.1. (Bug
       #24557123)

     * On OS X, linking Router to Fabric would fail to function
       by default due to linking problems. (Bug #24527866, Bug
       #80376)

     * The read-write mode (which uses the first-available mode
       schedule) could reconnect to the first listed server
       (destination) after failing to connect to all listed
       servers. Instead, it now always behaves as documented,
       which is to not reconnect after all destinations failed
       to connect. If a reconnection is desired, then use the
       read-only mode instead, which implements the round-robin
       schedule. (Bug #24367453)

     * Backslashes in configuration definitions, such as file
       paths, could escape characters. (Bug #24360999)

     * On OS X, Router could fail due to RPATH related issues.
       CMake now uses -DWITH_STATIC=yes for OS X when executing
       cmake for the binaries. (Bug #23507484)

     * When the max_connect_errors variable was set to the
       maximum possible value (highest boundary value of
       4294967295), connection errors would report the value as
       a negative value, such as -1. (Bug #22745790)

     * There was inconsistent behavior with connection handling
       in relation to the max_connections setting. Now, the
       counter is incremented before the thread is spawned in
       the Routing plugin, because getting the server socket
       takes time and client connections could have been
       accepted after the max number of connections was reached.
       (Bug #22705168)

     * An exception thrown inside a plugin would cause the
       process to be terminated unconditionally. (Bug #22546709,
       Bug #79983)

On behalf of Oracle MySQL Release Team
-Sreedhar S


MySQL Cluster Manager 1.4.1 has been released (no replies)

$
0
0
Dear MySQL Users,,

MySQL Cluster Manager 1.4.1, has been released and can be downloaded
from the My Oracle Support (MOS) website. It will also be available
on Oracle Software Delivery Cloud at http://edelivery.oracle.com with
the next monthly update

MySQL Cluster Manager is an optional component of the MySQL Cluster Carrier
Grade Edition, providing a command-line interface that automates common
management tasks, including the following online operations:
 - Configuring and starting MySQL Cluster
 - Upgrades
 - Adding and removing cluster nodes
 - Adding and removing site hosts
 - Configuration changes
 - Backup and restore

MySQL Cluster Manager is a commercial extension to the MySQL family of products.
More details can be found at http://www.mysql.com/products/cluster/mcm/

A brief summary of changes in MySQL Cluster Manager version 1.4.1 is listed below:

Changes in MySQL Cluster Manager 1.4.1     (2016-11-24)

   This section documents all changes and bug fixes that have
   been applied in MySQL Cluster Manager 1.4.1 since the release
   of MySQL Cluster Manager version 1.4.0.

   Functionality Added or Changed

     * Microsoft Windows: A 64-bit Windows installer package for
       MySQL Cluster Manager is now available.

     * Agent: Quotes used in specifying an mcmd option
       (http://dev.mysql.com/doc/mysql-cluster-manager/1.4/en/mc
        m-configuration-commands.html) were interpreted literally
       as parts of the option value. With this fix, mcmd now
       handles the quotes properly for the following options by
       stripping the quotes before interpreting the option
       values:

          + --basedir

          + --pid-file

          + --plugin-dir

          + --log-file

          + --manager-username

          + --manager-password

          + --manager-directory
       (Bug #24529142)

     * Agent: When an mcmd agent failed to shutdown a mysqld
       node, it kept on retrying until the process timed out, at
       which point the error code from mysqld was returned to
       the client. With this fix, the error is returned
       immediately after the first shutdown attempt has failed.
       (Bug #24418005)

     * Agent: After a start process --added command was
       executed, if a show status --operational command was then
       run, in the Command column of the output, the ID for only
       one of the added nodes was shown even if multiple nodes
       had been added and started. With this fix, nodeids are no
       longer shown in the command output in that case, to avoid
       any possible confusions. (Bug #24372861)

     * Agent: The restore cluster command now supports a new
       option, --promote-attributes, which allows attributes to
       be promoted when MySQL Cluster Manager restores data from
       a backup. (Bug #24295481)

     * Agent: The collect logs command now also collects trace
       files, to provide more information in the event of a
       cluster failure. (Bug #23746394)

     * Agent: Information that is unrelated to debugging is no
       longer included into the agent log when --log-level is
       set to debug, but is included when --log-level is set to
       info. (Bug #23716969)

     * Agent: The capability for MySQL Cluster Manager to set
       the cluster parameter ndbinfo_table_prefix has been
       removed, as setting it might cause a timeout when mcmd
       tries to start a mysqld node. (Bug #23632067)

     * Agent: The import cluster command now supports the import
       of cluster nodes that have been started with options
       specified on the command line using underscores (_)
       instead of dashes (-) in the option names (for example,
       --ndb_connectstring instead of --ndb-connectstring). (Bug
       #23535372)

     * Agent: The --initial option can now be used with the
       start cluster command for starting clusters in the
       "created" status. (Bug #23138442)

     * Agent: The timer in mcmd is now monotonic, so interval
       measures are no longer affected by clock changes on the
       host. (Bug #22699245)

     * Agent: The version number for the mcmd agent and the name
       of the host it is running on are now always recorded in
       the agent log (mcmd.log) at startups or log rotations,
       irrespective of the --log-level setting. (Bug #22616530)

     * Agent: The backup cluster command now creates a logical
       backup for the metadata of the NDB tables in a MySQL
       Cluster, allowing more flexibility for cluster
       reconfiguration during a restore. See the description for
       backup cluster for more details. (Bug #21200829)

     * Agent: The --backupid option can now be used with the
       list backups command to specify the ID of the backup to
       be listed.

     * Client: Execution of the .mcm file created by the import
       config --dryrun command failed when a relative file path
       was given for a file-path attribute to be imported for a
       mysqld node. The mcm client now accepts relative file
       paths for those attributes, except for the socket value,
       and for any paths for a directory value (for example,
       plugin_dir). (Bug #18650848)

     * Client: Creating a single-host site with localhost as the
       argument for --hosts now results in a site that cannot be
       scaled up by the add hosts command; a warning for that is
       given by the mcm client at the creation of the site. See
       the description for the create site command for details.
       (Bug #18389510)

     * MySQL Cluster Manager now supports MySQL Cluster 7.5. At
       the same time, support for MySQL Cluster 7.2 has been
       deprecated. (Bug #24940329)

   Bugs Fixed

     * Agent: When the backup agents command failed to copy some
       files, it finished without erroring out, but caused the
       subsequent mcmd agent restart to fail. This fix adds
       proper error-handling function to the backup agents
       command. (Bug #25057056)

     * Agent: When a start cluster or stop cluster command was
       run, if it took more than two minutes for any data node
       to be started or stopped, the mcmd agent threw a timeout
       for the command, and sometimes did that more than once,
       even though the data node was still in a normal process
       of being started or stopped. It was because the timeout
       extension needed was never granted within two minutes.
       With this fix, a timeout extension is granted at a much
       earlier time, and the amount of the extension is
       calculated based on the cluster's DataMemory size. (Bug
       #24749459)

     * Agent: When mcmd failed to create the users it needs on a
       mysqld node, it just kept retrying until a timeout was
       reached, and without notifying the mcm client. With this
       fix, a failure is declared immediately to the client in
       the situation, and there are no more retries. (Bug
       #24511041)

     * Agent: After a failure by mcmd to configure a cluster,
       the progress message from the process caused the next
       attempt to configure the cluster to fail. With this fix,
       the progress message from the last attempt only causes a
       warning to be issued to the agent log, and is then
       ignored. (Bug #24499097)

     * Agent: Attempts to upgrade MySQL Cluster Manager to
       version 1.4.0 by starting the 1.4.0 executables on
       pre-1.4 data failed, as the automatic upgrades for backup
       configurations were not successful. (Bug #24433400)

     * Agent: mcmd exited unexpectedly after failing to parse
       correctly a message of an unexpected format from a mysqld
       node. With this fix, sanity check is performed on the
       received message first, in order to avoid parsing the
       wrong information out of it. (Bug #24430610)

     * Agent: When attempting to set a global system variable on
       a mysqld node, the mcmd agent always returned a success
       message, even if it failed to contact the mysqld node
       actually. (Bug #24417856)

     * Agent: When running the list backups command, if one of
       the mcmd agents ran into permission errors on some of the
       backups' file paths, the returned results for the command
       became incomplete. With this fix, complete results are
       returned in those situations. (Bug #24414682)

     * Agent: When the mcm client and the mcmd agent it
       connected to were on the same host whose loopback address
       was not 127.0.0.1, if the host's name or loopback address
       was not explicitly contained in the host list in the
       create site command, attempts to restart the cluster
       later would fail with the complaint that the host name
       for the agent could not be resolved in the host list.
       With this fix, a warning is given in the situation when
       the create site command is issued, asking the user to
       include the proper host name. (Bug #24411504)

     * Agent: mcmd sometimes failed to report errors for its
       executions of SQL statements to the mcmd log. This fix
       tries to ensures that those errors are captured. (Bug
       #24375344)

     * Agent: When an add package command failed due to an error
       in loading the cluster configuration, mcmd exited
       unexpectedly on Windows platforms, and falsely reported
       that the package was added successfully on Unix-like
       platforms. (Bug #24361901)

     * Agent: When mcmd failed to write to the configuration
       file config.ini or my.cnf, mcmd either quit unexpectedly
       (for most Unix-like platforms), or returned a success
       message without actually writing to the file (on
       Solaris). (Bug #23632067)

     * Agent: When a configuration parameter was imported from a
       mysqld node using the import config command, the value
       got truncated when it was a quoted value containing a
       hash sign and was followed by a comment when listed
       inside the configuration file. (Bug #23591849)

     * Agent: On Windows platforms, the value for the system
       variable wait_timeout for mysqld nodes cannot be made
       larger than "2147483" using the set command. (Bug
       #23503256)

     * Agent: On Windows platforms, the import cluster command
       failed when a 32-bit mcmd was working a 64-bit MySQL
       Cluster, or vice versa. (Bug #23503256)

     * Agent: The import config --dryrun command produced set
       commands of wrong syntax for instance-level TCP
       configuration settings specified inside the config.ini
       file. (Bug #23341146)

     * Agent: When NoOfReplicas was "4" for a cluster and only
       one forth of all the data nodes were available, mcmd
       reported that the cluster was "non-operational" when the
       show status --cluster command was run. (Bug #23330032)

     * Agent: mcmd ignored status update from an ndbapi (or
       unmanaged mysqld) node when it reported an LSN lower than
       one already reported by some other agent. This was due to
       an unnecessary check on the reported LSNs, which has been
       removed by this fix. (Bug #23320387)

     * Agent: When working with MySQL Cluster 7.5, resetting the
       Datadir parameter for a mysqld node using a reset command
       caused an error when the default data directory had
       contents inside. (Bug #23283577)

     * Agent: The command start process --added failed with the
       error "Unable to create nodegroup ..." when the parameter
       NoOfReplicas was set to "3" or "4." (Bug #23257723)

     * Agent: Some ndbmtd processes were being excluded from
       rolling restarts when the parameter NoOfReplicas was set
       to "3" or "4." (Bug #23251630)

     * Agent: With the parameter NoOfReplicas set to "3" or "4,"
       even when there was still one mirror node left in a
       nodegroup for a ndbmtd process, the stop process command
       issued for the ndbmtd node was rejected by mcmd. (Bug
       #23250053)

     * Agent: When a quorum of majority of mcmd agents no longer
       existed (due to, for example, a network failure), an mcmd
       agent reported wrong statuses of failed processes even
       when those processes were local to its own host and were
       accessible by the agent. (Bug #23222658)

     * Agent: When network connection to a host with a data node
       running was lost and then reestablished, the show status
       command reported falsely that the data node was running
       again even though it had actually stopped. This fix makes
       sure the current status of the data node is properly
       reflected. (Bug #23220981)

     * Agent: When there was a failure in setting the value of
       the parameter LogDestination, mcmd, when returning an
       error, also issued sometimes a warning that an earlier
       runtime error had been overwritten. This is now prevented
       by putting in proper checking and handling for any
       existing error as a new error is being thrown. (Bug
       #23211849)

     * Agent: If a warning was returned by mcmd after it
       executed a SET GLOBAL statement to a mysqld node, the
       same warning was issued to the agent log (mcmd.log) again
       and again each time a new SET GLOBAL statement was
       executed. (Bug #23211783)

     * Agent: When the parameter ArbitrationRank was being set
       for a mysqld node, the data nodes and management nodes
       were not restarted, so they had no knowledge that the
       arbitration rank for the mysqld node has been changed.
       (Bug #23148368)

     * Agent: After a failed execution of the import config
       command using an older version of MySQL Cluster Manager,
       if MySQL Cluster Manager was then upgraded, restarting
       would fail afterward for some of the mcmd agents. (Bug
       #23148061)

     * Agent: In the case where there was only one ndb_mgmd node
       in a cluster, during a rolling restart, after the
       ndb_mgmd node was just restarted and a first data node
       was stopped, a second data node might fail before it got
       restarted, complaining that there was no arbitrator for
       the cluster. It was because the management node was still
       in the process of asserting itself as an arbitrator. With
       this fix, the restarting of data nodes only begin after
       they have all seen an arbitrator established. (Bug
       #23148061)

     * Agent: A new ndbd or ndbmtd node could not be added to a
       cluster if BackupDataDir specified a non-default location
       for cluster backups, and there were backups existing at
       that location. (Bug #23123364)

     * Agent: When already existing nodes were added again to a
       cluster without being started and the cluster was
       stopped, a subsequent start cluster --initial command
       failed. This was because mcmd attempted to recreate the
       already existing node groups, which this fix prevents.
       (Bug #23024367)

     * Agent: While the my.cnf configuration files for added
       mysqld processes generated by mcmd used group suffixes
       for group titles in the files (for example [mysqld.50]),
       the mysqld nodes were started without using the
       --defaults-group-suffix option, causing the generated
       configurations to be unread by the mysqld node. With this
       fix, the group suffixes are no longer used. (Bug
       #22931198)

     * Agent: On Windows platforms, an mcmd agent quit
       unexpectedly after it was unable to open a process
       handler to a PID. This fix makes mcmd able to handle the
       situation and not quit. (Bug #22886512)

     * Agent: During the time when an upgrade cluster command is
       being performed, if a mysqld node that had not yet been
       upgraded failed somehow, it was mistakenly restarted with
       the newer instead of the older binary package. With this
       fix, the node is restarted with the original binary
       package it was running on. (Bug #22880634)

     * Agent: Under some conditions, setting a configuration
       attribute for a cluster using the set command made mcmd
       quit unexpectedly, as more than one thread in MySQL
       Cluster Manager tried to change the cluster
       configurations together within a very short period of
       time, with one thread running into a checksum error for
       the repository directory and causing the agent to quit.
       This fix adds error checks, retries, and also exponential
       backoffs to handle the situation, in order to allow
       proper execution of the set command. (Bug #22865068)

     * Agent: A restore cluster command failed because one of
       the management nodes in the cluster was in the "starting"
       status, which should not prevent a cluster from being
       restored. (Bug #22755257)

     * Agent: When the start process --added command was used to
       start data nodes that were newly added, the command
       failed if there was an ndbapi node that was in the
       "connected" status, with the complaint that the ndbapi
       node was "already running." (Bug #22726592)

     * Agent: If an earlier attempt to stop a mysqld node failed
       and left the node in a status of "stopping," a subsequent
       stop cluster command failed with a timeout. With this
       fix, the stop cluster command actually reattempts twice
       the shutdown of the "stopping" process, and throws a
       proper error if the attempts fail. The timeout period for
       each attempt is also reduced to 5 seconds. (Bug
       #22682222, Bug #24735542)
       References: See also: Bug #19805950.

     * Agent: When performing a create cluster command for a
       large cluster with many processes, mcmd tried to resolve
       the host name and check the validity of the package name
       for every single process, which could take a long time
       and cause the create cluster command to fail with a
       timeout. mcmd now avoids repeated lookups for the same
       host name or package name, so the timeouts are prevented.
       (Bug #22671177)

     * Agent: When a backup was actually completed after an
       abort backup command had just been issued through the
       mcmd agent, the agent failed to respond to the backup
       completion, resulting in a timeout for the abort backup
       command. With this fix, the abort backup command will
       error out under the situation. (Bug #22655696)

     * Agent: When setting a value for the log_error attribute
       for a mysqld node using the set command, mcmd failed to,
       as expected, append the extension .err to the supplied
       file name when it did not have an extension. (Bug
       #22588267)

     * Agent: The mysql client hung as a status command was
       issued through it to a mysqld node, due to some
       communication packages remaining unhandled by mcmd. (Bug
       #22539167)

     * Agent: The autotune --dryrun command did not write to the
       .mcm script file the TCP connection attributes (for
       example, SendBufferMemory and ReceiveBufferMemory) it
       would set for the cluster when the --dryrun option was
       not used. (Bug #22517603)

     * Agent: With two clusters running separately on two
       different hosts in the same site, the autotune --dryrun
       command for a cluster failed with an internal error,
       complaining that a dump file [for the other cluster
       running on the other host] could not be opened because it
       did not exist on the host---which was to be expected.
       (Bug #22465053, Bug #79586)

     * Agent: If a cluster log rotation happened while MySQL
       Cluster Manager was starting the cluster, an mcmd agent
       failure would occur. This fix makes sure log rotation is
       properly detected and handled by mcmd. (Bug #22296243)

     * Agent: If distributed privileges for mysqld nodes were
       used and the root password has been set on the cluster's
       mysqld nodes, after a new mysqld process was added, MySQL
       Cluster Manager failed to connect to it, as mcmd tried in
       vain to log on to the new mysqld node as root with an
       empty password. With this fix, mcmd then attempts in that
       situation to log on to the node as the user mcmd. Also,
       even if the root account is not secured, when distributed
       privileges are used, mcmd now attempts first to connect
       to a new mysqld node as mcmcd before it tries to create
       the mcmd user on the new node. (Bug #22274785, Bug
       #81391)

     * Agent: For MySQL Cluster 7.4.8 and later, the import
       config command imported the deprecated PortNumber
       attribute under the [tcp] section of the cluster
       configuration file as "0.". The attribute is now skipped
       during a configuration import. (Bug #22274785)

     * Agent: A create cluster command failed with an error when
       one of the mcmd agents was down, even if that agent was
       not needed for the process. (Bug #22245706)

     * Agent: When the utility mysql_install_db was run by the
       mcmd agent at the creation of a mysqld node, it was not
       run asynchronously, resulting sometimes in unnecessary
       delay for other mcmd processes. With this fix, the
       utility is now run asynchronously. (Bug #22238508)

     * Agent: After a new host has been added to a cluster
       without a package being added for it, mcmd returned an
       error message to any get and set command, saying that the
       parameter to be get or set did not exist. With this fix,
       a proper error message is returned. (Bug #21894353)

     * Agent: On Windows platform, setting the datadir option
       for a mysqld node in the Windows file path format caused
       the mcmd agent to stop unexpectedly after it failed to
       restart the mysqld node. It was due to a mishandling of
       the Windows format file path, which has now been fixed.
       (Bug #19209870)

     * Agent: A rolling restart of the cluster performed by mcmd
       timed out while waiting for GCP and LCP takeover events
       to complete among the data nodes. With this fix, the
       timeout is avoided by having mcmd check for the status of
       the takeover events and wait until the involved data
       nodes are ready before trying to stop them. (Bug
       #14230789)

     * Client: Spaces in quoted option values for MySQL Cluster
       Manager were lost (for example, with "--prompt='mcm1.4.1>
       '," the prompt for the mcm client became "mcm1.4.1>"
       [with no space at the end]). (Bug #24528495)

     * Client: When the mcm client was being started with the
       --debug option, if the mysql client could not be found at
       the expected location, the mcm client failed with a
       segmentation fault. (Bug #24522244)

     * Client: The success messages returned by the autotune
       --dryrun and import config --dryrun commands referred
       users to the agent log file for the proposed settings to
       be applied to the cluster, but the settings were not
       actually in the file. The success messages now give the
       path to the .mcm script file that contains the settings.
       (Bug #22280689)

     * Client: After the mcmd agent on a certain host failed,
       the mcm client continued to report the statuses of the
       processes on the host to "running" while the mcmd agent
       log and the ndb_mgmd queries already showed their
       statuses to be "unknown.". (Bug #22174415)


On behalf of the Oracle MySQL RE Team
- Sreedhar S

MySQL Connector/Python 2.2.2 m3 Development Release has been released (no replies)

$
0
0

Dear MySQL users,

MySQL Connector/Python 2.2.2 M3 is the third development release of the
MySQL Connector Python 2.2 series. This series adds support for the new
X DevAPI. The X DevAPI enables application developers to write code that
combines the strengths of the relational and document models using a
modern, NoSQL-like syntax that does not assume previous experience
writing traditional SQL.

To learn more about how to write applications using the X DevAPI, see
http://dev.mysql.com/doc/x-devapi-userguide/en/. For more information
about how the X DevAPI is implemented in MySQL Connector/Python, and its
usage, see http://dev.mysql.com/doc/dev/connector-python.

Please note that the X DevAPI requires at least MySQL Server version
5.7.12 or higher with the X Plugin enabled. For general documentation
about how to get started using MySQL as a document store, see
http://dev.mysql.com/doc/refman/5.7/en/document-store.html.

To download MySQL Connector/Python 2.2.2 M3, see the "Development
Releases" tab at http://dev.mysql.com/downloads/connector/python/

We are working on the github upload, it should be available soon.

Enjoy!
 
Changes in MySQL Connector/Python 2.2.2 (2016-12-01, Milestone 3)


     * Functionality Added or Changed

     * Bugs Fixed

   Functionality Added or Changed

     * If the MySQL server is configured to support secure
       connections, Connector/Python now attempts to establish a
       secure (encrypted) connection by default, falling back to
       an unencrypted connection otherwise. This is behavior
       similar to the --ssl-mode=PREFERRED option supported by
       MySQL client programs.
       The following TLS/SSL options have been implemented for
       the mysqlx URI schema. All require Python 2.7.9 or
       higher.

          + ssl-enable: This option enforces SSL connections. If
            given, a connection attempt must be able to
            establish a secure connection or the attempt fails.

          + ssl-ca: This option is used to verify the server
            certificate.

          + ssl-cert, ssl-key: These options are used to pass
            the client certificate and key, but the server
            currently does not validate the client using these.
       The ssl-enable parameter can be specified in a parameter
       dictionary or URL, like this:
       mysqlx.get_session({"user": "root", "host": "localhost", "port": 33060,
       "password": "pass", "ssl-enable": True})
       Or:
       mysqlx.get_session("mysqlx://root:pass@localhost?ssl-enable")

       The other parameters are used similarly. In a URL, path
       name values should be given within parentheses; for
       example, ssl-cert=(path_name). (Bug #24954646)

     * There is now a standard API to create a table: Schema
       objects have a create_table function. It throws an error
       if the table exists.

     * For any method that takes a value list of parameters for
       its argument, there is now more flexibility with how the
       parameters can be specified: Either as a value list or a
       list of individual parameters. For example, these method
       calls are the same:
       Collection.add([{"a": 27}, {"a": 28}])
       Collection.add({"a": 27}, {"a": 28})


     * For Schema objects, get_view, create_view, alter_view,
       and drop_view functions were added to support retrieval,
       create, alter, and drop operations on View objects.

     * Unix domain socket files are now supported as a
       connection transport. The socket file can be specified in
       a parameter dictionary or URL, like this:
       mysqlx.get_session({"user": "root", "password": "pass",
       "socket": "/path/to/socket"})
       Or:
       mysqlx.get_session("mysqlx://user:pass@(/path/to/sock)/schema")
       mysqlx.get_session("mysqlx://user:pass@/path%2Fto%2Fsock/schema")
       mysqlx.get_session("mysqlx://user:pass@.%2Fpath%2Fto%2Fsock/schema")
       mysqlx.get_session("mysqlx://user:pass@..%2Fpath%2Fto%2Fsock/schema")

   Bugs Fixed

     * For a user created with REQUIRE SSL, establishing an SSL
       connection by specifying --ssl-key but not --ssl-ca or
       --ssl-cert fails for standard MySQL client programs. The
       same connection configuration was (improperly) permitted
       in Connector/Python. (Bug #24953032)

     * Connection failures due to an improper SSL CA resulted in
       an uninformative error message. (Bug #24948054)

     * Using a schema object to alter a view failed if the view
       selected from a non-INFORMATION_SCHEMA table and it was
       altered to select from an INFORMATION_SCHEMA table. (Bug
       #24947078)

     * schema.create_collection() with an empty collection name
       threw an improper error. (Bug #24520850)


Documentation
--------------------

Online:http://dev.mysql.com/doc/connector-python/en/index.html
The source distribution includes the manual in various formats under
the docs/ folder.

Reporting Bugs
--------------------

We welcome and appreciate your feedback and bug reports:
http://bugs.mysql.com/

On Behalf of the MySQL/ORACLE RE Team,
Balasubramanian Kandasamy

MySQL Connector/NET 6.10.0 alpha has been released (no replies)

$
0
0
Dear MySQL users,

MySQL Connector/Net 6.10.0 alpha is the first release to provide Entity
Framework Core 1.1 support and to enable compression in the .NET Core
version of the driver for enhanced cross-platform application
development.

To download MySQL Connector/Net 6.10.0 alpha, see the "Development
Releases" tab at http://dev.mysql.com/downloads/connector/net/

Changes in MySQL Connector/Net 6.10.0 (2016-12-09, Alpha)

   Known limitation of this release: DbContext within an
   application can emit an unhandled exception. Due to this
   limitation, MySQL Connector/Net 6.9.9 is the preferred
   version to use with EF6.

   Functionality Added or Changed

     * Support for compression was extended to the .NET Core
       version of the driver.

     * Added support for Entity Framework (EF) Core 1.1.


Nuget packages are available at:

https://www.nuget.org/packages/MySql.Data/6.10.0-alpha
https://www.nuget.org/packages/MySql.Web/6.10.0-alpha
https://www.nuget.org/packages/MySql.Data.Entity/6.10.0-alpha
https://www.nuget.org/packages/MySql.Data.EntityFrameworkCore/6.10.0-alpha

Enjoy and thanks for the support!

On behalf of the MySQL Release Team
Prashant Tekriwal

MySQL Community Server 5.6.35 has been released (no replies)

$
0
0
Dear MySQL users,

MySQL Server 5.6.35, a new version of the popular Open Source
Database Management System, has been released. MySQL 5.6.35 is
recommended for use on production systems.

For an overview of what's new in MySQL 5.6, please see

http://dev.mysql.com/doc/refman/5.6/en/mysql-nutshell.html

     Starting with 5.6.11, Microsoft Windows packages for MySQL 5.6
     are available both as a "full" installer and as a "web" installer.
     The full installer is significantly larger and comes bundled with
     the latest software releases available. This bundle makes it easy
     to download and configure a full server and development suite.

     The web installer doesn't come bundled with any actual products
     and instead relies on download-on-demand to fetch only the
     products you choose to install. This makes the initial download
     much smaller but increases install time as the individual products
     will need to be downloaded.

For information on installing MySQL 5.6.35 on new servers or upgrading
to MySQL 5.6.35 from previous MySQL releases, please see

  http://dev.mysql.com/doc/refman/5.6/en/installing.html

MySQL Server is available in source and binary form for a number of
platforms from our download pages at

  http://dev.mysql.com/downloads/

Not all mirror sites may be up to date at this point in time, so if you
can't find this version on some mirror, please try again later or choose
another download site.

We welcome and appreciate your feedback, bug reports, bug fixes,
patches, etc:

  https://wikis.oracle.com/display/mysql/Contributing

The following section lists the changes in the MySQL 5.6 since
the release of MySQL 5.6.34. It may also be viewed
online at

http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-35.html

Enjoy!

Changes in MySQL 5.6.35 (2016-12-12)


     * MySQL Enterprise Notes

     * Security Notes

     * Functionality Added or Changed

     * Bugs Fixed

   MySQL Enterprise Notes

     * Enterprise Encryption for MySQL Enterprise Edition now
       enables server administrators to impose limits on maximum key
       length by setting environment variables. These can be used to
       prevent clients from using excessive CPU resources by passing
       very long key lengths to key-generation operations. For more
       information, see Enterprise Encryption Usage and Examples
(http://dev.mysql.com/doc/refman/5.6/en/enterprise-encryption-usage.html).
      (Bug #19687742)

   Security Notes

     * Incompatible Change: These changes were made to
       mysqld_safe:

          + Unsafe use of rm and chown in mysqld_safe could result in
          privilege escalation. chown now can be used only when the
          target directory is /var/log. An incompatible change is that
          if the directory for the Unix socket file is missing, it is no
          longer created; instead, an error occurs. Due to these
          changes, /bin/bash is required to run mysqld_safe on Solaris.
          /bin/sh is still used on other Unix/Linux platforms.

          + The --ledir option now is accepted only on the command line,
          not in option files.

          + mysqld_safe ignores the current working directory.  Other
          related changes:

          + Initialization scripts that invoke mysqld_safe pass
          --basedir explicitly.

          + Initialization scripts create the error log file only if the
          base directory is /var/log or /var/lib.

          + Unused systemd files for SLES were removed.  (Bug #24483092,
          Bug #25088048) References: See also: Bug #24464380, Bug
          #24388753.

     * MySQL Server now includes a plugin library that enables
       administrators to introduce an increasing delay in server
       response to clients after a certain number of consecutive failed
       connection attempts. This capability provides a deterrent that
       slows down brute force attacks that attempt to access MySQL user
       accounts. For more information, see The Connection-Control Plugin
 (http://dev.mysql.com/doc/refman/5.6/en/connection-control-plugin.html).

     * OpenSSL is ending support for version 1.0.1 in December
       2016; see https://www.openssl.org/policies/releasestrat.html.
       Consequently, MySQL Commercial Server builds now use version
       1.0.2 rather than version 1.0.1, and the linked OpenSSL library
       for the MySQL Commercial Server has been updated from version
       1.0.1 to version 1.0.2j. For a description of issues fixed in
       this version, see
       https://www.openssl.org/news/vulnerabilities.html.  This change
       does not affect the Oracle-produced MySQL Community build of
       MySQL Server, which uses the yaSSL library instead.

   Functionality Added or Changed

     * InnoDB: By default, InnoDB reads uncommitted data when
       calculating statistics. In the case of an uncommitted transaction
       that deletes rows from a table, InnoDB excludes records that are
       delete-marked when calculating row estimates and index
       statistics, which can lead to non-optimal execution plans for
       other transactions that are operating on the table concurrently
       using a transaction isolation level other than READ UNCOMMITTED.
       To avoid this scenario, a new configuration option,
       innodb_stats_include_delete_marked, can be enabled to ensure that
       InnoDB includes delete-marked records when calculating persistent
       optimizer statistics. (Bug #23333990)

     * Unit testing now uses Google Mock 1.8. (Bug #24572381,
       Bug #82823)

   Bugs Fixed

     * Incompatible Change: A change made in MySQL 5.7.8 for
       handling of multibyte character sets by LOAD DATA was reverted
       due to the replication incompatibility (Bug #24487120, Bug
       #82641) References: See also: Bug #23080148.

     * InnoDB: The GCC mach_parse_compressed function should
       load one to five bytes depending on the value of the first byte.
       Due to a GCC bug, GCC 5 and 6 emit code to load four bytes before
       the first byte value is checked (GCC Bug #77673). A workaround
       prevents this behavior.  Thanks to Laurynas Biveinis for the
       patch. (Bug #24707869, Bug #83073)

     * InnoDB: Due to a glibc bug, short-lived detached threads
       could exit before the caller had returned from pthread_create(),
       causing a server exit.  Thanks to Laurynas Biveinis for the
       patch. (Bug #24605956, Bug #82886)

     * InnoDB: An error during a table-rebuilding operation on a
       table with only a generated clustered index (GEN_CLUST_INDEX)
       raised and assertion due to an error called with an invalid key
       name. (Bug #24444831)

     * InnoDB: On a table without an explicitly defined primary
       key, InnoDB did not replace the implicit clustered index
       (GEN_CLUST_INDEX) when a unique key was defined on a NOT NULL
       column. (Bug #24397406)

     * InnoDB: InnoDB failed to free memory used by the
       full-text optimizer thread. (Bug #24331265)

     * InnoDB: SHOW ENGINE INNODB STATUS output showed a
       "cleaning up" state for an idle thread. Thread state information
       was not reset after statement execution. (Bug #21974225, Bug
       #78777)

     * InnoDB: After a server restart, concurrent INSERT
       operations a table with an auto-increment primary key resulted in
       a duplicate entry error. The current auto-increment value was not
       changed after auto_increment_increment and auto_increment_offset
       settings were modified. (Bug #20989615, Bug #76872)

     * Replication: Tables with special DEFAULT columns, such as
       DEFAULT CURRENT_TIMESTAMP, that existed only on a slave were not
       being updated when using row-based replication
       (binlog_format=ROW). (Bug #22916743)

     * Replication: Enabling semisynchronous replication when a
       server was during the commit stage could cause the master to stop
       unexpectedly. This was related to the patch for Bug# 75570. (Bug
       #22202516)

     * Replication: The fix for Bug #81657 was correctly merged
       into MySQL 5.6. (Bug #83124, Bug #24715790)

     * Some Linux startup scripts did not process the datadir
       setting correctly. (Bug #25159791)

     * CREATE TABLE with a DATA DIRECTORY clause could be used
       to gain extra privileges. (Bug #25092566)

     * OEL RPM packages now better detect which platforms have
       multilib support (for which 32-bit and 64-bit libraries can be
       installed). Thanks to Alexey Kopytov for the patch. (Bug
       #24925181, Bug #83457)

     * Compiling MySQL using Microsoft Visual Studio 2015
       Version 14.0.25420.1 in relwithdebinfo mode failed with linking
       errors. (Bug #24748505)

     * Warnings occurring during CREATE TABLE ... SELECT could
       cause a server exit. (Bug #24595992)

     * For segmentation faults on FreeBSD, the server did not
       generate a stack trace. (Bug #24566529, Bug #23575445, Bug
       #81827)

     * The .mylogin.cnf option file is intended for use by
       client programs, but the server was reading it as well.  The
       server no longer reads it. (Bug #24557925)

     * If mysqladmin shutdown encountered an error determining
       the server process ID file, it displayed an error message that
       did not clearly indicate the error was nonfatal. It now indicates
       that execution continues. (Bug #24496214)

     * The data structure used for ZEROFILL columns could
       experience memory corruption, leading eventually to a server
       exit. (Bug #24489302)

     * Use of very long subpartition names could result in a
       server exit. Now partition or subpartition names larger than 64
       characters produce an ER_TOO_LONG_IDENT error.  (Bug #24400628,
       Bug #82429)

     * On Solaris, gettimeofday() could return an invalid value
       and cause a server shutdown. (Bug #23499695)

     * A union query resulting in tuples larger than
       max_join_size could result in a server exit. (Bug #23303485)

     * The optimizer could choose ref access on a secondary
       index rather than range access on the primary key, even when the
       cost was higher. (Bug #23259872, Bug #81341)

     * For some deeply nested expressions, the optimizer failed
       to detect stack overflow, resulting in a server exit.  (Bug
       #23135667)

     * When taking the server offline, a race condition within
       the Performance Schema could lead to a server exit. (Bug
       #22551677)

     * The Performance Schema
       events_statements_summary_by_digest table could contain multiple
       rows for the same statement digest and schema combination, rather
       than the expected single (unique) row. (Bug #22320066, Bug
       #79533)

     * For debug builds: Adding a unique index to a POINT NOT
       NULL column triggered a warning and the key was not promoted to a
       primary key. Creating a unique index on a different non-NULL
       column in the same table then raised an assertion. (Bug
       #19635706, Bug #24469860)

     * Compiling using Clang 3.5 or higher with AddressSanitizer
       (ASAN) enabled caused the gen_lex_hash utility to abort on Clang
       LeakSanitizer memory leak check failures. (Bug #76351, Bug
       #20720615, Bug #22558597, Bug #80014)

     * Miscalculation of memory requirements for qsort
       operations could result in stack overflow errors in situations
       with a large number of concurrent server connections. (Bug
       #73979, Bug #19678930, Bug #23224078)

On Behalf of MySQL Release Engineering Team,
Nawaz Nazeer Ahamed

MySQL Community Server 5.7.17 has been released (no replies)

$
0
0
Dear MySQL users,

MySQL Server 5.7.17, a new version of the popular Open Source
Database Management System, has been released. MySQL 5.7.17 is
recommended for use on production systems.

For an overview of what's new in MySQL 5.7, please see

http://dev.mysql.com/doc/refman/5.7/en/mysql-nutshell.html

For information on installing MySQL 5.7.17 on new servers, please see
the MySQL installation documentation at

http://dev.mysql.com/doc/refman/5.7/en/installing.html

MySQL Server 5.7.17 is available in source and binary form for a number of
platforms from our download pages at

http://dev.mysql.com/downloads/mysql/

MySQL Server 5.7.17 is also available from our repository for Linux
platforms, go here for details:

http://dev.mysql.com/downloads/repo/

Windows packages are available via the Installer for Windows or .ZIP
(no-install) packages for more advanced needs. The point and click
configuration wizards and all MySQL products are available in the
unified Installer for Windows:

http://dev.mysql.com/downloads/installer/

5.7.17 also comes with a web installer as an alternative to the full
installer.

The web installer doesn't come bundled with any actual products
and instead relies on download-on-demand to fetch only the
products you choose to install. This makes the initial download
much smaller but increases install time as the individual products
will need to be downloaded.

We welcome and appreciate your feedback, bug reports, bug fixes,
patches, etc.:

http://bugs.mysql.com/report.php

The following section lists the changes in MySQL 5.7 since
the release of MySQL 5.7.16. It may also be viewed online at

http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-17.html

Enjoy!

Changes in MySQL 5.7.17 (2016-12-12)

   Compilation Notes

     * For GCC versions higher than 4.4,
       -fno-expensive-optimizations was replaced with
       -ffp-contract=off, which has the effect of enabling more
       optimizations. Thanks to Alexey Kopytov for the patch.
       (Bug #24571672, Bug #82760)

   MySQL Enterprise Notes

     * Enterprise Encryption for MySQL Enterprise Edition now
       enables server administrators to impose limits on maximum
       key length by setting environment variables. These can be
       used to prevent clients from using excessive CPU
       resources by passing very long key lengths to
       key-generation operations. For more information, see
       Enterprise Encryption Usage and Examples

(http://dev.mysql.com/doc/refman/5.7/en/enterprise-encryption-usage.html). (Bug #19687742)

   Packaging Notes

     * RPM packages now are built with -DWITH_NUMA=ON for
       platforms with NUMA support: OEL higher than EL5, Fedora,
       SLES, Docker. (Bug #24689078)

   Security Notes

     * Incompatible Change: These changes were made to
       mysqld_safe:

          + Unsafe use of rm and chown in mysqld_safe could
            result in privilege escalation. chown now can be
            used only when the target directory is /var/log. An
            incompatible change is that if the directory for the
            Unix socket file is missing, it is no longer
            created; instead, an error occurs. Due to these
            changes, /bin/bash is required to run mysqld_safe on
            Solaris. /bin/sh is still used on other Unix/Linux
            platforms.

          + The --ledir option now is accepted only on the
            command line, not in option files.

          + mysqld_safe ignores the current working directory.
       Other related changes:

          + Initialization scripts that invoke mysqld_safe pass
            --basedir explicitly.

          + Initialization scripts create the error log file
            only if the base directory is /var/log or /var/lib.

          + Unused systemd files for SLES were removed.
       (Bug #24483092, Bug #25088048)
       References: See also: Bug #24464380, Bug #24388753.

     * MySQL Server now includes a plugin library that enables
       administrators to introduce an increasing delay in server
       response to clients after a certain number of consecutive
       failed connection attempts. This capability provides a
       deterrent that slows down brute force attacks that
       attempt to access MySQL user accounts. For more
       information, see The Connection-Control Plugin

(http://dev.mysql.com/doc/refman/5.7/en/connection-control-plugin.html).

     * OpenSSL is ending support for version 1.0.1 in December
       2016; see
       https://www.openssl.org/policies/releasestrat.html.
       Consequently, MySQL Commercial Server builds now use
       version 1.0.2 rather than version 1.0.1, and the linked
       OpenSSL library for the MySQL Commercial Server has been
       updated from version 1.0.1 to version 1.0.2j. For a
       description of issues fixed in this version, see
       https://www.openssl.org/news/vulnerabilities.html.
       This change does not affect the Oracle-produced MySQL
       Community build of MySQL Server, which uses the yaSSL
       library instead.

   Test Suite Notes

     * mysql-test-run.pl could not be run with
       --valgrind-option=--tool=custom_tool, for values of
       custom_tool such as massif or helgrind, because it added
       the options for memcheck that might not be understood by
       other tools. Also, the mysql-test-run.pl --callgrind
       option did not work because it supplied an invalid --base
       option to callgrind. Thanks to Daniel Black for the patch
       on which the fixes were based. (Bug #23713613, Bug
       #82039)

   Functionality Added or Changed

     * Incompatible Change; Partitioning: The generic
       partitioning handler in the MySQL server is deprecated,
       and will be removed in MySQL 8.0. As part of this change,
       the mysqld --partition and --skip-partition options as
       well as the -DWITH_PARTITION_STORAGE_ENGINE build option
       are also deprecated, and will later be removed;
       partitioning will no longer be shown in the
       INFORMATION_SCHEMA.PLUGINS table or in the output of SHOW
       PLUGINS.
       Following the removal of the generic partitioning
       handler, the storage engine used for a given table will
       be expected to provide its own ("native") partitioning
       handler as the InnoDB and NDB storage engines currently
       do. Currently, no other MySQL storage engines provide
       native partitioning support, nor is any planned for any
       other storage engines in current or development versions
       of MySQL.
       Use of tables with nonnative partitioning now results in
       an ER_WARN_DEPRECATED_SYNTAX warning. Also, the server
       performs a check at startup to identify tables that use
       nonnative partitioning; for any found, the server writes
       a message to its error log. To disable this check, use
       the --disable-partition-engine-check option.
       To prepare for migration to MySQL 8.0, any table with
       nonnative partitioning should be changed to use an engine
       that provides native partitioning, or be made
       nonpartitioned. For example, to change a table to InnoDB,
       execute this statement:
       ALTER TABLE table_name ENGINE = INNODB;


     * InnoDB: By default, InnoDB reads uncommitted data when
       calculating statistics. In the case of an uncommitted
       transaction that deletes rows from a table, InnoDB
       excludes records that are delete-marked when calculating
       row estimates and index statistics, which can lead to
       non-optimal execution plans for other transactions that
       are operating on the table concurrently using a
       transaction isolation level other than READ UNCOMMITTED.
       To avoid this scenario, a new configuration option,
       innodb_stats_include_delete_marked, can be enabled to
       ensure that InnoDB includes delete-marked records when
       calculating persistent optimizer statistics. (Bug
       #23333990)

     * The systemd service file for mysqld now includes a
       Documentation value in the [Unit] section to provide a
       link to the systemd documentation in the MySQL Reference
       Manual. (Bug #24735762)

     * Unit testing now uses Google Mock 1.8. (Bug #24572381,
       Bug #82823)

     * If mysqld is invoked with --daemonize, stdout and stderr
       are redirected to /dev/null if connected to a terminal
       type device, so that mysqld can behave as a true daemon.
       (Bug #21627629)

     * The libmysqld embedded server library is deprecated and
       will be removed in a future version of MySQL.

     * MySQL Group Replication is a new MySQL plugin that
       enables you to create a highly available distributed
       MySQL service across a group of MySQL server instances,
       with data consistency, conflict detection and resolution,
       and group membership services all built-in. By using a
       powerful new group communication service, which provides
       an implementation of the popular Paxos algorithm, the
       group of MySQL Server instances automatically coordinates
       on data replication, consistency, and membership. This
       provides all of the built-in mechanisms necessary for
       making your MySQL databases highly available.
       By default Group Replication operates in single-primary
       mode where a single server instance, called the primary,
       accepts write requests. The remaining server instances in
       the group, called secondaries, function as replicas of
       the primary. In the event of an unexpected failure of the
       primary, an automatic primary election process takes
       place and one of the secondaries is elected as the new
       primary. Group Replication also supports virtually
       synchronous multi-primary replication, with certain
       considerations and restrictions, which offers update
       everywhere functionality. In this mode all members are
       equal and you can distribute your reads and writes across
       all MySQL Server instances in the group.
       Regardless of the operating mode, Group Replication
       provides a dynamic membership service that relies on
       distributed failure detection. Server instances can join
       and leave the group dynamically, and you can query the
       group's membership list at any point through Performance
       Schema tables. Server instances that join the group
       automatically synchronize their state with the group by
       doing an automatic point-in-time recovery which ensures
       that they reach synchrony with the group.
       MySQL Group Replication's virtually synchronous
       replication is also a fully integrated part of MySQL,
       using the InnoDB storage engine, the Performance Schema
       tables, standard GTIDs and the well known replication
       infrastructure (binary and relay logs, multi-source
       replication, multi-threaded slave execution, etc.), which
       makes it a familiar and intuitive experience for existing
       MySQL users and makes it very easy to integrate with
       MySQL's standard asynchronous and semisynchronous
       replication, allowing you to mix and match as needed to
       create varied and complex replication topologies.

   Bugs Fixed

     * Incompatible Change: A change made in MySQL 5.7.8 for
       handling of multibyte character sets by LOAD DATA was
       reverted due to the replication incompatibility (Bug
       #24487120, Bug #82641)
       References: See also: Bug #23080148.

     * NDB Cluster: MySQL Cluster encountered race conditions
       compiling lex_hash.h. (Bug #24931655, Bug #83477)

     * InnoDB: The INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
       table reported NULL for a foreign key constraint name
       (UNIQUE_CONSTRAINT_NAME) after restarting the server.
       (Bug #25126722)

     * InnoDB: A prepared XA transaction was rolled back by a
       high priority transaction. The high priority transaction
       should wait if the blocking transaction is in a prepared
       state. (Bug #25032066)

     * InnoDB: InnoDB passed an invalid argument to
       syscall(SYS_futex). (Bug #24923840, Bug #83375)

     * InnoDB: On a MySQL 64-bit build on Windows, a file I/O
       retry result was misinterpreted due to a missing cast
       necessary for the correct operation of the retry path,
       resulting in a failing assertion and operating system
       error. (Bug #24711351)

     * InnoDB: The GCC mach_parse_compressed function should
       load one to five bytes depending on the value of the
       first byte. Due to a GCC bug, GCC 5 and 6 emit code to
       load four bytes before the first byte value is checked
       (GCC Bug #77673). A workaround prevents this behavior.
       Thanks to Laurynas Biveinis for the patch. (Bug
       #24707869, Bug #83073)

     * InnoDB: Due to a glibc bug, short-lived detached threads
       could exit before the caller had returned from
       pthread_create(), causing a server exit.
       Thanks to Laurynas Biveinis for the patch. (Bug
       #24605956, Bug #82886)

     * InnoDB: After increasing the value of innodb_undo_logs
       and restarting the server, the number of active undo
       tablespaces was not increased when assigning undo
       tablespaces to newly allocated rollback segments. (Bug
       #24488141)

     * InnoDB: InnoDB incorrectly reported an error about
       missing encryption when restoring pages from the
       doublewrite buffer during recovery. (Bug #24471076)

     * InnoDB: A cached undo segment was not removed from the
       rollback segment history during a slow shutdown. (Bug
       #24450908)

     * InnoDB: An error during a table-rebuilding operation on a
       table with only a generated clustered index
       (GEN_CLUST_INDEX) raised and assertion due to an error
       called with an invalid key name. (Bug #24444831)

     * InnoDB: Rotating the tablespace encryption master key
       while the server is in read-only mode raised an assertion
       instead of displaying an error message. (Bug #24404091)

     * InnoDB: On a table without an explicitly defined primary
       key, InnoDB did not replace the implicit clustered index
       (GEN_CLUST_INDEX) when a unique key was defined on a NOT
       NULL column. (Bug #24397406)

     * InnoDB: A high priority transaction involving a foreign
       key constraint check was not able to kill a lower
       priority blocking transaction. (Bug #24347476)

     * InnoDB: Page cleaner threads asserted due to a regression
       related to the adaptive hash index feature. (Bug
       #24346574)
       References: This issue is a regression of: Bug #21407023.

     * InnoDB: InnoDB failed to free memory used by the
       full-text optimizer thread. (Bug #24331265)

     * InnoDB: When adding a new index, the server dropped an
       internally defined foreign key index and attempted to use
       a secondary index defined on a generated virtual column
       as the foreign key index, causing a server exit. InnoDB
       now permits a foreign key constraint to reference a
       secondary index defined on a generated virtual column.
       (Bug #23533396)

     * InnoDB: An INFORMATION_SCHEMA.FILES query resulted in a
       server exit due to a race condition with a concurrent
       tablespace creation operation. (Bug #23477214)

     * InnoDB: A table-copying online ALTER TABLE operation on a
       ROW_FORMAT=REDUNDANT table with indexed virtual columns
       raised an assertion. (Bug #22018745)

     * InnoDB: SHOW ENGINE INNODB STATUS output showed a
       "cleaning up" state for an idle thread. Thread state
       information was not reset after statement execution. (Bug
       #21974225, Bug #78777)

     * InnoDB: After a server restart, concurrent INSERT
       operations a table with an auto-increment primary key
       resulted in a duplicate entry error. The current
       auto-increment value was not changed after
       auto_increment_increment and auto_increment_offset
       settings were modified. (Bug #20989615, Bug #76872)

     * Replication: When using XA transactions, if a lock wait
       timeout or deadlock occurred for the applier (SQL) thread
       on a replication slave, the automatic retry did not work.
       The cause was that while the SQL thread would do a
       rollback, it would not roll the XA transaction back. This
       meant that when the transaction was retried, the first
       event was XA START which was invalid as the XA
       transaction was already in progress, leading to an
       XAER_RMFAIL error. (Bug #24764800)
       References: See also: Bug #24923091, Bug #24966941.

     * Replication: The group commit update of GTIDs has been
       refactored to improve performance on workloads with many
       small transactions. (Bug #24398760)

     * Replication: If the relay_log option was not specified in
       a configuration file, the relay_log_basename variable was
       being internally constructed on the fly using hostname
       but the relay_log_basename variable was not set. When a
       slave tried to access this uninitialized variable it
       resulted in an unexpected halt of the server. (Bug
       #24352667)

     * Replication: For servers built with yaSSL, using group
       replication with secure connections could result in
       timeout failures waiting for view delivery. (Bug
       #23592214)

     * Replication: Tables with special DEFAULT columns, such as
       DEFAULT CURRENT_TIMESTAMP, that existed only on a slave
       were not being updated when using row-based replication
       (binlog_format=ROW). (Bug #22916743)

     * Replication: An XA PREPARE statement that failed during
       the intermediate steps could lead to an inconsistent XA
       transaction state, where ID = -1 but the binlogged flag
       was set to true. This caused asserts while executing XA
       COMMIT and XA ROLLBACK queries. (Bug #22915670)

     * Replication: Enabling semisynchronous replication when a
       server was during the commit stage could cause the master
       to stop unexpectedly. This was related to the patch for
       Bug# 75570. (Bug #22202516)

     * Replication: The number of generated unwanted fseeks into
       the binary log file being replicated to a slave has been
       reduced. (Bug #83226, Bug #24763579)

     * Replication: The rpl.rpl_binlog_errors test was failing
       sporadically on Windows. (Bug #82302, Bug #24330138)

     * Replication: When binlog_group_commit_sync_delay was set
       to a value between 1 and 9, if
       binlog_group_commit_sync_no_delay_count was set to a
       value greater than 1, and the number of transaction
       commits was less than
       binlog_group_commit_sync_no_delay_count, these commits
       hung forever if no more commits were received; and if
       binlog_group_commit_sync_no_delay_count was set to 0, all
       transaction commits hung forever. (Bug #80652, Bug
       #22891628)

     * Replication: Using semisynchronous replication was not
       possible with more than 1024 simultaneous connections.
       (Bug #79865, Bug #23581389)

     * Some Linux startup scripts did not process the datadir
       setting correctly. (Bug #25159791)

     * CREATE TABLE with a DATA DIRECTORY clause could be used
       to gain extra privileges. (Bug #25092566)

     * CMake now avoids configuring the
       -fexpensive-optimizations option for GCC versions for
       which the option triggers faulty shift-or optimizations.
       (Bug #24947597, Bug #83517)

     * OEL RPM packages now better detect which platforms have
       multilib support (for which 32-bit and 64-bit libraries
       can be installed). Thanks to Alexey Kopytov for the
       patch. (Bug #24925181, Bug #83457)

     * OEL RPM packages now better detect which platforms do not
       have multilib support (for which 32-bit and 64-bit
       libraries can be installed). Thanks to Alexey Kopytov for
       the patch. (Bug #24916428, Bug #83428)

     * Information about building MySQL 5.6 compatibility
       libraries in the MySQL 5.7 and higher .spec file is
       needed only for building libmysqlclient and libmysqld.
       Information about building the InnoDB memcached plugin
       was removed. (Bug #24908345, Bug #83409)

     * Compiling MySQL using Microsoft Visual Studio 2015
       Version 14.0.25420.1 in relwithdebinfo mode failed with
       linking errors. (Bug #24748505)

     * To better provide atomic file creation, Debian packaging
       scripts now use the coreutils install command rather than
       touch, chmod, and chown. (Bug #24688682)

     * For SLES packages, a typo in the installation script
       postamble prevented some cleanup from occurring. (Bug
       #24605300, Bug #82389)

     * Warnings occurring during CREATE TABLE ... SELECT could
       cause a server exit. (Bug #24595992)

     * For LOAD DATA statements, input data with too many column
       values produced only a warning, rather than an error as
       in MySQL 5.6. An error now occurs. (Bug #24577194, Bug
       #82830)

     * For segmentation faults on FreeBSD, the server did not
       generate a stack trace. (Bug #24566529, Bug #23575445,
       Bug #81827)

     * The .mylogin.cnf option file is intended for use by
       client programs, but the server was reading it as well.
       The server no longer reads it. (Bug #24557925)

     * The X Plugin was built with compilation options different
       from other plugins. (Bug #24555770, Bug #82777)

     * If mysqladmin shutdown encountered an error determining
       the server process ID file, it displayed an error message
       that did not clearly indicate the error was nonfatal. It
       now indicates that execution continues. (Bug #24496214)

     * The data structure used for ZEROFILL columns could
       experience memory corruption, leading eventually to a
       server exit. (Bug #24489302)

     * Operation of the mysql-multi.server.sh script was based
       on my.cnf in the data directory. That option file is no
       longer used, so mysql-multi.server.sh has been removed.
       (Bug #24487870)

     * Use of very long subpartition names could result in a
       server exit. Now partition or subpartition names larger
       than 64 characters produce an ER_TOO_LONG_IDENT error.
       (Bug #24400628, Bug #82429)

     * The Gis_wkb_vector<Gis_point> copy constructor was not
       explicitly instantiated, causing build problems for the
       Intel compiler. (Bug #24397833, Bug #82358)

     * Upgrading from MySQL 5.6 to 5.7.13 and then to 5.7.14
       resulted in an incorrect column order in the
       mysql.slave_master_info system table. (Bug #24384561, Bug
       #82384)

     * The AppArmor profile installed by Unbuntu packages was
       missing an entry permitting libnuma to read a /sys
       hierarchy path, resulting in server startup failure. (Bug
       #23854929)

     * For an INSERT statement for which the VALUES list
       produced values for the second or later row using a
       subquery containing a join, the server could exit after
       failing to resolve the required privileges. (Bug
       #23762382)

     * Infinite recursion could occur if the audit_log plugin
       signalled an error while handling an error. (Bug
       #23717558, Bug #82052)

     * MySQL now uses readdir() rather than readdir_r(). The
       latter has been deprecated since glibc 2.24 and caused
       debug builds of MySQL and builds using GCC 6.1 to fail.
       Additionally, several problems resulting in GCC 6.1
       compiler warnings were corrected. (Bug #23708395, Bug
       #24437737, Bug #82515, Bug #24459890, Bug #25103242)

     * For audit log events in the connection class, the
       connection_type value was available only for connect
       events. The value is now available in connect,
       disconnect, and change-user events. (Bug #23541550)

     * On Solaris, gettimeofday() could return an invalid value
       and cause a server shutdown. (Bug #23499695)

     * The keyring_file plugin could attempt to write keys to
       its storage file when the file did not exist. To ensure
       that keys are flushed only when the correct storage file
       exists, keyring_file now stores a SHA-256 checksum of the
       keyring in the file. Before updating the file, the plugin
       verifies that it contains the expected checksum. (Bug
       #23498254)

     * START GROUP REPLICATION uses stacked Srv_session and did
       not return to the correct thread. START GROUP REPLICATION
       and STOP GROUP REPLICATION are now removed from the list
       of permitted commands. (Bug #23337984)

     * A union query resulting in tuples larger than
       max_join_size could result in a server exit. (Bug
       #23303485)

     * The optimizer could choose ref access on a secondary
       index rather than range access on the primary key, even
       when the cost was higher. (Bug #23259872, Bug #81341)

     * For a query with ORDER BY and LIMIT, an optimizer trace
       did not record the optimizer's switch to a different
       index. (Bug #23227428, Bug #81250)

     * For some deeply nested expressions, the optimizer failed
       to detect stack overflow, resulting in a server exit.
       (Bug #23135667)

     * The sys schema ps_truncate_all_tables() function did not
       work with read_only enabled or for users with the SUPER
       privilege with super_read_only enabled, due to errors
       attempting to truncate Performance Schema tables. The
       server now skips the read_only/super_read_only check for
       Performance Schema tables, with the result that
       ps_truncate_all_tables() will work under such
       configurations. (Bug #23103937, Bug #81009)

     * For sessions created through the X Plugin, incorrect
       thread attachment/detachment could cause a server exit.
       (Bug #23057045)

     * When a JSON value consisted of a large sub-document
       wrapped in many levels of JSON arrays, objects, or both,
       serialization of the JSON value sometimes required an
       excessive amount time to complete. (Bug #23031146)

     * A binary (in-place) upgrade from MySQL 5.6 to 5.7
       followed by a data export performed using mysqlpump
       resulted in an Invalid default value for date_column
       error for attempts to reload the dump file. (Bug
       #22919028, Bug #80706)

     * SQL statements executed through the X Plugin were not
       instrumented in the Performance Schema. (Bug #22859462)

     * DROP INDEX operations could fail due to inconsistent
       handling of index prefix lengths for TEXT-type columns
       (TINYTEXT and so forth). (Bug #22740093, Bug #80392)

     * The innodb_numa_interleave system variable was
       erroneously available on some systems that were not
       NUMA-enabled. Thanks to Tomislav Plavcic for the patch.
       CMake now sets the default WITH_NUMA value based on
       whether the current platform has NUMA support. For
       platforms without NUMA support, CMake behaves as follows:

          + With no NUMA option (the normal case), CMake
            continues normally, producing only this warning:
            NUMA library missing or required version not
            available

          + With -DWITH_NUMA=ON, CMake aborts with this error:
            NUMA library missing or required version not
            available
       (Bug #22678436, Bug #80288)

     * When taking the server offline, a race condition within
       the Performance Schema could lead to a server exit. (Bug
       #22551677)

     * On macOS, if a table with an associated trigger was
       renamed to a new name containing both lowercase and
       uppercase characters, DROP TRIGGER for the trigger
       resulted in an ER_NO_SUCH_TABLE error for the table. (Bug
       #22512899, Bug #79873)

     * In the MYSQL_FIELD C API structure, the org_table value
       for derived tables was *, which could cause failure for
       queries that depend on this value. The org_table value
       for views and derived tables now is set as follows: If
       the column is selected from a view, org_table names the
       view. If the column is selected from a derived table,
       org_table names the base table. If a derived table wraps
       a view, org_table still names the base table. If the
       column is an expression, org_table is the empty string.
       (Bug #22364401, Bug #79641)

     * The Performance Schema
       events_statements_summary_by_digest table could contain
       multiple rows for the same statement digest and schema
       combination, rather than the expected single (unique)
       row. (Bug #22320066, Bug #79533)

     * For Performance Schema system and status variable tables,
       variable values expressed in a character set different
       from utf8 could be truncated or incorrect. (Bug
       #22313205)

     * Queries that were grouped on a column of a BLOB-based
       type, and that were ordered on the result of the AVG(),
       VAR_POP(), or STDDEV_POP() aggregate function, returned
       results in the wrong order if InnoDB temporary tables
       were used. (Bug #22275357, Bug #79366)

     * On Ubuntu, error messages were displayed during upgrades
       from Community to Commercial packages that made it appear
       as though mysqld and my_print_defaults had not been
       installed. Those messages were spurious and have been
       silenced. (Bug #21807248)

     * An invalid string value in the WHERE clause of an UPDATE
       statement, caused an index scan rather than a range scan
       to be used. For values not present in the index, this
       could be much slower. Now the optimizer determines this
       to be an "impossible WHERE" condition. (Bug #21032418,
       Bug #76933)

     * The return value from an fread() call was not checked.
       (Bug #20671150)

     * An in-place ALTER TABLE operation failed to report an
       error when adding a DATE or DATETIME column under these
       conditions: a) the column was NOT NULL and no default
       value was supplied; b) strict and NO_ZERO_DATE SQL modes
       were enabled; c) the table was not empty.
       An ALTER TABLE operation failed with an error rather than
       a warning when adding a DATE or DATETIME column under
       these conditions: a) the column was NOT NULL and no
       default value was supplied; b) strict SQL mode was
       enabled and NO_ZERO_DATE SQL mode was not enabled; c) the
       table was not empty. (Bug #16888677)

On Behalf of the MySQL/ORACLE RE Team
Hery Ramilison
Viewing all 1041 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>