mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	Log mvcc revision compaction as warning
This commit is contained in:
		@@ -191,6 +191,15 @@ func (wc *watchChan) sync() error {
 | 
				
			|||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// logWatchChannelErr checks whether the error is about mvcc revision compaction which is regarded as warning
 | 
				
			||||||
 | 
					func logWatchChannelErr(err error) {
 | 
				
			||||||
 | 
						if !strings.Contains(err.Error(), "mvcc: required revision has been compacted") {
 | 
				
			||||||
 | 
							klog.Errorf("watch chan error: %v", err)
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							klog.Warningf("watch chan error: %v", err)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// startWatching does:
 | 
					// startWatching does:
 | 
				
			||||||
// - get current objects if initialRev=0; set initialRev to current rev
 | 
					// - get current objects if initialRev=0; set initialRev to current rev
 | 
				
			||||||
// - watch on given key and send events to process.
 | 
					// - watch on given key and send events to process.
 | 
				
			||||||
@@ -211,14 +220,14 @@ func (wc *watchChan) startWatching(watchClosedCh chan struct{}) {
 | 
				
			|||||||
		if wres.Err() != nil {
 | 
							if wres.Err() != nil {
 | 
				
			||||||
			err := wres.Err()
 | 
								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.
 | 
				
			||||||
			klog.Errorf("watch chan error: %v", err)
 | 
								logWatchChannelErr(err)
 | 
				
			||||||
			wc.sendError(err)
 | 
								wc.sendError(err)
 | 
				
			||||||
			return
 | 
								return
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		for _, e := range wres.Events {
 | 
							for _, e := range wres.Events {
 | 
				
			||||||
			parsedEvent, err := parseEvent(e)
 | 
								parsedEvent, err := parseEvent(e)
 | 
				
			||||||
			if err != nil {
 | 
								if err != nil {
 | 
				
			||||||
				klog.Errorf("watch chan error: %v", err)
 | 
									logWatchChannelErr(err)
 | 
				
			||||||
				wc.sendError(err)
 | 
									wc.sendError(err)
 | 
				
			||||||
				return
 | 
									return
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user