Over the past week I have seen intermittent errors when the backup cron job is downloading the snapshot from Ops Manager:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 122M 0 122M 0 0 3691k 0 --:--:-- 0:00:34 --:--:-- 4412k
curl: (18) transfer closed with outstanding read data remaining
I think part of the problem is that Ops Manager does not send a Content-Length header. According to the following answer on Stackoverflow it might help tuning the keep-alive settings when doing a large file transfer with cURL.
By explicitly setting a keep-alive header and setting a low keep-alive time (the time a connection needs to remain idle before sending keep-alive probes), the response from Ops Manager seems to honor keep-alive and and the transfer was more reliable:
Over the past week I have seen intermittent errors when the backup cron job is downloading the snapshot from Ops Manager:
I think part of the problem is that Ops Manager does not send a
Content-Length
header. According to the following answer on Stackoverflow it might help tuning the keep-alive settings when doing a large file transfer with cURL.By explicitly setting a keep-alive header and setting a low keep-alive time (the time a connection needs to remain idle before sending keep-alive probes), the response from Ops Manager seems to honor keep-alive and and the transfer was more reliable:
A different route people are going down is forcing HTTP 1.0 (via
--http1.0
), but that did not help, apart from the error going away. The connection would terminate prematurely and most downloads yielded too small files.