Showing entries 1 to 10 of 38
10 Older Entries »
Displaying posts with tag: QA (reset)
MySQL 8.0: Testing Improvements

The first DMR of MySQL 8 was recently released. While a DMR (or Developer Milestone Release) is not yet a GA product, it does come with our commitment that each feature has been tested and qualified for inclusion.

In MySQL 8.0 we have made additional improvements to the MySQL test framework (MTR) and the test suite.…

Improving Sakila database

The Sakila sample database was created almost 10 years ago, as a sample set of data for MySQL courses and examples.

The database was developed by MySQL employees, with substantial contributions form the community.

Recently, the database was updated to use some of the features in MySQL 5.7. As a result, we had two sets of samples, one to use with MySQL 5.0+, and one that only loads with MySQL 5.7.

I filed a feature request, offering a patch to use conditional schema and data changes, which was incorporated very quickly into the official release.

The current release, available within the …

[Read more]
How MySQL-Sandbox is tested, and tests MySQL in the process

MySQL-Sandbox is a great tool for testing a new release, and in fact this is what I do when a new MySQL tarball becomes available. I don't think many people are aware of the full testing capabilities of the sandbox, though.
When you think about testing, you may just think of creating a sandbox with the new tarball, and then hammering it with your pet procedure. That works, of course, as the main purpose of MySQL-Sandbox is to allow you to do just that. There is, however, a full test suite that can tell you in a short while if your tarball is compatible with the past or not.
This procedure is quite strict. It has happened several times that I caught a bug in a new release of MySQL, or Percona Server, or MariaDB, just by running this suite.
How MySQL-Sandbox gets testedBefore describing how to test, I would like to show what I do. When a new version of MySQL-Sandbox is ready …

[Read more]
Testing that all projects need

Today, I was reminded of a Jim Starkey quote on the Random Query Generator:

“The Colonoscopy of Database Software”
– Jim Starkey

If your project does not have something that you can adapt that quote to, odds are your testing is inadequate.

Making the MTR rpl suite GTID_MODE Agnostic

In MySQL 5.6 we introduced GTID_MODE as a new server option. A global transaction identifier (GTID) is a unique identifier created and associated with each transaction when it is committed on the server of origin (master). This identifier is unique not only to the server on which it originated, but is unique across all servers in a given replication setup. There is a 1-to-1 mapping between all transactions and all GTIDs. For additional information, please refer to the MySQL manual.

Prior to 5.6.17 and 5.7.4, we had GTID specific replication (referred to as “rpl” within the MTR suite) regression tests, and we had to separately run the binlog suite with the GTID_MODE=ON

[Read more]
Test improvements in 5.7.4

Here is a summary of the improvements to MTR test tool and suite in 5.7.4

New Tests

Added 69 new tests and enhanced several existing tests in the MTR suite.

Test Suite migration

Test suite migration activity is continuing and in 5.7.4 we completed migration of replication suites rpl/binlog and about 75% of main suite. Relevant WLs are:

  • WL#6921  Migrate rpl suite to run with innodb engine
  • WL#6922  Migrate binlog suite to run with innodb storage engine
  • WL#7263 Migrate myisam specific tests
[Read more]
MySQL Server Maintenance Releases

After a version of MySQL Server has been declared GA, Oracle releases regular maintenance updates: the 5.6 GA was 5.6.10 and we are now at 5.6.17.

A lot of work goes into the maintenance releases. The purpose of this blog post is to show you a little bit of what happens on behind the curtains in the Oracle sweatshop that actually produces a maintenance release and to give you an insight into our thinking around testing, quality and bug fixing.

What goes into a maintenance release?
The short answer is “bug fixes”. These fall roughly into two classes,

  • The majority of bugs are chosen by Support for their relevance to customers and community and worked on by the Sustaining Team, which is dedicated to fixing the  bugs on Support’s list. Yes, Support choose the bugs. That may come …
[Read more]
Migration of MTR suites to use InnoDB (continued …)

This is a continuation of my post on migration-of-mtr-suites-to-use-innodb . To set the context here is a quick recap.

MySQL 5.5 had the following changes with respect to the default engine

  • Default engine in the server changed from MyISAM to InnoDB
  • MTR modified to start server with the old default MyISAM. (This was required because historically most test results were recorded with MyISAM and many of them would fail if tests were run with the new server default,  InnoDB)
  • Tests retained as is in 5.5 and planned to migrate them to run with default engine in a future release

In MySQL 5.7 release we have started the migration project. Right in the beginning we realized that the switch of default engine had an unexpected side effect. MTR tests that were developed post 5.5 were also getting …

[Read more]
Migration of MTR suites to use Innodb

In MySQL 5.7.2 a new include file “–source include/force_myisam_default.inc“ made its appearance in most of the .test files in the MTR suite. If you were wondering about this read on.

I will explain this change in two blogs. The first will describe why we are doing this and the next will explain how it is being done.

In order to set the context let me delve a bit into history. Starting from MySQL 5.5, the default storage engine for new tables is InnoDB. This change was coupled with a reverse switch in mysql-test-run, which made MyISAM the default storage engine for the server started through MTR(mysql-test-run). As a result default storage engine in the server was innodb, but most tests were run with the old default MyISAM.

Let me explain why such a switch was required. The usual practice in MTR test development was to not specify an engine in create table statement, unless the test is specifically for a …

[Read more]
The importance of backup verification

I have recently moved to HP's Advanced Technology Group which is a new group in HP and as part of that I will be blogging a lot more about the Open Source things I and others in HP work on day to day.  I thought I would kick this off by talking about work that a colleague of mine, Patrick Crews, worked on several months ago.

For those who don't know Patrick, he is a great Devops Engineer and QA.  He will find new automated ways of breaking things that will torture applications (and the Engineers who write them). I don't know if I am proud or ashamed to say he has found many bugs in code that I have written by doing the software equivalent of beating it with a sledgehammer.

Every Devops Engineer worth his salt knows that backups are important, but one thing that is regularly forgotten about is to check whether the backups are good.  A colleague of mine …

[Read more]
Showing entries 1 to 10 of 38
10 Older Entries »