R2DBC-这可能是导致不可预测结果的错误

发布于 2025-01-23 14:10:44 字数 594 浏览 5 评论 0原文

我们使用spring-data-r2dbc:1.3.2dev.miku:r2dbc-mysql:0.8.2.release并在生产中遇到一个奇怪的问题。

我们不了解什么是根本原因,以及它是可恢复的还是可以真正产生不可预测的结果(如日志所建议的)。

我们定期看到错误日志如下:

  • logger:dev.miku.r2dbc.mysql.client.reaeactornettyclient
  • 级别:错误
  • 消息:Exchange已取消交换处于Actection Active。这可能是 导致不可预测结果的错误。

我们每天看到几次,这使我们感到紧张,因为它明确指出:这可能导致不可预测的结果

我们在日志中没有获得任何其他信息。

一些问题:

  1. 它真的很危险还是我们可以将其视为警告?
  2. 我们如何调试它以了解其原因?
  3. 从源代码中,我们可以看到它假设如果未完成,交换请求将无法取消,并将这种情况视为错误。有意义吗?如果由于“连接下降”或任何其他原因取消了反应流,该怎么办?

We use spring-data-r2dbc:1.3.2 and dev.miku:r2dbc-mysql:0.8.2.RELEASE and experience a strange issue in production.

We don't understand what is the root cause and whether it is a recoverable or can really create unpredictable outcome (as the log suggests).

Periodically, we see error log as following:

  • logger: dev.miku.r2dbc.mysql.client.ReactorNettyClient
  • level: ERROR
  • message: Exchange cancelled while exchange is active. This is likely
    a bug leading to unpredictable outcome.

We see it a few times a day and it makes us nervous since it explicitly states: This is likely a bug leading to unpredictable outcome

We do not get any additional info in the log.

A few questions:

  1. Is it really dangerous or can we consider it as a warning?
  2. How do we debug it in order to understand its cause?
  3. From the source code we could see that it assumes that exchange request cannot be cancelled if it was not completed and consider this situation as a BUG. Does it make sense? What if reactive stream was cancelled due to 'connection drop' or any other reason?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文