golangci-lint v2 with its default linters flags ten unchecked Close
returns (errcheck) that v1.64 did not report: the database and rows
handles in the SQLite store, the MetaServer response body and probe
connection, and the test fixtures.
The messages told users to enable edgeCore.reportEvent, but the key
lives under the edged section as edged.reportEvent. Searching for the
wrong key in edgecore.yaml would find nothing.
handlerFor silently fell back to the class name when the store was
unreadable, so CheckCRI could report a wrong verdict (false pass, or a
missing-handler failure) with no indication that the store read failed.
The store error is now returned and the CRI check warns about it.
On timeout the manager goroutine still finishes WaitForCacheSync and
closes the synced channel, but nobody reads it: on an unbuffered channel
that close blocks forever. A buffer of one lets the goroutine finish.
The TLS retry was gated on hasCerts (cert-file and key-file both set),
so a TLS-only MetaServer with a CA-signed server certificate was never
tried when the caller passed only --ca-file. The tool then reported
AuthRequiredError and recommended the cert flags that would not help.
Run the TLS retry whenever a CA file or client certificates are
provided, and report a distinct reason when the handshake fails with a
CA-only setup.