Skip to content

Commit 4f1912a

Browse files
committed
Fix missing recursive in consistency check, enable panic on failed check and fix typo in logs
1 parent f8cc9c9 commit 4f1912a

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

staging/src/k8s.io/apiserver/pkg/storage/cacher/delegator.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -352,16 +352,18 @@ func (c consistencyChecker) startChecking(stopCh <-chan struct{}) {
352352
func (c *consistencyChecker) check(ctx context.Context) {
353353
digests, err := c.calculateDigests(ctx)
354354
if err != nil {
355-
klog.ErrorS(err, "Cache consistentency check error", "resource", c.resourcePrefix)
355+
klog.ErrorS(err, "Cache consistency check error", "resource", c.resourcePrefix)
356356
metrics.StorageConsistencyCheckTotal.WithLabelValues(c.resourcePrefix, "error").Inc()
357357
return
358358
}
359359
if digests.CacheDigest == digests.EtcdDigest {
360-
klog.V(3).InfoS("Cache consistentency check passed", "resource", c.resourcePrefix, "resourceVersion", digests.ResourceVersion, "digest", digests.CacheDigest)
360+
klog.V(3).InfoS("Cache consistency check passed", "resource", c.resourcePrefix, "resourceVersion", digests.ResourceVersion, "digest", digests.CacheDigest)
361361
metrics.StorageConsistencyCheckTotal.WithLabelValues(c.resourcePrefix, "success").Inc()
362362
} else {
363-
klog.ErrorS(nil, "Cache consistentency check failed", "resource", c.resourcePrefix, "resourceVersion", digests.ResourceVersion, "etcdDigest", digests.EtcdDigest, "cacheDigest", digests.CacheDigest)
363+
klog.ErrorS(nil, "Cache consistency check failed", "resource", c.resourcePrefix, "resourceVersion", digests.ResourceVersion, "etcdDigest", digests.EtcdDigest, "cacheDigest", digests.CacheDigest)
364364
metrics.StorageConsistencyCheckTotal.WithLabelValues(c.resourcePrefix, "failure").Inc()
365+
// Panic on internal consistency checking enabled only by environment variable. R
366+
panic(fmt.Sprintf("Cache consistency check failed, resource: %q, resourceVersion: %q, etcdDigest: %q, cacheDigest: %q", c.resourcePrefix, digests.ResourceVersion, digests.EtcdDigest, digests.CacheDigest))
365367
}
366368
}
367369

@@ -370,6 +372,7 @@ func (c *consistencyChecker) calculateDigests(ctx context.Context) (*storageDige
370372
return nil, fmt.Errorf("cache is not ready")
371373
}
372374
cacheDigest, resourceVersion, err := c.calculateStoreDigest(ctx, c.cacher, storage.ListOptions{
375+
Recursive: true,
373376
ResourceVersion: "0",
374377
Predicate: storage.Everything,
375378
ResourceVersionMatch: metav1.ResourceVersionMatchNotOlderThan,
@@ -378,6 +381,7 @@ func (c *consistencyChecker) calculateDigests(ctx context.Context) (*storageDige
378381
return nil, fmt.Errorf("failed calculating cache digest: %w", err)
379382
}
380383
etcdDigest, _, err := c.calculateStoreDigest(ctx, c.etcd, storage.ListOptions{
384+
Recursive: true,
381385
ResourceVersion: resourceVersion,
382386
Predicate: storage.Everything,
383387
ResourceVersionMatch: metav1.ResourceVersionMatchExact,

0 commit comments

Comments
 (0)