An unsuccessful boot attempt of an booted database can potentially delete files 
in the temp directory that are in use. 
-----------------------------------------------------------------------------------------------------------------------

                 Key: DERBY-2649
                 URL: https://issues.apache.org/jira/browse/DERBY-2649
             Project: Derby
          Issue Type: Bug
          Components: Store
    Affects Versions: 10.2.2.0
            Reporter: Suresh Thalamati


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);




-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to