Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
10.2.2.0
-
None
-
Normal
-
High Value Fix
Description
Lock to prevent multi-jvm boot is acquired after the temp directory is cleaned up in BaseDataFileDirectory.java boot() method. Because lock is acquired later , an unsuceessfule boot attempt could potentiall delete file in the
temp directory that are in use.
See : BaseDataFileDirectory.java : boot()
storageFactory =
ps.getStorageFactoryInstance(
true,
dataDirectory,
startParams.getProperty(
Property.STORAGE_TEMP_DIRECTORY,
PropertyUtil.getSystemProperty(
Property.STORAGE_TEMP_DIRECTORY)),
identifier.toANSIidentifier());
Above call to get the storage factory seems to cleanup the temp directory, and the method is invode before calling the
the method that prevents multi-jvm boot of an database.
if (!isReadOnly()) // read only db, not interested in filelock
getJBMSLockOnDB(identifier, uf, dataDirectory);
Attachments
Issue Links
- is depended upon by
-
DERBY-700 Derby does not prevent dual boot of database from different classloaders on Linux and Mac OS X
- Closed