graphprotocol / graphprotocol/graph-node
Add exponentional back-off algorithm and addtional error reporting for firehose/stubstreams connections
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Rust
- Star
- 3.2k
- Fork
- 1.1k
- Merge trung bình
- 4 ngày 1 giờ
- Pull request đã merge (30 ngày)
- 1
Mô tả
Do you want to request a feature or report a bug?
bug
What is the current behavior?
When there is an error (eg timeout) on firehose, graph-node waits 2 minutes and then tries again. If the error happens again, it again waits 2 minutes, and so on. If the error is due to software, then this just keeps load on the firehose server forever.
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem.
There was error in firehose code that demonstrates this problem. The problem has since been fixed in firehose, but can reproduced using the old version. Basically can reproduced by simply having firehose never return any data and drop the connection after a while.
What is the expected behavior?
graph-node to have an exponential retry algorithm (eg 30s, 1m, 2m, 4m, 8m, 16m) instead of the hard-coded 2min.
Additionally there the prometheus exporter in graph-node should be improved to report connections retry interval (so alerts can be generated on problem connections)
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.
Hướng nghiên cứu
Bắt đầu từ phần xử lý thử kết nối lại của graph-node với firehose/stubstreams và Prometheus exporter. Tái hiện trường hợp mất kết nối/không có dữ liệu đã mô tả, sau đó lần theo thời gian chờ cố định hiện tại là hai phút và các metric kết nối hiện có. Công việc được xem là hoàn tất khi các lần thử lại sử dụng khoảng thời gian tăng dần và exporter cung cấp thông tin về khoảng thời gian thử lại phù hợp cho cảnh báo.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- prometheus, rust
- Lĩnh vực
- backend, networking, observability
- 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
- Khá rõ ràng
- Mức phù hợp với người mới
- 38/100