[
https://issues.apache.org/jira/browse/DERBY-4050?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kathey Marsden updated DERBY-4050:
----------------------------------
Attachment: derby-4050_diff.txt
Attached is a patch for this issue. Per Mike's suggestion I changed the code
to call getPage() instead of getPageNoWait. I kept the null check but got rid
of the retries. I am not totally sure that the null check is still needed
though.
I included Mike's debug statements for the other cases where space may not be
reclaimed after three tries. After this issue is resolved I will log another
Jira issue to address those cases. I don't want to try to address them in this
patch because I don't have reproducible cases for them.
Also included is a regression test.
I am running tests now.
> Multithreaded clob update causes growth in table that does not get reclaimed
> ----------------------------------------------------------------------------
>
> Key: DERBY-4050
> URL: https://issues.apache.org/jira/browse/DERBY-4050
> Project: Derby
> Issue Type: Bug
> Components: Store
> Affects Versions: 10.2.2.0, 10.3.3.0, 10.4.2.0, 10.5.0.0
> Reporter: Kathey Marsden
> Attachments: ClobGrowth.java, derby-4050_diff.txt,
> derby-4050_more_debug.diff, derby.log.growth, derby.log.nogrowth
>
>
> Doing a multithreaded update of a Clob table causes table growth that does
> not get reclaimed except by compressing the table. The reproduction has a
> table with two threads. One thread updates row 1 repeatedly with 33,000
> character clob. The other thread updates row 2 with a small clob, "hello".
> The problem occurs back to 10.2 but seems much worse on trunk than 10.2.
> The trunk database grew to 273MB on trunk after 10000 updates of each row.
> The 10.2 database grew only to 25MB. If the update is synchronized there is
> no growth.
> I will attach the repro.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.