[
https://issues.apache.org/jira/browse/DERBY-3883?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Knut Anders Hatlen updated DERBY-3883:
--------------------------------------
Attachment: Derby3883.java
The attached Java class shows the problem. Without the fix, the number of files
in tmp just keeps growing. With the fix, the total number of temporary files
never exceeds 2.
> LOBStreamControl.replaceBytes() leaves temporary files open
> -----------------------------------------------------------
>
> Key: DERBY-3883
> URL: https://issues.apache.org/jira/browse/DERBY-3883
> Project: Derby
> Issue Type: Bug
> Components: JDBC
> Affects Versions: 10.5.0.0
> Reporter: Knut Anders Hatlen
> Assignee: Knut Anders Hatlen
> Priority: Minor
> Attachments: d3883.diff, Derby3883.java
>
>
> I haven't seen any problems as a result of this, but the code that closes and
> deletes the old temporary file in LOBStreamControl.replaceBytes() looks wrong
> to me.
> When replaceBytes() is called on a lob that has been materialized into a
> temporary file, it will create a new file and copy the relevant parts from
> the old file. But the old file is only closed and deleted if the block that
> is replaced ends before the last byte of the lob. I believe that the old file
> should be closed and deleted also when we replace a block that ends at or
> after the last byte of the original lob.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.