Shared persistent server-side state
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 30/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- helm, postgresql, typescript
Hướng nghiên cứu
Bắt đầu bằng cách đọc src/lib/server/trino/user-clients.ts, src/lib/server/auth.ts, src/lib/server/trino/queries.ts và src/routes/healthz/+server.ts, sau đó kiểm tra values.yaml và các probe của Helm. Quyết định một backing store đáp ứng cả bốn consumer và định nghĩa hành vi của replicaCount. Hoàn thành khi trạng thái dùng chung vẫn tồn tại qua các lần khởi động lại và giữa các replica, /healthz và /readyz có các kiểm tra riêng biệt, và các probe được cập nhật.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Epic: Shared persistent server-side state
All server-side state is held in process-local Maps, so the deployment is capped at one replica and a restart drops everything.
Part of this is already tackled in the ongoing FileBrowser PRs.
[!NOTE]
This text is AI generated against our normal policy because it is migrated from another place, when we tackle this for real it needs to be properly rewritten
Four places:
- Trino connection config —
src/lib/server/trino/user-clients.ts:18,
new Map<string, UserEntry>(). Per-user URL and credentials. - Sessions and users —
src/lib/server/auth.ts.betterAuth()is called without a
databaseoption, so it uses the built-in memory adapter. - Query state —
src/lib/server/trino/queries.ts:76,79. Progress, rows, status and
per-tab access times. - Readiness —
src/routes/healthz/+server.ts. Liveness and readiness both point at
/healthz, which always returns 200.
What this costs
replicaCountis a plain user-settable chart value (values.yaml:4, documented as
"Number of replicas") with nothing stopping someone setting it to 2. At two replicas
users are logged out at random, a query started on one pod is invisible to the other,
and a saved connection only exists on the pod that received it.- A restart orphans running queries in Trino, loses completed results, and logs everyone out.
- A readiness probe has nothing meaningful to check, so
/readyzwould be a placeholder
until a backing store exists.
Scope
- Pick a backing store and wire all four consumers to it. #41 proposes PostgreSQL for
better-auth; whatever is chosen should cover all four rather than solving them separately. - Split
/healthz(liveness, trivial) and/readyz(readiness, checks the store), and
update the Helm probes. - Decide what
replicaCount > 1does until then: document the constraint, or make the
chart reject it.
Out of scope
- Persisting completed query results beyond their TTL (
STACKABLE_COCKPIT_QUERY_TTL, default 1800s). Separate question. - S3 credentials in
localStorage(#306). Client-side, different problem.
- Ngôn ngữ chính
- TypeScript
- Star
- 1
- Fork
- 0
- Merge trung bình
- 22 giờ 6 phút
- Pull request đã merge (30 ngày)
- 12
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của stackabletech/cockpit
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
stackabletech/cockpit#312 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
stackabletech/cockpit#224 ·
-
Remove unused dependencies Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 78/100
stackabletech/cockpit#101 ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
stackabletech/cockpit#313 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
stackabletech/cockpit#309 ·
Tất cả issue của stackabletech/cockpit
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
copse-dev/agent-pane#2953 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
[Bug]: Matrix progress drafts fail with "Matrix runtime not initialized" during tool activity Đang mởbug clawsweeper:linked-pr-open clawsweeper:needs-live-repro clawsweeper:no-new-fix-pr impact:message-loss issue-rating: 🐚 platinum hermit P2 regression
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
Client support matrix inclusion Đang mởenhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
-
calcite-components needs triage refactor
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Esri/calcite-design-system#15203 ·