You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Christian Grobmeier (JIRA)" <ji...@apache.org> on 2009/03/12 11:22:54 UTC
[jira] Created: (SANDBOX-300) Threading Requirements
Threading Requirements
----------------------
Key: SANDBOX-300
URL: https://issues.apache.org/jira/browse/SANDBOX-300
Project: Commons Sandbox
Issue Type: Improvement
Components: Compress
Reporter: Christian Grobmeier
The compress source has not got any docs about threading behaviour.
The following must be discussed before a release 1:
* decide/document thread-safety requirements.
* fix classes that violate them
* possibly relax requirements if some classes are difficult/expensive to fix.
Additionally javadoc must be updated with the decisions/behaviour.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (SANDBOX-300) Threading Requirements
Posted by "Sebb (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/SANDBOX-300?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12681876#action_12681876 ]
Sebb commented on SANDBOX-300:
------------------------------
Documenting thread-safety:
There are some useful annotations in JCIP (http://jcip.net/annotations/doc/net/jcip/annotations/package-summary.html).:
@GuardedBy (field or method)
@Immutable (class)
@NotThreadSafe (class)
@ThreadSafe (class)
Although Compress does not currently target Java 1.5, one could still add the annotations as comments.
These could be uncommented later, and used in tools such as Findbugs (when the checks are implemented).
So for example, one could have:
{code}
/**
* Utility class that represents a four byte integer with conversion
* rules for the big endian byte order of ZIP files.
*
* @Immutable
*/
public final class ZipLong implements Cloneable {
{code}
and
{code}
private final char [] highChars;
//@GuardedBy("this")
private Simple8BitZipEncoding encoding;
{code}
> Threading Requirements
> ----------------------
>
> Key: SANDBOX-300
> URL: https://issues.apache.org/jira/browse/SANDBOX-300
> Project: Commons Sandbox
> Issue Type: Improvement
> Components: Compress
> Reporter: Christian Grobmeier
>
> The compress source has not got any docs about threading behaviour.
> The following must be discussed before a release 1:
> * decide/document thread-safety requirements.
> * fix classes that violate them
> * possibly relax requirements if some classes are difficult/expensive to fix.
> Additionally javadoc must be updated with the decisions/behaviour.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (COMPRESS-50) Threading Requirements
Posted by "Sebb (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/COMPRESS-50?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12690151#action_12690151 ]
Sebb commented on COMPRESS-50:
------------------------------
I've added annotations and comments to most of the classes (and found some bugs in the process!).
Most of the classes are not thread-safe, but a lot of them are dealing with I/O.
> Threading Requirements
> ----------------------
>
> Key: COMPRESS-50
> URL: https://issues.apache.org/jira/browse/COMPRESS-50
> Project: Commons Compress
> Issue Type: Improvement
> Reporter: Christian Grobmeier
> Fix For: 1.0
>
>
> The compress source has not got any docs about threading behaviour.
> The following must be discussed before a release 1:
> * decide/document thread-safety requirements.
> * fix classes that violate them
> * possibly relax requirements if some classes are difficult/expensive to fix.
> Additionally javadoc must be updated with the decisions/behaviour.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (COMPRESS-50) Threading Requirements
Posted by "Stefan Bodewig (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/COMPRESS-50?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stefan Bodewig updated COMPRESS-50:
-----------------------------------
Fix Version/s: 1.0
> Threading Requirements
> ----------------------
>
> Key: COMPRESS-50
> URL: https://issues.apache.org/jira/browse/COMPRESS-50
> Project: Commons Compress
> Issue Type: Improvement
> Reporter: Christian Grobmeier
> Fix For: 1.0
>
>
> The compress source has not got any docs about threading behaviour.
> The following must be discussed before a release 1:
> * decide/document thread-safety requirements.
> * fix classes that violate them
> * possibly relax requirements if some classes are difficult/expensive to fix.
> Additionally javadoc must be updated with the decisions/behaviour.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (COMPRESS-50) Threading Requirements
Posted by "Christian Grobmeier (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/COMPRESS-50?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Christian Grobmeier resolved COMPRESS-50.
-----------------------------------------
Resolution: Fixed
Conclusion is, Compress is not (completly) threadsafe.
Classes are documented with the proposed tags. The tags are also documented in the site.
> Threading Requirements
> ----------------------
>
> Key: COMPRESS-50
> URL: https://issues.apache.org/jira/browse/COMPRESS-50
> Project: Commons Compress
> Issue Type: Improvement
> Reporter: Christian Grobmeier
> Fix For: 1.0
>
>
> The compress source has not got any docs about threading behaviour.
> The following must be discussed before a release 1:
> * decide/document thread-safety requirements.
> * fix classes that violate them
> * possibly relax requirements if some classes are difficult/expensive to fix.
> Additionally javadoc must be updated with the decisions/behaviour.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Moved: (COMPRESS-50) Threading Requirements
Posted by "Dennis Lundberg (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/COMPRESS-50?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dennis Lundberg moved SANDBOX-300 to COMPRESS-50:
-------------------------------------------------
Component/s: (was: Compress)
Key: COMPRESS-50 (was: SANDBOX-300)
Project: Commons Compress (was: Commons Sandbox)
> Threading Requirements
> ----------------------
>
> Key: COMPRESS-50
> URL: https://issues.apache.org/jira/browse/COMPRESS-50
> Project: Commons Compress
> Issue Type: Improvement
> Reporter: Christian Grobmeier
>
> The compress source has not got any docs about threading behaviour.
> The following must be discussed before a release 1:
> * decide/document thread-safety requirements.
> * fix classes that violate them
> * possibly relax requirements if some classes are difficult/expensive to fix.
> Additionally javadoc must be updated with the decisions/behaviour.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.