You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by "Martin Strand (JIRA)" <ji...@apache.org> on 2011/09/21 17:27:09 UTC

[jira] [Commented] (TAP5-1660) Per-thread scope services not thread-safe

    [ https://issues.apache.org/jira/browse/TAP5-1660?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13109572#comment-13109572 ] 

Martin Strand commented on TAP5-1660:
-------------------------------------

This does not look like a bug.
The test checks whether the hashCodes of service objects are unique, which they don't need to be.
If you log the hashCode from the PageRenderQueueImpl constructor (in your example) you will see that distinct objects may have the same hashCode.

> Per-thread scope services not thread-safe
> -----------------------------------------
>
>                 Key: TAP5-1660
>                 URL: https://issues.apache.org/jira/browse/TAP5-1660
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-ioc
>    Affects Versions: 5.2.5
>            Reporter: Nourredine K.
>              Labels: ioc, jdk1.5, perthread, thread-safe
>         Attachments: Perthread_scope_Threadsafe_Tapestry5.2.6.patch, tapestry5-concurrency-sample.zip
>
>
> Hi,
> Since Tapestry 5.2, it seems that per-thread scope services are not thread-safe (some of our integration tests executed in parallel fail since Tapestry 5.2).
> The proxy managed by Tapestry does not create a new instance of the service for each request/thread as expected.
> That leads to strange behaviour when you use the Environmental services as data's container for example.
> I also noticed that the synchronization of some resources (used by per-thread scope services) is effective only for jdk 1.5 (see PerthreadmanagerImpl's constructor and JDUtils.JDK_1_5). But this aspect does not explain everything : the tests fail with JDK 1.5 too.
> The related discussion here : http://tapestry.1045711.n5.nabble.com/Tapestry-5-2-Per-thread-scope-services-not-thread-safe-td4825735.html
> Nourredine. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira