我正在使用Kitware/cdash-码头码头组合文件来构建一个运行CDash的码头容器。我正在运行来自一个大型C++项目的提交,该项目生成大约3.5Mb包含代码覆盖信息的XML文件。然后使用以下消息超时提交
Error when uploading file: <code coverage xml file name>
Error message was: Operation too slow. Less than 1 bytes/sec transferred the last 120 seconds
Problem when submitting via HTTP我修改了码头映像以签出CDash的v2.4.0预构建分支,问题仍然存在于一个码头主机上,但当安装在另一个(功能较弱的机器)上时,它实际上接受提交,并在PUT请求上花费了一分钟多一点时间。
因此,我的问题是,如何修改文件提交的120 s限制,以及是否存在可能影响此类上载的性能的CDash安装设置?我在对接器容器日志中找不到任何东西,所以我对这种情况的理解是,他们一直在做他们的工作,直到客户端以超时限制结束为止,我不知道如何修改。
发布于 2018-07-12 08:14:48
提交超时被硬编码到CTest可执行文件中(在cmCTestSubmitHandler.cxx中为cmak3.20.3)。
默认值是120秒。我修补了它,把它增加到600 s,我的意见书正在运行。需要调查我的服务器是否正在为某些问题而挣扎,或者这是否可以被认为是CTest错误。
编辑:这个问题的最终和正确的解决方案是使用异步提交。若要使用异步提交,请将以下行添加到config.local.php
$CDASH_ASYNCHRONOUS_SUBMISSION = true;这在端口映射的坞容器中不起作用,因为异步提交会为自己创建一个curl请求,它需要开始解析上传的文件。由于我的CDash服务器运行在停靠容器上的端口80上,该端口容器被映射为码头主机上的端口8080,因此curl请求本身推断了端口8080的使用情况,从码头容器的角度来看,这是不正确的。
将CDash基URL设置为localhost显式解决此问题
$CDASH_BASE_URL = 'http://localhost';https://stackoverflow.com/questions/51246619
复制相似问题