[JBoss JIRA] Created: (JBAS-4586) unified invoker causes delays under load
by Troy Bowman (JIRA)
unified invoker causes delays under load
----------------------------------------
Key: JBAS-4586
URL: http://jira.jboss.com/jira/browse/JBAS-4586
Project: JBoss Application Server
Issue Type: Sub-task
Security Level: Public (Everyone can see)
Components: Remoting
Affects Versions: JBossAS-4.2.1.GA, JBossAS-4.2.0.GA
Environment: Linux kernel 2.6.21, Java 1.5.0_12, JBoss 4.2.0.GA
Reporter: Troy Bowman
Assigned To: Ron Sigal
We tested Jboss 4.2.0.GA and found it worthy for production. When we actually did put it in production, and more than about 300 people were using the application simultaneously, people complained that the application was extremely slow. Some commands, which issued several rmi invocations, would take several minutes. There was not a heavy load on the servers, however. It seemed like every request was just waiting for something to timeout, or that something was causing deadlock in a synchronized block.
I analyzed the problem by both watching the jboss server.log, and also using tcpdump to watch network traffic. I noticed big pauses where neither the server, client, or network was doing anything at all. I made tcpdump have a zero snaplen and read through each packet trying to find what exactly it was doing. I followed the process from ports 1099(naming) to 1098(rmi) to 4446(unified invoker). Right when the client would invoke the stub it had from rmi, it'd sit there for 12 to 14 seconds. I looked at this from other commands and indeed, it was waiting for the invoker.
I started googling for hangs with the jboss invoker and stumbled across some bugs, and found these:
http://jira.jboss.org/jira/browse/JBREM-203?decorator=printable
http://jira.jboss.org/jira/browse/JBREM-167?page=all&decorator=printable
http://jira.jboss.com/jira/browse/JBREM-165;jsessionid=4A6E5196E7A1A78EAF...
They're all old bugs, but at least it is obvious that the unified invoker had problems in the past with hanging while marshalling/unmarshalling with jboss's custom (un)marshallers. My suspicion was that they may have solved the problem with the hack back then, but it is probably showing its ugly head when the server is under a heavy load.
In searching for more stuff, I found that the readme for jboss-4.2.0.GA said that "The default invoker for EJBs has been changed from the rmi-invoker to the unified-invoker, provided by JBoss Remoting". This got me very susupicious of it, since it was definitely the invoker that was sitting there for around 15 seconds on every request when the server had a heavier load. I looked at the change to the standardjboss.xml:
http://viewvc.jboss.org/cgi-bin/viewvc.cgi/jbossas/branches/Branch_4_2/se...
I changed the proxy bindings from the unified invoker back to the rmi invoker in standardjboss.xml, and the problem went away. Invocations now go through port 4444, and are instantaneous.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years
[JBoss JIRA] Created: (JBAS-4399) @EJB in JSF ignores mappedName
by Carlo de Wolf (JIRA)
@EJB in JSF ignores mappedName
------------------------------
Key: JBAS-4399
URL: http://jira.jboss.com/jira/browse/JBAS-4399
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: JBossAS-5.0.0.Beta2
Reporter: Carlo de Wolf
Using mappedName on an @EJB in a JSF managed bean doesn't work.
DefaultAnnotationProcessor ignores mappedName and will then perform a standard field lookup <bean>/<field>, resulting in a NameNotFoundException.
16:12:46,859 ERROR [JBossInjectionProvider] Injection failed on managed bean.
javax.naming.NameNotFoundException: com.genloop.web.Projektabrechnung.Projektabrechnung_v13.beans.screen.Partner_Einzelperson_Screen not bound
at org.jnp.server.NamingServer.getBinding(NamingServer.java:542)
at org.jnp.server.NamingServer.getBinding(NamingServer.java:550)
at org.jnp.server.NamingServer.getObject(NamingServer.java:556)
at org.jnp.server.NamingServer.lookup(NamingServer.java:267)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:628)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:590)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at org.apache.catalina.util.DefaultAnnotationProcessor.lookupFieldResource(DefaultAnnotationProcessor.java:203)
at org.apache.catalina.util.DefaultAnnotationProcessor.processAnnotations(DefaultAnnotationProcessor.java:139)
at org.jboss.web.jsf.integration.injection.JBossInjectionProvider.inject(JBossInjectionProvider.java:104)
at com.sun.faces.config.ManagedBeanFactoryImpl.newInstance(ManagedBeanFactoryImpl.java:298)
at com.sun.faces.application.ApplicationAssociate.createAndMaybeStoreManagedBeans(ApplicationAssociate.java:531)
at com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:82)
at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64)
at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:45)
at org.apache.el.parser.AstValue.getValue(AstValue.java:86)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101)
at javax.faces.component.UIOutput.getValue(UIOutput.java:173)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:189)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:320)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:200)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:833)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:896)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:137)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:809)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
at com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:244)
at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:175)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years
[JBoss JIRA] Created: (JBAS-3591) For SESSION and ATTRIBUTE don't marshal values if UseRegionBasedMarshalling is on
by Brian Stansberry (JIRA)
For SESSION and ATTRIBUTE don't marshal values if UseRegionBasedMarshalling is on
---------------------------------------------------------------------------------
Key: JBAS-3591
URL: http://jira.jboss.com/jira/browse/JBAS-3591
Project: JBoss Application Server
Issue Type: Task
Security Level: Public (Everyone can see)
Components: Clustering, Web (Tomcat) service
Reporter: Brian Stansberry
Assigned To: Brian Stansberry
Fix For: JBossAS-5.0.0.CR1
Storing session or attributes in the cache as byte[] or MarshalledValue is unnecessary if region based marshalling is used. Doing it greatly increases the memory footprint of distributed sessions.
Need to benchmark the performance impact of this (could be positive or negative), although the memory savings would outweigh all but a major performance loss.
Can't do this in Branch_4_0 is it breaks binary compatibility.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years
[JBoss JIRA] Created: (JBAS-4580) "INFO [STDOUT] fromPath: <fieldname>" is logged during startup
by Wolf-Dieter Fink (JIRA)
"INFO [STDOUT] fromPath: <fieldname>" is logged during startup
--------------------------------------------------------------
Key: JBAS-4580
URL: http://jira.jboss.com/jira/browse/JBAS-4580
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: CMP service
Affects Versions: JBossAS-4.0.5.GA
Environment: JBoss_4_0_5_GA_CP04 date=200705011622
Reporter: Wolf-Dieter Fink
Assigned To: Alexey Loubyansky
Priority: Trivial
After the migration from 4.0.4=>4.0.5_GA_CP04 the following is logged:
INFO [STDOUT] fromPath: o.validFrom
INFO [STDOUT] fromPath: o.validTo
TRACE [org.jboss.ejb.plugins.cmp.jdbc.EJBQLToSQL92Compiler] ejbql: SELECT OBJECT(o) FROM SoldComponentAssoc o, SoldComponent sc, SoldProduct sp WHERE o.sold Component.soldComponentId = sc.soldComponentId AND o.soldProduct.soldProductId = sp.soldProductId AND sp.isDead = false AND sc.account.accountId = ?1 AND o.validFrom <= ?2 AND o.validTo > ?2 AND o.soldComponentName LIKE ?3
all fields that are displayed are special classes which are mapped with JDBCParameterSetter, JDBCResultSetReader, Mapper Classes.
looks like a forgotten System.out.println()
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 1 month
[JBoss JIRA] Created: (JBAS-3914) Thread dumps from ServerInfo MBean do not contain line breaks.
by Darran Lofthouse (JIRA)
Thread dumps from ServerInfo MBean do not contain line breaks.
--------------------------------------------------------------
Key: JBAS-3914
URL: http://jira.jboss.com/jira/browse/JBAS-3914
Project: JBoss Application Server
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: JMX
Affects Versions: JBossAS-4.0.5.GA
Reporter: Darran Lofthouse
Assigned To: Darran Lofthouse
Fix For: JBossAS-4.2.0.CR1
Thread dumps from ServerInfo MBean do not contain line breaks, as the output HTML and displayed in a browser this is generally not a problem as the browser formats the output using the HTML tags not based on the presence of line breaks.
If users copy the data from the web browser to a text editor as there are no line breaks in the original output the data is pasted to the text editor without breaks which causes everything to be on one line.
The ouput thread dumps should have line breaks added to get round this.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 1 month