背景:我安装了一个具有数十个构建配置的TeamCity。其中许多构建配置部署到相同的服务器上。为了缓解冲突,我使用TeamCity的共享资源特性来控制这些构建的运行方式。部署到一个特定服务器的所有构建都需要同一个共享资源的写锁;因此,它们不会尝试同时部署到同一台服务器。
整个周末,由于停电,我们遭遇了严重的事故。崩溃发生时,一个在共享资源上有写锁的构建正在运行。现在看来,写锁从未被释放。使用共享资源的构建没有一个能够运行--它们都只是排队。如果我禁用了资源,然后重新启用它,构建将运行,但是下一次它只会再次排队。
我真的不想删除和重新创建这些共享资源;每个资源都被6-9构建配置所使用,重新分配它们将是一个非常棘手的问题。如何清除未释放的写锁?
发布于 2014-05-05 22:09:39
尼克,共享资源锁定状态是在运行时确定的,并且不存储在任何地方。因此,如果存在需要写锁的挂起构建,这可能会导致描述的行为。在这种情况下,您应该检查挂起的构建并强制终止它们,以便释放锁。
此外,TW-36042 8.1.2中存在一个问题,它导致具有无限配额的资源错误地使用写锁操作。如果您的行为与问题中的行为匹配--解决办法(在8.1.3更新之前)是将无限资源转换为具有指定配额的资源
https://stackoverflow.com/questions/23476359
复制相似问题