code: func (c *CacheComparer) Compare() error {
  	klog.V(3).Info("cache comparer started")
  	defer klog.V(3).Info("cache comparer finished")
  
  	nodes, err := c.NodeLister.List(labels.Everything())
  	if err != nil {
  		return err
  	}
  
  	pods, err := c.PodLister.List(labels.Everything())
  	if err != nil {
  		return err
  	}
  
  	snapshot := c.Cache.Snapshot()
  
  	pendingPods := c.PodQueue.PendingPods()
  
  	if missed, redundant := c.CompareNodes(nodes, snapshot.Nodes); len(missed)+len(redundant) != 0 {
  		klog.Warningf("cache mismatch: missed nodes: %s; redundant nodes: %s", missed, redundant)
  	}
  
  	if missed, redundant := c.ComparePods(pods, pendingPods, snapshot.Nodes); len(missed)+len(redundant) != 0 {
  		klog.Warningf("cache mismatch: missed pods: %s; redundant pods: %s", missed, redundant)
  	}
  
  	return nil
  }
docs: // Compare compares the nodes and pods of NodeLister with Cache.Snapshot.