Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 54930 invoked from network); 8 May 2006 12:39:10 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 8 May 2006 12:39:10 -0000 Received: (qmail 94727 invoked by uid 500); 8 May 2006 12:39:08 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 94697 invoked by uid 500); 8 May 2006 12:39:07 -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 94688 invoked by uid 99); 8 May 2006 12:39:07 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 08 May 2006 05:39:07 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from [209.237.227.198] (HELO brutus.apache.org) (209.237.227.198) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 08 May 2006 05:39:06 -0700 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 5DFF47142C6 for ; Mon, 8 May 2006 12:38:26 +0000 (GMT) Message-ID: <4338964.1147091906382.JavaMail.jira@brutus> Date: Mon, 8 May 2006 12:38:26 +0000 (GMT+00:00) From: "Tomohito Nakayama (JIRA)" To: derby-dev@db.apache.org Subject: [jira] Commented: (DERBY-326) Improve streaming of large objects for network server and client In-Reply-To: <651700908.1117536413494.JavaMail.jira@ajax.apache.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N [ http://issues.apache.org/jira/browse/DERBY-326?page=comments#action_12378411 ] Tomohito Nakayama commented on DERBY-326: ----------------------------------------- I have committed. Sending java/drda/org/apache/derby/impl/drda/DDMWriter.java Sending java/drda/org/apache/derby/impl/drda/DRDAConnThread.java Sending java/drda/org/apache/derby/impl/drda/EXTDTAInputStream.java Adding java/drda/org/apache/derby/impl/drda/ReEncodedInputStream.java Sending java/engine/org/apache/derby/iapi/reference/Property.java Adding java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/SuicideOfStreaming.out Sending java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/blobclob4BLOB.out Adding java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/SuicideOfStreaming.out Sending java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/blobclob4BLOB.out Adding java/testing/org/apache/derbyTesting/functionTests/master/OutBufferedStream.out Sending java/testing/org/apache/derbyTesting/functionTests/suites/derbynetmats.runall Adding java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/OutBufferedStream.java Adding java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/OutBufferedStream_app.properties Adding java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/SuicideOfStreaming.java Adding java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/SuicideOfStreaming_app.properties Adding java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/SwitchablePrintStream.java Sending java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/dataSourcePermissions_net.java Transmitting file data ................. Committed revision 405037. > Improve streaming of large objects for network server and client > ---------------------------------------------------------------- > > Key: DERBY-326 > URL: http://issues.apache.org/jira/browse/DERBY-326 > Project: Derby > Type: Improvement > Components: Network Client, Performance, Network Server > Reporter: Kathey Marsden > Assignee: Tomohito Nakayama > Attachments: ClobTest.zip, DERBY-326.patch, DERBY-326_2.patch, DERBY-326_3.patch, DERBY-326_4.patch, DERBY-326_5.patch, DERBY-326_5_indented.patch, DERBY-326_6.patch, DERBY-326_7.patch, DERBY-326_8.patch, DERBY-326_9.patch, ReEncodedInputStream.java.modifiedForLongRun > > Currently the stream writing methods in network server and client require a length parameter. This means that we have to get the length of the stream before sending it. For example in network server in EXTDTAInputStream we have to use getString and getbytes() instead of getCharacterStream and getBinaryStream so that we can get the length. > SQLAM Level 7 provides for the enhanced LOB processing to allow streaming without indicating the length, so, the writeScalarStream methods in > network server DDMWriter.java and network client Request.java can be changed to not require a length. > Code inspection of these methods seems to indicate that while the length is never written it is used heavily in generating the DSS. One strange thing is that it appears on error, the stream is padded out to full length with zeros, but an actual exception is never sent. Basically I think perhaps these methods need to be rewritten from scratch based on the spec requirements for lobs. > After the writeScalarStream methods have been changed, then EXTDAInputStream can be changed to properly stream LOBS. See TODO tags in this file for more info. I am guessing similar optimizations available in the client as well, but am not sure where that code is. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira