From: Satya Bodapati Date: July 18 2012 12:19pm Subject: bzr push into mysql-5.6 branch (satya.bodapati:4047 to 4048) Bug#14212892 List-Archive: http://lists.mysql.com/commits/144461 X-Bug: 14212892 Message-Id: <20120718121937.29456.37199.4048@satya-ThinkPad-T420> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 4048 Satya Bodapati 2012-07-18 BUG#14212892 - WHY DOES BUF_PAGE_GET_GEN CONFIRM THE PAGE CHECKSUM FOR COMPRESSED PAGES For compressed pages, page checksum verification is done when reading the page from disk and also while decompressing the compressed pages. Since page checksum verification is already done when the page is read from disk, it is not necessary to verify the checksums again when decompressing the page. By removing the extra page checksum verification, the CPU used will be saved. No mtr testcase as this change is covered by existing testcases. Approved by Inaam: rb://1166 @ storage/innobase/buf/buf0buf.cc call buf_zip_decompress() with FALSE in buf_page_get_gen() to disable page checksum verification when reading the page from disk modified: storage/innobase/buf/buf0buf.cc 4047 Bjorn Munch 2012-07-18 Bug #14336086 DO NOT ERROR OUT IF --DEBUG-SERVER OPTION IS PASSED TO NON... Issue only a warning for --debug-server, but still err out for --debug modified: mysql-test/mysql-test-run.pl === modified file 'storage/innobase/buf/buf0buf.cc' --- a/storage/innobase/buf/buf0buf.cc revid:bjorn.munch@stripped +++ b/storage/innobase/buf/buf0buf.cc revid:satya.bodapati@stripped @@ -2710,7 +2710,10 @@ wait_until_unfixed: /* Decompress the page and apply buffered operations while not holding buf_pool->mutex or block->mutex. */ - ut_a(buf_zip_decompress(block, TRUE)); + /* Page checksum verification is already done when + the page is read from disk. Hence page checksum + verification is not necesary when decompressing the page. */ + ut_a(buf_zip_decompress(block, FALSE)); if (UNIV_LIKELY(!recv_no_ibuf_operations)) { ibuf_merge_or_delete_for_page(block, space, offset, No bundle (reason: useless for push emails).