I like the idea of building the message into the normal boot rather than generating an error for every db in a jar access - what do others think?
Suresh Thalamati (JIRA) wrote: > [ > http://issues.apache.org/jira/browse/DERBY-555?page=comments#action_12330529 > ] > > Suresh Thalamati commented on DERBY-555: > ---------------------------------------- > > Hi Øystein, > > Tested your patch , it looks good . I have couple of minor questions, > related to the new error message : > Database located at C:\suresht\databases\wombat has been booted in READ ONLY > mod > e. This will occur when the database is located in a jar file. This may also > ha > ppen when Derby is not able to write to the database directory; either > because i > t does not have the required access rights or because the disk is full. > > 1) New Message added will be displayed on every boot from a read only > media , Not sure if > this will be annoying to the users who are booting derby from a > read-only media ? > > 2) Above Message added will never be displayed when booted from a JAR file. > reference to jar in read-only mode ("... This will occur when the database > is located in a jar file ...) may not be needed. > > -- > > How about modifying the general boot message to indicate that the database > is booted in read-only mode ? and document the special case of disk full > scenario some where ? > > I agree with you that there is no simple way to write a disk full test cases > that can be added to nightly runs. But if you have a test case , I think > it might be good idea to create special ad-hoc test directory and put > it there , so that some one interested can run them manually at the time > of a release. > > On a quick scan through the docs, found a section "Booting databases" > section in the Developers > guide("http://db.apache.org/derby/docs/10.1/devguide/) ; may be we can > mention the disk full read-only boot special case there as a note. > > Thanks > -suresht > > > >>Unable to restart after disk is full >>------------------------------------ >> >> Key: DERBY-555 >> URL: http://issues.apache.org/jira/browse/DERBY-555 >> Project: Derby >> Type: Bug >> Components: Store >> Versions: 10.2.0.0 >> Environment: Sun Sparc Solaris, 1.4 JDK, Derby Client/Server >> Reporter: Øystein Grøvlen >> Assignee: Øystein Grøvlen >> Priority: Critical >> Attachments: derby-555.diff >> >>1. Inserted data into the database until the disk was full. (5 clients >>inserting into 5 different tables in parallel.) >>2. Shut down the server >>3. Start the database again without freeing any disk space. >>When I try to start the database again, I get Null-pointer-exception, >>regardless of how I connect (have tried embedded, client server, ij, jdbc >>applications). I have not tried to free some space on the disk before >>starting. >>The call stack is not available right now (the computer I used had to be shut >>down due to problems with our cooling system), but the exception comes from >>the following line in RawStore.java: >> properties.put(Attribute.LOG_DEVICE, logFactory.getCanonicalLogPath()); >>getCanonicalLogPath() returns null which results in a NPE in the hash table. >>A quick debug before the computer was stopped, showed that the logFactory was >>an instance of org.apache.derby.impl.store.raw.log.ReadOnly which always >>returns null in its getCanonicalLogPath(). >>I suspect this may be related to the fact that I ran with the log in a >>non-default location. > >
