commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "blassmegod (JIRA)" <j...@apache.org>
Subject [jira] [Closed] (DAEMON-384) prunsrv stopping with error due to hardcoded timeout
Date Tue, 10 Apr 2018 08:43:00 GMT

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

blassmegod closed DAEMON-384.
-----------------------------

Tested the issue with fix, it works, maybe the only drawback is that that even if the application
wrapped by the procrun service exits before the timeout set on --StopTimeout, the service
stays up (in Stopping mode) until the --StopTimeout set timeout finishes, but it's no blocker
or real issue.

> prunsrv stopping with error due to hardcoded timeout
> ----------------------------------------------------
>
>                 Key: DAEMON-384
>                 URL: https://issues.apache.org/jira/browse/DAEMON-384
>             Project: Commons Daemon
>          Issue Type: Bug
>          Components: Procrun
>    Affects Versions: 1.1.0
>         Environment: Windows 7 (x64)
>            Reporter: blassmegod
>            Assignee: Gary Gregory
>            Priority: Major
>              Labels: easyfix, windows
>             Fix For: 1.1.1
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Due to the fact that in the function *service_ctrl_handler,* from http://svn.apache.org/viewvc/commons/proper/daemon/trunk/src/native/windows/apps/prunsrv/prunsrv.c,
the timeout for the case SERVICE_STOP_TIMEOUT is hardcoded to 3 seconds ( 3 * 1000 ms), which
in the case of servers with big and multiple deployed application, the actual stopping time
of the server might take for sure longer that 3 seconds, and in this case the Windows service
will crash with an exception, because it's unable to wait enough so that the server is stopped.
> The resolution is rather simple, just use SO_STOPTIMEOUT * 1000 if SO_STOPTIMEOUT >
0. This way the user that creates the service with procrun/prunsrv can configure the timeout
with --StopTimeout=xxx seconds.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message