Bug #42202 Unacceptable tablespace growth when doing rapid BLOB updates
| Submitted: | 19 Jan 2009 16:35 | Modified: | 26 May 2010 17:51 |
|---|---|---|---|
| Reporter: | John Embretsen | Email Updates: | |
| Status: | Unsupported | Impact on me: | |
| Category: | MySQL Server: Falcon storage engine | Severity: | S3 (Non-critical) |
| Version: | 6.0.10-falcon-team-bzr | OS: | Any |
| Assigned to: | Kevin Lewis | CPU Architecture: | Any |
| Tags: | F_BLOB | ||
[19 Jan 2009 16:35]
John Embretsen
[21 Jan 2009 22:41]
Kevin Lewis
I must disagree with the proposed triage values. As John noted; "this issue is probably not likely to occur often in a real-world scenario. On a traditional disk-based system, updating a 4 MB BLOB in Falcon may currently take as long as 15 seconds, so the schedule-based scavenging will help out in the meantime." I think the workaround of increasing the frequency of scavenging is acceptable. The file size does not grow unbounded like it used to, even with default values fro scavenge schedule. A slightly more frequent schedule will mostly alleviation this problem. And if there is a lot of other activity going on in the engine besides updating blobs, the load based scavenge will kick in as well. I do not think this is an issue that must be fixed before beta.
[21 Jan 2009 22:44]
Kevin Lewis
A suggested fix is to add a third way to signal the scavenger. Frist way is the scheduler. Second is load-based upon the number and size of records in the record cache. The third would be the size or number of blob pages added.
[10 Feb 2009 22:08]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/65815 3012 John H. Embretsen 2009-02-10 New test related to Bug#41870 and Bug#42202, verifying that scheduled scavenging of old record versions in Falcon works with BLOBs, i.e. that the tablespace does not grow indefinitely when updating a BLOB multiple times. This test is perhaps more of a functional test of timing (schedule) based scavenging related to BLOB updates than a real regression test for bug 41870 (Unbounded tablespace growth when updating BLOB record). This is because in order to be as timing-independent as possible, the test requires a fixed non-default value of the option falcon_scavenge_schedule (currently set to 'every 5 seconds'). On a standard disk based system the test may take a long time (~2 min on a relatively fast server with backround load) to run, and requires 30-50 MB of space, so this is a --big-test. In memory (--mem) the test should normally run in about 6-7 seconds.
[10 Feb 2009 22:25]
John Embretsen
New related test falcon.falcon_blob_space-big committed, see http://lists.mysql.com/falcon/505
[10 Feb 2009 23:24]
Kevin Lewis
A test was added for Bug#41870 which is the precursor to this one. That test test succeeds now with scavenging every 5 seconds. Once the this bug is fixed, the test can be updated to use default settings.
[2 Mar 2009 14:13]
Bugs System
Pushed into 6.0.11-alpha (revid:alik@sun.com-20090302140208-lfdejjbcyezlhhjt) (version source revid:vvaintroub@mysql.com-20090211225555-gcuo9fv97xlhydd8) (merge vers: 6.0.10-alpha) (pib:6)
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.069 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.