[DRBD-user] MySQL and digest integrity check

Lars Ellenberg lars.ellenberg at linbit.com
Mon Feb 2 13:03:26 CET 2009

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.


On Mon, Feb 02, 2009 at 03:12:50AM -0800, Frank Costanza wrote:
> In some test that I have been performing, I have noticed that DRBD is
> reporting "Digest integrity check FAILED" errors when MySQL is told to
> perform a large number of SQL inserts into the same table, similar to
> the following:
> 
> INSERT INTO TABLE VALUES ('A1','A2','A3' );
> INSERT INTO TABLE VALUES ('B1','B2','B3' );
> INSERT INTO TABLE VALUES ('C1','C2','C3' );
> ..... [ 3000 rows repeated ]
> 
> 
> However, if the same amount of data is inserted using a single INSERT
> statement as shown below, no digest integrity errors occur.
> 
> INSERT INTO TABLE VALUES ('A1','A2','A3' ), ('B1','B2','B3' ), 'C1','C2','C3'), ....
> 
> 
> I'm using DRBD 8.2.7 on ext3 filesystems.  Servers are HP DL580 G5, 4
> x Quad-core, Smart Array P400, 16G RAM. Firmware is relatively recent.
> OS is RHEL 5.3.  TCP offload disabled using ethtool.
> 
> drbd.conf includes
> 
>         net {
>                 data-integrity-alg md5;
>         }
> 
> I have imported many gigabytes of MySQL dumps (generated from
> mysqldump) and have seen no digest integrity errors.  But I can almost
> immediately trigger a "Digest integrity check FAILED", by running a
> few thousand 'INSERT INTO TABLE' statements that totals about 500KB of
> data.
> 
> I've tried this on 2 seperate MySQL Heartbeat/DRBD clusters with the
> same results, so I don't believe the hardware is flakey.
> 
> Is it possible that similar to ReiserFS and swap, MySQL could be
> responsible for modifying the data while the transfer is taking place
> causing these false positives?
> 
> I've noticed in the archives a number of people who are trying to find
> the cause of "Digest integrity check FAILED" errors have been running
> MySQL.

if it is an option for you,
could you try a kernel.org 2.6.28.2 kernel?

there have been some changes
in the generic dirty page write out path
which affect data integrity.

if I understand those changes correctly,
apparently all kernels up to that one
may return early on fsync and similar operations.

-- 
: Lars Ellenberg
: LINBIT | Your Way to High Availability
: DRBD/HA support and consulting http://www.linbit.com

DRBD® and LINBIT® are registered trademarks of LINBIT, Austria.
__
please don't Cc me, but send to list   --   I'm subscribed



More information about the drbd-user mailing list