Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Manage resourceVersion to allow resilient restart of watch method

Đang mở
#2,223 2 bình luận 2 reaction 2 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 3 ngày

@brendandburns đang làm issue này rồi.

Từ ngày 3/3/2026.

Đánh giá

Issue này chưa được đánh giá.

Mô tả

help wanted kind/feature

What is the feature and why do you need it:

We are using the method stream of object Watch https://github.com/kubernetes-client/python/blob/94e42113a1fe5c580917decacdde879eab7406b3/kubernetes/base/watch/watch.py#L129.

Let say i use this method with v1.list_namespace with no timeout specified (https://github.com/kubernetes-client/python/blob/master/examples/watch/timeout-settings.md) then we see that:

  • with no resourceVersion and timeout specified, the stream atfirst list all namespaces as 'ADDED' event the namespace are alphatically ordered.
  • then the stream wait for event with a self.resource_version probably quite old
  • we then hit a server timeout default kubernetes specified in the previous link between 30min and 1h then the watch and hit a 410.
  • we need then to restart the stream

If during the 30min 1 hour period a namespace is created then the watch store a more recent resourceVersion and then the 410 is reached quite further in the time (probably depending of the history or activity on the cluster).

Describe the solution you'd like to see:

From our test the good resourceVersion to plan a restart is not the resourceVersion of the last event seen but the resourceVersion available in the metadata in the func argument of the stream metdhod func .

In the response there is a metadata.resourceVersion given by kubernetes that allow to restart the stream from this resourceVersion that generate no error.

Not sure if this metadata is available on all func method.

It's quite hard to understand how to use the watch method in the api if we want to maintain a daemon program with no error.
With a no resourceVersion and no timeout specified everyone should now that there is this kind of problem due to the self.resourceVersion storage

Ngôn ngữ chính
Python
Star
7.7k
Fork
3.5k
Merge trung bình
3 ngày 4 giờ
Pull request đã merge (30 ngày)
9

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

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 kubernetes-client/python

Tất cả issue của kubernetes-client/python

Issue tương tự

Thêm issue về Python

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.