Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 81590 invoked from network); 2 Sep 2005 21:27:16 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 2 Sep 2005 21:27:16 -0000 Received: (qmail 12290 invoked by uid 500); 2 Sep 2005 21:27:15 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 12258 invoked by uid 500); 2 Sep 2005 21:27:15 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: Reply-To: "Derby Development" Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 12238 invoked by uid 99); 2 Sep 2005 21:27:15 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=SPF_FAIL X-Spam-Check-By: apache.org Received: from [192.87.106.226] (HELO ajax.apache.org) (192.87.106.226) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Sep 2005 14:27:13 -0700 Received: from ajax.apache.org (ajax.apache.org [127.0.0.1]) by ajax.apache.org (Postfix) with ESMTP id B943F12B for ; Fri, 2 Sep 2005 23:27:12 +0200 (CEST) Message-ID: <294759668.1125696432756.JavaMail.jira@ajax.apache.org> Date: Fri, 2 Sep 2005 23:27:12 +0200 (CEST) From: "Suresh Thalamati (JIRA)" To: derby-dev@db.apache.org Subject: [jira] Commented: (DERBY-555) Unable to restart after disk is full In-Reply-To: <853413016.1125671532245.JavaMail.jira@ajax.apache.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N [ http://issues.apache.org/jira/browse/DERBY-555?page=3Dcomments#action= _12320936 ]=20 Suresh Thalamati commented on DERBY-555: ---------------------------------------- One case I can think of database disk is full and system is unable to crea= te even a lock (db.lck) file also. In derby , there is this logic that dec= lares database is read only , when it is not able to create files. Idea is = to boot database in jar files ..etc in read only mode . If file creatio= n IO error happens to occur , before it load the log factory is loaded , th= en it boots the read only verion of the log factory implementation, thinki= ng that databse is read only.=20 you may want to look at the following code to see , if this is what is happ= ening in u'r case: BaseDataFileFatory.java: 1) private void bootLogFactory(boolean create, Properties startParams) throws = StandardException { if (isReadOnly()) startParams.put(LogFactory.RUNTIME_ATTRIBUTES, LogFactory.RT_READONLY); logFactory =3D (LogFactory)=09Monitor.bootServiceModule(create, this,=20 =09=09=09=09=09rawStoreFactory.getLogFactoryModule(),=20 =09=09=09=09=09=09startParams); } 2) boot() method=20 3) ,private void privGetJBMSLockOnDB() throws StandardException this method= marks the database as readonly , if it is not able to create db.lck files.= =20 -- Marking database on disk full case seems to be incorrect as u mentioned. Pr= oblem here is ,we want to automatically figure out the read only databases,= but java does not seem have a DiskFull exception!! =20 Thanks -suresht =20 > 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: =C3=98ystein Gr=C3=B8vlen > Assignee: =C3=98ystein Gr=C3=B8vlen > Priority: Critical > > 1. Inserted data into the database until the disk was full. (5 clients in= serting 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, reg= ardless of how I connect (have tried embedded, client server, ij, jdbc appl= ications). I have not tried to free some space on the disk before starting= . =20 > 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 tab= le. > 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 alwa= ys returns null in its getCanonicalLogPath(). > I suspect this may be related to the fact that I ran with the log in a no= n-default location. --=20 This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira