Preserve SQLite aggregate counters when fingerprint series admission fails
メンテナーはふだん 1 日以内に返信
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 48/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- prometheus, rust, sqlite
調査の方向性
まず、SQLite profiling の fingerprint admission、共有 Prometheus series-budget reservation、other fallback を追跡します。両方の reservation が失敗する場合のカバレッジを追加し、その後、fingerprint_overflow_total が引き続き attribution loss を報告する一方で、正確な集約 operation/outcome counts が引き続き利用可能であることを確認します。
索引モデルが issue の本文から書いたものです。
説明
Feifan Zhou found this while operating RivetKit 2.3.15 with native SQLite profiling enabled.
Problem
Fingerprint admission and the other fallback use the same shared Prometheus series budget. If the budget can reserve the base tuple but cannot reserve a statement or transaction tuple, RivetKit increments rivetkit_sqlite_fingerprint_overflow_total{reason="series_budget"}, retries with other, and then drops the full profile when that reservation also fails. The operation/outcome counters are part of the fingerprint tuple, so exact aggregate counts are unavailable precisely when fingerprint attribution is exhausted.
A minimal example is a process with a 1,000-series budget. One actor/transport base tuple reserves 891 series. A statement tuple requires 147 more series, so neither the selected fingerprint nor its other fallback can be admitted. Overflow reports the attribution loss, but aggregate operation/outcome counts are also lost.
Request
Please either:
- pre-reserve
otheraggregation tuples for the expected operation type, fingerprint source, transaction mode, and storage transport combinations; or - provide fingerprint-free aggregate operation/outcome counters that do not depend on fingerprint tuple admission.
Acceptance criteria
- Exact aggregate operation/outcome counts remain available when fingerprint admission fails.
fingerprint_overflow_totalcontinues to report attribution loss.- Tests cover the case where the selected fingerprint reservation and the current fallback reservation both fail.
- 主要言語
- Rust
- スター
- 6.3k
- フォーク
- 271
- 平均マージ
- 2日 16時間
- マージ済み PR(30日)
- 89
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
rivet-dev/rivet のほかの issue
-
Rust client drops connection-level errors when actionId is null (JSON/CBOR)対応中かも @DibbayajyotiRoy が 6 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
rivet-dev/rivet#5819 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Queue docs say completable messages are removed on receive, but they stay stored until complete()対応中かも @Saisharathchandranandnetha が 16 日前に担当しました。 オープン
難易度 1/5 1〜3時間 初心者へのやさしさ 91/100
rivet-dev/rivet#5762 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Serverless listener forwards /start to the application when basePath is "/"対応中かも @Saisharathchandranandnetha が 19 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 90/100
rivet-dev/rivet#5755 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
rivet-dev/rivet#5850 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
rivet-dev/rivet#5837 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
rivet-dev/rivet の issue をすべて見る
似ている issue
-
mxl-compile: пример заполнения ячеек отклоняется Unica対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 1/5 1〜3時間 初心者へのやさしさ 91/100
IngvarConsulting/unica#1301 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 75/100
ajeetraina/awesome-docker-sbx#220 ·
-
`helios / deploy`: switch zone wait in `deploy.sh` has almost no headroom over healthy startup times対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンTest Flake
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
oxidecomputer/omicron#11453 ·
メンテナーはふだん 1 日以内に返信