Hudson error "Not enough storage is available to process this command."

本文详细记录了解决Hudson分布式测试任务中遇到的Not enough storage is available to process this command.错误的过程,并解释了LanmanServer服务对Hudson任务执行的影响。

今天在跑Hudson的分布式测试机结果任务时突然报“Not enough storage is available to process this command.”错,去Hudson的服务器上看,硬盘空间还有十几个G,应该不是存储空间的问题。然后google一下,发现这个解决方案(http://support.microsoft.com/kb/106167)。按照里面所说的,去注册表将HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters里面IPStackSize的Value从20改成40(十六进制),重启Hudson的服务,就工作正常了。

又去网上搜了一下LanmanServer是个什么东东。百度知道给了这样一个链接,里面提到描述:支持此计算机通过网络的文件、打印、和命名管道共享。如果服务停止,这些功能不可用。如果服务被禁用,任何直接依赖于此服务的服务将无法启动。以下系统组件依赖此服务:

Computer Browser
Distributed File System

我执行的hudson任务就是使用xcopy将几台测试机上的测试结果文件复制到hudson这台服务器上,然后再进行结果分析生成报告。所以才会受LanmanServer数据库满了的影响。

### 关于 Hudson 中 SCM 与 SubversionSCM 的关系 Hudson(现称为 Jenkins)中的 `hudson.scm.SCM` 是一个抽象类,用于定义版本控制系统(Version Control System, VCS)的接口。任何具体的版本控制工具集成都需要继承该抽象类并实现其方法。SubversionSCM 是针对 Apache Subversion (SVN) 版本控制系统的具体实现[^1]。 #### 实现细节 `hudson.scm.SubversionSCM` 类实现了 `hudson.scm.SCM` 接口,并提供了 SVN 所需的功能支持。以下是其实现的关键方面: 1. **模块化设计**: SubversionSCM 使用模块化的结构来管理多个仓库路径和分支配置。它允许用户指定不同的 SVN URL 和修订号范围以便灵活地拉取代码。 2. **变更集计算**: 当构建触发时,SubversionSCM 负责检测自上次成功构建以来发生的更改,并生成相应的变更日志。这通过比较当前工作区状态与远程仓库的状态完成。 3. **检出逻辑**: 提供多种检出策略选项,例如更新现有工作目录或完全重新检出项目源码。这些行为可以通过插件参数进行调整以适应不同需求场景。 4. **并发处理**: 鉴于敏捷开发环境中频繁的小规模提交特性,在多节点分布式环境下运行的任务可能同时访问同一份资源文件夹;为此,SubversionSCM 设计有锁机制防止冲突发生。 ```java public class SubversionSCM extends SCM { private final List<Location> locations; @Override public CheckoutStrategy getCheckoutStrategy() { return new DefaultCheckoutStrategy(); } @Override protected void buildEnvironment(AbstractBuild<?, ?> build) throws IOException, InterruptedException { // Implementation details omitted. } } ``` 上述代码片段展示了部分核心组件如何被封装到子类中去执行特定功能操作。 ### 总结 总之,`hudson.scm.SubversionSCM` 是基于通用接口定制而成的一个专用解决方案,旨在无缝衔接持续集成流程同 Subversion 工具链之间交互协作过程。这种紧密耦合不仅简化了开发者日常维护负担还提升了整体效率水平。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值