Details
-
Bug
-
Resolution: Fixed
-
Major
-
7.1.4, 7.1.0, 7.1.1, 7.1.2, 7.2.0, 7.1.3, 7.2.1, 7.1.5
-
Untriaged
-
0
-
Unknown
Description
On some versions on Windows we've seen:
auto result = RegConnectRegistry(nullptr, HKEY_PERFORMANCE_DATA, &handle);
|
RegQueryValueEx(handle, "230", nullptr, nullptr, perfbuf.data(), &bytes)) |
|
returns a PERF_DATA_BLOCK with 0 elements.
This cause the check for the babysitter process to fail (as we cannot look up the process).
Up until 7.1 ns_server would just restart sigar_port (which would fail again, getting restarted, fail etc), but the server would "appear" to work (except that statistics wouldn't be collected).
As of 7.1 ns_server tries to read out the cgroup information during startup and treats it as a hard failure if it fails to read this information (and the Couchbase Server won't start)..
I've not yet been able to figure out why this happens (is it an access permission issue, is it a configuration issue, is it specific to certain windows versions) as I've not been able to reproduce the issue. One alternative is to use OpenProcess to check for the existence of the babysitter process, and GetProcessTimes to determine its startup time (but leave the rest of the fields empty and claim that the parent process is pid 1). That would allow the server to run, but no "per process" statistics would be collected.