Closed Werkov closed 1 year ago
Thanks for the report.
With -disable-timeouts=false
(default), test script completion timeout currently triggers after 2 hours. As a workaround, we could for finer grained tuning of state transition timeouts.
Regarding the actual failure on restart, I'll add this scenario to icyci_test.go
and evaluate options for a fix.
Clarification -- the (fixed) timeout is fine IMO. I wanted to provide logs for the issue when the stale lock remains after the termination. (On a related note, timeout could be handled without terminating the main service but cleanup is the crucial step.)
Clarification -- the (fixed) timeout is fine IMO.
Understood. Although given that awaitCmd
state timeout is very dependent on the contents of the test script, it probably makes sense to at least offer a parameter for configuring that specific timeout. git fetch / push timeouts could remain as-is for now.
I wanted to provide logs for the issue when the stale lock remains after the termination. (On a related note, timeout could be handled without terminating the main service but cleanup is the crucial step.)
One simple option would be to just handle any awaitCmd
state transition timeouts as regular cmd failures, i.e.
runCmdState.cmd
processDo you agree that this is a reasonable option? Other state timeouts would continue to be fatal for now.
Test timeout as a test result (negative, with the report and regular cleanup) is more reasonable than failing the daemon ;-)
@Werkov I've added some functionality to hopefully improve the situation here:
awaitCmd
timeout can be increased from the 2h
default via the new -timeout await-command:<duration>
parameter
.result.failed
note carries information about the timeoutDo you think this new functionality allows this issue to be closed, or would you like something else implemented here?
I've tried with b4ab50bbbae189602e85885ead0da7b05cd4ead6 and icyci daemon handled a timeout gracefully and correctly caught up after a later push. Let me close this. Thanks!
Steps to reproduce
Additional info
Log from the service: