ddtrace Ruby gem 从 Ruby 2.5.8 升级到 2.6.6

如何解决ddtrace Ruby gem 从 Ruby 2.5.8 升级到 2.6.6

我正在将 Ruby 版本从 2.5 升级到 2.6,这是一个有点旧的应用程序。我们有一个通过 gitlab 部署到 kubernetes 的部署管道设置。

主要问题似乎是尝试与其他服务建立 TCP 连接,datadog(通过 ddtrace gem)是目前弹出的一个,AWS 连接也发生了非常相似的错误错误的相似性是:

undefined method `<=' for 1024..65535:Range Did you mean? <=>

我已经粘贴了下面 k8s pod 日志中的相关片段。我非常感谢任何有关在哪里查看以及提前尝试什么方面的帮助和建议。

E,[2021-06-29T18:22:14.438315 #1] ERROR -- ddtrace: [ddtrace] (/app/vendor/bundle/ruby/2.6.0/gems/ddtrace-0.50.0/lib/ddtrace/transport/http/client.rb:35:in `rescue in send_request') Internal error during HTTP transport request. Cause: Failed to open TCP connection to {dd_host_url}:8126 (undefined method `<=' for 1024..65535:Range
Did you mean?  <=>) Location: /usr/local/lib/ruby/2.6.0/net/http.rb:949:in `rescue in block in connect'

[1] * Listening on http://0.0.0.0:3000
[1] ! WARNING: Detected 3 Thread(s) started in app boot:
[1] ! #<Thread:0x00007fafb759a5d8@/app/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:299 sleep> - /app/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:301:in `sleep'
[1] ! #<Thread:0x00007fafadf70d78@/app/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:299 sleep> - /app/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:301:in `sleep'
[1] ! #<Thread:0x00007fafaa9343e0@Datadog::Workers::AsyncTransport@/app/vendor/bundle/ruby/2.6.0/gems/ddtrace-0.50.0/lib/ddtrace/workers.rb:73 sleep> - /app/vendor/bundle/ruby/2.6.0/gems/ddtrace-0.50.0/lib/ddtrace/workers.rb:116:in `sleep'
[1] Use Ctrl-C to stop
[1] - Worker 0 (PID: 35) booted in 0.01s,phase: 0
[1] - Worker 1 (PID: 42) booted in 0.0s,phase: 0
{"level":"ERROR","timestamp":"2021-06-29T18:23:31+00:00","application":"Community","environment":"production","message":"[f752a10a-09a0-47a8-9c2d-6e96e081b877] Failure in PriorityRedirector.matches? (0x3fd7d4314d7c) \nRecorded at /app/app/models/redirector.rb:104:in `rescue in matches?'\nin routes\nNoMethodError:undefined method `\u003c=' for 1024..65535:Range\nDid you mean?  \u003c=\u003e\napp/models/priority_redirector.rb:8:in `all_rules'\napp/models/redirector.rb:72:in `matching_path'\napp/models/redirector.rb:102:in `matches?'\nlib/spiceworks/reject_browser_prefetch.rb:34:in `call'\nlib/error_monitor.rb:16:in `call'"}
{"level":"ERROR","application":"app_name","message":"[f752a10a-09a0-47a8-9c2d-6e96e081b877] Failure in Cms::Page.matches? (0x3fd7dabbbc54) \nRecorded at /app/engines/cms/app/models/cms/page.rb:518:in `rescue in matches?'\nin routes\nNoMethodError:undefined method `\u003c=' for 1024..65535:Range\nDid you mean?  \u003c=\u003e\nengines/cms/app/models/cms/page.rb:506:in `published_routes'\nengines/cms/app/models/cms/page.rb:516:in `matches?'\nlib/service/reject_browser_prefetch.rb:34:in `call'\nlib/error_monitor.rb:16:in `call'"}
{"level":"FATAL","message":"[f752a10a-09a0-47a8-9c2d-6e96e081b877]   "}
{"level":"FATAL","message":"[f752a10a-09a0-47a8-9c2d-6e96e081b877] NoMethodError (Failed to open TCP connection to aws.sqs.endpoint:443 (undefined method `\u003c=' for 1024..65535:Range\nDid you mean?  \u003c=\u003e)):"}
{"level":"FATAL","message":"[f752a10a-09a0-47a8-9c2d-6e96e081b877] lib/mail_service/aws_sqs_connection.rb:40:in `get_queue_url'\n[f752a10a-09a0-47a8-9c2d-6e96e081b877] lib/mail_service/aws_sqs_connection.rb:32:in `connected?'\n[f752a10a-09a0-47a8-9c2d-6e96e081b877] app/controllers/health_controller.rb:23:in `index'\n[f752a10a-09a0-47a8-9c2d-6e96e081b877] lib/service/reject_browser_prefetch.rb:34:in `call'\n[f752a10a-09a0-47a8-9c2d-6e96e081b877] lib/error_monitor.rb:16:in `call'"}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?