mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 09:22:44 +00:00
Merge pull request #32831 from hongchaodeng/deb
Automatic merge from submit-queue etcd3/watcher: logging error To debug #32770 If error happened, the watcher might just stop/exit silently.
This commit is contained in:
commit
0d8db69660
@ -158,6 +158,7 @@ func (wc *watchChan) sync() error {
|
|||||||
func (wc *watchChan) startWatching() {
|
func (wc *watchChan) startWatching() {
|
||||||
if wc.initialRev == 0 {
|
if wc.initialRev == 0 {
|
||||||
if err := wc.sync(); err != nil {
|
if err := wc.sync(); err != nil {
|
||||||
|
glog.Errorf("failed to sync with latest state: %v", err)
|
||||||
wc.sendError(err)
|
wc.sendError(err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -169,8 +170,10 @@ func (wc *watchChan) startWatching() {
|
|||||||
wch := wc.watcher.client.Watch(wc.ctx, wc.key, opts...)
|
wch := wc.watcher.client.Watch(wc.ctx, wc.key, opts...)
|
||||||
for wres := range wch {
|
for wres := range wch {
|
||||||
if wres.Err() != nil {
|
if wres.Err() != nil {
|
||||||
|
err := wres.Err()
|
||||||
// If there is an error on server (e.g. compaction), the channel will return it before closed.
|
// If there is an error on server (e.g. compaction), the channel will return it before closed.
|
||||||
wc.sendError(wres.Err())
|
glog.Errorf("watch chan error: %v", err)
|
||||||
|
wc.sendError(err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
for _, e := range wres.Events {
|
for _, e := range wres.Events {
|
||||||
@ -219,6 +222,7 @@ func (wc *watchChan) processEvent(wg *sync.WaitGroup) {
|
|||||||
func (wc *watchChan) transform(e *event) (res *watch.Event) {
|
func (wc *watchChan) transform(e *event) (res *watch.Event) {
|
||||||
curObj, oldObj, err := prepareObjs(wc.ctx, e, wc.watcher.client, wc.watcher.codec, wc.watcher.versioner)
|
curObj, oldObj, err := prepareObjs(wc.ctx, e, wc.watcher.client, wc.watcher.codec, wc.watcher.versioner)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
glog.Errorf("failed to prepare current and previous objects: %v", err)
|
||||||
wc.sendError(err)
|
wc.sendError(err)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user