Query alerts: parseEventTime and parseTime return null on ClickHouse ISO timestamps with timezone suffixes

Đang mở Phù hợp với người mới
#5,072 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

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ó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
83/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
nextjs, typescript
Lĩnh vực
backend, databases

Hướng nghiên cứu

Đọc apps/webapp/app/v3/services/alerts/clickhouseDateTime.ts và so sánh cách dùng trong alertSeries.server.ts và healthQuerySeries.server.ts với parseEventTime trong productionEvaluateBinding.server.ts và parseTime trong previewQuery.server.ts. Kiểm tra cách parser hiện có xử lý dấu thời gian ISO có Z hoặc độ lệch số. Công việc được xem là hoàn tất khi cả hai đường xử lý được các dấu thời gian đó mà không trả về ngày không hợp lệ.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Hey! While looking through the query alerts evaluation service on main (commit c5b123d), I noticed alertSeries.server.ts and healthQuerySeries.server.ts use parseClickhouseDateTime (apps/webapp/app/v3/services/alerts/clickhouseDateTime.ts) to handle ClickHouse DateTime/DateTime64 strings that already include a Z or numeric offset. However, parseEventTime in apps/webapp/app/v3/services/alerts/engine/productionEvaluateBinding.server.ts (line 176) and parseTime in apps/webapp/app/v3/services/alerts/previewQuery.server.ts (line 68) still construct new Date(${value.replace(" ", "T")}Z) directly.

When ClickHouse returns an ISO timestamp that already has a Z or offset suffix, appending "Z" produces an invalid date and parseEventTime returns null, which leaves lastTime as null in runMatch (lines 129-153) so the match cursor doesn't advance. Should both of those call parseClickhouseDateTime too? Happy to open a quick PR if you want!

Ngôn ngữ chính
TypeScript
Star
16.5k
Fork
1.5k
Merge trung bình
1 ngày 15 giờ
Pull request đã merge (30 ngày)
17

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của triggerdotdev/trigger.dev

Tất cả issue của triggerdotdev/trigger.dev

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.