[
https://issues.apache.org/jira/browse/CONNECTORS-1126?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Karl Wright updated CONNECTORS-1126:
------------------------------------
Attachment: CONNECTORS-1126.patch
Here's the change, in case people want to try this on other versions of MCF.
> Lock manager's lock ordering not working as designed
> ----------------------------------------------------
>
> Key: CONNECTORS-1126
> URL: https://issues.apache.org/jira/browse/CONNECTORS-1126
> Project: ManifoldCF
> Issue Type: Bug
> Components: Framework core
> Affects Versions: ManifoldCF 1.7.2
> Reporter: Karl Wright
> Assignee: Karl Wright
> Fix For: ManifoldCF 1.9, ManifoldCF 2.1
>
> Attachments: CONNECTORS-1126.patch
>
>
> The LockGate logic for flushing a LockGate is as follows:
> {code}
> synchronized (lockObject)
> {
> if (lockObject.leaveReadLock())
> {
> if (lockPool != null)
> lockPool.releaseObject(lockKey, this);
> }
> }
> {code}
> Unfortunately, this has the side effect of causing the nicely ordered thread
> queue to be destroyed on the first time a lock is exited. That kills
> ordering and makes LockGate essentially do nothing of value.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)