Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 57063 invoked from network); 22 Mar 2007 08:25:24 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 22 Mar 2007 08:25:24 -0000 Received: (qmail 41340 invoked by uid 500); 22 Mar 2007 08:25:31 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 41118 invoked by uid 500); 22 Mar 2007 08:25:30 -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: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 41109 invoked by uid 99); 22 Mar 2007 08:25:30 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=UPPERCASE_25_50 X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 22 Mar 2007 01:25:30 -0700 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 4FD04714057 for ; Thu, 22 Mar 2007 01:24:32 -0700 (PDT) Message-ID: <2773510.1174551872323.JavaMail.jira@brutus> Date: Thu, 22 Mar 2007 01:24:32 -0700 (PDT) From: "Kristian Waagan (JIRA)" To: derby-dev@db.apache.org Subject: [jira] Commented: (DERBY-2353) intermittent NPEs during DELETE ops in a reasonably large transaction In-Reply-To: <6111217.1171745465503.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/DERBY-2353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12483054 ] Kristian Waagan commented on DERBY-2353: ---------------------------------------- I don't think setting 'derby.stream.error.method' actually disables logging, it just creates a "black hole" for all the logging output. You should make sure 'derby.language.logQueryPlan' is set to false, and also 'derby.language.logStatementText' as well. You can keep the 'derby.stream.error.method' if you want to get rid of derby.log, or you can remove it and check what is written to the log. If you still get the error, it would help to see your derby.properties file and also what is printed to derby.log. > intermittent NPEs during DELETE ops in a reasonably large transaction > --------------------------------------------------------------------- > > Key: DERBY-2353 > URL: https://issues.apache.org/jira/browse/DERBY-2353 > Project: Derby > Issue Type: Bug > Components: Store > Affects Versions: 10.2.2.0 > Environment: Seen on both Windows XP and Mac OS X 10.4 > Reporter: Dan Karp > > I'm intermittently seeing NPEs thrown while using the embedded driver to rewrite several rows in a single transaction. Here's the set of commands that were executed on the transaction; the last one is the one that failed: > SELECT entry_id FROM zimbra.directory WHERE UPPER(zimbra_id) = '0F850D84-7096-4534-9389-9D85AFC17E8A' AND entry_type = 'acct' > DELETE FROM zimbra.directory_attrs WHERE entry_id = 8 AND UPPER(name) = 'ZIMBRACONTACTMAXNUMENTRIES' > INSERT INTO zimbra.directory_attrs (entry_id, name, value) VALUES (8, 'zimbraContactMaxNumEntries', '0') > DELETE FROM zimbra.directory_attrs WHERE entry_id = 8 AND UPPER(name) = 'ZIMBRAPREFGALAUTOCOMPLETEENABLED' > INSERT INTO zimbra.directory_attrs (entry_id, name, value) VALUES (8, 'zimbraPrefGalAutoCompleteEnabled', 'FALSE') > DELETE FROM zimbra.directory_attrs WHERE entry_id = 8 AND UPPER(name) = 'ZIMBRAPREFMAILPOLLINGINTERVAL' > INSERT INTO zimbra.directory_attrs (entry_id, name, value) VALUES (8, 'zimbraPrefMailPollingInterval', '5m') > DELETE FROM zimbra.directory_attrs WHERE entry_id = 8 AND UPPER(name) = 'ZIMBRAPREFGROUPMAILBY' > INSERT INTO zimbra.directory_attrs (entry_id, name, value) VALUES (8, 'zimbraPrefGroupMailBy', 'conversation') > DELETE FROM zimbra.directory_attrs WHERE entry_id = 8 AND UPPER(name) = 'ZIMBRAFEATUREVIEWINHTMLENABLED' > INSERT INTO zimbra.directory_attrs (entry_id, name, value) VALUES (8, 'zimbraFeatureViewInHtmlEnabled', 'TRUE') > DELETE FROM zimbra.directory_attrs WHERE entry_id = 8 AND UPPER(name) = 'ZIMBRAPREFMESSAGEVIEWHTMLPREFERRED' > INSERT INTO zimbra.directory_attrs (entry_id, name, value) VALUES (8, 'zimbraPrefMessageViewHtmlPreferred', 'TRUE') > DELETE FROM zimbra.directory_attrs WHERE entry_id = 8 AND UPPER(name) = 'ZIMBRAPREFREADINGPANEENABLED' > INSERT INTO zimbra.directory_attrs (entry_id, name, value) VALUES (8, 'zimbraPrefReadingPaneEnabled', 'TRUE') > DELETE FROM zimbra.directory_attrs WHERE entry_id = 8 AND UPPER(name) = 'ZIMBRAFEATUREGALAUTOCOMPLETEENABLED' > INSERT INTO zimbra.directory_attrs (entry_id, name, value) VALUES (8, 'zimbraFeatureGalAutoCompleteEnabled', 'TRUE') > DELETE FROM zimbra.directory_attrs WHERE entry_id = 8 AND UPPER(name) = 'ZIMBRAPREFCALENDARUSEQUICKADD' > Here's the stack trace: > Caused by: java.sql.SQLException: Java exception: ': java.lang.NullPointerException'. > at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45) > at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:89) > at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:100) > at org.apache.derby.impl.jdbc.Util.javaException(Util.java:219) > at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:386) > at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(TransactionResourceImpl.java:345) > at org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConnection.java:1378) > at org.apache.derby.impl.jdbc.ConnectionChild.handleException(ConnectionChild.java:81) > at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1272) > at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java:1635) > at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(EmbedPreparedStatement.java:299) > at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:233) > at com.zimbra.cs.db.DebugPreparedStatement.executeUpdate(DebugPreparedStatement.java:154) > And here's the schema: > CREATE TABLE directory ( > entry_id INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY, > entry_type CHAR(4) NOT NULL, > entry_name VARCHAR(128) NOT NULL, > zimbra_id CHAR(36), > modified SMALLINT NOT NULL > ); > CREATE UNIQUE INDEX i_directory_zimbra_id ON directory(zimbra_id); > CREATE UNIQUE INDEX i_directory_entry_type_name ON directory(entry_type, entry_name); > CREATE TABLE directory_attrs ( > entry_id INTEGER NOT NULL, > name VARCHAR(255) NOT NULL, > value VARCHAR(10240) NOT NULL, > CONSTRAINT fk_dattr_entry_id FOREIGN KEY (entry_id) REFERENCES directory(entry_id) > ON DELETE CASCADE > ); > CREATE INDEX i_dattr_entry_id_name ON directory_attrs(entry_id, name); > CREATE INDEX i_dattr_name ON directory_attrs(name); -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.