Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-2649

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

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 10.2.2.0
    • None
    • Store
    • 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

          Activity

            People

              Unassigned Unassigned
              tsuresh Suresh Thalamati
              Votes:
              1 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated: