[ 
https://issues.apache.org/jira/browse/AXIS2C-1482?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Lazarski resolved AXIS2C-1482.
-------------------------------------
    Fix Version/s: 2.0.0
                       (was: 1.7.0)
       Resolution: Fixed

AXIS2C-1482: Fix busy-loop when server worker not ready
    
    When the server thread accepted connections but the worker wasn't ready yet,
    it would log a warning, close the socket, and immediately continue the loop.
    This caused a tight busy-loop that consumed 100% CPU and flooded the log
    with "Worker not ready yet" messages (reported as 6209 times in one case).
    
    Add a 10ms sleep before continuing when the worker isn't ready. This 
prevents
    CPU spinning while still being responsive when the worker becomes available.
    
    Apply the same fix to both HTTP and TCP server threads.
    
    This also addresses AXIS2C-1565 (100% CPU for synchronous calls) which is
    a related symptom of the same busy-waiting issue.


> excessive retrying by client if server busy
> -------------------------------------------
>
>                 Key: AXIS2C-1482
>                 URL: https://issues.apache.org/jira/browse/AXIS2C-1482
>             Project: Axis2-C
>          Issue Type: Bug
>          Components: core/transport
>    Affects Versions: 1.6.0
>            Reporter: Thomas Gentsch
>            Priority: Minor
>             Fix For: 2.0.0
>
>
> Have a SOAP server + client. Normally everything works nicely, but if the 
> server is very busy doing other things (or the SOAP worker thread must wait 
> for a mutex), the following appears in the log:
> [Mon Jun 21 20:36:32 2010] [error] network_handler.c(259)
> [Axis2][network_handler] Socket accept                 failed
> [Mon Jun 21 20:36:32 2010] [warning] http_svr_thread.c(133) Worker not
> ready yet. Cannot serve the request
> The text above appears 6209 times (!!!), then eventually:
> [Mon Jun 21 20:36:32 2010] [warning] http_svr_thread.c(133) Worker not
> ready yet. Cannot serve the request
> [Mon Jun 21 20:36:32 2010] [error] network_handler.c(259)
> [Axis2][network_handler] Socket accept                 failed
> [Mon Jun 21 20:39:28 2010] [error] http_client.c(574) Response timed out
> [Mon Jun 21 20:39:28 2010] [error] http_sender.c(1381) status_code < 0
> [Mon Jun 21 20:39:28 2010] [error] engine.c(179) Transport sender invoke
> failed



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to