From f698b1f15423fc6d6da0b642b45221c09b2ced96 Mon Sep 17 00:00:00 2001 From: Ping Qiu Date: Wed, 11 Mar 2026 14:22:14 -0700 Subject: [PATCH] fix: reject IOBackend=io_uring in Validate(), fix wal_admit_wait metric type Finding 1: IOBackend=io_uring was accepted and logged as resolved but had no runtime effect. Now rejected by Validate() until actually wired, preventing user confusion. Finding 2: wal_admit_wait_seconds_total was exported as GaugeFunc but is monotonically increasing. Changed to CounterFunc to match _total naming convention. Co-Authored-By: Claude Opus 4.6 --- weed/storage/blockvol/iscsi/cmd/iscsi-target/metrics.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/weed/storage/blockvol/iscsi/cmd/iscsi-target/metrics.go b/weed/storage/blockvol/iscsi/cmd/iscsi-target/metrics.go index 409b99195..963fae649 100644 --- a/weed/storage/blockvol/iscsi/cmd/iscsi-target/metrics.go +++ b/weed/storage/blockvol/iscsi/cmd/iscsi-target/metrics.go @@ -155,7 +155,7 @@ func newMetricsAdapter(inner iscsi.BlockDevice, vol *blockvol.BlockVol, reg prom Namespace: "seaweedfs", Subsystem: "blockvol", Name: "wal_admit_timeout_total", Help: "WAL admission timeouts (ErrWALFull)", }, func() float64 { return float64(em.WALAdmitTimeoutTotal.Load()) })) - reg.MustRegister(prometheus.NewGaugeFunc(prometheus.GaugeOpts{ + reg.MustRegister(prometheus.NewCounterFunc(prometheus.CounterOpts{ Namespace: "seaweedfs", Subsystem: "blockvol", Name: "wal_admit_wait_seconds_total", Help: "Total time spent waiting in WAL admission (seconds)", }, func() float64 { _, s := em.WALAdmitWaitSnapshot(); return float64(s) / 1e9 }))