-
Bug
-
Resolution: Done
-
Major
-
EAP_EWP 5.1.0
-
None
-
Release Notes
-
-
Documented as Resolved Issue
-
NEW
UnifiedInvokerHAProxy uses FamilyClusterInfo unsynchronized, but assumes it will not be changed.
In particular, UnifiedInvokerHAProxy.invoke checks:
familyClusterInfo.getTargets() != null && familyClusterInfo.getTargets().size() > 0
before calling UnifiedInvokerHAProxy.getClient. getClient then assumes there will be a valid target.
However, if another thread removes the last target from the shared familyClusterInfo at the same time,
the target will be null.
The first call to the proxy where this trigger is issued gets the exception:
FATAL [org.jboss.invocation.unified.interfaces.UnifiedInvokerHAProxy] (TP-Processor242) Could not initialize UnifiedInvokerProxy.
java.lang.NullPointerException
at org.jboss.remoting.Client.processParameters(Client.java:2126)
at org.jboss.remoting.Client.<init>(Client.java:394)
at org.jboss.remoting.Client.<init>(Client.java:355)
at org.jboss.remoting.Client.<init>(Client.java:342)
at org.jboss.invocation.unified.interfaces.UnifiedInvokerProxy.createClient(UnifiedInvokerProxy.java:261)
at org.jboss.invocation.unified.interfaces.UnifiedInvokerProxy.init(UnifiedInvokerProxy.java:97)
at org.jboss.invocation.unified.interfaces.UnifiedInvokerHAProxy.getClient(UnifiedInvokerHAProxy.java:167)
at org.jboss.invocation.unified.interfaces.UnifiedInvokerHAProxy.invoke(UnifiedInvokerHAProxy.java:204)
at org.jboss.invocation.InvokerInterceptor.invokeInvoker(InvokerInterceptor.java:365)
...
All subsequent calls to the same proxy will get:
java.lang.NullPointerException
at org.jboss.invocation.unified.interfaces.UnifiedInvokerHAProxy.getClient(UnifiedInvokerHAProxy.java:165)
at org.jboss.invocation.unified.interfaces.UnifiedInvokerHAProxy.invoke(UnifiedInvokerHAProxy.java:204)
at org.jboss.invocation.InvokerInterceptor.invokeInvoker(InvokerInterceptor.java:365)
at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:197)
at org.jboss.proxy.ejb.RetryInterceptor.invoke(RetryInterceptor.java:177)
at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:61)
at org.jboss.proxy.ejb.SecurityContextInterceptor.invoke(SecurityContextInterceptor.java:64)
at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:68)
at org.jboss.proxy.ejb.HomeInterceptor.invoke(HomeInterceptor.java:184)
at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:101)
at $Proxy103.create(Unknown Source)
...
- relates to
-
JBPAPP-6789 EJB3 load balancing doesn't keep client's node list up to date when @RemoteBinding(jndiBinding) is used
- Closed