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]

Reply via email to