[
https://issues.jboss.org/browse/WFLY-10016?page=com.atlassian.jira.plugin...
]
Brian Stansberry commented on WFLY-10016:
-----------------------------------------
Looking at how AssociationImpl works, I think the fix has to be in HttpInvocationHandler.
Association.receiveInvocationRequest is definitely treating the InvocationRequest passed
as a param as a mutable object, including the nested attachments map.
HttpInvocationHandler.ResolvedInvocation.writeInvocationResult is writing the current
state of that map, which is how the client gets the relevant affinity data (plus whatever
other stuff was added during invocation of the ejb method.)
HTTP + EJB - UnsupportedOperationException trying to write to an
AbstractMap
----------------------------------------------------------------------------
Key: WFLY-10016
URL:
https://issues.jboss.org/browse/WFLY-10016
Project: WildFly
Issue Type: Bug
Components: EJB
Reporter: Brian Stansberry
Assignee: Stuart Douglas
[~tremes] Has hit this failure when running some tests against our OpenShift images using
WF code from, I believe, 12 CR1.
{code}
13:03:50,832 ERROR [org.jboss.as.ejb3.remote] (default task-1) WFLYEJB0150: Could not
write method invocation failure for method public abstract void
com.redhat.xpaas.ejb.server.RemoteCounter.increment() on bean named CounterBean for
appname modulename ROOT distinctname due to: java.lang.UnsupportedOperationException
at java.util.AbstractMap.put(AbstractMap.java:209)
at org.jboss.as.ejb3.remote.AssociationImpl.updateAffinities(AssociationImpl.java:267)
at
org.jboss.as.ejb3.remote.AssociationImpl.lambda$receiveInvocationRequest$0(AssociationImpl.java:233)
at
org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
at
org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
at
org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378)
at java.lang.Thread.run(Thread.java:748)
{code}
He or [~luck3y] can give you more details re the specific test.
Just walking through code, my guess is the Collections.emptyMap() produced at [1] is
getting passed through the stack to the failing code. (I'm filing this because I did
this bit of brilliant analysis. ;) )
[1]
https://github.com/wildfly/wildfly-http-client/blob/master/ejb/src/main/j...
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)