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

Reply via email to