Rahul Mourya created AXIS-2912:
----------------------------------
Summary: Axis 1.4 performance
Key: AXIS-2912
URL: https://issues.apache.org/jira/browse/AXIS-2912
Project: Axis
Issue Type: Bug
Components: Serialization/Deserialization
Affects Versions: 1.4
Environment: ***** Pivotal Values *****
Reported Version: 9.8
OSName: SUSE Linux Enterprise Server
OSVersion:
Hardware:
Environment: Any Operating System
--------------------
Reporter: Rahul Mourya
On serialization process we saw lots of threads blocked executing
org.apache.axis.encoding.ser.CalendarSerializer.getValueAsString (20 times in 5
dumps, 6 times max). This method seems to access to a static SimpleDateFormat
object in a synchronized block, so it's shaded for any thread serializing SOAP
response. They presume this code is used to serialize date attibutes on SOAP
response. It is affecting the overall performance while forming the SOAP
response with the increase in the number of threads.
Below is the thread stack for the blocked threads :
=========================
"qtp124606801-507" #507 prio=5 os_prio=0 tid=0x0000000000e44800 nid=0x6c84
waiting for monitor entry [0x00002af16048c000]
java.lang.Thread.State: BLOCKED (on object monitor)
at
org.apache.axis.encoding.ser.CalendarSerializer.getValueAsString(CalendarSerializer.java:67)
- waiting to lock <0x00000000a25f8c98> (a java.text.SimpleDateFormat)
at
org.apache.axis.encoding.ser.CalendarSerializer.serialize(CalendarSerializer.java:58)
at
org.apache.axis.encoding.SerializationContext.serializeActual(SerializationContext.java:1504)
at
org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:980)
at
org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:734)
at
org.apache.axis.encoding.ser.BeanSerializer.serialize(BeanSerializer.java:230)
at
org.apache.axis.encoding.SerializationContext.serializeActual(SerializationContext.java:1504)
at
org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:980)
at
org.apache.axis.encoding.SerializationContext.outputMultiRefs(SerializationContext.java:1055)
at org.apache.axis.message.SOAPBody.outputImpl(SOAPBody.java:145)
at
org.apache.axis.message.SOAPEnvelope.outputImpl(SOAPEnvelope.java:478)
at
org.apache.axis.message.MessageElement.output(MessageElement.java:1208)
at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:315)
at org.apache.axis.SOAPPart.getAsString(SOAPPart.java:632)
at
org.apache.axis.handlers.SOAPMonitorHandler.invoke(SOAPMonitorHandler.java:69)
at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:296)
at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
.
.(Thread stack skipped)
================================
Could you please help providing some insight on it. Let me know if you need any
further details.
Regards
Rahul
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]