Bug #42394 Unnecessary calls to TableSpace::open() in TableSpaceManager::bootstrap()
Submitted: 27 Jan 2009 20:14 Modified: 28 Jan 2009 7:01
Reporter: Vladislav Vaintroub Email Updates:
Status: Closed
Category:Server: Falcon Severity:S3 (Non-critical)
Version:6.10-bzr OS:Any
Assigned to: Vladislav Vaintroub Target Version:
Tags: F_RECOVERY

[27 Jan 2009 20:14] Vladislav Vaintroub
Description:
TableSpaceManager::bootstrap() is executed before recovery. 
One needs to be extremely cautious in this phase, because structures on disk maybe
inconsistent at this time. The less work is done the better.

During bootstrap we only need to associate tablespace ids with filenames and tablespace
names.

Yet, falcon calls TableSpace::open() that except opening file that is potentially not
there will also examine all PIP pages that are potentially not there in
Dbb::initRepository/PageInventoryPage::getLastPage(). 

How to repeat:
Code inspection

Suggested fix:
do not call TableSpace::open() during bootstrap. There is no need to do it.
Tablespace should be opened when recovery needs it, not earlier.
[28 Jan 2009 7:01] Vladislav Vaintroub
Fix together with Bug #42392 in the same patch