[esb-issues] [JBoss JIRA] Commented: (JBESB-1960) Caching registry interceptor impacts must be documented and configuration values updated

Daniel Bevenius (JIRA) jira-events at lists.jboss.org
Thu Aug 28 05:00:39 EDT 2008


    [ https://jira.jboss.org/jira/browse/JBESB-1960?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12427064#action_12427064 ] 

Daniel Bevenius commented on JBESB-1960:
----------------------------------------

>Another problem is that default value for load balancer cache timeout is 60 seconds and CachingRegistryIntreceptor is 600 secods.
The load balancer cache timeout, are you referring to the property 'org.jboss.soa.esb.registry.cache.life':
<properties name="core">
        ...
        <property name="org.jboss.soa.esb.registry.cache.life" value="60000"/>
</properties>
This property is not present by default configuration file but it is described in the ProgrammersGuide, section "Clustering" on page 53. Perhaps the default value should exist by default in jbossesb-properties.xml? Clients should be able to configure their jbossesb-properties.xml to a lower value if required.

I'll update the docs to state:
"The list of interceptors that are applied to the configured registry.  The codebase currently provides two interceptors, one for handling InVM registration and a second for applying a cache over the registry.

The default interceptor list consists of the InVM interceptor and the CachingRegistryInterceptor described above."








> Caching registry interceptor impacts must be documented and configuration values updated
> ----------------------------------------------------------------------------------------
>
>                 Key: JBESB-1960
>                 URL: https://jira.jboss.org/jira/browse/JBESB-1960
>             Project: JBoss ESB
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Configuration, Documentation
>    Affects Versions: 4.4
>            Reporter: Jiri Pechanec
>            Assignee: Daniel Bevenius
>            Priority: Critical
>             Fix For: 4.4 CP1
>
>
> If the CachingRegistryInterceptor is used in out-of-process binary - client or another ESB it can cause serious headache.
> The problem is that if the service is undeployed or EPRs changed then there are still old values in the cache. So for example it reports it cannot connect to the queue that is not already there etc.
> Another problem is that default value for load balancer cache timeout is 60 seconds and CachingRegistryIntreceptor is 600 secods. So if there is a service undeployed in the cluster the load balancer will repeatedly receive stale EPRs.
> See example of records in log
> 2008-08-27 09:39:42,785 DEBUG [main][org.jboss.internal.soa.esb.couriers.JmsCourier] Error from JMS system.
> javax.jms.JMSException: There is no administratively defined queue with name:queue/banker_deploy_process_esb
> 	at org.jboss.jms.server.endpoint.ServerSessionEndpoint.createQueue(ServerSessionEndpoint.java:291)
> 	at org.jboss.jms.server.endpoint.advised.SessionAdvised.org$jboss$jms$server$endpoint$advised$SessionAdvised$createQueue$aop(SessionAdvised.java:105)
> 	at org.jboss.jms.server.endpoint.advised.SessionAdvised$createQueue_6431069199924553036.invokeNext(SessionAdvised$createQueue_6431069199924553036.java)
> 	at org.jboss.jms.server.container.ServerLogInterceptor.invoke(ServerLogInterceptor.java:105)
> 	at org.jboss.jms.server.endpoint.advised.SessionAdvised$createQueue_6431069199924553036.invokeNext(SessionAdvised$createQueue_6431069199924553036.java)
> 	at org.jboss.jms.server.endpoint.advised.SessionAdvised.createQueue(SessionAdvised.java)
> 	at org.jboss.jms.wireformat.SessionCreateQueueRequest.serverInvoke(SessionCreateQueueRequest.java:74)
> 	at org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:143)
> 	at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:866)
> 	at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:608)
> 	at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:420)
> 	at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:173)
> 	at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:163)
> 	at org.jboss.remoting.Client.invoke(Client.java:1634)
> 	at org.jboss.remoting.Client.invoke(Client.java:548)
> 	at org.jboss.remoting.Client.invoke(Client.java:536)
> 	at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:189)
> 	at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:160)
> 	at org.jboss.jms.client.delegate.ClientSessionDelegate.org$jboss$jms$client$delegate$ClientSessionDelegate$createQueue$aop(ClientSessionDelegate.java:297)
> 	at org.jboss.jms.client.delegate.ClientSessionDelegate$createQueue_6431069199924553036.invokeNext(ClientSessionDelegate$createQueue_6431069199924553036.java)
> 	at org.jboss.jms.client.container.FailoverValveInterceptor.invoke(FailoverValveInterceptor.java:92)
> 	at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:105)
> 	at org.jboss.jms.client.delegate.ClientSessionDelegate$createQueue_6431069199924553036.invokeNext(ClientSessionDelegate$createQueue_6431069199924553036.java)
> 	at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:170)
> 	at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:105)
> 	at org.jboss.jms.client.delegate.ClientSessionDelegate$createQueue_6431069199924553036.invokeNext(ClientSessionDelegate$createQueue_6431069199924553036.java)
> 	at org.jboss.jms.client.delegate.ClientSessionDelegate.createQueue(ClientSessionDelegate.java)
> 	at org.jboss.jms.client.JBossSession.createQueue(JBossSession.java:250)
> 	at org.jboss.internal.soa.esb.rosetta.pooling.JmsSession.createQueue(JmsSession.java:186)
> 	at org.jboss.internal.soa.esb.couriers.JmsCourier.createMessageProducer(JmsCourier.java:334)
> 	at org.jboss.internal.soa.esb.couriers.JmsCourier.deliver(JmsCourier.java:188)
> 	at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.deliver(TwoWayCourierImpl.java:189)
> 	at org.jboss.soa.esb.client.ServiceInvoker$EPRInvoker.attemptDelivery(ServiceInvoker.java:530)
> 	at org.jboss.soa.esb.client.ServiceInvoker$EPRInvoker.access$200(ServiceInvoker.java:452)
> 	at org.jboss.soa.esb.client.ServiceInvoker.post(ServiceInvoker.java:318)
> 	at org.jboss.soa.esb.client.ServiceInvoker.deliverSync(ServiceInvoker.java:198)
> 	at org.jboss.soa.esb.qa.framework.SendESBMessage.sendSync(SendESBMessage.java:103)
> 	at org.jboss.soa.esb.qa.framework.ESBTestServices.deployJBPMProcess(ESBTestServices.java:675)
> 	at org.jboss.soa.esb.samples.quickstart.jbpmrulesaction.BPMRulesActionHandlerTest.setupClass(BPMRulesActionHandlerTest.java:31)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:604)
> 	at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:394)
> 	at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:142)
> 	at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:79)
> 	at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:165)
> 	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:103)
> 	at org.testng.TestRunner.runWorkers(TestRunner.java:678)
> 	at org.testng.TestRunner.privateRun(TestRunner.java:624)
> 	at org.testng.TestRunner.run(TestRunner.java:495)
> 	at org.testng.SuiteRunner.runTest(SuiteRunner.java:300)
> 	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:295)
> 	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:275)
> 	at org.testng.SuiteRunner.run(SuiteRunner.java:190)
> 	at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:792)
> 	at org.testng.TestNG.runSuitesLocally(TestNG.java:765)
> 	at org.testng.TestNG.run(TestNG.java:699)
> 	at org.testng.TestNG.privateMain(TestNG.java:824)
> 	at org.testng.TestNG.main(TestNG.java:802)
> 2008-08-27 09:39:42,787 WARN  [main][org.jboss.soa.esb.client.ServiceInvoker] Possible configuration error while using Courier for EPR [JMSEpr [ PortReference < <wsa:Address jms://127.0.0.1:1099/queue/banker_deploy_process_esb/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.initial : org.jnp.interfaces.NamingContextFactory/>, <wsa:ReferenceProperties jbossesb:java.naming.provider.url : 127.0.0.1:1099/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.url.pkgs : org.jnp.interfaces/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>, <wsa:ReferenceProperties jbossesb:persistent : true/>, <wsa:ReferenceProperties jbossesb:acknowledge-mode : AUTO_ACKNOWLEDGE/>, <wsa:ReferenceProperties jbossesb:transacted : false/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> > ]] and Service [test:jbpm-deploy] and Message [header: [ To: JMSEpr [ PortReference < <wsa:Address jms://127.0.0.1:1099/queue/banker_deploy_process_esb/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.initial : org.jnp.interfaces.NamingContextFactory/>, <wsa:ReferenceProperties jbossesb:java.naming.provider.url : 127.0.0.1:1099/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.url.pkgs : org.jnp.interfaces/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>, <wsa:ReferenceProperties jbossesb:persistent : true/>, <wsa:ReferenceProperties jbossesb:acknowledge-mode : AUTO_ACKNOWLEDGE/>, <wsa:ReferenceProperties jbossesb:transacted : false/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> > ] ReplyTo: JMSEpr [ PortReference < <wsa:Address jms://localhost/queue/banker_deploy_process_esb_reply/>, <wsa:ReferenceProperties jbossesb:java.naming.provider.url : 127.0.0.1:1099/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.initial : org.jnp.interfaces.NamingContextFactory/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.url.pkgs : org.jnp.interfaces/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>, <wsa:ReferenceProperties jbossesb:message-selector : jbossESBresponseUUID='5b468d68-faa0-47dd-86a5-aef5deaec823'/>, <wsa:ReferenceProperties jbossesb:persistent : true/>, <wsa:ReferenceProperties jbossesb:acknowledge-mode : AUTO_ACKNOWLEDGE/>, <wsa:ReferenceProperties jbossesb:transacted : false/> > ] MessageID: 88e0c518-fadc-4546-b16f-599872258cee ]]. javax.jms.JMSException: There is no administratively defined queue with name:queue/banker_deploy_process_esb

-- 
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 esb-issues mailing list