[
https://issues.apache.org/jira/browse/DERBY-2381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kathey Marsden updated DERBY-2381:
----------------------------------
Attachment: DERBY-2381_diff.txt
Attaching a patch for this issue. Formerly, the server would rely on the input
parameter type information received from the client to determine the output
parameter type. This patch changes the server to look at the parameter
metadata to determine the drda type to send.
It also enables the test ParameterMappingTest for client.
> ParameterMappingTest fails due to ArrayIndexOutOfBoundsException executing a
> procedure
> ---------------------------------------------------------------------------------------
>
> Key: DERBY-2381
> URL: https://issues.apache.org/jira/browse/DERBY-2381
> Project: Derby
> Issue Type: Bug
> Components: Network Client
> Affects Versions: 10.3.0.0
> Reporter: Kathey Marsden
> Assigned To: Kathey Marsden
> Attachments: d2381.java, DERBY-2381_diff.txt
>
>
> The test ParameterMappingTest fails due to a connection reset error during
> tearDown. Commenting out the teardown actions I see that the real cause of
> the connection reset is an ArrayIndexOutOfBoundsException executing a
> callable statement. I have not narrowed it down more than this. Currently
> the test runs only for embedded. It should be reenabled for client once this
> bug is fixed. Below is the stack trace:
> java.lang.ArrayIndexOutOfBoundsException
> at java.lang.System.arraycopy(Native Method)
> at org.apache.derby.client.net.Reply.shiftBuffer(Reply.java:107)
> at
> org.apache.derby.client.net.Reply.ensureSpaceInBufferForFill(Reply.java:153)
> at org.apache.derby.client.net.Reply.fill(Reply.java:165)
> at
> org.apache.derby.client.net.Reply.ensureALayerDataInBuffer(Reply.java(Compiled
> Code))
> at org.apache.derby.client.net.Reply.readDssHeader(Reply.java:317)
> at org.apache.derby.client.net.Reply.peekCodePoint(Reply.java:1008)
> at
> org.apache.derby.client.net.NetStatementReply.parseEXCSQLSTTreply(NetStatementReply.java:324)
> at
> org.apache.derby.client.net.NetStatementReply.readExecuteCall(NetStatementReply.java:105)
> at
> org.apache.derby.client.net.StatementReply.readExecuteCall(StatementReply.java:75)
> at
> org.apache.derby.client.net.NetStatement.readExecuteCall_(NetStatement.java:176)
> at
> org.apache.derby.client.am.Statement.readExecuteCall(Statement.java:1464)
> at
> org.apache.derby.client.am.PreparedStatement.flowExecute(PreparedStatement.java:2151)
> at
> org.apache.derby.client.am.PreparedStatement.executeX(PreparedStatement.java:1571)
> at
> org.apache.derby.client.am.PreparedStatement.execute(PreparedStatement.java:1556)
> at
> org.apache.derbyTesting.functionTests.tests.jdbcapi.ParameterMappingTest.testParameterMapping(ParameterMappingTest.java:487)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
> at java.lang.reflect.Method.invoke(Method.java:391)
> at junit.framework.TestCase.runTest(TestCase.java:154)
> at junit.framework.TestCase.runBare(TestCase.java:127)
> at
> org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:76)
> at junit.framework.TestResult$1.protect(TestResult.java:106)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.framework.TestResult.run(TestResult.java:109)
> at junit.framework.TestCase.run(TestCase.java:118)
> at junit.framework.TestSuite.runTest(TestSuite.java:208)
> at junit.framework.TestSuite.run(TestSuite.java:203)
> at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
> at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.extensions.TestSetup.run(TestSetup.java:23)
> at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
> at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.extensions.TestSetup.run(TestSetup.java:23)
> at
> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
> at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.