tapestry-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nourredine K. (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (TAP5-1660) Per-thread scope services not thread-safe
Date Wed, 21 Sep 2011 16:50:09 GMT

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

Nourredine K. commented on TAP5-1660:


You're right. I updated my sample to use a "true" unique id to identify my objects (InternalUtils.nextUUID(),
thanks Howard :)) and all the tests pass!  

There is still an issue about PerthreadManager where some synchronization locks are dependent
on the use of a specific jdk (1.5) 

See :

- PerthreadManagerImpl (lines 54 and 61) : http://svn.apache.org/viewvc/tapestry/tapestry5/tags/releases/5.2.6/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/PerthreadManagerImpl.java?view=markup
- JDKUtils : http://svn.apache.org/viewvc/tapestry/tapestry5/tags/releases/5.2.6/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/JDKUtils.java?view=markup

> 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


View raw message