Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 60308 invoked from network); 16 Jul 2009 21:04:33 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 16 Jul 2009 21:04:33 -0000 Received: (qmail 7408 invoked by uid 500); 16 Jul 2009 21:05:37 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 7321 invoked by uid 500); 16 Jul 2009 21:05:37 -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 7118 invoked by uid 99); 16 Jul 2009 21:05:37 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 16 Jul 2009 21:05:37 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 16 Jul 2009 21:05:35 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id DED2B234C044 for ; Thu, 16 Jul 2009 14:05:14 -0700 (PDT) Message-ID: <1594593053.1247778314911.JavaMail.jira@brutus> Date: Thu, 16 Jul 2009 14:05:14 -0700 (PDT) From: "Kathey Marsden (JIRA)" To: derby-dev@db.apache.org Subject: [jira] Commented: (DERBY-4310) jdbcapi.XATest passes but shows Table/View 'APP.FOO' does not exist. under logs/serverConsoleOutput.log In-Reply-To: <1838667288.1247730434808.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/DERBY-4310?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12732159#action_12732159 ] Kathey Marsden commented on DERBY-4310: --------------------------------------- Thank you Tiago for picking up this issue. What seems to be happening is that for logical connections when we close a prepared statement it under some circumstances tries to reprepare the statement. This is a problem if the table being referenced has been dropped. It would be a good first step to get an embedded reproduction. Take a look at DERBY-1016 repro to see how to get an XA connection. Start with just a local transaction, creating a table and commit, preparing a statement to select from the table. Creating another regular connection with driver manager and dropping the table and then trying to close the prepared statement. Hopefully that will pop it. > jdbcapi.XATest passes but shows Table/View 'APP.FOO' does not exist. under logs/serverConsoleOutput.log > ------------------------------------------------------------------------------------------------------- > > Key: DERBY-4310 > URL: https://issues.apache.org/jira/browse/DERBY-4310 > Project: Derby > Issue Type: Bug > Affects Versions: 10.6.0.0 > Reporter: Tiago R. Espinha > Assignee: Tiago R. Espinha > Attachments: XATestLog.tar.gz > > > The XATest is showing the following on the log: > 2009-07-16 00:15:42.838 GMT : Apache Derby Network Server - 10.6.0.0 alpha - (794457M) started and ready to accept connections on port 9920 > 2009-07-16 00:15:44.394 GMT : Unexpected exception: > Table/View 'APP.FOO' does not exist. > Here is the full stack trace from derby.log. The error comes closing a prepared statement on a brokered connection if the table referenced by the statement has been dropped. This looks like an embedded bug causing network server shutdown to fail. Also if this test is enabled in a suite DERBY-4155, the next time network server is started the tests will hang with java.net.BindException: Address already in use: NET_Bind in the derby.log > 2009-07-16 17:05:45.062 GMT Thread[derby.NetworkServerStarter,5,derby.daemons] (XID = 497), (SESSIONID = 53), (DATABASE = wombat), (DRDAID = {7}), Failed Statement is: SELECT * FROM APP.FOO > ERROR 42X05: Table/View 'APP.FOO' does not exist. > at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:286) > at org.apache.derby.impl.sql.compile.FromBaseTable.bindTableDescriptor(FromBaseTable.java:2463) > at org.apache.derby.impl.sql.compile.FromBaseTable.bindNonVTITables(FromBaseTable.java:2183) > at org.apache.derby.impl.sql.compile.FromList.bindTables(FromList.java:310) > at org.apache.derby.impl.sql.compile.SelectNode.bindNonVTITables(SelectNode.java:390) > at org.apache.derby.impl.sql.compile.DMLStatementNode.bindTables(DMLStatementNode.java:199) > at org.apache.derby.impl.sql.compile.DMLStatementNode.bind(DMLStatementNode.java:137) > at org.apache.derby.impl.sql.compile.CursorNode.bindStatement(CursorNode.java:245) > at org.apache.derby.impl.sql.GenericStatement.prepMinion(GenericStatement.java:316) > at org.apache.derby.impl.sql.GenericStatement.prepare(GenericStatement.java:88) > at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(GenericLanguageConnectionContext.java:822) > at org.apache.derby.impl.jdbc.EmbedPreparedStatement.(EmbedPreparedStatement.java:129) > at org.apache.derby.jdbc.Driver40.newEmbedPreparedStatement(Driver40.java:105) > at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(EmbedConnection.java:1542) > at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(EmbedConnection.java:1423) > at org.apache.derby.iapi.jdbc.BrokeredPreparedStatement30.createDuplicateStatement(BrokeredPreparedStatement30.java:56) > at org.apache.derby.jdbc.XAStatementControl.getRealPreparedStatement(XAStatementControl.java:143) > at org.apache.derby.iapi.jdbc.BrokeredPreparedStatement.getPreparedStatement(BrokeredPreparedStatement.java:526) > at org.apache.derby.iapi.jdbc.BrokeredPreparedStatement.getStatement(BrokeredPreparedStatement.java:533) > at org.apache.derby.iapi.jdbc.BrokeredStatement.close(BrokeredStatement.java:130) > at org.apache.derby.impl.drda.DRDAStatement.close(DRDAStatement.java:1027) > at org.apache.derby.impl.drda.Database.close(Database.java:352) > at org.apache.derby.impl.drda.Session.close(Session.java:115) > at org.apache.derby.impl.drda.NetworkServerControlImpl.blockingStart(NetworkServerControlImpl.java:833) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) > at java.lang.reflect.Method.invoke(Method.java:599) > at org.apache.derby.iapi.jdbc.DRDAServerStarter.run(DRDAServerStarter.java:236) > at java.lang.Thread.run(Thread.java:735) > Cleanup action completed > 2009-07-16 17:05:45.078 GMT : Unexpected exception: > Table/View 'APP.FOO' does not exist. > An exception was thrown during network server startup. DRDA_UnexpectedException.S:Unexpected exception: > Table/View 'APP.FOO' does not exist. > java.lang.reflect.InvocationTargetException > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) > at java.lang.reflect.Method.invoke(Method.java:599) > at org.apache.derby.iapi.jdbc.DRDAServerStarter.run(DRDAServerStarter.java:236) > at java.lang.Thread.run(Thread.java:735) > Caused by: java.lang.Exception: DRDA_UnexpectedException.S:Unexpected exception: > Table/View 'APP.FOO' does not exist. > at org.apache.derby.impl.drda.NetworkServerControlImpl.consolePropertyMessageWork(NetworkServerControlImpl.java:3216) > at org.apache.derby.impl.drda.NetworkServerControlImpl.consolePropertyMessage(NetworkServerControlImpl.java:1885) > at org.apache.derby.impl.drda.NetworkServerControlImpl.blockingStart(NetworkServerControlImpl.java:835) > ... 6 more -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.