cassandra: do not mask KvGet backend errors as not-found (#10361)

* cassandra: do not mask KvGet backend errors as not-found

* use errors.Is for the gocql sentinel check
This commit is contained in:
Chris Lu
2026-07-18 13:57:24 -07:00
committed by GitHub
parent 02df1cf428
commit efdfeaba44
2 changed files with 6 additions and 2 deletions
+3 -1
View File
@@ -3,6 +3,7 @@ package cassandra
import (
"context"
"encoding/base64"
"errors"
"fmt"
gocql "github.com/apache/cassandra-gocql-driver/v2"
@@ -27,9 +28,10 @@ func (store *CassandraStore) KvGet(ctx context.Context, key []byte) (data []byte
if err := store.session.Query(
"SELECT meta FROM filemeta WHERE directory=? AND name=?",
dir, name).Scan(&data); err != nil {
if err != gocql.ErrNotFound {
if errors.Is(err, gocql.ErrNotFound) {
return nil, filer.ErrKvNotFound
}
return nil, fmt.Errorf("kv get: %w", err)
}
if len(data) == 0 {
+3 -1
View File
@@ -3,6 +3,7 @@ package cassandra2
import (
"context"
"encoding/base64"
"errors"
"fmt"
gocql "github.com/apache/cassandra-gocql-driver/v2"
@@ -28,9 +29,10 @@ func (store *Cassandra2Store) KvGet(ctx context.Context, key []byte) (data []byt
if err := store.session.Query(
"SELECT meta FROM filemeta WHERE dirhash=? AND directory=? AND name=?",
util.HashStringToLong(dir), dir, name).Scan(&data); err != nil {
if err != gocql.ErrNotFound {
if errors.Is(err, gocql.ErrNotFound) {
return nil, filer.ErrKvNotFound
}
return nil, fmt.Errorf("kv get: %w", err)
}
if len(data) == 0 {