[ https://issues.apache.org/jira/browse/DERBY-3795?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12616661#action_12616661
]
Kathey Marsden commented on DERBY-3795:
---------------------------------------
With the patch for DERBY-3741 I get false for the following program.
import java.sql.*;
public class TestGetProcedures {
public static void main(String[] args) throws Exception{
Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:derby:wombat;create=true");
ResultSet rs = conn.getMetaData().getProcedures(null, "SYSIBM", "BLOBTRUNCATE");
boolean found = rs.next();
System.out.println("Found SYSIBM.BLOBTRUNC?" + found);
}
}
Found SYSIBM.BLOBTRUNC?false
With my clean build it returns true as it should. That is what is causing the lob to be
materialized.
I think there is a problem with the patch that was causing the test to fail for me. I also
see failures with DatabaeMetaData. So I am really believe that this issue was filed in error.
I'm not sure though why Suran was seeing this test fail with a clean build, so I''ll leave
it open until we can resolve that.
> BlobMemTest fails for network client with OutOfMemory errror with 16M heap
> ---------------------------------------------------------------------------
>
> Key: DERBY-3795
> URL: https://issues.apache.org/jira/browse/DERBY-3795
> Project: Derby
> Issue Type: Bug
> Components: Test
> Affects Versions: 10.5.0.0
> Reporter: Kathey Marsden
> Priority: Minor
>
> The test memory.BlobMemTest should run with 16M heap, but now gives an OOM exception
for client. This appears to be a regression in the client driver.
> 1) testBlobLength(org.apache.derbyTesting.functionTests.tests.memory.BlobMemTest)java.sql.SQLException:
Attempt to fully
> materialize lob data that is too large for the JVM. The connection has been terminated.
> at org.apache.derby.client.am.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:46)
> at org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:362)
> at org.apache.derby.client.am.ResultSet.next(ResultSet.java:281)
> at org.apache.derbyTesting.functionTests.tests.memory.BlobMemTest.testBlobLength(BlobMemTest.java:136)
> at org.apache.derbyTesting.functionTests.tests.memory.BlobMemTest.testBlobLength(BlobMemTest.java:190)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:104)
> at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
> at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
> at junit.extensions.TestSetup.run(TestSetup.java:23)
> at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
> at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
> at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
> 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.extensions.TestSetup.run(TestSetup.java:23)
> at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
> at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
> at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
> at junit.extensions.TestSetup.run(TestSetup.java:23)
> Caused by: org.apache.derby.client.am.DisconnectException: Attempt to fully materialize
lob data that is too large for t
> he JVM. The connection has been terminated.
> at org.apache.derby.client.net.NetStatementReply.copyEXTDTA(NetStatementReply.java:1528)
> at org.apache.derby.client.net.NetResultSetReply.parseCNTQRYreply(NetResultSetReply.java:143)
> at org.apache.derby.client.net.NetResultSetReply.readFetch(NetResultSetReply.java:42)
> at org.apache.derby.client.net.ResultSetReply.readFetch(ResultSetReply.java:41)
> at org.apache.derby.client.net.NetResultSet.readFetch_(NetResultSet.java:206)
> at org.apache.derby.client.am.ResultSet.flowFetch(ResultSet.java:4275)
> at org.apache.derby.client.net.NetCursor.getMoreData_(NetCursor.java:1243)
> at org.apache.derby.client.am.Cursor.stepNext(Cursor.java:176)
> at org.apache.derby.client.am.Cursor.next(Cursor.java:195)
> at org.apache.derby.client.am.ResultSet.nextX(ResultSet.java:302)
> at org.apache.derby.client.am.ResultSet.next(ResultSet.java:272)
> ... 38 more
> Caused by: java.lang.OutOfMemoryError
> at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:116)
> at org.apache.derby.client.net.Reply.getData(Reply.java:787)
> at org.apache.derby.client.net.NetStatementReply.copyEXTDTA(NetStatementReply.java:1520)
> ... 48 more
> 2) testBlobLengthWithLengthlessInsert(org.apache.derbyTesting.functionTests.tests.memory.BlobMemTest)java.sql.SQLExcepti
> on: Network protocol exception: DSS chained with same id at end of same id chain parse.
The connection has been termina
> ted.
> at org.apache.derby.client.am.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:46)
> at org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:362)
> at org.apache.derby.jdbc.ClientDriver.connect(ClientDriver.java:149)
> at java.sql.DriverManager.getConnection(DriverManager.java:562)
> at java.sql.DriverManager.getConnection(DriverManager.java:186)
> at org.apache.derbyTesting.junit.DriverManagerConnector.openConnection(DriverManagerConnector.java:76)
> at org.apache.derbyTesting.junit.DriverManagerConnector.openConnection(DriverManagerConnector.java:43)
> at org.apache.derbyTesting.junit.TestConfiguration.openDefaultConnection(TestConfiguration.java:1314)
> at org.apache.derbyTesting.junit.BaseJDBCTestCase.openDefaultConnection(BaseJDBCTestCase.java:419)
> at org.apache.derbyTesting.junit.BaseJDBCTestCase.getConnection(BaseJDBCTestCase.java:101)
> at org.apache.derbyTesting.junit.BaseJDBCTestCase.rollback(BaseJDBCTestCase.java:378)
> at org.apache.derbyTesting.functionTests.tests.memory.BlobMemTest.tearDown(BlobMemTest.java:58)
> at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:104)
> at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
> at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
> at junit.extensions.TestSetup.run(TestSetup.java:23)
> at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
> at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
> at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
> 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.extensions.TestSetup.run(TestSetup.java:23)
> at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
> at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
> at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
> at junit.extensions.TestSetup.run(TestSetup.java:23)
> Caused by: org.apache.derby.client.am.DisconnectException: Network protocol exception:
DSS chained with same id at end o
> f same id chain parse. The connection has been terminated.
> at org.apache.derby.client.net.Reply.endOfSameIdChainData(Reply.java:1166)
> at org.apache.derby.client.net.NetConnectionReply.readExchangeServerAttributes(NetConnectionReply.java:56)
> at org.apache.derby.client.net.NetConnection.readServerAttributesAndKeyExchange(NetConnection.java:794)
> at org.apache.derby.client.net.NetConnection.flowServerAttributesAndKeyExchange(NetConnection.java:722)
> at org.apache.derby.client.net.NetConnection.flowUSRIDPWDconnect(NetConnection.java:565)
> at org.apache.derby.client.net.NetConnection.flowConnect(NetConnection.java:383)
> at org.apache.derby.client.net.NetConnection.<init>(NetConnection.java:218)
> at org.apache.derby.client.net.ClientJDBCObjectFactoryImpl.newNetConnection(ClientJDBCObjectFactoryImpl.java:270
> )
> at org.apache.derby.jdbc.ClientDriver.connect(ClientDriver.java:140)
> ... 40 more
> FAILURES!!!
> Tests run: 6, Failures: 0, Errors: 2
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.