You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Markus Wiederkehr (JIRA)" <se...@james.apache.org> on 2008/12/01 18:59:44 UTC
[jira] Created: (MIME4J-89) Improve thread synchronization in
MultiReferenceStorage
Improve thread synchronization in MultiReferenceStorage
-------------------------------------------------------
Key: MIME4J-89
URL: https://issues.apache.org/jira/browse/MIME4J-89
Project: JAMES Mime4j
Issue Type: Improvement
Affects Versions: 0.6
Reporter: Markus Wiederkehr
Fix For: 0.6
MultiReferenceStorage uses method based synchronization to protect the reference counting variable.
There are two problems with that:
1. storage is an interface and so storage.delete() represents a leak of the thread of execution.
2. storage.delete() may be a slow operation.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[jira] Updated: (MIME4J-89) Improve thread synchronization in
MultiReferenceStorage
Posted by "Markus Wiederkehr (JIRA)" <se...@james.apache.org>.
[ https://issues.apache.org/jira/browse/MIME4J-89?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Markus Wiederkehr updated MIME4J-89:
------------------------------------
Attachment: mime4j-storage-lock.patch
This patch should resolve both problems.
In addition it adds an IllegalStateException to delete in case the MultiReferenceStorage has already been deleted. This can only happen if a client invokes delete more than once which is prohibited by the contract.
> Improve thread synchronization in MultiReferenceStorage
> -------------------------------------------------------
>
> Key: MIME4J-89
> URL: https://issues.apache.org/jira/browse/MIME4J-89
> Project: JAMES Mime4j
> Issue Type: Improvement
> Affects Versions: 0.6
> Reporter: Markus Wiederkehr
> Fix For: 0.6
>
> Attachments: mime4j-storage-lock.patch
>
>
> MultiReferenceStorage uses method based synchronization to protect the reference counting variable.
> There are two problems with that:
> 1. storage is an interface and so storage.delete() represents a leak of the thread of execution.
> 2. storage.delete() may be a slow operation.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[jira] Assigned: (MIME4J-89) Improve thread synchronization in
MultiReferenceStorage
Posted by "Robert Burrell Donkin (JIRA)" <se...@james.apache.org>.
[ https://issues.apache.org/jira/browse/MIME4J-89?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Robert Burrell Donkin reassigned MIME4J-89:
-------------------------------------------
Assignee: Robert Burrell Donkin
> Improve thread synchronization in MultiReferenceStorage
> -------------------------------------------------------
>
> Key: MIME4J-89
> URL: https://issues.apache.org/jira/browse/MIME4J-89
> Project: JAMES Mime4j
> Issue Type: Improvement
> Affects Versions: 0.6
> Reporter: Markus Wiederkehr
> Assignee: Robert Burrell Donkin
> Fix For: 0.6
>
> Attachments: mime4j-storage-lock.patch
>
>
> MultiReferenceStorage uses method based synchronization to protect the reference counting variable.
> There are two problems with that:
> 1. storage is an interface and so storage.delete() represents a leak of the thread of execution.
> 2. storage.delete() may be a slow operation.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[jira] Closed: (MIME4J-89) Improve thread synchronization in
MultiReferenceStorage
Posted by "Robert Burrell Donkin (JIRA)" <se...@james.apache.org>.
[ https://issues.apache.org/jira/browse/MIME4J-89?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Robert Burrell Donkin closed MIME4J-89.
---------------------------------------
Resolution: Fixed
Committed. Many thanks.
> Improve thread synchronization in MultiReferenceStorage
> -------------------------------------------------------
>
> Key: MIME4J-89
> URL: https://issues.apache.org/jira/browse/MIME4J-89
> Project: JAMES Mime4j
> Issue Type: Improvement
> Affects Versions: 0.6
> Reporter: Markus Wiederkehr
> Assignee: Robert Burrell Donkin
> Fix For: 0.6
>
> Attachments: mime4j-storage-lock.patch
>
>
> MultiReferenceStorage uses method based synchronization to protect the reference counting variable.
> There are two problems with that:
> 1. storage is an interface and so storage.delete() represents a leak of the thread of execution.
> 2. storage.delete() may be a slow operation.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org