Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 37935 invoked from network); 20 Mar 2007 05:19:53 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 20 Mar 2007 05:19:53 -0000 Received: (qmail 64698 invoked by uid 500); 20 Mar 2007 05:20:01 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 64662 invoked by uid 500); 20 Mar 2007 05:20:01 -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 64653 invoked by uid 99); 20 Mar 2007 05:20:00 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 19 Mar 2007 22:20:00 -0700 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; Mon, 19 Mar 2007 22:19:52 -0700 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 2D03A71407F for ; Mon, 19 Mar 2007 22:19:32 -0700 (PDT) Message-ID: <8881628.1174367972164.JavaMail.jira@brutus> Date: Mon, 19 Mar 2007 22:19:32 -0700 (PDT) From: "J.J. Zhuang (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_12482310 ] J.J. Zhuang commented on DERBY-2353: ------------------------------------ I still see it after I disabled derby logging. The way I disabled logging is by setting system property "derby.stream.error.method" to a stub class. That got rid of the derby.log output. Is there another logging mechanism I need to disable in order to workaround the NPE? Thanks! > 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.