[BUG] `GET /channels/{channelId}/statistics` intermittently returns 500 during undeploy of an unrelated channel
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 38/100
调研方向
The GET /channels/{channelId}/statistics path (and the includeUndeployed variant) currently reads D_MS tables for every channel, so a concurrent undeploy of another channel can drop a table and raise DonkeyDaoException wrapping SQLSyntaxErrorException; serialising that exception then fails and the client only sees a generic 500. Start from the statistics handler and the Donkey DAO that enumerates those tables. Done when a request naming channel A only reads what it needs for A and the two-thread repro no longer 500s.
由索引模型根据 Issue 内容生成。
描述
Repro:
- In one thread, loop: deploy channel B, send a message through it, remove channel B.
- In another thread, loop:
GET /channels/{A}/statistics.GET /channels/statistics?channelId={A}&includeUndeployed=truefails the same way.
Expected:
- A request naming channel A reads only what it needs to answer about channel A.
Actual:
- Each request reads
D_MS<n>for every channel the server knows about, A or not. - Roughly one request in forty fails with HTTP 500 under the loop above.
- The server log shows
DonkeyDaoException: java.sql.SQLSyntaxErrorException: Table/View 'D_MS<n>' does not exist,
for the channel being removed, not for A. - The client sees only
{"message":"Request failed.","status":"500"}, because serialising the
SQLExceptioninto the error response throws as well.
- 主要语言
- Java
- 星标
- 227
- 派生
- 81
- 平均合并
- 3 天 6 小时
- 30 天内合并 PR
- 15
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
OpenIntegrationEngine/engine 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 68/100
OpenIntegrationEngine/engine#485 ·
维护者通常 1 天内回复
-
enhancement
难度 2/5 1-3 小时 新手友好度 62/100
OpenIntegrationEngine/engine#478 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
OpenIntegrationEngine/engine#355 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
OpenIntegrationEngine/engine#347 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
OpenIntegrationEngine/engine#313 ·
维护者通常 1 天内回复
查看 OpenIntegrationEngine/engine 的全部 Issue
相似的 Issue
-
enhancement Improvement
难度 2/5 1-3 小时 新手友好度 76/100
zowe/zowe-client-java-sdk#647 ·
-
NullPointerException when a `DeserializationProblemHandler` returns `null` for `byte[]` (single value unwrapped) and `char[]` elements可能已有人在做 @Marti2203 今天认领。 未关闭
难度 2/5 半天 新手友好度 88/100
FasterXML/jackson-databind#6300 ·
维护者通常 1 天内回复
-
content good first issue
难度 1/5 1 小时以内 新手友好度 95/100
cpinitiative/usaco-guide#6699 ·
维护者通常 1 天内回复
-
BC remittance upload: a claim MSP refused (S03) is saved with a blank status instead of refused (F)可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭type: bug
难度 2/5 1-3 小时 新手友好度 88/100
carlos-emr/carlos#4933 ·
维护者通常 1 天内回复
-
[studio] Data source connection tests leak loading and results across modal sessions可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭bug
难度 2/5 1-3 小时 新手友好度 82/100
apache/rocketmq-dashboard#6925 ·
维护者通常 3 天内回复