The MariaDB Foundation, stewards of the community-maintained open source MariaDB database that is sweeping the Internet, announced today the next steps towards a community-managed governance structure. With the appointment of a new, enlarged Board of Directors and a new interim chief executive, the MariaDB Foundation is now on track to a fully member-led governance in the second half of 2013.

The Board members are now Rasmus Johansson, Andrew Katz, Simon Phipps, Michael “Monty” Widenius, and Jeremy Zawodny. The first act of the new interim Board was to appoint Johansson as Chair and Phipps as Secretary and Chief Executive Officer.

The Board bring together a wealth of experience. Johansson is an experienced leader within the MariaDB developer community. Katz is a well-known expert in open source legal matters and has been acting as COO of the Foundation until now. Phipps brings experience of IBM and Sun Microsystems as well as leadership in non-profit organisations such as the Open Source Initiative. Widenius is a veteran of the MariaDB and MySQL projects, having founded both. Zawodny is a long-time implementer of solutions using both the MySQL and MariaDB databases; he is currently at Craigslist and was formerly at Yahoo.

The interim Board plans to adopt a membership-based governance model that includes a diversity of stakeholders, similar to that used by the Eclipse Foundation, so has invited its Executive Director Mike Milinkovich to directly advise on governance matters. The Board aims to devise and publicly review suitable governance rules between now and July and then to have MariaDB Foundation members and contributors elect a new Board using those rules.

The Foundation invites companies wishing to contribute to the success of the MariaDB database project to contact them. Opportunities both for sponsorship and for engagement in the governance of the new Foundation are available. Please contact foundation at the mariadb org domain.

Press enquiries:  press at mariadb org   (release)

After some final testing and polishing, the MariaDB project and Codership are pleased to announce the release of MariaDB Galera Cluster 5.5.29. This is a Stable (GA) release. MariaDB Galera Cluster links:

About MariaDB Galera Cluster

MariaDB Galera Cluster is made for today’s cloud based environments. It is fully read-write scalable, comes with synchronous replication, allows multi-master topologies, and guarantees no lag or lost transactions. Some of its features & benefits are listed below.

Features

  • Synchronous replication
  • Active-active multi-master topology
  • Read and write to any cluster node
  • Automatic membership control, with failed nodes dropped from the cluster
  • Automatic node joining
  • True row-level parallel replication
  • Direct client connections, native MariaDB/MySQL look & feel

Benefits

The above features yield several benefits for a database clustering solution, including:

  • No slave lag
  • No lost transactions
  • Both read and write scalability
  • Smaller client latencies

Technology

MariaDB Galera Cluster uses the Galera library for the replication implementation. To interface with Galera replication, we have enhanced MariaDB to support the replication API definition in the Write Set REPlication (wsrep API) project. The implementation of the replication API in MariaDB happens in the open source MySQL-wsrep project.

User Feedback plugin

MariaDB Galera Cluster includes a User Feedback plugin. This plugin is disabled by default. If enabled, it submits basic, completely anonymous usage information. This information is used by the developers to track trends in usage to better guide development efforts. If you would like to help make MariaDB Galera Cluster better, please add “feedback=ON” to your my.cnf file! See the User Feedback Plugin page for more information.

Quality

The project always strives for quality, but in reality, nothing is perfect. Please take time to report any issues you encounter at: http://mariadb.org/jira. We hope you enjoy MariaDB Galera Cluster!

Operations Support

Once you run MariaDB Galera Cluster in production you want to make sure there is a helping hand available whenever needed. We’re happy to inform you that our partner SkySQL offers 24-hour support also for the MariaDB Galera Cluster, see SkySQL’s page about Galera Cluster.

The MariaDB Java Client 1.1.1 has been released. You can download it here.

See the Release Notes and Changelog for detailed information on this release and the About the MariaDB Java Client page in the AskMonty Knowledgebase for general information about the client.

New functionality in this release

  • Implement tcpAbortiveClose option, for “hard” socket close (CONJ-27)
    • This option can be used in environments where connections are created and closed in rapid succession. Often, it is not possible to create a socket in such environment after a while, since all local “ephemeral” ports are used up by TCP connections in TCP_WAIT state. Using tcpAbortiveClose works around this problem by resetting TCP connections rather (abortive or hard close) than doing an orderly close. It is accomplished by using socket.setSoLinger(true,0) for abortive close.

Bugs fixed in this release

  • MySQLStatement will now indicate there are no more results by returning -1 from getUpdateCount() and null from getResultSet(),as mandated by the standard (CONJ-14)
  • Introduced nullCatalogMeansCurrent parameter for compatibly with ConnectorJ, and make it default (CONJ-16)
    • Prior to this change, DatabaseMetadata.getTables() or other methods of DatabaseMetaData that accept catalog names and return result sets would treat null as prescribed by the JDBC standard (null means no restriction which catalog is used). This behavior is now changed for the sake of compatibility. Starting with 1.1.1 , null for catalog name will mean current catalog. To get JDBC standard behavior, one needs to set nullCatalogMeansCurrent=false.
  • DatabaseMedataData.getColumns() returned incorrect values in the “COLUMN_SIZE” column for character data.(CONJ-15))
    • Prior to the change, octet size was returned (length in bytes). Depending on the character set used, it could be 3 times bigger than the length in characters that was specified by CREATE or ALTER table. This behavior is corrected in 1.1.1
  • DatabaseMetaData.getColumns() always handled MySQL YEAR datatype as SMALLINT. (CONJ-19)
    • The behavior is now fixed and getColumns returns either DATE or SMALLINT depending on how the ‘yearIsDateType’ parameter is set.
  • ResultSetMetaData.getColumnName() returned an empty string in special cases (CONJ-17)
    • ResultSetMetaData.getColumnName() returned and empty string for “non-columns” in a result set (functions, aggregates like count(*), and so on). The fix is to return the column label to be returned if the column name is empty.
  • Ensure that getObject() returns byte array for CHAR BINARY.(CONJ-20)
    • Also make sure that getColumnType(),getColumnClassName(),getColumnTypeName() return values indicate BINARY for fixed binary type.
  • JVM does not exit if statement timeout is used.(CONJ-23)
    • Constructor for Timer was corrected to ensure that the Timer thread has type background thread. Thus Timer won’t prevent JVM from exiting.
  • Calling first() on “streaming” result set and using the result set afterwards generated NullPointerException (CONJ-24)
    • Now a SQLException is thrown early on, in the first() call, since streaming results sets are not scrollable.
  • Connection.close() hangs if there is an open streaming result set, and next() was not called on this result set (CONJ-25)