channable / channable/opsqueue

CI keeps failing due to timeout

Đã đóng
#20 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
bug
Ngôn ngữ chính
Rust
Star
96
Fork
2
Merge trung bình
1 giờ 2 phút
Pull request đã merge (30 ngày)
2

Mô tả

When i open a PR, i often have to run the job a couple of times before it completes in time.

We've had issues before with our integration tests being flaky and becoming deadlocked indefinitely. #6 introduced the 20 second timeout for integration tests, so they fail more quickly once they become deadlocked.

It's also difficult to see what exactly causes the failure. A first step towards resolving this issue could be to see what we can do to improve the output that we get when a test times out on CI, because at time of writing this is just a massive stack trace with mostly callsites originating from pytest plugins and the like.

Either the time-out is just too short for CI, or we're still getting deadlocks. So far, i've not been able to really reproduce any deadlocks by running the tests locally. We could try to relax that timeout a bit more, but not by too much. As the comment above the timeout configuration states, we're already being quite generous with our time limit.

**Examples**

The last four PRs have all seen at least one failure of the integration tests due to it exceeding the time limit:

- #19
- [failed push](https://channable.semaphoreci.com/workflows/56fef772-2c93-4009-a632-fa1b51fe5aa4)
- #18
- [failed push](https://channable.semaphoreci.com/jobs/ef466f0d-4f1c-4e1c-9e8f-883d47d118c5)
- [failed re-run](https://channable.semaphoreci.com/jobs/c496f290-f42b-46ea-9605-13204f6fcae5)
- #17
- [failed push](https://channable.semaphoreci.com/jobs/ed000520-408d-4222-a674-02833521bdf9)
- #16
- [failed merge by Hoff](https://github.com/channable/opsqueue/pull/16#issuecomment-3376018058)

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

Hướng nghiên cứu

Bắt đầu với cấu hình timeout của integration test được tham chiếu trong issue và kiểm tra các CI job được liên kết cho các PR #16–#19. So sánh output của timeout với các lần chạy cục bộ để xác định liệu các lỗi có chỉ ra deadlock hay giới hạn CI không đủ hay không. Hoàn thành khi đã xác định được nguyên nhân và các lỗi timeout tạo ra output có thể hành động hoặc đã thực hiện điều chỉnh timeout có căn cứ.

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

Đánh giá

Công nghệ
rust
Lĩnh vực
ci-cd, testing
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
35/100

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.