#At file:///home/frazer/bzr/mysql-5.1-telco-6.2/
------------------------------------------------------------
revno: 2706
revision-id: frazer@stripped
parent: jonas@stripped
committer: Frazer Clement <frazer@stripped>
branch nick: mysql-5.1-telco-6.2
timestamp: Tue 2008-10-21 23:53:32 +0100
message:
Bug#39295 cluster table with TEXT column cannot be cached in query cache
Read of Text column resulted in lock upgrade to read/shared.
Since rows are disk based, TUP-order scan is chosen
TUP and TUX ordered scans with locks have unwanted side-effect of
incrementing fragment commit_count when locks are freed.
This results in query cache invalidation.
Fix is to remove unwanted fragment commit_count increment for TUP + TUX
ordered scans.
modified:
mysql-test/suite/ndb/r/ndb_cache.result
sp1f-ndb_cache.result-20040505082127-7f3odnak2v4dmp7dmov5mmrupaikeyo6
mysql-test/suite/ndb/t/ndb_cache.test
sp1f-ndb_cache.test-20040505082127-skjoypw7pwzs55cz5haz4svzk3dfvtcp
mysql-test/suite/ndb/t/ndb_cache2.test
sp1f-ndb_cache2.test-20050201144302-xdkoatxps766l7aczrr2mullhyb346sz
storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp
sp1f-dbaccmain.cpp-20040414082418-khzyzke4vwea2aiengvt2htq7ubfqssz
per-file comments:
mysql-test/suite/ndb/r/ndb_cache.result
Test that query cache is not invalidated by TUP or TUX ordered scan with Blobs.
mysql-test/suite/ndb/t/ndb_cache.test
Test that query cache is not invalidated by TUP or TUX ordered scan with Blobs.
mysql-test/suite/ndb/t/ndb_cache2.test
Add delays to balance out inherent races in this testcase.
Original fix used wait_condition with the qcache_no_queries status variable, but this
is insufficient where multiple commits are made to the table - need to wait for all
commits to become known by the qcache thread.
storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp
Avoid incrementing fragment commit count when releasing locks for scan operations.
Attachment: [text/text/x-diff] patch-2706.diff
| Thread |
|---|
| • bzr commit into mysql-5.1 tree (frazer:2706) Bug#39295 | Frazer Clement | 22 Oct |