MySQL Cluster 7.6.2 dmr has been released (part 1/2)

Piotr Obrzut <[email protected]> Mon, 8 May 2017 16:15:44 +0200
Newsgroups gmane.comp.db.mysql.announce,gmane.comp.db.mysql.general,gmane.comp.db.mysql.packagers
Message-ID <[email protected]>
Dear MySQL Users,

[Due to file size limitations, the announcement is split in 2
  parts. This is part 1.]


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.6.2 dmr, 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.

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 NDB Cluster 7.6.2 (5.7.18-ndb-7.6.2) (2017-04-19,
Development Milestone 2)

    MySQL NDB Cluster 7.6.2 is a new release of NDB 7.6, based on
    MySQL Server 5.7 and including features in version 7.6 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 NDB Cluster releases.

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

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


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

      * Platform-Specific Notes

      * Functionality Added or Changed

      * Bugs Fixed

    Platform-Specific Notes

      * Solaris: The minimum required version of Solaris is now
        Solaris 11 update 3, due to a dependency on system
        runtime libraries.

      * Solaris: On Solaris, MySQL is now built with Developer
        Studio 12.5 instead of gcc. The binaries require the
        Developer Studio C/C++ runtime libraries to be installed.
        See here for how to install only the libraries:
https://docs.oracle.com/cd/E60778_01/html/E60743/gozsu.html

    Functionality Added or Changed

      * Important Change: As part of an ongoing effort to
        simplify NDB Cluster configuration, memory for indexes is
        now allocated dynamically from DataMemory
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbd-definition.html#ndbparam-ndbd-datamemory); 

        the IndexMemory
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbd-definition.html#ndbparam-ndbd-indexmemory) 

        configuration parameter is now deprecated, and is subject
        to removal in a future release. Any memory which has been
        set for IndexMemory in the config.ini file is now
        automatically added to DataMemory. In addition, the
        default value for DataMemory has been increased to 98M,
        and the default for IndexMemory has been decreased to 0.
        In addition to simplifying configuration of NDB
        (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster.htm
        l), a further benefit of these changes is that scaling up
        by increasing the number of LDM threads is no longer
        limited by having set an insufficiently large value for
        IndexMemory. Previously, it was sometimes the case that
        increasing the number of LDM threads could lead to index
        memory exhaustion while large amounts of DataMemory
        remained available.
        Because instances of the DBACC kernel block (responsible
        for hash index storage) now share memory with each one
        another as well as with DBLQH (the kernel block that acts
        as the local data manager), they can take advantage of
        the fact that scaling up does not increase DataMemory
        usage greatly, and make use of spare memory for indexes
        freely. (For more information about these kernel blocks,
        see The DBACC Block
(http://dev.mysql.com/doc/ndb-internals/en/ndb-internals-kernel-blocks-dbacc.html), 

        and The DBLQH Block
(http://dev.mysql.com/doc/ndb-internals/en/ndb-internals-kernel-blocks-dblqh.html).) 

        In other words, index memory is no longer a static quantity
        allocated to each DBACC instance only once, on startupof the
        cluster, but rather this resource can now be allocated and
        deallocated whenever conditions require it.
        Related changes which have been made as part of this work
        are listed here:

           + Several instances of DataMemory usage not related to
             storage of table data now use transaction memory
             instead. These include RT_DBTUP_COPY_PAGE,
             RT_NDBFS_BUILD_INDEX_PAGE, RT_NDBFS_INIT_FILE_PAGE,
             RT_SUMA_EVENT_BUFFER, and RT_SUMA_TRIGGER_BUFFER.

           + Data nodes now generate MemoryUsage events (see NDB
             Cluster Log Events
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-log-events.html))
             and writes appropriate messages in the cluster log when 
resource
             usage reaches 99%,in addition to when it reaches 80%, 90%,
             or 100% as they did previously.

           + REPORT MEMORYUSAGE
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-mgm-client-commands.html#ndbclient-report) 

             and other commands which expose memory consumption
             now shows index memory consumption using a page size
             of 32K rather than 8K.

           + IndexMemory is no longer one of the values displayed
             in the ndbinfo.memoryusage
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo-memoryusage.html) 

             table's memory_type column.

           + The ndbinfo.resources
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo-resources.html) 

             table now shows the DISK_OPERATIONS resource as
             TRANSACTION_MEMORY. The RESERVED resource has been
             removed.

           + IndexMemory is no longer displayed in ndb_config
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-programs-ndb-config.html) 

             output.

      * Performance: A number of debugging statements and
        printouts in the sources for the DBTC and DBLQH kernel
        blocks, as well as in related code, were moved into
        debugging code or removed altogether. This is expected to
        result in an improvement of up to 10% in the performance
        of local data management and transaction coordinator
        threads in many common use cases.

      * ndbinfo Information Database: Added two tables to the
        ndbinfo
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo.html)
        information database. The config_nodes
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo-config-nodes.html) 

        table provides information about nodes that are configured
        as part of a given NDB Cluster, such as node ID and process type.
        The processes
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo-processes.html) 

        shows information about nodes currently connected to the cluster;
        this information includes the process name and system process ID,
        and service address. For each data node and SQL node, it also
        shows the process ID of the node's angel process.
        As part of the work done to implement the processes
        table, a new Ndb_cluster_connection
(http://dev.mysql.com/doc/ndbapi/en/ndb-ndb-cluster-connection.html)
        method set_service_uri()
(http://dev.mysql.com/doc/ndbapi/en/ndb-ndb-cluster-connection-set-service-uri.html) 

        is added to the NDB API. For more information, see The
        ndbinfo config_nodes Table
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo-config-nodes.html), 

        and The ndbinfo processes Table
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo-processes.html), 

        as well as Ndb_cluster_connection::set_service_uri()
(http://dev.mysql.com/doc/ndbapi/en/ndb-ndb-cluster-connection-set-service-uri.html). 


      * Added the --query-all
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-programs-ndb-config.html#option_ndb_config_query-all) 

        option to ndb_config
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-programs-ndb-config.html). 

        This option acts much like the --query
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-programs-ndb-config.html#option_ndb_config_query) 

        option except that --query-all (short form: -a) dumps
        configuration information for all attributes at one time.
        (Bug #60095, Bug #11766869)

      * Previously, when one LDM thread experienced I/O lag, such
        as during a disk overload condition, it wrote to a local
        checkpoint more slowly---that is, it wrote in I/O lag
        mode. However, other LDM threads did not necessarily
        observe or conform to this state. To ensure that write
        speed for the LCP is reduced by all LDM threads when such
        a slowdown is encountered, NDB now tracks I/O lag mode
        globally, so that I/O lag state is reported as soon as at
        least one thread is writing in I/O lag mode, and thus all
        LDM threads are forced to write in lag mode while the lag
        condition persists. This reduction in write speed by
        other LDM instances should increase overall capacity,
        enabling the disk overload condition to be overcome more
        quickly in such cases than before.

      * Added the ndb_import
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-programs-ndb-import.html) 

        tool to facilitate the loading of CSV-formatted data, such as
        that produced by SELECT INTO OUTFILE
        (http://dev.mysql.com/doc/refman/5.7/en/select-into.html)
        , into an NDB
        (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster.html)
        table. ndb_import
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-programs-ndb-import.html) 

        is intended to function much like mysqlimport
        (http://dev.mysql.com/doc/refman/5.7/en/mysqlimport.html)
        or the LOAD DATA INFILE
        (http://dev.mysql.com/doc/refman/5.7/en/load-data.html)
        SQL statement, and supports many similar options for
        formatting of the data file. A connection to an NDB
        management server (ndb_mgmd
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-programs-ndb-mgmd.html)) 

        is required; there must be an otherwise unused [api] slot
        in the cluster's config.ini file for this purpose. In addition,
        the target database and table (created using the NDB storage
        engine) must already exist, and the name of the CSV file
        (less any file extension) must be the same as that of the
        target table. A running SQL node is needed for creating
        the target database and table, but is not required for
        ndb_import
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-programs-ndb-import.html) 

        to function. For more information, see ndb_import ---
        Import CSV Data Into NDB
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-programs-ndb-import.html). 


[ To be continued...]