|
Kathey Marsden made changes - 16/Feb/09 10:42 PM
[
Permalink
| « Hide
]
Kathey Marsden added a comment - 17/Feb/09 12:55 AM
I am trying to write a test where having the post commit retries will actually help, but am having trouble making a case. Even if I change ClobReclamationTest.xtestMultiThreadedUpdateTableLocking() to have each of the two threads update just two rows, it seems to give up after three retries. Is there any wait between retries of post commit actions or does it just loop through its todo list and retry when it is finished with its current queue?
Attached is a patch for the code change so that we will retry if we can't get a container lock. I cannot however come up with a test case where it seems to make any difference. As I commented earlier, the retry seems to be too quick. I manually verified that we do retry and give up by setting derby.debug.true=DaemonTrace and looking at the derby.log.
I'd like to come up with a test case though where the retry helps before I check in.
Kathey Marsden made changes - 17/Feb/09 07:22 PM
After observing the behavior with the patch and chatting with Mike, I have come to the conclusion that the three retries is just really not sufficient. We will need to something else with the retries, either have some short wait instead of no wait when trying to get locks, up the retries or do something more elaborate like Mike suggested in this comment https://issues.apache.org/jira/browse/DERBY-4055?focusedCommentId=12673436#action_12673436
I think I will go ahead and check in this fix as is as it does enable retries when getting the container lock, even though those retries aren't very useful. It should make the code more consistent for whatever solution we settle on to fix this long term. I will add a comment to the code that three retries is likely not enough.
Kathey Marsden made changes - 19/Feb/09 06:16 PM
Kathey Marsden made changes - 19/Feb/09 08:09 PM
Myrna van Lunteren made changes - 04/May/09 06:22 PM
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||