[
https://issues.apache.org/jira/browse/CONNECTORS-1126?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Karl Wright updated CONNECTORS-1126:
------------------------------------
Description:
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.
was:
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 build thread
queue to be destroyed on the first time a lock is exited. That kills ordering
and makes LockGate essentially do nothing of value.
> 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
>
>
> 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)