Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WFLY-4016 WFLY-4017 EJB context selector fixes #6870

Merged
merged 3 commits into from Nov 14, 2014

Conversation

stuartwdouglas
Copy link
Contributor

No description provided.

@wildfly-ci
Copy link

Linux Build 5336 is now running using a merge of dd51cbc

@wildfly-ci
Copy link

Windows Build 444 is now running using a merge of dd51cbc

@wildfly-ci
Copy link

Linux with security manager Build 329 is now running using a merge of dd51cbc

@wildfly-ci
Copy link

Linux with security manager Build 329 outcome was FAILURE using a merge of dd51cbc
Summary: Tests failed: 2, passed: 794, ignored: 244 Build time: 0:06:52

Build problems:

Failed tests detected

Failed tests

org.jboss.as.test.smoke.jms.SendToTopicFromWithinTransactionTest.sendSuccessfully: java.lang.AssertionError: null
    at org.junit.Assert.fail(Assert.java:86)
    at org.junit.Assert.assertTrue(Assert.java:41)

org.jboss.as.test.smoke.jms.SendToQueueFromWithinTransactionTest.sendSuccessfully: java.lang.AssertionError: null
    at org.junit.Assert.fail(Assert.java:86)
    at org.junit.Assert.assertTrue(Assert.java:41)

@wildfly-ci
Copy link

Windows Build 444 outcome was FAILURE using a merge of 873e6a5
Summary: Tests failed: 1 (1 new), passed: 3024, ignored: 238, muted: 1 Build time: 0:54:40

Build problems:

Failed tests detected

Failed tests

org.jboss.as.test.multinode.remotecall.scoped.context.DynamicJNDIContextEJBInvocationTestCase.testEJBClientContextIdentiferIsNotSerialized: javax.naming.NamingException: WFLYNAM0062: Failed to lookup StatefulBeanA!org.jboss.as.test.multinode.remotecall.scoped.context.LocalServerStatefulRemote
    at org.jboss.as.ejb3.remote.RemoteViewManagedReferenceFactory.getReference(RemoteViewManagedReferenceFactory.java:99)
    at org.jboss.as.naming.ServiceBasedNamingStore.lookup(ServiceBasedNamingStore.java:143)

@wildfly-ci
Copy link

Linux Build 5336 outcome was FAILURE using a merge of 873e6a5
Summary: Tests failed: 9 (9 new), passed: 3017, ignored: 238 Build time: 0:56:58

Build problems:

Failed tests detected

Failed tests

org.jboss.as.test.multinode.remotecall.RemoteLocalCallTestCase.testStatelessLocalHomeFromRemoteHome: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:remotelocalcall-test-client, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@ecfa6
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:749)
    at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:116)

org.jboss.as.test.multinode.remotecall.RemoteLocalCallTestCase.testStatefulRemoteHomeFromRemoteHome: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:remotelocalcall-test-client, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@1f1a6c4
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:749)
    at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:116)

org.jboss.as.test.multinode.remotecall.RemoteLocalCallTestCase.testStatefulLocalHomeFromRemoteHome: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:remotelocalcall-test-client, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@230917
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:749)
    at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:116)

org.jboss.as.test.multinode.remotecall.RemoteLocalCallTestCase.testStatefulLocalFromRemote: java.lang.AssertionError: should be javax.ejb.EJBException
    at org.junit.Assert.fail(Assert.java:88)
    at org.jboss.as.test.multinode.remotecall.RemoteLocalCallTestCase.testStatefulLocalFromRemote(RemoteLocalCallTestCase.java:182)

org.jboss.as.test.multinode.remotecall.RemoteLocalCallTestCase.testStatelessRemoteHomeFromRemoteHome: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:remotelocalcall-test-client, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@1ef47c6
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:749)
    at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:116)

org.jboss.as.test.multinode.remotecall.RemoteLocalCallTestCase.testStatefulRemoteFromRemote: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:remotelocalcall-test-client, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@23ec94
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:749)
    at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:116)

org.jboss.as.test.multinode.remotecall.RemoteLocalCallTestCase.testStatelessLocalFromRemote: javax.naming.NamingException: WFLYNAM0062: Failed to lookup StatefulBean!org.jboss.as.test.multinode.remotecall.StatefulRemote
    at org.jboss.as.ejb3.remote.RemoteViewManagedReferenceFactory.getReference(RemoteViewManagedReferenceFactory.java:99)
    at org.jboss.as.naming.ServiceBasedNamingStore.lookup(ServiceBasedNamingStore.java:143)

org.jboss.as.test.multinode.remotecall.RemoteLocalCallTestCase.testStatelessRemoteFromRemote: javax.naming.NamingException: WFLYNAM0062: Failed to lookup StatefulBean!org.jboss.as.test.multinode.remotecall.StatefulRemote
    at org.jboss.as.ejb3.remote.RemoteViewManagedReferenceFactory.getReference(RemoteViewManagedReferenceFactory.java:99)
    at org.jboss.as.naming.ServiceBasedNamingStore.lookup(ServiceBasedNamingStore.java:143)

org.jboss.as.test.multinode.remotecall.scoped.context.DynamicJNDIContextEJBInvocationTestCase.testEJBClientContextIdentiferIsNotSerialized: javax.naming.NamingException: WFLYNAM0062: Failed to lookup StatefulBeanA!org.jboss.as.test.multinode.remotecall.scoped.context.LocalServerStatefulRemote
    at org.jboss.as.ejb3.remote.RemoteViewManagedReferenceFactory.getReference(RemoteViewManagedReferenceFactory.java:99)
    at org.jboss.as.naming.ServiceBasedNamingStore.lookup(ServiceBasedNamingStore.java:143)

@wildfly-ci
Copy link

Linux Build 5339 is now running using a merge of 873e6a5

@wildfly-ci
Copy link

Windows Build 447 is now running using a merge of 873e6a5

@wildfly-ci
Copy link

Linux with security manager Build 332 is now running using a merge of 873e6a5

@wildfly-ci
Copy link

Linux with security manager Build 332 outcome was SUCCESS using a merge of 873e6a5
Summary: Tests passed: 796, ignored: 244 Build time: 0:06:18

@wildfly-ci
Copy link

Windows Build 447 outcome was FAILURE using a merge of 873e6a5
Summary: Tests failed: 17 (16 new), passed: 3008, ignored: 238, muted: 1 Build time: 0:55:00

Build problems:

Failed tests detected

Failed tests

org.jboss.as.test.integration.ejb.client.descriptor.EJBClientDescriptorTestCase.testClientInvocationTimeout: java.lang.AssertionError: Expected to receive a timeout for the invocation
    at org.junit.Assert.fail(Assert.java:88)
    at org.jboss.as.test.integration.ejb.client.descriptor.EJBClientDescriptorTestCase.testClientInvocationTimeout(EJBClientDescriptorTestCase.java:231)

org.jboss.as.test.integration.ejb.client.descriptor.EJBClientDescriptorTestCase.testEJBClientContextWithNoReceiversConfiguration: java.lang.AssertionError: Exepcted to fail due to no EJB receivers availability
    at org.junit.Assert.fail(Assert.java:88)
    at org.jboss.as.test.integration.ejb.client.descriptor.EJBClientDescriptorTestCase.testEJBClientContextWithNoReceiversConfiguration(EJBClientDescriptorTestCase.java:177)

org.jboss.as.test.multinode.ejb.timer.database.DatabaseTimerServiceMultiNodeTestCase.testEjbTimeoutOnOtherNode: java.lang.AssertionError: Expected 100 was 88 [{node='server', info='timer87'}, {node='server', info='timer86'}, {node='server', info='timer89'}, {node='server', info='timer88'}, {node='server', info='timer80'}, {node='server', info='timer85'}, {node='server', info='timer83'}, {node='server', info='timer79'}, {node='server', info='timer84'}, {node='server', info='timer81'}, {node='server', info='timer78'}, {node='server', info='timer82'}, {node='server', info='timer74'}, {node='server', info='timer75'}, {node='server', info='timer77'}, {node='server', info='timer73'}, {node='server', info='timer76'}, {node='server', info='timer2'}, {node='server', info='timer71'}, {node='server', info='timer66'}, {node='server', info='timer68'}, {node='server', info='timer64'}, {node='server', info='timer72'}, {node='server', info='timer67'}, {node='server', info='timer65'}, {node='server', info='timer70'}, {node='server', info='timer61'}, {node='server', info='timer6'}, {node='server', info='timer60'}, {node='server', info='timer14'}, {node='server', info='timer56'}, {node='server', info='timer54'}, {node='server', info='timer57'}, {node='server', info='timer58'}, {node='server', info='timer53'}, {node='server', info='timer59'}, {node='server', info='timer55'}, {node='server', info='timer52'}, {node='server', info='timer47'}, {node='server', info='timer48'}, {node='server', info='timer50'}, {node='server', info='timer49'}, {node='server', info='timer51'}, {node='server', info='timer46'}, {node='server', info='timer38'}, {node='server', info='timer42'}, {node='server', info='timer43'}, {node='server', info='timer45'}, {node='server', info='timer39'}, {node='server', info='timer40'}, {node='server', info='timer36'}, {node='server', info='timer35'}, {node='server', info='timer34'}, {node='server', info='timer37'}, {node='server', info='timer32'}, {node='server', info='timer41'}, {node='server', info='timer29'}, {node='server', info='timer28'}, {node='server', info='timer30'}, {node='server', info='timer33'}, {node='server', info='timer62'}, {node='server', info='timer27'}, {node='server', info='timer26'}, {node='server', info='timer25'}, {node='server', info='timer44'}, {node='server', info='timer24'}, {node='server', info='timer17'}, {node='server', info='timer23'}, {node='server', info='timer18'}, {node='server', info='timer21'}, {node='server', info='timer20'}, {node='server', info='timer19'}, {node='server', info='timer31'}, {node='server', info='timer12'}, {node='server', info='timer11'}, {node='server', info='timer13'}, {node='server', info='timer22'}, {node='server', info='timer16'}, {node='server', info='timer10'}, {node='server', info='timer8'}, {node='server', info='timer9'}, {node='server', info='timer5'}, {node='server', info='timer7'}, {node='server', info='timer15'}, {node='server', info='timer1'}, {node='server', info='timer99'}, {node='server', info='timer4'}, {node='server', info='timer3'}] expected:<100> but was:<88>
    at org.junit.Assert.fail(Assert.java:88)
    at org.junit.Assert.failNotEquals(Assert.java:743)

org.jboss.as.test.multinode.remotecall.RemoteLocalCallTestCase.testStatefulRemoteHomeFromRemoteHome: java.rmi.RemoteException: Invocation failed; nested exception is: 
 javax.ejb.EJBException: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:remotelocalcall-test-server, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@addd77
java.rmi.RemoteException: Invocation failed; nested exception is: 
    javax.ejb.EJBException: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:remotelocalcall-test-server, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@addd77
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:191)

org.jboss.as.test.multinode.remotecall.RemoteLocalCallTestCase.testStatelessRemoteHomeFromRemoteHome: java.rmi.RemoteException: Invocation failed; nested exception is: 
 javax.ejb.EJBException: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:remotelocalcall-test-server, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@1878ade
java.rmi.RemoteException: Invocation failed; nested exception is: 
    javax.ejb.EJBException: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:remotelocalcall-test-server, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@1878ade
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:191)

org.jboss.as.test.multinode.remotecall.RemoteLocalCallTestCase.testStatefulRemoteFromRemote: java.rmi.RemoteException: Invocation failed; nested exception is: 
 javax.ejb.EJBException: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:remotelocalcall-test-server, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@179023f
java.rmi.RemoteException: Invocation failed; nested exception is: 
    javax.ejb.EJBException: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:remotelocalcall-test-server, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@179023f
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:191)

org.jboss.as.test.multinode.remotecall.RemoteLocalCallTestCase.testStatelessRemoteFromRemote: javax.naming.NamingException: Failed to create proxy
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:813)
    at org.jboss.ejb.client.EJBClient.createSessionWithPossibleRetries(EJBClient.java:222)

org.jboss.as.test.multinode.transaction.TransactionInvocationTestCase.testSameTransactionEachCall: javax.naming.NamingException: Failed to create proxy
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:813)
    at org.jboss.ejb.client.EJBClient.createSessionWithPossibleRetries(EJBClient.java:222)

org.jboss.as.test.multinode.transaction.TransactionInvocationTestCase.testRollbackOnlyBeforeCompletion: javax.naming.NamingException: Failed to create proxy
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:813)
    at org.jboss.ejb.client.EJBClient.createSessionWithPossibleRetries(EJBClient.java:222)

org.jboss.as.test.multinode.transaction.TransactionInvocationTestCase.testSynchronizationSucceeded: javax.naming.NamingException: Failed to create proxy
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:813)
    at org.jboss.ejb.client.EJBClient.createSessionWithPossibleRetries(EJBClient.java:222)

org.jboss.as.test.multinode.transaction.TransactionInvocationTestCase.testRollbackOnly: javax.naming.NamingException: Failed to create proxy
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:813)
    at org.jboss.ejb.client.EJBClient.createSessionWithPossibleRetries(EJBClient.java:222)


##### there are 7 more failed tests, see build details

@wildfly-ci
Copy link

Linux Build 5339 outcome was FAILURE using a merge of 873e6a5
Summary: Tests failed: 21 (12 new), passed: 3004, ignored: 238, muted: 1 Build time: 0:58:28

Build problems:

Failed tests detected

Failed tests

org.jboss.as.test.integration.ejb.client.descriptor.EJBClientDescriptorTestCase.testClientInvocationTimeout: java.lang.AssertionError: Expected to receive a timeout for the invocation
    at org.junit.Assert.fail(Assert.java:88)
    at org.jboss.as.test.integration.ejb.client.descriptor.EJBClientDescriptorTestCase.testClientInvocationTimeout(EJBClientDescriptorTestCase.java:231)

org.jboss.as.test.integration.ejb.client.descriptor.EJBClientDescriptorTestCase.testEJBClientContextWithNoReceiversConfiguration: java.lang.AssertionError: Exepcted to fail due to no EJB receivers availability
    at org.junit.Assert.fail(Assert.java:88)
    at org.jboss.as.test.integration.ejb.client.descriptor.EJBClientDescriptorTestCase.testEJBClientContextWithNoReceiversConfiguration(EJBClientDescriptorTestCase.java:177)

org.jboss.as.test.multinode.ejb.timer.database.DatabaseTimerServiceMultiNodeTestCase.testEjbTimeoutOnOtherNode: java.lang.AssertionError: Expected 100 was 81 [{node='server', info='timer76'}, {node='server', info='timer80'}, {node='server', info='timer83'}, {node='server', info='timer78'}, {node='server', info='timer81'}, {node='server', info='timer84'}, {node='server', info='timer77'}, {node='server', info='timer79'}, {node='server', info='timer74'}, {node='server', info='timer71'}, {node='server', info='timer72'}, {node='server', info='timer69'}, {node='server', info='timer73'}, {node='server', info='timer66'}, {node='server', info='timer65'}, {node='server', info='timer64'}, {node='server', info='timer67'}, {node='server', info='timer82'}, {node='server', info='timer63'}, {node='server', info='timer70'}, {node='server', info='timer61'}, {node='server', info='timer68'}, {node='server', info='timer58'}, {node='server', info='timer53'}, {node='server', info='timer51'}, {node='server', info='timer55'}, {node='server', info='timer52'}, {node='server', info='timer56'}, {node='server', info='timer59'}, {node='server', info='timer54'}, {node='server', info='timer60'}, {node='server', info='timer57'}, {node='server', info='timer49'}, {node='server', info='timer75'}, {node='server', info='timer47'}, {node='server', info='timer43'}, {node='server', info='timer50'}, {node='server', info='timer44'}, {node='server', info='timer48'}, {node='server', info='timer40'}, {node='server', info='timer42'}, {node='server', info='timer41'}, {node='server', info='timer46'}, {node='server', info='timer45'}, {node='server', info='timer32'}, {node='server', info='timer33'}, {node='server', info='timer34'}, {node='server', info='timer31'}, {node='server', info='timer29'}, {node='server', info='timer38'}, {node='server', info='timer37'}, {node='server', info='timer26'}, {node='server', info='timer36'}, {node='server', info='timer39'}, {node='server', info='timer23'}, {node='server', info='timer25'}, {node='server', info='timer20'}, {node='server', info='timer35'}, {node='server', info='timer24'}, {node='server', info='timer21'}, {node='server', info='timer27'}, {node='server', info='timer19'}, {node='server', info='timer22'}, {node='server', info='timer18'}, {node='server', info='timer13'}, {node='server', info='timer17'}, {node='server', info='timer15'}, {node='server', info='timer28'}, {node='server', info='timer10'}, {node='server', info='timer12'}, {node='server', info='timer8'}, {node='server', info='timer7'}, {node='server', info='timer4'}, {node='server', info='timer11'}, {node='server', info='timer16'}, {node='server', info='timer30'}, {node='server', info='timer1'}, {node='server', info='timer9'}, {node='server', info='timer5'}, {node='server', info='timer3'}, {node='server', info='timer99'}] expected:<100> but was:<81>
    at org.junit.Assert.fail(Assert.java:88)
    at org.junit.Assert.failNotEquals(Assert.java:743)

org.jboss.as.test.multinode.transaction.TransactionInvocationTestCase.testSameTransactionEachCall: javax.naming.NamingException: Failed to create proxy
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:813)
    at org.jboss.ejb.client.EJBClient.createSessionWithPossibleRetries(EJBClient.java:222)

org.jboss.as.test.multinode.transaction.TransactionInvocationTestCase.testRollbackOnlyBeforeCompletion: javax.naming.NamingException: Failed to create proxy
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:813)
    at org.jboss.ejb.client.EJBClient.createSessionWithPossibleRetries(EJBClient.java:222)

org.jboss.as.test.multinode.transaction.TransactionInvocationTestCase.testSynchronizationSucceeded: javax.naming.NamingException: Failed to create proxy
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:813)
    at org.jboss.ejb.client.EJBClient.createSessionWithPossibleRetries(EJBClient.java:222)

org.jboss.as.test.multinode.transaction.TransactionInvocationTestCase.testRollbackOnly: javax.naming.NamingException: Failed to create proxy
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:813)
    at org.jboss.ejb.client.EJBClient.createSessionWithPossibleRetries(EJBClient.java:222)

org.jboss.as.test.multinode.transaction.TransactionInvocationTestCase.testRemoteInvocation: javax.ejb.EJBException: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:server, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@1f61549
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:749)
    at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:116)

org.jboss.as.test.multinode.transaction.TransactionInvocationTestCase.testSynchronizationFailed: javax.naming.NamingException: Failed to create proxy
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:813)
    at org.jboss.ejb.client.EJBClient.createSessionWithPossibleRetries(EJBClient.java:222)

org.jboss.as.test.manualmode.ejb.client.cluster.EJBClientClusterConfigurationTestCase.testServerToServerClusterFormation: javax.ejb.EJBException: java.lang.RuntimeException: Invocation on clustered bean always (10 times) ended up picking current node jbossas-with-remote-outbound-connection
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:191)
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:276)

org.jboss.as.test.manualmode.ejb.client.outbound.connection.RemoteOutboundConnectionReconnectTestCase.testRemoteServerRestarts: javax.ejb.EJBException: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:server-two-module, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@147bd79
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:191)
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:276)


##### there are 11 more failed tests, see build details

@bmaxwell
Copy link
Contributor

I was seeing this test fail when running the EAP test. It seemed to happen via the DescriptorBasedEJBClientContextService change to call localEjbReceiver.stop(context), I have been looking seeing if localEjbReceiver should have stop called, but to close some other objects, but I have been unsuccessful. Without localEjbReceiver.stop(context) we are still seeing references to the deployment's classloader for each time it was deployed.

org.jboss.as.test.integration.ejb.remote.byreference.RemoteInvocationByReferenceTestCase.testPassByReferenceSemanticsOnRemoteInterface: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:in-vm-remote-interface-pass-by-reference-test, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@16c0899

@stuartwdouglas
Copy link
Contributor Author

@bmaxwell can you test with the new 89fd375 commit and see if this resolves the leak? The local receiver is shared, it cannot be stopped without breaking other deployments.

@wildfly-ci
Copy link

Linux Build 5361 is now running using a merge of 89fd375

@wildfly-ci
Copy link

Windows Build 468 is now running using a merge of 89fd375

@wildfly-ci
Copy link

Linux with security manager Build 353 is now running using a merge of 89fd375

@wildfly-ci
Copy link

Linux with security manager Build 353 outcome was SUCCESS using a merge of 89fd375
Summary: Tests passed: 796, ignored: 244 Build time: 0:06:17

@wildfly-ci
Copy link

Windows Build 468 outcome was FAILURE using a merge of 89fd375
Summary: Tests failed: 16, passed: 3009, ignored: 238, muted: 1 Build time: 0:54:54

Build problems:

Failed tests detected

Failed tests

org.jboss.as.test.integration.ejb.client.descriptor.EJBClientDescriptorTestCase.testClientInvocationTimeout: java.lang.AssertionError: Expected to receive a timeout for the invocation
    at org.junit.Assert.fail(Assert.java:88)
    at org.jboss.as.test.integration.ejb.client.descriptor.EJBClientDescriptorTestCase.testClientInvocationTimeout(EJBClientDescriptorTestCase.java:231)

org.jboss.as.test.integration.ejb.client.descriptor.EJBClientDescriptorTestCase.testEJBClientContextWithNoReceiversConfiguration: java.lang.AssertionError: Exepcted to fail due to no EJB receivers availability
    at org.junit.Assert.fail(Assert.java:88)
    at org.jboss.as.test.integration.ejb.client.descriptor.EJBClientDescriptorTestCase.testEJBClientContextWithNoReceiversConfiguration(EJBClientDescriptorTestCase.java:177)

org.jboss.as.test.multinode.ejb.timer.database.DatabaseTimerServiceMultiNodeTestCase.testEjbTimeoutOnOtherNode: java.lang.AssertionError: Expected 100 was 86 [{node='server', info='timer87'}, {node='server', info='timer81'}, {node='server', info='timer82'}, {node='server', info='timer83'}, {node='server', info='timer80'}, {node='server', info='timer85'}, {node='server', info='timer78'}, {node='server', info='timer79'}, {node='server', info='timer86'}, {node='server', info='timer76'}, {node='server', info='timer77'}, {node='server', info='timer73'}, {node='server', info='timer75'}, {node='server', info='timer89'}, {node='server', info='timer88'}, {node='server', info='timer69'}, {node='server', info='timer74'}, {node='server', info='timer67'}, {node='server', info='timer84'}, {node='server', info='timer65'}, {node='server', info='timer68'}, {node='server', info='timer64'}, {node='server', info='timer2'}, {node='server', info='timer59'}, {node='server', info='timer70'}, {node='server', info='timer63'}, {node='server', info='timer71'}, {node='server', info='timer72'}, {node='server', info='timer66'}, {node='server', info='timer57'}, {node='server', info='timer53'}, {node='server', info='timer50'}, {node='server', info='timer55'}, {node='server', info='timer56'}, {node='server', info='timer49'}, {node='server', info='timer45'}, {node='server', info='timer52'}, {node='server', info='timer46'}, {node='server', info='timer54'}, {node='server', info='timer51'}, {node='server', info='timer42'}, {node='server', info='timer48'}, {node='server', info='timer47'}, {node='server', info='timer41'}, {node='server', info='timer40'}, {node='server', info='timer39'}, {node='server', info='timer37'}, {node='server', info='timer43'}, {node='server', info='timer35'}, {node='server', info='timer44'}, {node='server', info='timer32'}, {node='server', info='timer31'}, {node='server', info='timer6'}, {node='server', info='timer29'}, {node='server', info='timer28'}, {node='server', info='timer27'}, {node='server', info='timer36'}, {node='server', info='timer38'}, {node='server', info='timer25'}, {node='server', info='timer23'}, {node='server', info='timer24'}, {node='server', info='timer20'}, {node='server', info='timer26'}, {node='server', info='timer34'}, {node='server', info='timer22'}, {node='server', info='timer19'}, {node='server', info='timer33'}, {node='server', info='timer13'}, {node='server', info='timer21'}, {node='server', info='timer14'}, {node='server', info='timer17'}, {node='server', info='timer15'}, {node='server', info='timer18'}, {node='server', info='timer12'}, {node='server', info='timer16'}, {node='server', info='timer7'}, {node='server', info='timer4'}, {node='server', info='timer11'}, {node='server', info='timer30'}, {node='server', info='timer10'}, {node='server', info='timer3'}, {node='server', info='timer9'}, {node='server', info='timer5'}, {node='server', info='timer1'}, {node='server', info='timer8'}, {node='server', info='timer62'}] expected:<100> but was:<86>
    at org.junit.Assert.fail(Assert.java:88)
    at org.junit.Assert.failNotEquals(Assert.java:743)

org.jboss.as.test.multinode.remotecall.RemoteLocalCallTestCase.testStatefulRemoteHomeFromRemoteHome: java.rmi.RemoteException: Invocation failed; nested exception is: 
 javax.ejb.EJBException: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:remotelocalcall-test-server, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@10841da
java.rmi.RemoteException: Invocation failed; nested exception is: 
    javax.ejb.EJBException: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:remotelocalcall-test-server, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@10841da
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:191)

org.jboss.as.test.multinode.remotecall.RemoteLocalCallTestCase.testStatelessRemoteHomeFromRemoteHome: java.rmi.RemoteException: Invocation failed; nested exception is: 
 javax.ejb.EJBException: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:remotelocalcall-test-server, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@1cdbfaa
java.rmi.RemoteException: Invocation failed; nested exception is: 
    javax.ejb.EJBException: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:remotelocalcall-test-server, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@1cdbfaa
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:191)

org.jboss.as.test.multinode.remotecall.RemoteLocalCallTestCase.testStatefulRemoteFromRemote: java.rmi.RemoteException: Invocation failed; nested exception is: 
 javax.ejb.EJBException: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:remotelocalcall-test-server, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@fa5e8f
java.rmi.RemoteException: Invocation failed; nested exception is: 
    javax.ejb.EJBException: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:remotelocalcall-test-server, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@fa5e8f
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:191)

org.jboss.as.test.multinode.remotecall.RemoteLocalCallTestCase.testStatelessRemoteFromRemote: javax.naming.NamingException: Failed to create proxy
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:813)
    at org.jboss.ejb.client.EJBClient.createSessionWithPossibleRetries(EJBClient.java:222)

org.jboss.as.test.multinode.transaction.TransactionInvocationTestCase.testSameTransactionEachCall: javax.naming.NamingException: Failed to create proxy
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:813)
    at org.jboss.ejb.client.EJBClient.createSessionWithPossibleRetries(EJBClient.java:222)

org.jboss.as.test.multinode.transaction.TransactionInvocationTestCase.testRollbackOnlyBeforeCompletion: javax.naming.NamingException: Failed to create proxy
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:813)
    at org.jboss.ejb.client.EJBClient.createSessionWithPossibleRetries(EJBClient.java:222)

org.jboss.as.test.multinode.transaction.TransactionInvocationTestCase.testSynchronizationSucceeded: javax.naming.NamingException: Failed to create proxy
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:813)
    at org.jboss.ejb.client.EJBClient.createSessionWithPossibleRetries(EJBClient.java:222)

org.jboss.as.test.multinode.transaction.TransactionInvocationTestCase.testRollbackOnly: javax.naming.NamingException: Failed to create proxy
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:813)
    at org.jboss.ejb.client.EJBClient.createSessionWithPossibleRetries(EJBClient.java:222)


##### there are 6 more failed tests, see build details

@wildfly-ci
Copy link

Linux Build 5361 outcome was FAILURE using a merge of 89fd375
Summary: Tests failed: 16, passed: 3009, ignored: 238, muted: 1 Build time: 0:57:08

Build problems:

Failed tests detected

Failed tests

org.jboss.as.test.integration.ejb.client.descriptor.EJBClientDescriptorTestCase.testClientInvocationTimeout: java.lang.AssertionError: Expected to receive a timeout for the invocation
    at org.junit.Assert.fail(Assert.java:88)
    at org.jboss.as.test.integration.ejb.client.descriptor.EJBClientDescriptorTestCase.testClientInvocationTimeout(EJBClientDescriptorTestCase.java:231)

org.jboss.as.test.integration.ejb.client.descriptor.EJBClientDescriptorTestCase.testEJBClientContextWithNoReceiversConfiguration: java.lang.AssertionError: Exepcted to fail due to no EJB receivers availability
    at org.junit.Assert.fail(Assert.java:88)
    at org.jboss.as.test.integration.ejb.client.descriptor.EJBClientDescriptorTestCase.testEJBClientContextWithNoReceiversConfiguration(EJBClientDescriptorTestCase.java:177)

org.jboss.as.test.multinode.ejb.timer.database.DatabaseTimerServiceMultiNodeTestCase.testEjbTimeoutOnOtherNode: java.lang.AssertionError: Expected 100 was 84 [{node='server', info='timer71'}, {node='server', info='timer80'}, {node='server', info='timer69'}, {node='server', info='timer79'}, {node='server', info='timer78'}, {node='server', info='timer70'}, {node='server', info='timer67'}, {node='server', info='timer66'}, {node='server', info='timer65'}, {node='server', info='timer64'}, {node='server', info='timer2'}, {node='server', info='timer68'}, {node='server', info='timer63'}, {node='server', info='timer77'}, {node='server', info='timer61'}, {node='server', info='timer58'}, {node='server', info='timer56'}, {node='server', info='timer59'}, {node='server', info='timer60'}, {node='server', info='timer57'}, {node='server', info='timer76'}, {node='server', info='timer54'}, {node='server', info='timer53'}, {node='server', info='timer50'}, {node='server', info='timer75'}, {node='server', info='timer48'}, {node='server', info='timer73'}, {node='server', info='timer47'}, {node='server', info='timer45'}, {node='server', info='timer52'}, {node='server', info='timer74'}, {node='server', info='timer72'}, {node='server', info='timer55'}, {node='server', info='timer46'}, {node='server', info='timer49'}, {node='server', info='timer41'}, {node='server', info='timer44'}, {node='server', info='timer51'}, {node='server', info='timer39'}, {node='server', info='timer38'}, {node='server', info='timer36'}, {node='server', info='timer35'}, {node='server', info='timer37'}, {node='server', info='timer40'}, {node='server', info='timer43'}, {node='server', info='timer26'}, {node='server', info='timer25'}, {node='server', info='timer24'}, {node='server', info='timer6'}, {node='server', info='timer32'}, {node='server', info='timer27'}, {node='server', info='timer34'}, {node='server', info='timer29'}, {node='server', info='timer28'}, {node='server', info='timer33'}, {node='server', info='timer31'}, {node='server', info='timer42'}, {node='server', info='timer23'}, {node='server', info='timer22'}, {node='server', info='timer18'}, {node='server', info='timer19'}, {node='server', info='timer17'}, {node='server', info='timer21'}, {node='server', info='timer14'}, {node='server', info='timer13'}, {node='server', info='timer11'}, {node='server', info='timer9'}, {node='server', info='timer12'}, {node='server', info='timer16'}, {node='server', info='timer10'}, {node='server', info='timer7'}, {node='server', info='timer20'}, {node='server', info='timer15'}, {node='server', info='timer8'}, {node='server', info='timer30'}, {node='server', info='timer1'}, {node='server', info='timer4'}, {node='server', info='timer3'}, {node='server', info='timer5'}, {node='server', info='timer82'}, {node='server', info='timer83'}, {node='server', info='timer81'}, {node='server', info='timer99'}, {node='server', info='timer62'}] expected:<100> but was:<84>
    at org.junit.Assert.fail(Assert.java:88)
    at org.junit.Assert.failNotEquals(Assert.java:743)

org.jboss.as.test.multinode.transaction.TransactionInvocationTestCase.testSameTransactionEachCall: javax.naming.NamingException: Failed to create proxy
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:813)
    at org.jboss.ejb.client.EJBClient.createSessionWithPossibleRetries(EJBClient.java:222)

org.jboss.as.test.multinode.transaction.TransactionInvocationTestCase.testRollbackOnlyBeforeCompletion: javax.naming.NamingException: Failed to create proxy
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:813)
    at org.jboss.ejb.client.EJBClient.createSessionWithPossibleRetries(EJBClient.java:222)

org.jboss.as.test.multinode.transaction.TransactionInvocationTestCase.testSynchronizationSucceeded: javax.naming.NamingException: Failed to create proxy
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:813)
    at org.jboss.ejb.client.EJBClient.createSessionWithPossibleRetries(EJBClient.java:222)

org.jboss.as.test.multinode.transaction.TransactionInvocationTestCase.testRollbackOnly: javax.naming.NamingException: Failed to create proxy
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:813)
    at org.jboss.ejb.client.EJBClient.createSessionWithPossibleRetries(EJBClient.java:222)

org.jboss.as.test.multinode.transaction.TransactionInvocationTestCase.testRemoteInvocation: javax.ejb.EJBException: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:server, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@1fb563d
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:749)
    at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:116)

org.jboss.as.test.multinode.transaction.TransactionInvocationTestCase.testSynchronizationFailed: javax.naming.NamingException: Failed to create proxy
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:813)
    at org.jboss.ejb.client.EJBClient.createSessionWithPossibleRetries(EJBClient.java:222)

org.jboss.as.test.multinode.remotecall.RemoteLocalCallTestCase.testStatefulRemoteHomeFromRemoteHome: java.rmi.RemoteException: Invocation failed; nested exception is: 
 javax.ejb.EJBException: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:remotelocalcall-test-server, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@12ce9f6
java.rmi.RemoteException: Invocation failed; nested exception is: 
    javax.ejb.EJBException: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:remotelocalcall-test-server, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@12ce9f6
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:191)

org.jboss.as.test.multinode.remotecall.RemoteLocalCallTestCase.testStatelessRemoteHomeFromRemoteHome: java.rmi.RemoteException: Invocation failed; nested exception is: 
 javax.ejb.EJBException: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:remotelocalcall-test-server, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@164881
java.rmi.RemoteException: Invocation failed; nested exception is: 
    javax.ejb.EJBException: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:remotelocalcall-test-server, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@164881
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:191)


##### there are 6 more failed tests, see build details

bmaxwell and others added 3 commits November 3, 2014 11:28
…service

This allows components to have proper dependencies setup, and also removes problems
with using the ServiceRegistry directly from a DUP, as the relevant services may not have been started
@wildfly-ci
Copy link

Linux Build 5388 is now running using a merge of 150db73

@wildfly-ci
Copy link

Windows Build 491 is now running using a merge of 150db73

@wildfly-ci
Copy link

Linux with security manager Build 376 is now running using a merge of 150db73

@wildfly-ci
Copy link

Linux with security manager Build 376 outcome was SUCCESS using a merge of 150db73
Summary: Tests passed: 796, ignored: 244 Build time: 0:06:25

@wildfly-ci
Copy link

Windows Build 491 outcome was FAILURE using a merge of 150db73
Summary: Tests failed: 1 (1 new), passed: 3027, ignored: 238, muted: 1 Build time: 0:53:57

Build problems:

Failed tests detected

Failed tests

org.jboss.as.test.clustering.cluster.ejb.remote.RemoteFailoverTestCase(SYNC-tcp).testStatelessFailover: java.lang.AssertionError: 0 invocations were routed to node-1
    at org.junit.Assert.fail(Assert.java:88)
    at org.junit.Assert.assertTrue(Assert.java:41)

@wildfly-ci
Copy link

Linux Build 5388 outcome was SUCCESS using a merge of 150db73
Summary: Tests passed: 3029, ignored: 238 Build time: 0:56:53

@stuartwdouglas
Copy link
Contributor Author

This actually seems to be working now, @bmaxwell can you verify that this still fixes the leaks you are seeing?

@bmaxwell
Copy link
Contributor

bmaxwell commented Nov 3, 2014

@stuartwdouglas working on the test now

@bmaxwell
Copy link
Contributor

bmaxwell commented Nov 3, 2014

@stuartwdouglas
I'm still seeing classloaders, I deployed, undeployed several times. When I run this I see 4 copies of deployment.client.war in the heap. I hit gc before taking the heap.

SELECT module.identifier.name.value.toString() FROM org.jboss.modules.ModuleClassLoader

@bmaxwell
Copy link
Contributor

bmaxwell commented Nov 3, 2014

Here is what I'm seeing with the commits from this PR. DescriptorBasedEJBClientContextService still seems to be holding it.

Class Name                                                                                                                                                      | Ref. Objects | Shallow Heap | Ref. Shallow Heap | Retained Heap
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery @ 0xe06c96a8  Periodic Recovery Thread                                                                 |            1 |          152 |                88 |         1,800
'- _recoveryModules java.util.Vector @ 0xe06c9a68                                                                                                               |            1 |           32 |                88 |            88
   '- elementData java.lang.Object[10] @ 0xe06c9a88                                                                                                             |            1 |           56 |                88 |            56
      '- [3] com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule @ 0xe06c9ac0                                                                      |            1 |           64 |                88 |         1,536
         '- _resources java.util.ArrayList @ 0xe14ebac0                                                                                                         |            1 |           24 |                88 |            80
            '- elementData java.lang.Object[10] @ 0xe14ebad8                                                                                                    |            1 |           56 |                88 |            56
               '- [0] org.jboss.ejb.client.RecoveryOnlyEJBXAResource @ 0xe14eba88                                                                               |            1 |           24 |                88 |            24
                  '- receiverContext org.jboss.ejb.client.EJBReceiverContext @ 0xe06ca308                                                                       |            1 |           32 |                88 |           672
                     '- receiver org.jboss.as.ejb3.remote.LocalEjbReceiver @ 0xe06ca070                                                                         |            1 |           56 |                88 |         4,096
                        '- contexts java.util.concurrent.CopyOnWriteArrayList @ 0xe06ca2c0                                                                      |            1 |           24 |                88 |         3,472
                           '- array java.lang.Object[6] @ 0xe116d5d8                                                                                            |            1 |           40 |                88 |         3,400
                              '- [3] org.jboss.ejb.client.EJBReceiverContext @ 0xe11face0                                                                       |            1 |           32 |                88 |           672
                                 '- clientContext org.jboss.ejb.client.EJBClientContext @ 0xe11fae38                                                            |            1 |           64 |                88 |         2,896
                                    '- reconnectHandlers java.util.ArrayList @ 0xe11fb630                                                                       |            1 |           24 |                88 |         1,160
                                       '- elementData java.lang.Object[10] @ 0xe11fb648                                                                         |            1 |           56 |                88 |         1,136
                                          '- [1] org.jboss.as.ejb3.remote.DescriptorBasedEJBClientContextService$OutboundConnectionReconnectHandler @ 0xe11fb680|            1 |           48 |                88 |            48
                                             '- this$0 org.jboss.as.ejb3.remote.DescriptorBasedEJBClientContextService @ 0xe11fb728                             |            1 |           40 |                88 |           744
                                                '- clientContextClassloader org.jboss.modules.ModuleClassLoader @ 0xe11fb8c8                                    |            1 |           88 |                88 |       125,488
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

@stuartwdouglas
Copy link
Contributor Author

Looks like the underlying issue is that there is no corresponding disassociate() call for org.jboss.ejb.client.EJBReceiver#associate

@stuartwdouglas
Copy link
Contributor Author

I think this PR is still valid, as it fixes some other issues, however there are still some fixes needed in the EJB client code.

I don't think the original approach of closing the receiver is valid, as the receiver is shared.

@bmaxwell
Copy link
Contributor

bmaxwell commented Nov 4, 2014

@bmaxwell
Copy link
Contributor

bmaxwell commented Nov 5, 2014

I think I found the changes needed, though not sure about a couple of things.
ejb-client

  • add protected void disassociate(final EJBReceiverContext receiverContext) to org/jboss/ejb/client/EJBReceiver
  • implement disassociate for org/jboss/ejb/client/remoting/RemotingConnectionEJBReceiver (I'm not sure what needs to be done for this)
  • org/jboss/ejb/client/EJBClientContext - unregisterEJBReceiver needs to call receiver.disassociate(receiverContext) if there is an association.

wildfly / jboss needs to:
org/jboss/as/ejb3/remote/LocalEjbReceiver implement disassociate to do this.contexts.remove(receiverContext) and possibly do something for cluster nodes.

A quick test shows contexts.remove in the LocalEjbReceiver fixes the memory leak

org/jboss/as/ejb3/remote/LocalEjbReceiver

stuartwdouglas added a commit that referenced this pull request Nov 14, 2014
WFLY-4016 WFLY-4017 EJB context selector fixes
@stuartwdouglas stuartwdouglas merged commit a36788c into wildfly:master Nov 14, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants