[BUG] `GET /channels/{channelId}/statistics` intermittently returns 500 during undeploy of an unrelated channel
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 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時間
- マージ済み PR(30日)
- 15
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- 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)対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンtype: bug
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
carlos-emr/carlos#4933 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
apache/rocketmq-dashboard#6925 ·
メンテナーはふだん 3 日以内に返信