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.
>
>
|