db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tiago R. Espinha (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-4310) jdbcapi.XATest passes but shows Table/View 'APP.FOO' does not exist. under logs/serverConsoleOutput.log
Date Sat, 25 Jul 2009 16:10:15 GMT

    [ https://issues.apache.org/jira/browse/DERBY-4310?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12735294#action_12735294
] 

Tiago R. Espinha commented on DERBY-4310:
-----------------------------------------

Interestingly enough I got that same failure on rerun. This becomes more intriguing considering
the fact that it was I who introduced that file I believe. I'm thinking something might be
wrong with my code tree. The plot thickens.

I'm not sure we would need this for the BrokeredStatement. After all, if this isn't a prepared
statement, when we duplicate the statement to accommodate the connection change the statement
does not get reprepared, so nothing evil should happen. However, perhaps for standardization's
sake we should have all the statements being closed in the same manner (this would also possibly
improve performance? We don't really need to duplicate a statement to close it...).

As for the remaining calls, yes, we should probably get this for isClosed() and for isValid()
as these are the other two methods that throw an exception when the statement is closed according
to ClosedObjectTest.
--------------8<------------------
if (name.equals("close") || name.equals("isClosed")
                    || name.equals("isValid")) {
                return false;
            }
-------------8<--------------------

Still, looking at BrokeredStatement's implementation of isClosed(), I am dazzled. Why exactly
do we have an exception being thrown there?
> throw Util.notImplemented();




> 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: console.out.txt, DERBY-4310.diff, derby.log.tar.gz, outall.txt,
ReproDerby4310.java, ReproDerby4310.java, ReproDerby4310.java, ReproEmbeddedDerby4310.java,
Tests.zip, utilXid.java, 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.<init>(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.


Mime
View raw message