Jenkins 在构建和构建后之间挂起

2024-02-22

将 Jenkins 更新到版本 2.156(从版本 1.6)后,我们的一些构建作业在完成后和进行构建后操作之前会陷入困境。作业本身会在 5 分钟内完成(与之前相同),然后挂起 5-10 分钟,然后再继续。

我设法将其范围缩小到:

"Executor #10 for master : executing 03_masa #4390" Id=34464 Group=main TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at hudson.util.ProcessTree$WindowsOSProcess.killSoftly(ProcessTree.java:560)
    at hudson.util.ProcessTree$WindowsOSProcess.killRecursively(ProcessTree.java:520)
    at hudson.util.ProcessTree$Windows.killAll(ProcessTree.java:666)
    at hudson.Launcher$LocalLauncher.kill(Launcher.java:955)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:510)
    at hudson.model.Run.execute(Run.java:1810)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:97)
    at hudson.model.Executor.run(Executor.java:429)

参考代码可以找到here https://github.com/jenkinsci/jenkins/blob/jenkins-2.156/core/src/main/java/hudson/util/ProcessTree.java#L560(自版本 2.141 以来存在)。

线程转储 #1 https://hastebin.com/votipirotu.rb, 线程转储 #2 https://hastebin.com/ubiqarowem.rb

我们能做点什么吗?


2.141 引入了 2 分钟的进程终止等待时间(看起来与构建期间创建的进程数成倍增加)

https://github.com/jenkinsci/jenkins/commit/d8eac92ee9a1c19bf145763589f1c152607bf3ed https://github.com/jenkinsci/jenkins/commit/d8eac92ee9a1c19bf145763589f1c152607bf3ed

不确定为什么killSoftly不起作用,但你可以配置超时

在你的 jenkins.xml 中你可以将其添加到你的/service/arguments元素(在 -jar 之前)如下所示:

-DSoftKillWaitSeconds=0

执行此操作并重新启动 jenkins 后,您应该能够在下面找到您的 SoftKillWaitSeconds 设置/systemInfo

并且您的构建时间应该恢复正常

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jenkins 在构建和构建后之间挂起 的相关文章

随机推荐

  • 如何将 BeautifulSoup.ResultSet 转换为字符串

    所以我解析了一个html页面 findAll BeautifulSoup 到名为变量result 如果我输入result在 Python shell 中然后按 Enter 我看到了预期的普通文本 但是当我想将此结果作为字符串对象进行后处理时
  • Laravel 连接 3 个表

    我正在构建一个类似 Twitter 的应用程序 有一个提要 我只想在其中显示我关注的用户的帖子 我尝试了所有连接 但似乎没有任何效果 我有3张桌子 Users Followers Shares 表格如下所示 Users id 追随者 use
  • 您可以将注释目标限制为某个类的子类吗?

    您能否限制注释的目标必须属于某个类 我想创建一个新的验证约束来限制上传的文件类型 约束注释只能出现在 MultipartFile 属性上 而不能出现在 String 或类似的属性上 我该如何限制这个 不在编译时 可用于注释放置的唯一限制是元
  • win7下通过命令行刷新壁纸

    我想从命令行刷新 Windows 7 中的壁纸 我正在通过设置壁纸reg exe add rundll32 exe user32 dll UpdatePerUserSystemParameters不起作用 与1 True or 1 Fals
  • 如何创建所有位都 = 1 的 long 值

    我尝试了以下方法 public static final long DEVICE ID UNKNOWN 0xFFFFFFFFFFFFFFFF 但这会导致 The literal 0xFFFFFFFFFFFFFFFF of type int
  • 如何在 C# 中使用 LINQ 比较两个 List

    这两个列表就像 LISTONE ONE TWO THREE LISTTWO ONE TWO THREE 我需要比较两个列表中的项目是否按相同顺序排列 有没有办法在 LINQ 中做到这一点 Maybe bool equal collectio
  • 如何在Unity3D中为Android启用多dex选项?

    在使用 Unity 构建时 我收到错误 trouble writing output Too many method references 78849 max is 65536 You may try using multi dex opt
  • 使用 Django Rest Framework 进行非用户连接的自定义身份验证

    我已使用 TokenAuthentication 通过 DRF 启用用户身份验证 REST FRAMEWORK DEFAULT AUTHENTICATION CLASSES rest framework authentication Tok
  • API 调用后有状态小部件上的抖动计时问题

    我遇到了计时问题 我从 api 获取数据 然后从 JSON 创建列表 我认为使用结果列表的长度作为列表视图中的项目计数 但是 它会在 itemcount 上引发空错误 然后完成处理并呈现列表视图 我试图找到计时问题出在哪里以及如何处理项目和
  • 我如何知道“程序集”是否真的发生了变化?

    我在 VS2005 中创建了一个简单的 Hello World 应用程序 这是一个简单的控制台应用程序 它只包含以下几行 Console WriteLine Hello World Console ReadLine 当我尝试在不执行任何更改
  • PBEKeySpec iterationCount 和 keyLength 参数有何影响?

    深入研究 java 加密和哈希世界 我看到了构造函数的示例PBEKeySpec具有不同值的类iterationCount和keyLength参数 似乎没有什么可以解释这些参数的影响或含义 我假设keyLength是密钥的长度 因此 32 位
  • 我们可以在 C 或 SystemVerilog 中使用 ifdef MACROS 中的条件吗?

    我想要那样的东西 ifdef N O gt N I define GREATER 1 else define LESSER 1 endif 但做不到 有什么解决方案或阅读吗 我很努力地想要做到这一点 但是却做不到 Verilog 不提供这样
  • 链接换行

    我在制表器中有一个充满文本的列 文本显示时带有换行符 title Title field title formatter textarea 当我介绍内置 URL 格式化程序 http tabulator info docs 4 0 form
  • 我的 Ionic 应用程序无法从 Android 模拟器访问我的本地 Node 服务器

    我正在尝试使用 Capacitor 在 Android 模拟器上第一次运行我的 React Ionic 应用程序 该应用程序应使用 Axios 连接到我的本地节点服务器 虽然我的应用程序在模拟器上成功启动 但所有服务器请求都失败了Msg E
  • 如何将 DBContext.Add/Attach(使用 EF Code First 4.1)与嵌套对象结合使用

    问题 将对象 Order 添加到我的 dbcontext 时 该订单的所有嵌套对象都会 读取 到数据库中 尽管嵌套对象是静态数据 并且只应在数据库中添加引用 例子 数据库包含 0 个订单和 3 个项目 我添加了一份包含 2 件商品的订单 现
  • 自动接受用户输入 Windows Batch

    I have a batch file that loads on startup that presents the user with a menu of applications they can choose to load by
  • 如何制作动态 Angular2 管道

    我有以下 UI 按钮 显示全部 类别 1 类别 2 我想用filterBy from ngx pipes https github com danrevah ngx pipes https github com danrevah ngx p
  • 如何从剪贴板粘贴?

    Google Cloud shell 不允许我 粘贴 剪贴板中的内容 我尝试过使用 发送命令 ctrl v 选项 并尝试使用root 我发现它可以与 IE 一起使用 给出一条消息以允许剪贴板访问该页面 但只是一次性的事情 我缺少什么 原来这
  • 记录 Kubernetes 中使用部署部署的 Pod

    我将在下面尝试解释我的问题 使用部署创建一个 Pod 然后使用以下命令对其应用另一个更新kubectl apply f sampledep yaml 如果我们这样做 Pod 名称就会改变kubectl get pods 因此 我们之前的 P
  • Jenkins 在构建和构建后之间挂起

    将 Jenkins 更新到版本 2 156 从版本 1 6 后 我们的一些构建作业在完成后和进行构建后操作之前会陷入困境 作业本身会在 5 分钟内完成 与之前相同 然后挂起 5 10 分钟 然后再继续 我设法将其范围缩小到 Executor