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.

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 10.2.2.0
    • Fix Version/s: None
    • Component/s: Store
    • Urgency:
      Normal
    • Issue & fix info:
      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

              • Assignee:
                Unassigned
                Reporter:
                tsuresh Suresh Thalamati
              • Votes:
                1 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated: