Issue Details (XML | Word | Printable)

Key: DERBY-2941
Type: Sub-task Sub-task
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Kathey Marsden
Reporter: Kathey Marsden
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Derby
DERBY-2892

With 10.2, Closing a resultset after retrieving a large > 32665 bytes value with Network Server does not release locks

Created: 16/Jul/07 03:21 PM   Updated: 17/Aug/07 10:31 PM
Return to search
Component/s: Network Server
Affects Version/s: 10.2.2.0
Fix Version/s: 10.2.2.1, 10.3.1.4, 10.4.1.3

Time Tracking:
Not Specified

File Attachments:
  Size
Text File Licensed for inclusion in ASF works DERBY-2941_diff.txt 2007-07-16 03:27 PM Kathey Marsden 14 kB

Urgency: Urgent
Resolution Date: 17/Jul/07 07:26 PM


 Description  « Hide
Making a subtask for the 10.2 fix for this issue as the fix for 10.3 will be different.



 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Kathey Marsden added a comment - 16/Jul/07 03:27 PM
Attaching a patch for this issue. Patch only differs from patch attached to DERBY-2892 in that it has some corrections to javadoc.

-Changes EXTDTAInputStream to use ResultSet.getCharacterStream, ResultSet.getBinaryStream instead of getClob(), getBlob..

- Alters EngineResult for getLenth(int columnIndex) and isNull(int columnIndex) methods

-Enables LargeDataLocksTest

derbyall passed with only known failures.

I would most appreciate review. If I hear no objections I will commit tomorrow.


Øystein Grøvlen added a comment - 17/Jul/07 12:23 PM
I have looked at the patch, and I think the patch looks very good.
I only have some minor comments/questions:

 - Did you intend to leave the changes to DDMWriter in there?

 - You have added a comment that says "Stream is initialized on the
   first read". It is not quite clear to me what stream you are
   referring to. It looks to me that the caller has to initialize the
   stream (call initInputStream) BEFORE it is to be read.

 - There seem to be some indentation differences in the
   EXTDTAInputStream constructor.

 - I do not understand the javadoc for EXTDTAInputStream.isNUll. What
   do you mean by "determined in the constructor"? It seems like the
   only thing the constructor does is to register the parameter
   values.
  
+1 to commit, but would prefer that the comments discussed about is made clearer.

Tomohito Nakayama added a comment - 17/Jul/07 12:52 PM
I remember that I had trouble to retrieve length of stored data in DERBY-326.
http://mail-archives.apache.org/mod_mbox/db-derby-dev/200512.mbox/%3C43A975F5.3090904@basil.ocn.ne.jp%3E

At that point, it seems that length information might be missing in some cases....

My understanding is that the engine was improved and
it became always possible to retrieve length of stored data via DataValueDescriptor#getLength().

Kathey Marsden added a comment - 17/Jul/07 07:26 PM
Fixed in 10.2 and ported to trunk and 10.3 and verified with 10.2 client. DERBY-2892 still needs to be fixed for server working with 10.3+ client

Kathey

Myrna van Lunteren added a comment - 18/Jul/07 11:15 PM - edited
I know you checked in the test to 10.3 branch, but I'm doubting that this issue should be marked fixed for 10.3.1.2?

Kathey Marsden added a comment - 18/Jul/07 11:30 PM
I checked the fix into the 10.3 branch as well, so hopefully the fix version is ok. It only fixes 10.2 client with 10.3. It does not fix 2892 10.3 client with 10.3.


Kathey Marsden added a comment - 17/Aug/07 10:31 PM
Closing this issue for the fix with 10.2 and lower clients. The problem still exists with 10.3 clients which use the lob locator code path. DERBY-2892 remains open for that issue.