db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kathey Marsden (JIRA)" <j...@apache.org>
Subject [jira] [Created] (DERBY-5766) BaseDataFileFactory.boot() should log the exception that causes it to boot the database read only
Date Wed, 16 May 2012 16:49:02 GMT
Kathey Marsden created DERBY-5766:

             Summary: BaseDataFileFactory.boot() should log the exception that causes it to
boot the database read only 
                 Key: DERBY-5766
                 URL: https://issues.apache.org/jira/browse/DERBY-5766
             Project: Derby
          Issue Type: Bug
          Components: Store
    Affects Versions:
            Reporter: Kathey Marsden

In BaseDataFileFactory.boot() there is code that tries to write to the lock file. If it cannot,
and gets an IOException  it assumes the database is read only.  I think that we should log
that the database is booting read only and why and if it is not specifically a permission
error log the exception stack trace.


           fileLockOnDB = fileLock.getRandomAccessFile( "rw");

            // write it out for future reference

            // check the UUID
            UUID checkUUID = uuidFactory.recreateUUID(fileLockOnDB.readUTF());
            if (!checkUUID.equals(myUUID))
                throw StandardException.newException(
                    SQLState.DATA_MULTIPLE_JBMS_ON_DB, databaseDirectory);
        catch (IOException ioe)
            // probably a read only db, don't do anything more
            readOnly = true;
                if (fileLockOnDB != null)
            catch (IOException ioe2)
            { /* did the best I could */ }
            fileLockOnDB = null;


I think this code can be exercised by creating a database and exiting without shutdown. Then
change permission on the db.lck  and dbex.lck files. It occurs often in the field when multiple
users with incompatible permissions/umasks access the derby database.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message