[jboss-jira] [JBoss JIRA] Created: (EJBTHREE-1884) IsLocalProxyFactoryInterceptor routes to local proxy factory instead of a remote proxy factory

jaikiran pai (JIRA) jira-events at lists.jboss.org
Mon Aug 10 09:43:29 EDT 2009


IsLocalProxyFactoryInterceptor routes to local proxy factory instead of a remote proxy factory
----------------------------------------------------------------------------------------------

                 Key: EJBTHREE-1884
                 URL: https://jira.jboss.org/jira/browse/EJBTHREE-1884
             Project: EJB 3.0
          Issue Type: Bug
          Components: proxy-impl
    Affects Versions: 1.1.11
            Reporter: jaikiran pai
            Assignee: jaikiran pai


The fix EJBTHREE-1868 exposed a bug in the way the IsLocalProxyFactoryInterceptor is used. Mail conversation below:


Turns out, the fix for EJBTHREE-1868 just exposed this other existing bug. This forum thread in EJB3 design forum explains the purpose of IsLocalProxyFactoryInterceptor http://www.jboss.org/index.html?module=bb&op=viewtopic&t=104924. The ProxyObjectFactory#getObjectInstance invokes createProxyFactoryProxy which internally ends up using the local IsLocalProxyFactoryInterceptor instance. All this happens on the client and the  IsLocalProxyFactoryInterceptor is never serialized. Effectively  this ends up being  routed to the local proxy factory when the same bean is available on more than one running instance of the server.

regards,
-Jaikiran
Jaikiran Pai wrote:
> Hello everyone,
>
> I just fixed a bug in org.jboss.ejb3.proxy.impl.remoting.IsLocalProxyFactoryInterceptor (https://jira.jboss.org/jira/browse/EJBTHREE-1868) where a local proxy lookup was resulting in a remoting call. After this "fix", Our hudson run has been reporting failures with Clustered ForeignPartitionLocalInterceptorUnitTestCase
>
> That testcase starts up a cluster with 2 nodes. Both nodes have the same bean deployed (but in a practical scenario the implementations of the beans on both nodes might be different). Bean on node1 looks up same bean on node2 (by passing the PROVIDER_URL) to initial context. But the IsLocalProxyFactoryInterceptor after this fix identifies this as a local call (because it finds the same bean registered with the Dispatcher locally). As a result, a local proxy is returned and the test fails.
>
>


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list