-
Notifications
You must be signed in to change notification settings - Fork 48
Description
Describe the bug
Description
RavenDB Server child process remains running after SC instance is stopped. This causes issues when the instance is (re)started.
Restarting or shutting down the server results in the RavenDB instance to be terminated which might cause the database to do lots of IO when starts as it detects its data might be incorrect.
This is already a problem but even more when performing an upgrade as this can result in the upgrade to fail (database unavailable or just not stopping).
https://www.youtube.com/watch?v=nkRYMQXZDQE
Expected behavior
RavenDB Server Child process to gracefully exit before service control
Actual behavior
Versions
6.3.0 and prior 6.x and 5.x versions that use RavenDB Server as child processes.
Steps to reproduce
- host instance
- load test instance
Ensure that the RavenDB studio has plenty of index backlog
- stop instance
Observe that the instance process eventually stops but that the RavenDB Server process to remain running
Relevant log output
Additional Information
Workarounds
- Run RavenDB Server as a local Windows or remote service
- Manually stop and use Task Manager, resource Manager and/or SysInternals ProcExp to monitor if all processes eventually stop
Possible solutions
- See workaround
- Kill child process after stop timeout exceeds (Stop cancellation token) at the risk of flagging the database as unhealthy