Dev mode: `/cubejs-api/v1/meta` hangs indefinitely on any data model edit made after a query has run (regression in 1.7, works in 1.6)
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 48/100
Hướng nghiên cứu
Tái hiện chuỗi thông qua /cubejs-api/v1/meta và /cubejs-api/v1/load: chạy một query, chỉnh sửa model, sau đó yêu cầu metadata; so sánh Cube v1.7 với v1.6. Kiểm tra chu kỳ refresh và log “Previous interval” lặp lại trong khi bị treo. Hoàn thành khi /v1/meta trả về model đã được biên dịch lại sau chu kỳ query rồi chỉnh sửa mà không cần khởi động lại.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
In development mode, editing a data model file causes /cubejs-api/v1/meta to block forever — but only if a query has been executed since startup. The Playground sits on "Loading meta information..." permanently. Only a restart clears it.
Both conditions are required, which makes it look intermittent.
Reproduction
- Start Cube in dev mode with a single cube (
sql_table, a few dimensions, acountmeasure). - Wait for
/cubejs-api/v1/metato return 200. - Run any query via
/cubejs-api/v1/load. - Make any content change to the model file — appending a comment line is enough.
- Request
/cubejs-api/v1/meta.
Expected: meta returns the recompiled model.
Actual: the request never returns.
Isolation
| sequence | /v1/meta result |
|---|---|
| edit model, no query run since startup | 200 in 0.8s |
| query only, no edit | 200 in 0.009s |
| query, then edit model | hangs indefinitely |
Additional observations during the hang:
- Container CPU ~1%, so it is not a spin loop.
/playground/filesand/playground/contextstill respond in ~15ms, so the event loop is not blocked.- No SQL is issued for the pending refresh cycle; logs show
Previous interval #N was not finished with 30000 intervalrepeating. - It never recovers. Observed still hanging after several minutes.
touchon the model file (mtime only, no content change) does not trigger it.
Versions
| image | result |
|---|---|
cubejs/cube:v1.6.72-jdk |
works — repeated query→edit cycles reload in ~0.7s |
cubejs/cube:v1.7.0-jdk |
hangs |
cubejs/cube:v1.7.19-jdk |
hangs |
cubejs/cube:v1.7.25-jdk |
hangs |
v1.7.0 is already affected, so this appears to span the entire 1.7 line rather than being a late regression.
Ruled out
None of these changed the behaviour:
- Moving Cube Store's data off the Docker bind mount (mounting only
model/rather than the project root) CUBEJS_TRANSPILATION_WORKER_THREADS=falseCUBEJS_SCHEDULED_REFRESH_TIMER=falsetogether withCUBEJS_REFRESH_WORKER=false- An explicit cube-level
refresh_keywith a longevery CUBEJS_CACHE_AND_QUEUE_DRIVER=memoryCUBEJS_DB_MAX_POOL=20withCUBEJS_CONCURRENCY=4sql:instead ofsql_table:
Environment
- Docker image
cubejs/cube:<version>-jdk,platform: linux/amd64on Apple Silicon (Docker Desktop, macOS) CUBEJS_DEV_MODE=true- Driver:
databricks-jdbc
Caveat
Reproduced only against databricks-jdbc, where each query takes ~5–9s. I have not verified whether a fast-responding driver also reproduces it, so query duration may be a factor.
- Ngôn ngữ chính
- Rust
- Star
- 20.9k
- Fork
- 2.1k
- Merge trung bình
- 1 ngày 13 giờ
- Pull request đã merge (30 ngày)
- 224
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
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 cube-js/cube
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
cube-js/cube#11973 · 2 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
cube-js/cube#11908 · 1 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
Maintainer thường phản hồi trong vòng 1 ngày
Issue tương tự
-
agent:triaged bug bughunt pm:npm priority:p1
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
SocketDev/socket-patch#464 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
Maintainer thường phản hồi trong vòng 3 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
stellar/stellar-cli#2773 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày