fix: Update logging context and upgrade dependencies (#41318)

- issue: #41291

---------

Signed-off-by: SimFG <bang.fu@zilliz.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This commit is contained in:
SimFG 2025-04-23 10:52:38 +08:00 committed by GitHub
parent 6b30e9ae60
commit 91d40fa558
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
181 changed files with 708 additions and 643 deletions

4
.env
View File

@ -5,8 +5,8 @@ IMAGE_ARCH=amd64
OS_NAME=ubuntu22.04
# for services.builder.image in docker-compose.yml
DATE_VERSION=20250120-cb959cd
LATEST_DATE_VERSION=20250120-cb959cd
DATE_VERSION=20250421-ac1e043
LATEST_DATE_VERSION=20250421-ac1e043
# for services.gpubuilder.image in docker-compose.yml
GPU_DATE_VERSION=20240806-d8668fe
LATEST_GPU_DATE_VERSION=20240806-d8668fe

View File

@ -1,6 +1,6 @@
module github.com/milvus-io/milvus/client/v2
go 1.21
go 1.24.1
require (
github.com/blang/semver/v4 v4.0.0
@ -97,12 +97,12 @@ require (
go.uber.org/automaxprocs v1.5.3 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
golang.org/x/crypto v0.31.0 // indirect
golang.org/x/crypto v0.35.0 // indirect
golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect
golang.org/x/net v0.33.0 // indirect
golang.org/x/sync v0.10.0 // indirect
golang.org/x/sys v0.28.0 // indirect
golang.org/x/text v0.21.0 // indirect
golang.org/x/net v0.36.0 // indirect
golang.org/x/sync v0.11.0 // indirect
golang.org/x/sys v0.30.0 // indirect
golang.org/x/text v0.22.0 // indirect
golang.org/x/time v0.5.0 // indirect
google.golang.org/genproto v0.0.0-20240624140628-dc46fd24d27d // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20240617180043-68d350f18fd4 // indirect

View File

@ -579,8 +579,8 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U=
golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
golang.org/x/crypto v0.35.0 h1:b15kiHdrGCHrP6LvwaQ3c03kgNhhiMgvlhxHQhmg2Xs=
golang.org/x/crypto v0.35.0/go.mod h1:dy7dXNW32cAb/6/PRuTNsix8T+vJAqvuIy5Bli/x0YQ=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@ -634,8 +634,8 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20211008194852-3b03d305991f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I=
golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
golang.org/x/net v0.36.0 h1:vWF2fRbw4qslQsQzgFqZff+BItCvGFQqKzKIzx1rmoA=
golang.org/x/net v0.36.0/go.mod h1:bFmbeoIPfrw4sMHNhb4J9f6+tPziuGjq7Jk/38fxi1I=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@ -650,8 +650,8 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ=
golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w=
golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@ -698,8 +698,8 @@ golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@ -708,8 +708,8 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=

View File

@ -26,6 +26,7 @@ import (
"sync"
"time"
"github.com/cockroachdb/errors"
grpc_retry "github.com/grpc-ecosystem/go-grpc-middleware/retry"
"google.golang.org/grpc"
"google.golang.org/grpc/codes"
@ -162,7 +163,7 @@ func (c *Client) setIdentifier(identifier string) {
func (c *Client) connect(ctx context.Context, addr string, options ...grpc.DialOption) error {
if addr == "" {
return fmt.Errorf("address is empty")
return errors.New("address is empty")
}
conn, err := grpc.DialContext(ctx, addr, options...)
if err != nil {

View File

@ -39,7 +39,7 @@ func ParseSchema(r interface{}) (*entity.Schema, error) {
// MapRow is not supported for schema definition
// TODO add PrimaryKey() interface later
if t.Kind() == reflect.Map {
return nil, fmt.Errorf("map row is not supported for schema definition")
return nil, errors.New("map row is not supported for schema definition")
}
if t.Kind() != reflect.Struct {

View File

@ -5,6 +5,7 @@ import (
"fmt"
"io"
"github.com/cockroachdb/errors"
"google.golang.org/protobuf/proto"
"github.com/milvus-io/milvus-proto/go-api/v2/commonpb"
@ -67,11 +68,11 @@ func (f *BackupFile) WriteEntry(k, v string) error {
func (f *BackupFile) ReadHeader() (header *BackupHeader, headerLength uint64, err error) {
if len(*f) < 8 {
return nil, 0, fmt.Errorf("invalid backup file, cannot read header length")
return nil, 0, errors.New("invalid backup file, cannot read header length")
}
headerLength = binary.LittleEndian.Uint64((*f)[:8])
if uint64(len(*f)) < 8+headerLength {
return nil, 0, fmt.Errorf("invalid backup file, cannot read header")
return nil, 0, errors.New("invalid backup file, cannot read header")
}
header = &BackupHeader{}
if err := proto.Unmarshal((*f)[8:headerLength+8], header); err != nil {
@ -85,11 +86,11 @@ func (f *BackupFile) ReadEntryFromPos(pos uint64) (entryLength uint64, entry *co
return 0, nil, io.EOF
}
if uint64(len(*f)) < pos+8 {
return 0, nil, fmt.Errorf("invalid backup file, cannot read entry length")
return 0, nil, errors.New("invalid backup file, cannot read entry length")
}
entryLength = binary.LittleEndian.Uint64((*f)[pos : pos+8])
if uint64(len(*f)) < pos+8+entryLength {
return 0, nil, fmt.Errorf("invalid backup file, cannot read entry")
return 0, nil, errors.New("invalid backup file, cannot read entry")
}
entry = &commonpb.KeyDataPair{}
if err := proto.Unmarshal((*f)[pos+8:pos+8+entryLength], entry); err != nil {

View File

@ -7,6 +7,7 @@ import (
"strconv"
"strings"
"github.com/cockroachdb/errors"
clientv3 "go.etcd.io/etcd/client/v3"
"google.golang.org/protobuf/proto"
@ -47,7 +48,7 @@ func (b etcd210) loadTtAliases() (meta.TtAliasesMeta210, error) {
return nil, err
}
if len(keys) != len(values) {
return nil, fmt.Errorf("length mismatch")
return nil, errors.New("length mismatch")
}
l := len(keys)
for i := 0; i < l; i++ {
@ -79,7 +80,7 @@ func (b etcd210) loadAliases() (meta.AliasesMeta210, error) {
return nil, err
}
if len(keys) != len(values) {
return nil, fmt.Errorf("length mismatch")
return nil, errors.New("length mismatch")
}
l := len(keys)
for i := 0; i < l; i++ {
@ -107,7 +108,7 @@ func (b etcd210) loadTtCollections() (meta.TtCollectionsMeta210, error) {
return nil, err
}
if len(keys) != len(values) {
return nil, fmt.Errorf("length mismatch")
return nil, errors.New("length mismatch")
}
l := len(keys)
for i := 0; i < l; i++ {
@ -149,7 +150,7 @@ func (b etcd210) loadCollections() (meta.CollectionsMeta210, error) {
return nil, err
}
if len(keys) != len(values) {
return nil, fmt.Errorf("length mismatch")
return nil, errors.New("length mismatch")
}
l := len(keys)
for i := 0; i < l; i++ {
@ -204,7 +205,7 @@ func (b etcd210) loadCollectionIndexes() (meta.CollectionIndexesMeta210, error)
return nil, err
}
if len(keys) != len(values) {
return nil, fmt.Errorf("length mismatch")
return nil, errors.New("length mismatch")
}
l := len(keys)
for i := 0; i < l; i++ {
@ -232,7 +233,7 @@ func (b etcd210) loadSegmentIndexes() (meta.SegmentIndexesMeta210, error) {
return nil, err
}
if len(keys) != len(values) {
return nil, fmt.Errorf("length mismatch")
return nil, errors.New("length mismatch")
}
l := len(keys)
for i := 0; i < l; i++ {
@ -255,7 +256,7 @@ func (b etcd210) loadIndexBuildMeta() (meta.IndexBuildMeta210, error) {
return nil, err
}
if len(keys) != len(values) {
return nil, fmt.Errorf("length mismatch")
return nil, errors.New("length mismatch")
}
l := len(keys)
for i := 0; i < l; i++ {
@ -284,7 +285,7 @@ func (b etcd210) loadLastDDLRecords() (meta.LastDDLRecords, error) {
return nil, err
}
if len(keys) != len(values) {
return nil, fmt.Errorf("length mismatch")
return nil, errors.New("length mismatch")
}
for i, k := range keys {
records.AddRecord(k, values[i])

View File

@ -8,6 +8,7 @@ import (
"time"
"github.com/blang/semver/v4"
"github.com/cockroachdb/errors"
clientv3 "go.etcd.io/etcd/client/v3"
"go.uber.org/atomic"
@ -143,7 +144,7 @@ func (r *Runner) checkMySelf() error {
}
for _, session := range sessions {
if session.Address != r.address {
return fmt.Errorf("other migration is running")
return errors.New("other migration is running")
}
}
return nil

33
go.mod
View File

@ -1,8 +1,6 @@
module github.com/milvus-io/milvus
go 1.22
toolchain go1.22.7
go 1.24.1
require (
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1
@ -10,7 +8,7 @@ require (
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.1.0
github.com/aliyun/credentials-go v1.2.7 // indirect
github.com/apache/arrow/go/v17 v17.0.0
github.com/bits-and-blooms/bloom/v3 v3.0.1
github.com/bits-and-blooms/bloom/v3 v3.3.1
github.com/blang/semver/v4 v4.0.0
github.com/casbin/casbin/v2 v2.44.2
github.com/casbin/json-adapter/v2 v2.0.0
@ -46,12 +44,12 @@ require (
go.uber.org/atomic v1.11.0
go.uber.org/multierr v1.11.0
go.uber.org/zap v1.27.0
golang.org/x/crypto v0.31.0
golang.org/x/crypto v0.35.0
golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842
golang.org/x/net v0.33.0
golang.org/x/oauth2 v0.21.0
golang.org/x/sync v0.10.0
golang.org/x/text v0.21.0
golang.org/x/net v0.36.0
golang.org/x/oauth2 v0.27.0
golang.org/x/sync v0.11.0
golang.org/x/text v0.22.0
google.golang.org/grpc v1.65.0
google.golang.org/grpc/examples v0.0.0-20220617181431-3e7b97febc7f
)
@ -64,7 +62,7 @@ require (
github.com/aws/aws-sdk-go-v2/credentials v1.17.47
github.com/aws/aws-sdk-go-v2/service/bedrockruntime v1.23.0
github.com/bits-and-blooms/bitset v1.10.0
github.com/bytedance/sonic v1.12.2
github.com/bytedance/sonic v1.13.2
github.com/cenkalti/backoff/v4 v4.2.1
github.com/cockroachdb/redact v1.1.3
github.com/goccy/go-json v0.10.3
@ -121,12 +119,11 @@ require (
github.com/aws/smithy-go v1.22.1 // indirect
github.com/benesch/cgosymbolizer v0.0.0-20190515212042-bec6fe6e597b // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/bytedance/sonic/loader v0.2.0 // indirect
github.com/bytedance/sonic/loader v0.2.4 // indirect
github.com/campoy/embedmd v1.0.0 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/cilium/ebpf v0.11.0 // indirect
github.com/cloudwego/base64x v0.1.4 // indirect
github.com/cloudwego/iasm v0.2.0 // indirect
github.com/cloudwego/base64x v0.1.5 // indirect
github.com/cockroachdb/logtags v0.0.0-20211118104740-dabe8e521a4f // indirect
github.com/confluentinc/confluent-kafka-go v1.9.1 // indirect
github.com/containerd/cgroups/v3 v3.0.3 // indirect
@ -208,7 +205,6 @@ require (
github.com/panjf2000/ants/v2 v2.7.2 // indirect
github.com/pelletier/go-toml v1.9.3 // indirect
github.com/pelletier/go-toml/v2 v2.0.8 // indirect
github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect
github.com/pierrec/lz4 v2.5.2+incompatible // indirect
github.com/pierrec/lz4/v4 v4.1.21 // indirect
github.com/pingcap/errors v0.11.5-0.20211224045212-9687c2b0f87c // indirect
@ -224,7 +220,6 @@ require (
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
github.com/rogpeppe/go-internal v1.12.0 // indirect
github.com/rs/xid v1.5.0 // indirect
github.com/sasha-s/go-deadlock v0.3.1 // indirect
github.com/shirou/gopsutil v3.20.11+incompatible // indirect
github.com/shirou/gopsutil/v3 v3.23.7 // indirect
github.com/shoenig/go-m1cpu v0.1.6 // indirect
@ -246,7 +241,7 @@ require (
github.com/tklauser/numcpus v0.6.1 // indirect
github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802 // indirect
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
github.com/twmb/murmur3 v1.1.3 // indirect
github.com/twmb/murmur3 v1.1.6 // indirect
github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect
github.com/ugorji/go/codec v1.2.11 // indirect
github.com/valyala/bytebufferpool v1.0.0 // indirect
@ -273,8 +268,8 @@ require (
go.uber.org/automaxprocs v1.5.3 // indirect
golang.org/x/arch v0.3.0 // indirect
golang.org/x/mod v0.18.0 // indirect
golang.org/x/sys v0.28.0 // indirect
golang.org/x/term v0.27.0 // indirect
golang.org/x/sys v0.30.0 // indirect
golang.org/x/term v0.29.0 // indirect
golang.org/x/time v0.5.0 // indirect
golang.org/x/tools v0.22.0 // indirect
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
@ -296,7 +291,7 @@ replace (
github.com/apache/arrow/go/v17 => github.com/milvus-io/arrow/go/v17 v17.0.0
github.com/apache/pulsar-client-go => github.com/milvus-io/pulsar-client-go v0.12.1
github.com/bketelsen/crypt => github.com/bketelsen/crypt v0.0.4 // Fix security alert for core-os/etcd
github.com/expr-lang/expr => github.com/SimFG/expr v0.0.0-20241226082220-a9a764953bf8
github.com/expr-lang/expr => github.com/SimFG/expr v0.0.0-20250415035630-0728e795e4e9
github.com/go-kit/kit => github.com/go-kit/kit v0.1.0
github.com/greatroar/blobloom => github.com/milvus-io/blobloom v0.0.0-20240603110411-471ae49f3b93
github.com/ianlancetaylor/cgosymbolizer => github.com/milvus-io/cgosymbolizer v0.0.0-20250318084424-114f4050c3a6

59
go.sum
View File

@ -86,8 +86,8 @@ github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible h1
github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398/go.mod h1:a1uqRtAwp2Xwc6WNPJEufxJ7fx3npB4UV/JOLmbu5I0=
github.com/SimFG/expr v0.0.0-20241226082220-a9a764953bf8 h1:boN3QhAWQU9O8EYQWxN7AEYav39PuD29QzZwTiI8Ca0=
github.com/SimFG/expr v0.0.0-20241226082220-a9a764953bf8/go.mod h1:8/vRC7+7HBzESEqt5kKpYXxrxkr31SaO8r40VO/1IT4=
github.com/SimFG/expr v0.0.0-20250415035630-0728e795e4e9 h1:p/1Prokv2YkGbcyLV/gOD28Gr3VgMXIa0c9ulg5KjOY=
github.com/SimFG/expr v0.0.0-20250415035630-0728e795e4e9/go.mod h1:8/vRC7+7HBzESEqt5kKpYXxrxkr31SaO8r40VO/1IT4=
github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d h1:G0m3OIz70MZUWq3EgK3CesDbo8upS2Vm9/P3FtgI+Jk=
github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg=
github.com/actgardner/gogen-avro/v10 v10.1.0/go.mod h1:o+ybmVjEa27AAr35FRqU98DJu1fXES56uXniYFv4yDA=
@ -164,21 +164,21 @@ github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+Ce
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA=
github.com/bits-and-blooms/bitset v1.3.1/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA=
github.com/bits-and-blooms/bitset v1.10.0 h1:ePXTeiPEazB5+opbv5fr8umg2R/1NlzgDsyepwsSr88=
github.com/bits-and-blooms/bitset v1.10.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8=
github.com/bits-and-blooms/bloom/v3 v3.0.1 h1:Inlf0YXbgehxVjMPmCGv86iMCKMGPPrPSHtBF5yRHwA=
github.com/bits-and-blooms/bloom/v3 v3.0.1/go.mod h1:MC8muvBzzPOFsrcdND/A7kU7kMhkqb9KI70JlZCP+C8=
github.com/bits-and-blooms/bloom/v3 v3.3.1 h1:K2+A19bXT8gJR5mU7y+1yW6hsKfNCjcP2uNfLFKncjQ=
github.com/bits-and-blooms/bloom/v3 v3.3.1/go.mod h1:bhUUknWd5khVbTe4UgMCSiOOVJzr3tMoijSK3WwvW90=
github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM=
github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM=
github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ=
github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
github.com/buger/jsonparser v0.0.0-20181115193947-bf1c66bbce23/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s=
github.com/bytedance/sonic v1.12.2 h1:oaMFuRTpMHYLpCntGca65YWt5ny+wAceDERTkT2L9lg=
github.com/bytedance/sonic v1.12.2/go.mod h1:B8Gt/XvtZ3Fqj+iSKMypzymZxw/FVwgIGKzMzT9r/rk=
github.com/bytedance/sonic v1.13.2 h1:8/H1FempDZqC4VqjptGo14QQlJx8VdZJegxs6wwfqpQ=
github.com/bytedance/sonic v1.13.2/go.mod h1:o68xyaF9u2gvVBuGHPlUVCy+ZfmNNO5ETf1+KgkJhz4=
github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU=
github.com/bytedance/sonic/loader v0.2.0 h1:zNprn+lsIP06C/IqCHs3gPQIvnvpKbbxyXQP1iU4kWM=
github.com/bytedance/sonic/loader v0.2.0/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU=
github.com/bytedance/sonic/loader v0.2.4 h1:ZWCw4stuXUsn1/+zQDqeE7JKP+QO47tz7QCNan80NzY=
github.com/bytedance/sonic/loader v0.2.4/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI=
github.com/campoy/embedmd v1.0.0 h1:V4kI2qTJJLf4J29RzI/MAt2c3Bl4dQSYPuflzwFH2hY=
github.com/campoy/embedmd v1.0.0/go.mod h1:oxyr9RCiSXg0M3VJ3ks0UGfp98BpSSGr0kpiX3MzVl8=
github.com/casbin/casbin/v2 v2.0.0/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ=
@ -202,9 +202,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn
github.com/cilium/ebpf v0.11.0 h1:V8gS/bTCCjX9uUnkUFUpPsksM8n1lXBAvHcpiFk1X2Y=
github.com/cilium/ebpf v0.11.0/go.mod h1:WE7CZAnqOL2RouJ4f1uyNhqr2P4CCvXFIqdRDUgWsVs=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cloudwego/base64x v0.1.4 h1:jwCgWpFanWmN8xoIUHa2rtzmkd5J2plF/dnLS6Xd/0Y=
github.com/cloudwego/base64x v0.1.4/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w=
github.com/cloudwego/iasm v0.2.0 h1:1KNIy1I1H9hNNFEEH3DVnI4UujN+1zjpuk6gwHLTssg=
github.com/cloudwego/base64x v0.1.5 h1:XPciSp1xaq2VCSt6lF0phncD4koWyULpl5bUxbfCyP4=
github.com/cloudwego/base64x v0.1.5/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w=
github.com/cloudwego/iasm v0.2.0/go.mod h1:8rXZaNYT2n95jn+zTI1sDr+IgcD2GVs0nlbbQPiEFhY=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
@ -818,8 +817,6 @@ github.com/pelletier/go-toml v1.9.3 h1:zeC5b1GviRUyKYd6OJPvBU/mcVDVoL1OhT17FCt5d
github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ=
github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4=
github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 h1:q2e307iGHPdTGp0hoxKjt1H5pDo6utceo3dQVK3I5XQ=
github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o=
github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY=
github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI=
github.com/pierrec/lz4 v2.5.2+incompatible h1:WCjObylUIOlKy/+7Abdn34TLIkXiA4UWUMhxq9m9ZXI=
@ -920,8 +917,6 @@ github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFo
github.com/samber/lo v1.27.0 h1:GOyDWxsblvqYobqsmUuMddPa2/mMzkKyojlXol4+LaQ=
github.com/samber/lo v1.27.0/go.mod h1:it33p9UtPMS7z72fP4gw/EIfQB2eI8ke7GR2wc6+Rhg=
github.com/santhosh-tekuri/jsonschema/v5 v5.0.0/go.mod h1:FKdcjfQW6rpZSnxxUvEA5H/cDPdvJ/SZJQLWWXWGrZ0=
github.com/sasha-s/go-deadlock v0.3.1 h1:sqv7fDNShgjcaxkO0JNcOAlr8B9+cV5Ey/OB71efZx0=
github.com/sasha-s/go-deadlock v0.3.1/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM=
github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
github.com/sbinet/npyio v0.6.0 h1:IyqqQIzRjDym9xnIXsToCKei/qCzxDP+Y74KoMlMgXo=
github.com/sbinet/npyio v0.6.0/go.mod h1:/q3BNr6dJOy+t6h7RZchTJ0nwRJO52mivaem29WE1j8=
@ -1034,8 +1029,8 @@ github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1
github.com/toolkits/concurrent v0.0.0-20150624120057-a4371d70e3e3/go.mod h1:QDlpd3qS71vYtakd2hmdpqhJ9nwv6mD6A30bQ1BPBFE=
github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI=
github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08=
github.com/twmb/murmur3 v1.1.3 h1:D83U0XYKcHRYwYIpBKf3Pks91Z0Byda/9SJ8B6EMRcA=
github.com/twmb/murmur3 v1.1.3/go.mod h1:Qq/R7NUyOfr65zD+6Q5IHKsJLwP7exErjN6lyyq3OSQ=
github.com/twmb/murmur3 v1.1.6 h1:mqrRot1BRxm+Yct+vavLMou2/iJt0tNVTTC0QoIjaZg=
github.com/twmb/murmur3 v1.1.6/go.mod h1:Qq/R7NUyOfr65zD+6Q5IHKsJLwP7exErjN6lyyq3OSQ=
github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o=
github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
@ -1197,8 +1192,8 @@ golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPh
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U=
golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
golang.org/x/crypto v0.35.0 h1:b15kiHdrGCHrP6LvwaQ3c03kgNhhiMgvlhxHQhmg2Xs=
golang.org/x/crypto v0.35.0/go.mod h1:dy7dXNW32cAb/6/PRuTNsix8T+vJAqvuIy5Bli/x0YQ=
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@ -1301,8 +1296,8 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b
golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211008194852-3b03d305991f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I=
golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
golang.org/x/net v0.36.0 h1:vWF2fRbw4qslQsQzgFqZff+BItCvGFQqKzKIzx1rmoA=
golang.org/x/net v0.36.0/go.mod h1:bFmbeoIPfrw4sMHNhb4J9f6+tPziuGjq7Jk/38fxi1I=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@ -1315,8 +1310,8 @@ golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ
golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs=
golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M=
golang.org/x/oauth2 v0.27.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@ -1329,8 +1324,8 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ=
golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w=
golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@ -1416,11 +1411,11 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q=
golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM=
golang.org/x/term v0.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU=
golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@ -1430,8 +1425,8 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=

View File

@ -18,10 +18,10 @@ package datacoord
import (
"context"
"errors"
"fmt"
"testing"
"github.com/cockroachdb/errors"
"github.com/samber/lo"
"github.com/stretchr/testify/mock"
"github.com/stretchr/testify/suite"
@ -673,7 +673,7 @@ func (s *ChannelManagerSuite) TestAdvanceChannelState() {
}
s.prepareMeta(chNodes, datapb.ChannelWatchState_ToWatch)
s.mockCluster.EXPECT().NotifyChannelOperation(mock.Anything, mock.Anything, mock.Anything).
Return(fmt.Errorf("mock error")).Twice()
Return(errors.New("mock error")).Twice()
m, err := NewChannelManager(s.mockKv, s.mockHandler, s.mockCluster, s.mockAlloc)
s.Require().NoError(err)
s.checkAssignment(m, 1, "ch1", ToWatch)
@ -706,7 +706,7 @@ func (s *ChannelManagerSuite) TestAdvanceChannelState() {
}
s.prepareMeta(chNodes, datapb.ChannelWatchState_ToRelease)
s.mockCluster.EXPECT().NotifyChannelOperation(mock.Anything, mock.Anything, mock.Anything).
Return(fmt.Errorf("mock error")).Twice()
Return(errors.New("mock error")).Twice()
m, err := NewChannelManager(s.mockKv, s.mockHandler, s.mockCluster, s.mockAlloc)
s.Require().NoError(err)
s.checkAssignment(m, 1, "ch1", ToRelease)

View File

@ -24,6 +24,7 @@ import (
"sync"
"time"
"github.com/cockroachdb/errors"
"github.com/hashicorp/golang-lru/v2/expirable"
"github.com/prometheus/client_golang/prometheus"
"github.com/samber/lo"
@ -398,7 +399,7 @@ func (m *indexMeta) canCreateIndex(req *indexpb.CreateIndexRequest, isJson bool)
// creating multiple indexes on same field is not supported
errMsg := "CreateIndex failed: creating multiple indexes on same field is not supported"
log.Warn(errMsg)
return 0, fmt.Errorf(errMsg)
return 0, errors.New(errMsg)
}
}
return 0, nil

View File

@ -22,6 +22,7 @@ import (
"strings"
"time"
"github.com/cockroachdb/errors"
"github.com/samber/lo"
"go.uber.org/zap"
@ -229,7 +230,7 @@ func (s *Server) parseAndVerifyNestedPath(identifier string, schema *schemapb.Co
return "", err
}
if identifierExpr.GetColumnExpr().GetInfo().GetFieldId() != fieldID {
return "", fmt.Errorf("fieldID not match with field name")
return "", errors.New("fieldID not match with field name")
}
nestedPath := identifierExpr.GetColumnExpr().GetInfo().GetNestedPath()

View File

@ -18,7 +18,6 @@ package datacoord
import (
"context"
"fmt"
"testing"
"time"
@ -114,7 +113,7 @@ func TestServer_CreateIndex(t *testing.T) {
b := mocks.NewMixCoord(t)
t.Run("get field name failed", func(t *testing.T) {
b.EXPECT().DescribeCollectionInternal(mock.Anything, mock.Anything).Return(nil, fmt.Errorf("mock error"))
b.EXPECT().DescribeCollectionInternal(mock.Anything, mock.Anything).Return(nil, errors.New("mock error"))
s.broker = broker.NewCoordinatorBroker(b)
resp, err := s.CreateIndex(ctx, req)

View File

@ -27,6 +27,7 @@ import (
"time"
"github.com/blang/semver/v4"
"github.com/cockroachdb/errors"
"github.com/samber/lo"
"github.com/tidwall/gjson"
"github.com/tikv/client-go/v2/txnkv"
@ -400,7 +401,7 @@ func (s *Server) SetSession(session sessionutil.SessionInterface) error {
s.session = session
s.icSession = session
if s.session == nil {
return fmt.Errorf("session is nil, the etcd client connection may have failed")
return errors.New("session is nil, the etcd client connection may have failed")
}
return nil
}

View File

@ -337,7 +337,7 @@ func (c *DataNodeManagerImpl) GetCompactionPlanResult(nodeID int64, planID int64
if resp.GetStatus().GetErrorCode() != commonpb.ErrorCode_Success {
log.Info("GetCompactionState state is not", zap.Error(err))
return nil, fmt.Errorf("GetCopmactionState failed")
return nil, errors.New("GetCopmactionState failed")
}
var result *datapb.CompactionPlanResult
for _, rst := range resp.GetResults() {

View File

@ -18,9 +18,9 @@ package datacoord
import (
"context"
"fmt"
"testing"
"github.com/cockroachdb/errors"
"github.com/stretchr/testify/mock"
"github.com/stretchr/testify/suite"
@ -76,7 +76,7 @@ func (s *statsTaskMetaSuite) Test_Method() {
s.Run("failed case", func() {
catalog := mocks.NewDataCoordCatalog(s.T())
catalog.EXPECT().ListStatsTasks(mock.Anything).Return(nil, fmt.Errorf("mock error"))
catalog.EXPECT().ListStatsTasks(mock.Anything).Return(nil, errors.New("mock error"))
m, err := newStatsTaskMeta(context.Background(), catalog)
s.Error(err)
@ -105,7 +105,7 @@ func (s *statsTaskMetaSuite) Test_Method() {
s.Run("AddStatsTask", func() {
s.Run("failed case", func() {
catalog.EXPECT().SaveStatsTask(mock.Anything, mock.Anything).Return(fmt.Errorf("mock error")).Once()
catalog.EXPECT().SaveStatsTask(mock.Anything, mock.Anything).Return(errors.New("mock error")).Once()
s.Error(m.AddStatsTask(t))
_, ok := m.tasks.Get(1)
@ -145,7 +145,7 @@ func (s *statsTaskMetaSuite) Test_Method() {
})
s.Run("failed case", func() {
catalog.EXPECT().SaveStatsTask(mock.Anything, mock.Anything).Return(fmt.Errorf("mock error")).Once()
catalog.EXPECT().SaveStatsTask(mock.Anything, mock.Anything).Return(errors.New("mock error")).Once()
s.Error(m.UpdateVersion(1, 1180))
task, ok := m.tasks.Get(1)
@ -157,7 +157,7 @@ func (s *statsTaskMetaSuite) Test_Method() {
s.Run("UpdateBuildingTask", func() {
s.Run("failed case", func() {
catalog.EXPECT().SaveStatsTask(mock.Anything, mock.Anything).Return(fmt.Errorf("mock error")).Once()
catalog.EXPECT().SaveStatsTask(mock.Anything, mock.Anything).Return(errors.New("mock error")).Once()
s.Error(m.UpdateBuildingTask(1))
task, ok := m.tasks.Get(1)
@ -214,7 +214,7 @@ func (s *statsTaskMetaSuite) Test_Method() {
NumRows: 2048,
}
s.Run("failed case", func() {
catalog.EXPECT().SaveStatsTask(mock.Anything, mock.Anything).Return(fmt.Errorf("mock error")).Once()
catalog.EXPECT().SaveStatsTask(mock.Anything, mock.Anything).Return(errors.New("mock error")).Once()
s.Error(m.FinishTask(1, result))
task, ok := m.tasks.Get(1)
@ -265,7 +265,7 @@ func (s *statsTaskMetaSuite) Test_Method() {
s.Run("DropStatsTask", func() {
s.Run("failed case", func() {
catalog.EXPECT().DropStatsTask(mock.Anything, mock.Anything).Return(fmt.Errorf("mock error")).Once()
catalog.EXPECT().DropStatsTask(mock.Anything, mock.Anything).Return(errors.New("mock error")).Once()
s.Error(m.DropStatsTask(1))
_, ok := m.tasks.Get(1)

View File

@ -21,6 +21,7 @@ import (
"fmt"
"time"
"github.com/cockroachdb/errors"
"go.uber.org/zap"
"github.com/milvus-io/milvus/internal/types"
@ -151,7 +152,7 @@ func (st *statsTask) UpdateVersion(ctx context.Context, nodeID int64, meta *meta
// reset compacting
meta.SetSegmentsCompacting(ctx, []UniqueID{st.segmentID}, false)
st.SetStartTime(time.Now())
return fmt.Errorf("segment is contains by l0 compaction")
return errors.New("segment is contains by l0 compaction")
}
if err := meta.statsTaskMeta.UpdateVersion(st.taskID, nodeID); err != nil {

View File

@ -18,10 +18,10 @@ package datacoord
import (
"context"
"fmt"
"testing"
"time"
"github.com/cockroachdb/errors"
"github.com/stretchr/testify/mock"
"github.com/stretchr/testify/suite"
"go.uber.org/atomic"
@ -201,7 +201,7 @@ func (s *statsTaskSuite) TestTaskStats_PreCheck() {
compactionHandler := NewMockCompactionPlanContext(s.T())
compactionHandler.EXPECT().checkAndSetSegmentStating(mock.Anything, mock.Anything).Return(true)
catalog.EXPECT().SaveStatsTask(mock.Anything, mock.Anything).Return(fmt.Errorf("error")).Once()
catalog.EXPECT().SaveStatsTask(mock.Anything, mock.Anything).Return(errors.New("error")).Once()
s.Error(st.UpdateVersion(context.Background(), 1, s.mt, compactionHandler))
})
})
@ -216,7 +216,7 @@ func (s *statsTaskSuite) TestTaskStats_PreCheck() {
})
s.Run("update error", func() {
catalog.EXPECT().SaveStatsTask(mock.Anything, mock.Anything).Return(fmt.Errorf("error")).Once()
catalog.EXPECT().SaveStatsTask(mock.Anything, mock.Anything).Return(errors.New("error")).Once()
s.Error(st.UpdateMetaBuildingState(s.mt))
})
})
@ -250,7 +250,7 @@ func (s *statsTaskSuite) TestTaskStats_PreCheck() {
s.mt.segments.segments[s.segID].IsSorted = false
handler := NewNMockHandler(s.T())
handler.EXPECT().GetCollection(context.Background(), collID).Return(nil, fmt.Errorf("mock error")).Once()
handler.EXPECT().GetCollection(context.Background(), collID).Return(nil, errors.New("mock error")).Once()
checkPass := st.PreCheck(context.Background(), &taskScheduler{
meta: s.mt,
handler: handler,
@ -298,7 +298,7 @@ func (s *statsTaskSuite) TestTaskStats_PreCheck() {
s.Run("alloc failed", func() {
alloc := allocator.NewMockAllocator(s.T())
alloc.EXPECT().AllocN(mock.Anything).Return(0, 0, fmt.Errorf("mock error"))
alloc.EXPECT().AllocN(mock.Anything).Return(0, 0, errors.New("mock error"))
handler := NewNMockHandler(s.T())
handler.EXPECT().GetCollection(context.Background(), collID).Return(&collectionInfo{
@ -578,7 +578,7 @@ func (s *statsTaskSuite) TestTaskStats_PreCheck() {
s.Run("set target segment failed", func() {
catalog := catalogmocks.NewDataCoordCatalog(s.T())
s.mt.catalog = catalog
catalog.EXPECT().AlterSegments(mock.Anything, mock.Anything, mock.Anything).Return(fmt.Errorf("mock error"))
catalog.EXPECT().AlterSegments(mock.Anything, mock.Anything, mock.Anything).Return(errors.New("mock error"))
s.Error(st.SetJobInfo(s.mt))
})
@ -587,7 +587,7 @@ func (s *statsTaskSuite) TestTaskStats_PreCheck() {
s.mt.catalog = catalog
s.mt.statsTaskMeta.catalog = catalog
catalog.EXPECT().AlterSegments(mock.Anything, mock.Anything, mock.Anything).Return(nil)
catalog.EXPECT().SaveStatsTask(mock.Anything, mock.Anything).Return(fmt.Errorf("mock error"))
catalog.EXPECT().SaveStatsTask(mock.Anything, mock.Anything).Return(errors.New("mock error"))
s.Error(st.SetJobInfo(s.mt))
})

View File

@ -22,6 +22,7 @@ import (
"math"
"github.com/apache/arrow/go/v17/arrow/array"
"github.com/cockroachdb/errors"
"github.com/samber/lo"
"go.uber.org/atomic"
"go.uber.org/zap"
@ -382,7 +383,7 @@ func (w *SegmentWriter) WriteRecord(r storage.Record) error {
for fieldID, stats := range w.bm25Stats {
field, ok := r.Column(fieldID).(*array.Binary)
if !ok {
return fmt.Errorf("bm25 field value not found")
return errors.New("bm25 field value not found")
}
stats.AppendBytes(field.Value(i))
}
@ -405,12 +406,12 @@ func (w *SegmentWriter) Write(v *storage.Value) error {
for fieldID, stats := range w.bm25Stats {
data, ok := v.Value.(map[storage.FieldID]interface{})[fieldID]
if !ok {
return fmt.Errorf("bm25 field value not found")
return errors.New("bm25 field value not found")
}
bytes, ok := data.([]byte)
if !ok {
return fmt.Errorf("bm25 field value not sparse bytes")
return errors.New("bm25 field value not sparse bytes")
}
stats.AppendBytes(bytes)
}

View File

@ -23,6 +23,7 @@ import (
"testing"
"time"
"github.com/cockroachdb/errors"
"github.com/stretchr/testify/assert"
"github.com/milvus-io/milvus/pkg/v2/proto/indexpb"
@ -65,7 +66,7 @@ func (s *stagectx) Done() <-chan struct{} {
func (s *stagectx) Err() error {
select {
case <-s.ch:
return fmt.Errorf("canceled")
return errors.New("canceled")
default:
return nil
}
@ -189,7 +190,7 @@ func TestIndexTaskScheduler(t *testing.T) {
newTask(fakeTaskPrepared, nil, indexpb.JobState_JobStateRetry),
newTask(fakeTaskBuiltIndex, nil, indexpb.JobState_JobStateRetry),
newTask(fakeTaskSavedIndexes, nil, indexpb.JobState_JobStateFinished),
newTask(fakeTaskSavedIndexes, map[fakeTaskState]error{fakeTaskSavedIndexes: fmt.Errorf("auth failed")}, indexpb.JobState_JobStateRetry))
newTask(fakeTaskSavedIndexes, map[fakeTaskState]error{fakeTaskSavedIndexes: errors.New("auth failed")}, indexpb.JobState_JobStateRetry))
for _, task := range tasks {
assert.Nil(t, scheduler.TaskQueue.Enqueue(task))

View File

@ -18,14 +18,15 @@ package index
import (
"context"
"fmt"
"github.com/cockroachdb/errors"
"github.com/milvus-io/milvus/pkg/v2/proto/indexpb"
"github.com/milvus-io/milvus/pkg/v2/util/typeutil"
)
var (
errCancel = fmt.Errorf("canceled")
errCancel = errors.New("canceled")
DiskUsageRatio = 4.0
)

View File

@ -18,10 +18,10 @@ package index
import (
"context"
"fmt"
"testing"
"time"
"github.com/cockroachdb/errors"
"github.com/samber/lo"
"github.com/stretchr/testify/mock"
"github.com/stretchr/testify/suite"
@ -145,7 +145,7 @@ func (s *TaskStatsSuite) TestSortSegmentWithBM25() {
}
return result, nil
})
s.mockBinlogIO.EXPECT().Upload(mock.Anything, mock.Anything).Return(fmt.Errorf("mock error")).Once()
s.mockBinlogIO.EXPECT().Upload(mock.Anything, mock.Anything).Return(errors.New("mock error")).Once()
ctx, cancel := context.WithCancel(context.Background())

View File

@ -21,6 +21,7 @@ import (
"fmt"
"strconv"
"github.com/cockroachdb/errors"
"go.opentelemetry.io/otel"
"go.opentelemetry.io/otel/attribute"
"go.opentelemetry.io/otel/trace"
@ -491,7 +492,7 @@ func (node *DataNode) QueryJobsV2(ctx context.Context, req *workerpb.QueryJobsV2
default:
log.Warn("DataNode receive querying unknown type jobs")
return &workerpb.QueryJobsV2Response{
Status: merr.Status(fmt.Errorf("DataNode receive querying unknown type jobs")),
Status: merr.Status(errors.New("DataNode receive querying unknown type jobs")),
}, nil
}
}
@ -552,6 +553,6 @@ func (node *DataNode) DropJobsV2(ctx context.Context, req *workerpb.DropJobsV2Re
return merr.Success(), nil
default:
log.Warn("DataNode receive dropping unknown type jobs")
return merr.Status(fmt.Errorf("DataNode receive dropping unknown type jobs")), nil
return merr.Status(errors.New("DataNode receive dropping unknown type jobs")), nil
}
}

View File

@ -20,6 +20,7 @@ import (
"context"
"fmt"
"github.com/cockroachdb/errors"
"go.uber.org/zap"
"google.golang.org/grpc"
@ -58,11 +59,11 @@ type Client struct {
// NewClient creates a client for DataNode.
func NewClient(ctx context.Context, addr string, serverID int64, encryption bool) (types.DataNodeClient, error) {
if addr == "" {
return nil, fmt.Errorf("address is empty")
return nil, errors.New("address is empty")
}
sess := sessionutil.NewSession(ctx)
if sess == nil {
err := fmt.Errorf("new session error, maybe can not connect to etcd")
err := errors.New("new session error, maybe can not connect to etcd")
log.Ctx(ctx).Debug("DataNodeClient New Etcd Session failed", zap.Error(err))
return nil, err
}

View File

@ -18,9 +18,9 @@ package grpcdatanodeclient
import (
"context"
"errors"
"testing"
"github.com/cockroachdb/errors"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
"google.golang.org/grpc"

View File

@ -18,9 +18,9 @@ package grpcdatanode
import (
"context"
"fmt"
"testing"
"github.com/cockroachdb/errors"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
@ -212,7 +212,7 @@ func Test_Run(t *testing.T) {
datanode.EXPECT().SetAddress(mock.Anything).Return()
datanode.EXPECT().SetMixCoordClient(mock.Anything).Return(nil)
datanode.EXPECT().UpdateStateCode(mock.Anything).Return()
datanode.EXPECT().Init().Return(fmt.Errorf("mock err"))
datanode.EXPECT().Init().Return(errors.New("mock err"))
server.datanode = datanode
err = server.Prepare()

View File

@ -18,7 +18,6 @@ package grpcmixcoordclient
import (
"context"
"fmt"
"github.com/cockroachdb/errors"
"go.uber.org/zap"
@ -70,7 +69,7 @@ type Client struct {
func NewClient(ctx context.Context) (types.MixCoordClient, error) {
sess := sessionutil.NewSession(ctx)
if sess == nil {
err := fmt.Errorf("new session error, maybe can not connect to etcd")
err := errors.New("new session error, maybe can not connect to etcd")
log.Ctx(ctx).Debug("New MixCoord Client failed", zap.Error(err))
return nil, err
}
@ -118,7 +117,7 @@ func (c *Client) getMixCoordAddr() (string, error) {
ms, ok := msess[key]
if !ok {
log.Warn("MixCoordClient mess key not exist", zap.Any("key", key))
return "", fmt.Errorf("find no available mixcoord, check mixcoord state")
return "", errors.New("find no available mixcoord, check mixcoord state")
}
log.Debug("MixCoordClient GetSessions success",
zap.String("address", ms.Address),

View File

@ -24,6 +24,7 @@ import (
"testing"
"time"
"github.com/cockroachdb/errors"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
"github.com/tikv/client-go/v2/txnkv"
@ -115,7 +116,7 @@ func (m *mockMix) Start() error {
}
func (m *mockMix) Stop() error {
return fmt.Errorf("stop error")
return errors.New("stop error")
}
func (m *mockMix) GracefulStop() {

View File

@ -20,6 +20,7 @@ import (
"context"
"fmt"
"github.com/cockroachdb/errors"
"go.uber.org/zap"
"google.golang.org/grpc"
@ -50,11 +51,11 @@ type Client struct {
// NewClient creates a new client instance
func NewClient(ctx context.Context, addr string, nodeID int64) (types.ProxyClient, error) {
if addr == "" {
return nil, fmt.Errorf("address is empty")
return nil, errors.New("address is empty")
}
sess := sessionutil.NewSession(ctx)
if sess == nil {
err := fmt.Errorf("new session error, maybe can not connect to etcd")
err := errors.New("new session error, maybe can not connect to etcd")
log.Ctx(ctx).Debug("Proxy client new session failed", zap.Error(err))
return nil, err
}

View File

@ -25,6 +25,7 @@ import (
"testing"
"time"
"github.com/cockroachdb/errors"
"github.com/gin-gonic/gin"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
@ -2043,9 +2044,9 @@ func validateTestCases(t *testing.T, testEngine *gin.Engine, queryTestCases []re
returnBody := &ReturnErrMsg{}
err := json.Unmarshal(w.Body.Bytes(), returnBody)
assert.Nil(t, err, "case %d: ", i)
assert.Equal(t, testcase.errCode, returnBody.Code, "case %d: ", i, string(testcase.requestBody))
assert.Equal(t, testcase.errCode, returnBody.Code, "case: %d, request body: %s ", i, string(testcase.requestBody))
if testcase.errCode != 0 {
assert.Equal(t, testcase.errMsg, returnBody.Message, "case %d: ", i, string(testcase.requestBody))
assert.Contains(t, returnBody.Message, testcase.errMsg, "case: %d, request body: %s", i, string(testcase.requestBody))
}
fmt.Println(w.Body.String())
})
@ -2069,7 +2070,7 @@ func TestDML(t *testing.T) {
if matchCountRule(req.OutputFields) {
for _, pair := range req.QueryParams {
if pair.GetKey() == ParamLimit {
return nil, fmt.Errorf("mock error")
return nil, errors.New("mock error")
}
}
}
@ -2459,7 +2460,7 @@ func TestSearchV2(t *testing.T) {
queryTestCases = append(queryTestCases, requestBodyTestCase{
path: SearchAction,
requestBody: []byte(`{"collectionName": "book", "data": [["0.1", "0.2"]], "filter": "book_id in [2, 4, 6, 8]", "limit": 4, "outputFields": ["word_count"], "params": {"radius":0.9, "range_filter": 0.1}, "groupingField": "test"}`),
errMsg: "can only accept json format request, error: Mismatch type float32 with value string \"at index 9: mismatched type with value\\n\\n\\t[[\\\"0.1\\\", \\\"0.2\\\"]]\\n\\t.........^......\\n\": invalid parameter[expected=FloatVector][actual=[[\"0.1\", \"0.2\"]]]",
errMsg: "can only accept json format request, error: Mismatch type float32 with value",
errCode: 1801,
})
queryTestCases = append(queryTestCases, requestBodyTestCase{
@ -2501,7 +2502,7 @@ func TestSearchV2(t *testing.T) {
queryTestCases = append(queryTestCases, requestBodyTestCase{
path: SearchAction,
requestBody: []byte(`{"collectionName": "book", "data": [[0.1, 0.2]], "annsField": "binaryVector", "filter": "book_id in [2, 4, 6, 8]", "limit": 4, "outputFields": ["word_count"]}`),
errMsg: "can only accept json format request, error: Mismatch type uint8 with value number \"at index 7: mismatched type with value\\n\\n\\t[[0.1, 0.2]]\\n\\t.......^....\\n\": invalid parameter[expected=BinaryVector][actual=[[0.1, 0.2]]]",
errMsg: "can only accept json format request, error: Mismatch type uint8",
errCode: 1801,
})
queryTestCases = append(queryTestCases, requestBodyTestCase{

View File

@ -26,6 +26,7 @@ import (
"strings"
"time"
"github.com/cockroachdb/errors"
"github.com/gin-gonic/gin"
"github.com/spf13/cast"
"github.com/tidwall/gjson"
@ -734,7 +735,7 @@ func convertToIntArray(dataType schemapb.DataType, arr interface{}) []int32 {
func anyToColumns(rows []map[string]interface{}, validDataMap map[string][]bool, sch *schemapb.CollectionSchema, inInsert bool) ([]*schemapb.FieldData, error) {
rowsLen := len(rows)
if rowsLen == 0 {
return []*schemapb.FieldData{}, fmt.Errorf("no row need to be convert to columns")
return []*schemapb.FieldData{}, errors.New("no row need to be convert to columns")
}
isDynamic := sch.EnableDynamicField
@ -1359,7 +1360,7 @@ func buildQueryResp(rowsNum int64, needFields []string, fieldDataList []*schemap
stringPks := ids.GetStrId().GetData()
rowsNum = int64(len(stringPks))
default:
return nil, fmt.Errorf("the type of primary key(id) is not supported, use other sdk please")
return nil, errors.New("the type of primary key(id) is not supported, use other sdk please")
}
}
}
@ -1496,7 +1497,7 @@ func buildQueryResp(rowsNum int64, needFields []string, fieldDataList []*schemap
stringPks := ids.GetStrId().GetData()
row[DefaultPrimaryFieldName] = stringPks[i]
default:
return nil, fmt.Errorf("the type of primary key(id) is not supported, use other sdk please")
return nil, errors.New("the type of primary key(id) is not supported, use other sdk please")
}
}
if scores != nil && int64(len(scores)) > i {

View File

@ -17,6 +17,7 @@
package httpserver
import (
"fmt"
"math"
"strconv"
"strings"
@ -1087,14 +1088,14 @@ func TestConvertQueries2Placeholder(t *testing.T) {
dataType,
0,
func() [][]byte {
return [][]byte{nil, nil}
return [][]byte{{}, {}}
},
}, {
`"{"data": [""]}"`,
dataType,
0,
func() [][]byte {
return [][]byte{nil}
return [][]byte{{}}
},
},
}...)
@ -1159,7 +1160,8 @@ func TestConvertQueries2Placeholder(t *testing.T) {
for _, testcase := range testCases {
phv, err := convertQueries2Placeholder(testcase.requestBody, testcase.dataType, testcase.dim)
assert.Nil(t, err)
assert.Equal(t, testcase.placehoderValue(), phv.GetValues())
assert.Equal(t, testcase.placehoderValue(), phv.GetValues(),
fmt.Sprintf("check equal fail, data: %s, type: %s, dim: %d", testcase.requestBody, testcase.dataType, testcase.dim))
}
for _, testcase := range []testCase{
@ -1186,7 +1188,8 @@ func TestConvertQueries2Placeholder(t *testing.T) {
} {
phv, err := convertQueries2Placeholder(testcase.requestBody, testcase.dataType, testcase.dim)
assert.Nil(t, err)
assert.NotEqual(t, testcase.placehoderValue(), phv.GetValues())
assert.NotEqual(t, testcase.placehoderValue(), phv.GetValues(),
fmt.Sprintf("check not equal fail, data: %s, type: %s, dim: %d", testcase.requestBody, testcase.dataType, testcase.dim))
}
for _, testcase := range []testCase{

View File

@ -20,7 +20,6 @@ import (
"context"
"crypto/tls"
"crypto/x509"
"fmt"
"net"
"github.com/cockroachdb/errors"
@ -136,7 +135,7 @@ func newHTTPListner(ctx context.Context, l *listenerManager) error {
}
if !certPool.AppendCertsFromPEM(rootBuf) {
log.Warn("fail to append ca to cert")
return fmt.Errorf("fail to append ca to cert")
return errors.New("fail to append ca to cert")
}
tlsConf = &tls.Config{
ClientAuth: tls.RequireAndVerifyClientCert,

View File

@ -29,6 +29,7 @@ import (
"sync"
"time"
"github.com/cockroachdb/errors"
"github.com/gin-gonic/gin"
grpc_middleware "github.com/grpc-ecosystem/go-grpc-middleware"
"github.com/soheilhy/cmux"
@ -297,7 +298,7 @@ func (s *Server) startExternalGrpc(errChan chan error) {
}
if !certPool.AppendCertsFromPEM(rootBuf) {
log.Warn("fail to append ca to cert")
errChan <- fmt.Errorf("fail to append ca to cert")
errChan <- errors.New("fail to append ca to cert")
return
}

View File

@ -715,7 +715,7 @@ func TestServer_Check(t *testing.T) {
assert.Equal(t, grpc_health_v1.HealthCheckResponse_SERVING, ret.Status)
mockProxy.ExpectedCalls = nil
mockProxy.EXPECT().GetComponentStates(mock.Anything, mock.Anything).Return(nil, fmt.Errorf("mock grpc unexpected error"))
mockProxy.EXPECT().GetComponentStates(mock.Anything, mock.Anything).Return(nil, errors.New("mock grpc unexpected error"))
ret, err = server.Check(ctx, req)
assert.Error(t, err)
@ -769,7 +769,7 @@ func TestServer_Watch(t *testing.T) {
assert.Equal(t, grpc_health_v1.HealthCheckResponse_SERVING, ret.Status)
mockProxy.ExpectedCalls = nil
mockProxy.EXPECT().GetComponentStates(mock.Anything, mock.Anything).Return(nil, fmt.Errorf("mock grpc unexpected error"))
mockProxy.EXPECT().GetComponentStates(mock.Anything, mock.Anything).Return(nil, errors.New("mock grpc unexpected error"))
err = server.Watch(req, watchServer)
ret = <-resultChan

View File

@ -20,6 +20,7 @@ import (
"context"
"fmt"
"github.com/cockroachdb/errors"
"go.uber.org/zap"
"google.golang.org/grpc"
@ -52,11 +53,11 @@ type Client struct {
// NewClient creates a new QueryNode client.
func NewClient(ctx context.Context, addr string, nodeID int64) (types.QueryNodeClient, error) {
if addr == "" {
return nil, fmt.Errorf("addr is empty")
return nil, errors.New("addr is empty")
}
sess := sessionutil.NewSession(ctx)
if sess == nil {
err := fmt.Errorf("new session error, maybe can not connect to etcd")
err := errors.New("new session error, maybe can not connect to etcd")
log.Ctx(ctx).Debug("QueryNodeClient NewClient failed", zap.Error(err))
return nil, err
}

View File

@ -19,6 +19,7 @@ package pipeline
import (
"fmt"
"github.com/cockroachdb/errors"
"go.uber.org/zap"
"github.com/milvus-io/milvus-proto/go-api/v2/schemapb"
@ -86,7 +87,7 @@ func (eNode *embeddingNode) bm25Embedding(runner function.FunctionRunner, inputF
embeddingData, ok := data.Data[inputFieldId].GetDataRows().([]string)
if !ok {
return fmt.Errorf("BM25 embedding failed: input field data not varchar/text")
return errors.New("BM25 embedding failed: input field data not varchar/text")
}
output, err := runner.BatchRun(embeddingData)
@ -96,7 +97,7 @@ func (eNode *embeddingNode) bm25Embedding(runner function.FunctionRunner, inputF
sparseArray, ok := output[0].(*schemapb.SparseFloatArray)
if !ok {
return fmt.Errorf("BM25 embedding failed: BM25 runner output not sparse map")
return errors.New("BM25 embedding failed: BM25 runner output not sparse map")
}
meta[outputFieldId].AppendBytes(sparseArray.GetContents()...)

View File

@ -20,7 +20,6 @@ import (
"bytes"
"context"
"encoding/binary"
"fmt"
"math"
"github.com/cockroachdb/errors"
@ -833,7 +832,7 @@ func (m *RootCoordFactory) AllocTimestamp(ctx context.Context, in *rootcoordpb.A
v := ctx.Value(ctxKey{})
if v != nil && v.(string) == returnError {
resp.Status.ErrorCode = commonpb.ErrorCode_UnexpectedError
return resp, fmt.Errorf("injected error")
return resp, errors.New("injected error")
}
return resp, nil
@ -876,7 +875,7 @@ func (m *RootCoordFactory) ShowPartitions(ctx context.Context, req *milvuspb.Sho
if m.ShowPartitionsErr {
return &milvuspb.ShowPartitionsResponse{
Status: merr.Success(),
}, fmt.Errorf("mock show partitions error")
}, errors.New("mock show partitions error")
}
if m.ShowPartitionsNotSuccess {

View File

@ -23,6 +23,7 @@ import (
"github.com/apache/arrow/go/v17/arrow/array"
"github.com/apache/arrow/go/v17/arrow/memory"
"github.com/cockroachdb/errors"
"github.com/samber/lo"
"go.uber.org/zap"
@ -181,7 +182,7 @@ func (bw *BulkPackWriterV2) splitInsertData(insertData []*storage.InsertData, sp
}
uniqueRows := lo.Uniq(lo.Values(rowNums))
if len(uniqueRows) != 1 || uniqueRows[0] == 0 {
return nil, fmt.Errorf("row num is not equal for each field")
return nil, errors.New("row num is not equal for each field")
}
for i, field := range bw.metaCache.Schema().GetFields() {
if _, ok := memorySizes[field.FieldID]; !ok {

View File

@ -6,6 +6,7 @@ import (
"strconv"
"time"
"github.com/cockroachdb/errors"
"github.com/hashicorp/golang-lru/v2/expirable"
"go.uber.org/zap"
@ -104,7 +105,7 @@ func (mgr *syncManager) resizeHandler(evt *config.Event) {
func (mgr *syncManager) SyncData(ctx context.Context, task Task, callbacks ...func(error) error) (*conc.Future[struct{}], error) {
if mgr.workerPool.IsClosed() {
return nil, fmt.Errorf("sync manager is closed")
return nil, errors.New("sync manager is closed")
}
switch t := task.(type) {

View File

@ -747,7 +747,7 @@ func (kv *txnTiKV) removeTiKVMeta(ctx context.Context, key string) error {
}
func (kv *txnTiKV) CompareVersionAndSwap(ctx context.Context, key string, version int64, target string) (bool, error) {
err := fmt.Errorf("Unimplemented! CompareVersionAndSwap is under deprecation")
err := errors.New("Unimplemented! CompareVersionAndSwap is under deprecation")
logWarnOnFailure(&err, "Unimplemented")
return false, err
}

View File

@ -301,7 +301,7 @@ func TestTiKVLoad(te *testing.T) {
defer kv.Close()
beginTxn = func(txn *txnkv.Client) (*transaction.KVTxn, error) {
return nil, fmt.Errorf("bad txn!")
return nil, errors.New("bad txn!")
}
defer func() {
beginTxn = tiTxnBegin
@ -326,7 +326,7 @@ func TestTiKVLoad(te *testing.T) {
defer kv.Close()
commitTxn = func(ctx context.Context, txn *transaction.KVTxn) error {
return fmt.Errorf("bad txn commit!")
return errors.New("bad txn commit!")
}
defer func() {
commitTxn = tiTxnCommit

View File

@ -631,7 +631,7 @@ func (kc *Catalog) DropCollection(ctx context.Context, collectionInfo *model.Col
func (kc *Catalog) alterModifyCollection(ctx context.Context, oldColl *model.Collection, newColl *model.Collection, ts typeutil.Timestamp) error {
if oldColl.TenantID != newColl.TenantID || oldColl.CollectionID != newColl.CollectionID {
return fmt.Errorf("altering tenant id or collection id is forbidden")
return errors.New("altering tenant id or collection id is forbidden")
}
oldCollClone := oldColl.Clone()
oldCollClone.DBID = newColl.DBID
@ -683,7 +683,7 @@ func (kc *Catalog) AlterCollection(ctx context.Context, oldColl *model.Collectio
func (kc *Catalog) alterModifyPartition(ctx context.Context, oldPart *model.Partition, newPart *model.Partition, ts typeutil.Timestamp) error {
if oldPart.CollectionID != newPart.CollectionID || oldPart.PartitionID != newPart.PartitionID {
return fmt.Errorf("altering collection id or partition id is forbidden")
return errors.New("altering collection id or partition id is forbidden")
}
oldPartClone := oldPart.Clone()
newPartClone := newPart.Clone()
@ -1102,7 +1102,7 @@ func (kc *Catalog) ListRole(ctx context.Context, tenant string, entity *milvuspb
}
} else {
if funcutil.IsEmptyString(entity.Name) {
return results, fmt.Errorf("role name in the role entity is empty")
return results, errors.New("role name in the role entity is empty")
}
roleKey := funcutil.HandleTenantForEtcdKey(RolePrefix, tenant, entity.Name)
_, err := kc.Txn.Load(ctx, roleKey)
@ -1177,7 +1177,7 @@ func (kc *Catalog) ListUser(ctx context.Context, tenant string, entity *milvuspb
}
} else {
if funcutil.IsEmptyString(entity.Name) {
return results, fmt.Errorf("username in the user entity is empty")
return results, errors.New("username in the user entity is empty")
}
_, err = kc.GetCredential(ctx, entity.Name)
if err != nil {

View File

@ -1644,7 +1644,7 @@ func TestRBAC_Role(t *testing.T) {
notExistKey = "not-exist"
errorKey = "error"
otherError = fmt.Errorf("mock load error")
otherError = errors.New("mock load error")
)
kvmock.EXPECT().Load(mock.Anything, notExistKey).Return("", merr.WrapErrIoKeyNotFound(notExistKey)).Once()
@ -1688,7 +1688,7 @@ func TestRBAC_Role(t *testing.T) {
notExistKey = "not-exist"
errorKey = "error"
otherError = fmt.Errorf("mock load error")
otherError = errors.New("mock load error")
)
kvmock.EXPECT().Load(mock.Anything, notExistKey).Return("", merr.WrapErrIoKeyNotFound(notExistKey)).Once()
@ -1735,7 +1735,7 @@ func TestRBAC_Role(t *testing.T) {
notExistPath = funcutil.HandleTenantForEtcdKey(RolePrefix, tenant, notExistName)
errorName = "error"
errorPath = funcutil.HandleTenantForEtcdKey(RolePrefix, tenant, errorName)
otherError = fmt.Errorf("mock load error")
otherError = errors.New("mock load error")
)
kvmock.EXPECT().Load(mock.Anything, notExistPath).Return("", merr.WrapErrIoKeyNotFound(notExistName)).Once()
@ -3075,7 +3075,7 @@ func TestCatalog_AlterDatabase(t *testing.T) {
func TestCatalog_listFunctionError(t *testing.T) {
mockSnapshot := newMockSnapshot(t)
kc := NewCatalog(nil, mockSnapshot).(*Catalog)
mockSnapshot.EXPECT().LoadWithPrefix(mock.Anything, mock.Anything, mock.Anything).Return(nil, nil, fmt.Errorf("mock error"))
mockSnapshot.EXPECT().LoadWithPrefix(mock.Anything, mock.Anything, mock.Anything).Return(nil, nil, errors.New("mock error"))
_, err := kc.listFunctions(context.TODO(), 1, 1)
assert.Error(t, err)

View File

@ -1003,7 +1003,7 @@ func genDSLByIndexType(schema *schemapb.CollectionSchema, indexType string) (str
} else if indexType == IndexHNSW {
return genHNSWDSL(schema, ef, defaultTopK, defaultRoundDecimal)
}
return "", fmt.Errorf("Invalid indexType")
return "", errors.New("Invalid indexType")
}
func genBruteForceDSL(schema *schemapb.CollectionSchema, topK int64, roundDecimal int64) (string, error) {
@ -1094,7 +1094,7 @@ func CheckSearchResult(ctx context.Context, nq int64, plan *segcore.SearchPlan,
return err
}
if len(blob) == 0 {
return fmt.Errorf("wrong search result data blobs when checkSearchResult")
return errors.New("wrong search result data blobs when checkSearchResult")
}
result := &schemapb.SearchResultData{}
@ -1104,17 +1104,17 @@ func CheckSearchResult(ctx context.Context, nq int64, plan *segcore.SearchPlan,
}
if result.TopK != sliceTopKs[i] {
return fmt.Errorf("unexpected topK when checkSearchResult")
return errors.New("unexpected topK when checkSearchResult")
}
if result.NumQueries != sInfo.SliceNQs[i] {
return fmt.Errorf("unexpected nq when checkSearchResult")
return errors.New("unexpected nq when checkSearchResult")
}
// search empty segment, return empty result.IDs
if len(result.Ids.IdField.(*schemapb.IDs_IntId).IntId.Data) <= 0 {
return fmt.Errorf("unexpected Ids when checkSearchResult")
return errors.New("unexpected Ids when checkSearchResult")
}
if len(result.Scores) <= 0 {
return fmt.Errorf("unexpected Scores when checkSearchResult")
return errors.New("unexpected Scores when checkSearchResult")
}
}

View File

@ -4,6 +4,8 @@ import (
"bytes"
"fmt"
"github.com/cockroachdb/errors"
"github.com/milvus-io/milvus-proto/go-api/v2/schemapb"
"github.com/milvus-io/milvus/internal/json"
"github.com/milvus-io/milvus/pkg/v2/proto/planpb"
@ -136,7 +138,7 @@ func ConvertToGenericValue(templateName string, templateValue *schemapb.Template
case *schemapb.TemplateValue_ArrayVal:
return convertArrayValue(templateName, templateValue.GetArrayVal())
default:
return nil, fmt.Errorf("expression elements can only be scalars")
return nil, errors.New("expression elements can only be scalars")
}
}

View File

@ -2,7 +2,6 @@ package planparserv2
import (
"fmt"
"strconv"
"github.com/antlr4-go/antlr/v4"
)
@ -18,7 +17,7 @@ type errorListenerImpl struct {
}
func (l *errorListenerImpl) SyntaxError(recognizer antlr.Recognizer, offendingSymbol interface{}, line, column int, msg string, e antlr.RecognitionException) {
l.err = fmt.Errorf("line " + strconv.Itoa(line) + ":" + strconv.Itoa(column) + " " + msg)
l.err = fmt.Errorf("line %d:%d %s", line, column, msg)
}
func (l *errorListenerImpl) Error() error {

View File

@ -3,6 +3,8 @@ package planparserv2
import (
"fmt"
"github.com/cockroachdb/errors"
"github.com/milvus-io/milvus-proto/go-api/v2/schemapb"
"github.com/milvus-io/milvus/pkg/v2/proto/planpb"
"github.com/milvus-io/milvus/pkg/v2/util/typeutil"
@ -129,11 +131,11 @@ func FillBinaryRangeExpressionValue(expr *planpb.BinaryRangeExpr, templateValues
if !(expr.GetLowerInclusive() && expr.GetUpperInclusive()) {
if getGenericValue(GreaterEqual(lowerValue, upperValue)).GetBoolVal() {
return fmt.Errorf("invalid range: lowerbound is greater than upperbound")
return errors.New("invalid range: lowerbound is greater than upperbound")
}
} else {
if getGenericValue(Greater(lowerValue, upperValue)).GetBoolVal() {
return fmt.Errorf("invalid range: lowerbound is greater than upperbound")
return errors.New("invalid range: lowerbound is greater than upperbound")
}
}
@ -168,7 +170,7 @@ func FillBinaryArithOpEvalRangeExpressionValue(expr *planpb.BinaryArithOpEvalRan
}
if operand.GetArrayVal() != nil {
return fmt.Errorf("can not comparisons array directly")
return errors.New("can not comparisons array directly")
}
dataType, err = getTargetType(lDataType, rDataType)

View File

@ -1,9 +1,10 @@
package planparserv2
import (
"fmt"
"math"
"github.com/cockroachdb/errors"
"github.com/milvus-io/milvus-proto/go-api/v2/schemapb"
parser "github.com/milvus-io/milvus/internal/parser/planparserv2/generated"
"github.com/milvus-io/milvus/pkg/v2/proto/planpb"
@ -182,21 +183,21 @@ func Divide(a, b *planpb.GenericValue) (*ExprWithType, error) {
}
if IsBool(a) || IsBool(b) {
return nil, fmt.Errorf("divide cannot apply on bool field")
return nil, errors.New("divide cannot apply on bool field")
}
if IsString(a) || IsString(b) {
return nil, fmt.Errorf("divide cannot apply on string field")
return nil, errors.New("divide cannot apply on string field")
}
aFloat, bFloat, aInt, bInt := IsFloating(a), IsFloating(b), IsInteger(a), IsInteger(b)
if bFloat && b.GetFloatVal() == 0 {
return nil, fmt.Errorf("cannot divide by zero")
return nil, errors.New("cannot divide by zero")
}
if bInt && b.GetInt64Val() == 0 {
return nil, fmt.Errorf("cannot divide by zero")
return nil, errors.New("cannot divide by zero")
}
if aFloat && bFloat {
@ -228,12 +229,12 @@ func Modulo(a, b *planpb.GenericValue) (*ExprWithType, error) {
aInt, bInt := IsInteger(a), IsInteger(b)
if !aInt || !bInt {
return nil, fmt.Errorf("modulo can only apply on integer")
return nil, errors.New("modulo can only apply on integer")
}
// aInt && bInt
if b.GetInt64Val() == 0 {
return nil, fmt.Errorf("cannot modulo by zero")
return nil, errors.New("cannot modulo by zero")
}
ret.dataType = schemapb.DataType_Int64
@ -281,29 +282,29 @@ func Power(a, b *planpb.GenericValue) *ExprWithType {
}
func BitAnd(a, b *planpb.GenericValue) (*ExprWithType, error) {
return nil, fmt.Errorf("todo: unsupported")
return nil, errors.New("todo: unsupported")
}
func BitOr(a, b *planpb.GenericValue) (*ExprWithType, error) {
return nil, fmt.Errorf("todo: unsupported")
return nil, errors.New("todo: unsupported")
}
func BitXor(a, b *planpb.GenericValue) (*ExprWithType, error) {
return nil, fmt.Errorf("todo: unsupported")
return nil, errors.New("todo: unsupported")
}
func ShiftLeft(a, b *planpb.GenericValue) (*ExprWithType, error) {
return nil, fmt.Errorf("todo: unsupported")
return nil, errors.New("todo: unsupported")
}
func ShiftRight(a, b *planpb.GenericValue) (*ExprWithType, error) {
return nil, fmt.Errorf("todo: unsupported")
return nil, errors.New("todo: unsupported")
}
func And(a, b *planpb.GenericValue) (*ExprWithType, error) {
aBool, bBool := IsBool(a), IsBool(b)
if !aBool || !bBool {
return nil, fmt.Errorf("and can only apply on boolean")
return nil, errors.New("and can only apply on boolean")
}
return &ExprWithType{
dataType: schemapb.DataType_Bool,
@ -320,7 +321,7 @@ func And(a, b *planpb.GenericValue) (*ExprWithType, error) {
func Or(a, b *planpb.GenericValue) (*ExprWithType, error) {
aBool, bBool := IsBool(a), IsBool(b)
if !aBool || !bBool {
return nil, fmt.Errorf("or can only apply on boolean")
return nil, errors.New("or can only apply on boolean")
}
return &ExprWithType{
dataType: schemapb.DataType_Bool,
@ -335,7 +336,7 @@ func Or(a, b *planpb.GenericValue) (*ExprWithType, error) {
}
func BitNot(a *planpb.GenericValue) (*ExprWithType, error) {
return nil, fmt.Errorf("todo: unsupported")
return nil, errors.New("todo: unsupported")
}
func Negative(a *planpb.GenericValue) *ExprWithType {
@ -419,7 +420,7 @@ func less() relationalFn {
return a.GetInt64Val() < b.GetInt64Val(), nil
}
return false, fmt.Errorf("incompatible data type")
return false, errors.New("incompatible data type")
}
}

View File

@ -7,6 +7,7 @@ import (
"strings"
"github.com/antlr4-go/antlr/v4"
"github.com/cockroachdb/errors"
"github.com/milvus-io/milvus-proto/go-api/v2/schemapb"
parser "github.com/milvus-io/milvus/internal/parser/planparserv2/generated"
@ -157,7 +158,7 @@ func (v *ParserVisitor) VisitString(ctx *parser.StringContext) interface{} {
func checkDirectComparisonBinaryField(columnInfo *planpb.ColumnInfo) error {
if typeutil.IsArrayType(columnInfo.GetDataType()) && len(columnInfo.GetNestedPath()) == 0 {
return fmt.Errorf("can not comparisons array fields directly")
return errors.New("can not comparisons array fields directly")
}
return nil
}
@ -446,12 +447,12 @@ func (v *ParserVisitor) VisitLike(ctx *parser.LikeContext) interface{} {
leftExpr := getExpr(left)
if leftExpr == nil {
return fmt.Errorf("the left operand of like is invalid")
return errors.New("the left operand of like is invalid")
}
column := toColumnInfo(leftExpr)
if column == nil {
return fmt.Errorf("like operation on complicated expr is unsupported")
return errors.New("like operation on complicated expr is unsupported")
}
if err := checkDirectComparisonBinaryField(column); err != nil {
return err
@ -459,7 +460,7 @@ func (v *ParserVisitor) VisitLike(ctx *parser.LikeContext) interface{} {
if !typeutil.IsStringType(leftExpr.dataType) && !typeutil.IsJSONType(leftExpr.dataType) &&
!(typeutil.IsArrayType(leftExpr.dataType) && typeutil.IsStringType(column.GetElementType())) {
return fmt.Errorf("like operation on non-string or no-json field is unsupported")
return errors.New("like operation on non-string or no-json field is unsupported")
}
pattern, err := convertEscapeSingle(ctx.StringLiteral().GetText())
@ -496,10 +497,10 @@ func (v *ParserVisitor) VisitTextMatch(ctx *parser.TextMatchContext) interface{}
return fmt.Errorf("field %v does not enable text match", columnInfo.FieldId)
}
if !typeutil.IsStringType(column.dataType) {
return fmt.Errorf("text match operation on non-string is unsupported")
return errors.New("text match operation on non-string is unsupported")
}
if column.dataType == schemapb.DataType_Text {
return fmt.Errorf("text match operation on text field is not supported yet")
return errors.New("text match operation on text field is not supported yet")
}
queryText, err := convertEscapeSingle(ctx.StringLiteral().GetText())
@ -527,7 +528,7 @@ func (v *ParserVisitor) VisitPhraseMatch(ctx *parser.PhraseMatchContext) interfa
return err
}
if !typeutil.IsStringType(column.dataType) {
return fmt.Errorf("phrase match operation on non-string is unsupported")
return errors.New("phrase match operation on non-string is unsupported")
}
queryText, err := convertEscapeSingle(ctx.StringLiteral().GetText())
if err != nil {
@ -770,11 +771,11 @@ func (v *ParserVisitor) VisitRange(ctx *parser.RangeContext) interface{} {
if !isTemplateExpr(lowerValueExpr) && !isTemplateExpr(upperValueExpr) {
if !(lowerInclusive && upperInclusive) {
if getGenericValue(GreaterEqual(lowerValue, upperValue)).GetBoolVal() {
return fmt.Errorf("invalid range: lowerbound is greater than upperbound")
return errors.New("invalid range: lowerbound is greater than upperbound")
}
} else {
if getGenericValue(Greater(lowerValue, upperValue)).GetBoolVal() {
return fmt.Errorf("invalid range: lowerbound is greater than upperbound")
return errors.New("invalid range: lowerbound is greater than upperbound")
}
}
}
@ -852,11 +853,11 @@ func (v *ParserVisitor) VisitReverseRange(ctx *parser.ReverseRangeContext) inter
if !isTemplateExpr(lowerValueExpr) && !isTemplateExpr(upperValueExpr) {
if !(lowerInclusive && upperInclusive) {
if getGenericValue(GreaterEqual(lowerValue, upperValue)).GetBoolVal() {
return fmt.Errorf("invalid range: lowerbound is greater than upperbound")
return errors.New("invalid range: lowerbound is greater than upperbound")
}
} else {
if getGenericValue(Greater(lowerValue, upperValue)).GetBoolVal() {
return fmt.Errorf("invalid range: lowerbound is greater than upperbound")
return errors.New("invalid range: lowerbound is greater than upperbound")
}
}
}
@ -904,10 +905,10 @@ func (v *ParserVisitor) VisitUnary(ctx *parser.UnaryContext) interface{} {
childExpr := getExpr(child)
if childExpr == nil {
return fmt.Errorf("failed to parse unary expressions")
return errors.New("failed to parse unary expressions")
}
if isRandomSampleExpr(childExpr) {
return fmt.Errorf("random sample expression cannot be used in unary expression")
return errors.New("random sample expression cannot be used in unary expression")
}
if err := checkDirectComparisonBinaryField(toColumnInfo(childExpr)); err != nil {
@ -957,7 +958,7 @@ func (v *ParserVisitor) VisitLogicalOr(ctx *parser.LogicalOrContext) interface{}
}
if leftValue != nil || rightValue != nil {
return fmt.Errorf("'or' can only be used between boolean expressions")
return errors.New("'or' can only be used between boolean expressions")
}
var leftExpr *ExprWithType
@ -965,11 +966,11 @@ func (v *ParserVisitor) VisitLogicalOr(ctx *parser.LogicalOrContext) interface{}
leftExpr = getExpr(left)
rightExpr = getExpr(right)
if isRandomSampleExpr(leftExpr) || isRandomSampleExpr(rightExpr) {
return fmt.Errorf("random sample expression cannot be used in logical and expression")
return errors.New("random sample expression cannot be used in logical and expression")
}
if !canBeExecuted(leftExpr) || !canBeExecuted(rightExpr) {
return fmt.Errorf("'or' can only be used between boolean expressions")
return errors.New("'or' can only be used between boolean expressions")
}
expr := &planpb.Expr{
Expr: &planpb.Expr_BinaryExpr{
@ -1009,7 +1010,7 @@ func (v *ParserVisitor) VisitLogicalAnd(ctx *parser.LogicalAndContext) interface
}
if leftValue != nil || rightValue != nil {
return fmt.Errorf("'and' can only be used between boolean expressions")
return errors.New("'and' can only be used between boolean expressions")
}
var leftExpr *ExprWithType
@ -1017,11 +1018,11 @@ func (v *ParserVisitor) VisitLogicalAnd(ctx *parser.LogicalAndContext) interface
leftExpr = getExpr(left)
rightExpr = getExpr(right)
if isRandomSampleExpr(leftExpr) {
return fmt.Errorf("random sample expression can only be the last expression in the logical and expression")
return errors.New("random sample expression can only be the last expression in the logical and expression")
}
if !canBeExecuted(leftExpr) || !canBeExecuted(rightExpr) {
return fmt.Errorf("'and' can only be used between boolean expressions")
return errors.New("'and' can only be used between boolean expressions")
}
var expr *planpb.Expr
@ -1132,7 +1133,7 @@ func (v *ParserVisitor) getColumnInfoFromJSONIdentifier(identifier string) (*pla
if field.GetDataType() != schemapb.DataType_JSON &&
field.GetDataType() != schemapb.DataType_Array {
errMsg := fmt.Sprintf("%s data type not supported accessed with []", field.GetDataType())
return nil, fmt.Errorf(errMsg)
return nil, fmt.Errorf("%s", errMsg)
}
if fieldName != field.Name {
nestedPath = append(nestedPath, fieldName)
@ -1151,7 +1152,7 @@ func (v *ParserVisitor) getColumnInfoFromJSONIdentifier(identifier string) (*pla
return nil, fmt.Errorf("invalid identifier: %s", identifier)
}
if typeutil.IsArrayType(field.DataType) {
return nil, fmt.Errorf("can only access array field with integer index")
return nil, errors.New("can only access array field with integer index")
}
} else if _, err := strconv.ParseInt(path, 10, 64); err != nil {
return nil, fmt.Errorf("json key must be enclosed in double quotes or single quotes: \"%s\"", path)

View File

@ -7,6 +7,8 @@ import (
"strings"
"unicode"
"github.com/cockroachdb/errors"
"github.com/milvus-io/milvus-proto/go-api/v2/schemapb"
"github.com/milvus-io/milvus/internal/json"
"github.com/milvus-io/milvus/pkg/v2/proto/planpb"
@ -294,12 +296,12 @@ func handleBinaryArithExpr(op planpb.OpType, arithExpr *planpb.BinaryArithExpr,
if leftExpr != nil && rightExpr != nil {
// a + b == 3
return nil, fmt.Errorf("not supported to do arithmetic operations between multiple fields")
return nil, errors.New("not supported to do arithmetic operations between multiple fields")
}
if leftValue != nil && rightValue != nil {
// 2 + 1 == 3
return nil, fmt.Errorf("unexpected, should be optimized already")
return nil, errors.New("unexpected, should be optimized already")
}
if leftExpr != nil && rightValue != nil {
@ -320,11 +322,11 @@ func handleBinaryArithExpr(op planpb.OpType, arithExpr *planpb.BinaryArithExpr,
case planpb.ArithOpType_Add, planpb.ArithOpType_Mul:
return combineBinaryArithExpr(op, arithOp, arithExprDataType, rightExpr.GetInfo(), leftValue, valueExpr)
default:
return nil, fmt.Errorf("module field is not yet supported")
return nil, errors.New("module field is not yet supported")
}
} else {
// (a + b) / 2 == 3
return nil, fmt.Errorf("complicated arithmetic operations are not supported")
return nil, errors.New("complicated arithmetic operations are not supported")
}
}
@ -348,7 +350,7 @@ func handleCompareRightValue(op planpb.OpType, left *ExprWithType, right *planpb
columnInfo := toColumnInfo(left)
if columnInfo == nil {
return nil, fmt.Errorf("not supported to combine multiple fields")
return nil, errors.New("not supported to combine multiple fields")
}
expr := &planpb.Expr{
Expr: &planpb.Expr_UnaryRangeExpr{
@ -388,7 +390,7 @@ func handleCompare(op planpb.OpType, left *ExprWithType, right *ExprWithType) (*
}
if leftColumnInfo == nil || rightColumnInfo == nil {
return nil, fmt.Errorf("only comparison between two fields is supported")
return nil, errors.New("only comparison between two fields is supported")
}
expr := &planpb.Expr{
@ -629,7 +631,7 @@ func checkValidModArith(tokenType planpb.ArithOpType, leftType, leftElementType,
switch tokenType {
case planpb.ArithOpType_Mod:
if !canConvertToIntegerType(leftType, leftElementType) || !canConvertToIntegerType(rightType, rightElementType) {
return fmt.Errorf("modulo can only apply on integer types")
return errors.New("modulo can only apply on integer types")
}
default:
}
@ -640,17 +642,17 @@ func castRangeValue(dataType schemapb.DataType, value *planpb.GenericValue) (*pl
switch dataType {
case schemapb.DataType_String, schemapb.DataType_VarChar:
if !IsString(value) {
return nil, fmt.Errorf("invalid range operations")
return nil, errors.New("invalid range operations")
}
case schemapb.DataType_Bool:
return nil, fmt.Errorf("invalid range operations on boolean expr")
return nil, errors.New("invalid range operations on boolean expr")
case schemapb.DataType_Int8, schemapb.DataType_Int16, schemapb.DataType_Int32, schemapb.DataType_Int64:
if !IsInteger(value) {
return nil, fmt.Errorf("invalid range operations")
return nil, errors.New("invalid range operations")
}
case schemapb.DataType_Float, schemapb.DataType_Double:
if !IsNumber(value) {
return nil, fmt.Errorf("invalid range operations")
return nil, errors.New("invalid range operations")
}
if IsInteger(value) {
return NewFloat(float64(value.GetInt64Val())), nil

View File

@ -22,6 +22,7 @@ import (
"net"
"testing"
"github.com/cockroachdb/errors"
"github.com/stretchr/testify/suite"
"google.golang.org/grpc"
"google.golang.org/grpc/codes"
@ -99,7 +100,7 @@ func (s *GrpcAccessInfoSuite) TestErrorMsg() {
s.Equal(merr.ErrChannelLack.Error(), result[0])
// replace line breaks
s.info.resp = merr.Status(fmt.Errorf("test error. stack: 1:\n 2:\n 3:\n"))
s.info.resp = merr.Status(errors.New("test error. stack: 1:\n 2:\n 3:\n"))
result = Get(s.info, "$error_msg")
s.Equal("test error. stack: 1:\\n 2:\\n 3:\\n", result[0])

View File

@ -21,6 +21,7 @@ import (
"fmt"
"strings"
"github.com/cockroachdb/errors"
"go.uber.org/atomic"
"google.golang.org/grpc/metadata"
@ -35,7 +36,7 @@ var ClusterPrefix atomic.String
func getCurUserFromContext(ctx context.Context) (string, error) {
md, ok := metadata.FromIncomingContext(ctx)
if !ok {
return "", fmt.Errorf("fail to get md from the context")
return "", errors.New("fail to get md from the context")
}
authorization, ok := md[strings.ToLower(util.HeaderAuthorize)]
if !ok || len(authorization) < 1 {

View File

@ -26,6 +26,7 @@ import (
"sync"
"time"
"github.com/cockroachdb/errors"
"go.uber.org/zap"
"github.com/milvus-io/milvus/pkg/v2/log"
@ -78,7 +79,7 @@ func (l *CacheWriter) Write(p []byte) (n int, err error) {
l.mu.Lock()
defer l.mu.Unlock()
if l.closed {
return 0, fmt.Errorf("write to closed writer")
return 0, errors.New("write to closed writer")
}
return l.writer.Write(p)
@ -197,7 +198,7 @@ func (l *RotateWriter) Write(p []byte) (n int, err error) {
defer l.mu.Unlock()
if l.closed {
return 0, fmt.Errorf("write to closed writer")
return 0, errors.New("write to closed writer")
}
writeLen := int64(len(p))

View File

@ -5,6 +5,7 @@ import (
"fmt"
"strconv"
"github.com/cockroachdb/errors"
"go.uber.org/zap"
"google.golang.org/grpc"
"google.golang.org/grpc/metadata"
@ -33,11 +34,11 @@ func ZapClientInfo(info *commonpb.ClientInfo) []zap.Field {
func GetIdentifierFromContext(ctx context.Context) (int64, error) {
md, ok := metadata.FromIncomingContext(ctx)
if !ok {
return 0, fmt.Errorf("fail to get metadata from the context")
return 0, errors.New("fail to get metadata from the context")
}
identifierContent, ok := md[util.IdentifierKey]
if !ok || len(identifierContent) < 1 {
return 0, fmt.Errorf("no identifier found in metadata")
return 0, errors.New("no identifier found in metadata")
}
identifier, err := strconv.ParseInt(identifierContent[0], 10, 64)
if err != nil {

View File

@ -5572,19 +5572,19 @@ func (node *Proxy) SelectUser(ctx context.Context, req *milvuspb.SelectUserReque
func (node *Proxy) validPrivilegeParams(req *milvuspb.OperatePrivilegeRequest) error {
if req.Entity == nil {
return fmt.Errorf("the entity in the request is nil")
return errors.New("the entity in the request is nil")
}
if req.Entity.Grantor == nil {
return fmt.Errorf("the grantor entity in the grant entity is nil")
return errors.New("the grantor entity in the grant entity is nil")
}
if req.Entity.Grantor.Privilege == nil {
return fmt.Errorf("the privilege entity in the grantor entity is nil")
return errors.New("the privilege entity in the grantor entity is nil")
}
if err := ValidatePrivilege(req.Entity.Grantor.Privilege.Name); err != nil {
return err
}
if req.Entity.Object == nil {
return fmt.Errorf("the resource entity in the grant entity is nil")
return errors.New("the resource entity in the grant entity is nil")
}
if err := ValidateObjectType(req.Entity.Object.Name); err != nil {
return err
@ -5593,7 +5593,7 @@ func (node *Proxy) validPrivilegeParams(req *milvuspb.OperatePrivilegeRequest) e
return err
}
if req.Entity.Role == nil {
return fmt.Errorf("the object entity in the grant entity is nil")
return errors.New("the object entity in the grant entity is nil")
}
if err := ValidateRoleName(req.Entity.Role.Name); err != nil {
return err

View File

@ -19,7 +19,6 @@ package proxy
import (
"context"
"encoding/base64"
"fmt"
"math/rand"
"net/http"
"net/http/httptest"
@ -1262,7 +1261,7 @@ func TestProxy_Delete(t *testing.T) {
).Return(partitionID, nil)
cache.On("GetCollectionInfo", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(basicInfo, nil)
chMgr.On("getVChannels", mock.Anything).Return(channels, nil)
chMgr.On("getChannels", mock.Anything).Return(nil, fmt.Errorf("mock error"))
chMgr.On("getChannels", mock.Anything).Return(nil, errors.New("mock error"))
globalMetaCache = cache
rc := mocks.NewMockRootCoordClient(t)
tsoAllocator := &mockTsoAllocator{}

View File

@ -196,7 +196,7 @@ func (m *MockMixCoordClientInterface) GetCredential(ctx context.Context, req *ro
}, nil
}
err := fmt.Errorf("can't find credential: " + req.Username)
err := fmt.Errorf("can't find credential: %s", req.Username)
return nil, err
}
@ -1489,7 +1489,7 @@ func TestMetaCache_PolicyInfo(t *testing.T) {
t.Run("InitMetaCache", func(t *testing.T) {
client.listPolicy = func(ctx context.Context, in *internalpb.ListPolicyRequest) (*internalpb.ListPolicyResponse, error) {
return nil, fmt.Errorf("mock error")
return nil, errors.New("mock error")
}
err := InitMetaCache(context.Background(), client, mgr)
assert.Error(t, err)
@ -1772,7 +1772,7 @@ func TestMetaCache_AllocID(t *testing.T) {
rootCoord := mocks.NewMockMixCoordClient(t)
rootCoord.EXPECT().AllocID(mock.Anything, mock.Anything).Return(&rootcoordpb.AllocIDResponse{
Status: merr.Status(nil),
}, fmt.Errorf("mock error"))
}, errors.New("mock error"))
rootCoord.EXPECT().ListPolicy(mock.Anything, mock.Anything).Return(&internalpb.ListPolicyResponse{
Status: merr.Success(),
PolicyInfos: []string{"policy1", "policy2", "policy3"},
@ -1790,7 +1790,7 @@ func TestMetaCache_AllocID(t *testing.T) {
t.Run("failed", func(t *testing.T) {
rootCoord := mocks.NewMockMixCoordClient(t)
rootCoord.EXPECT().AllocID(mock.Anything, mock.Anything).Return(&rootcoordpb.AllocIDResponse{
Status: merr.Status(fmt.Errorf("mock failed")),
Status: merr.Status(errors.New("mock failed")),
}, nil)
rootCoord.EXPECT().ListPolicy(mock.Anything, mock.Anything).Return(&internalpb.ListPolicyResponse{
Status: merr.Success(),

View File

@ -550,7 +550,7 @@ func (node *Proxy) SetQueryNodeCreator(f func(ctx context.Context, addr string,
// GetRateLimiter returns the rateLimiter in Proxy.
func (node *Proxy) GetRateLimiter() (types.Limiter, error) {
if node.simpleLimiter == nil {
return nil, fmt.Errorf("nil rate limiter in Proxy")
return nil, errors.New("nil rate limiter in Proxy")
}
return node.simpleLimiter, nil
}

View File

@ -120,14 +120,14 @@ func parseSearchIteratorV2Info(searchParamsPair []*commonpb.KeyValuePair, groupB
} else {
// Validate existing token is a valid UUID
if _, err := uuid.Parse(token); err != nil {
return nil, fmt.Errorf("invalid token format")
return nil, errors.New("invalid token format")
}
}
// parse batch size, required non-zero value
batchSizeStr, _ := funcutil.GetAttrByKeyFromRepeatedKV(SearchIterBatchSizeKey, searchParamsPair)
if batchSizeStr == "" {
return nil, fmt.Errorf("batch size is required")
return nil, errors.New("batch size is required")
}
batchSize, err := strconv.ParseInt(batchSizeStr, 0, 64)
if err != nil {

View File

@ -367,7 +367,7 @@ func (sa *segIDAssigner) syncSegments() (bool, error) {
assign.lastInsertTime = now
}
if !success {
return false, fmt.Errorf(errMsg)
return false, errors.New(errMsg)
}
return success, nil
}

View File

@ -18,12 +18,12 @@ package proxy
import (
"context"
"fmt"
"math/rand"
"sync"
"testing"
"time"
"github.com/cockroachdb/errors"
"github.com/stretchr/testify/assert"
"google.golang.org/grpc"
@ -237,7 +237,7 @@ func (mockD *mockDataCoord5) AssignSegmentID(ctx context.Context, req *datapb.As
ErrorCode: commonpb.ErrorCode_UnexpectedError,
Reason: "Just For Test",
},
}, fmt.Errorf("just for test")
}, errors.New("just for test")
}
func TestSegmentAllocator5(t *testing.T) {

View File

@ -276,7 +276,7 @@ func (t *createCollectionTask) validatePartitionKey(ctx context.Context) error {
if idx == -1 {
if t.GetNumPartitions() != 0 {
return fmt.Errorf("num_partitions should only be specified with partition key field enabled")
return errors.New("num_partitions should only be specified with partition key field enabled")
}
} else {
log.Ctx(ctx).Info("create collection with partition key mode",

View File

@ -691,7 +691,7 @@ func getPrimaryKeysFromUnaryRangeExpr(schema *schemapb.CollectionSchema, unaryRa
},
}
default:
return pks, fmt.Errorf("invalid field data type specifyed in simple delete expr")
return pks, errors.New("invalid field data type specifyed in simple delete expr")
}
return pks, nil
@ -722,7 +722,7 @@ func getPrimaryKeysFromTermExpr(schema *schemapb.CollectionSchema, termExpr *pla
},
}
default:
return pks, 0, fmt.Errorf("invalid field data type specifyed in simple delete expr")
return pks, 0, errors.New("invalid field data type specifyed in simple delete expr")
}
return pks, pkCount, nil

View File

@ -2,7 +2,6 @@ package proxy
import (
"context"
"fmt"
"testing"
"github.com/cockroachdb/errors"
@ -447,7 +446,7 @@ func (s *DeleteRunnerSuite) TestInitFailure() {
CollectionName: s.collectionName,
},
}
s.mockCache.EXPECT().GetDatabaseInfo(mock.Anything, mock.Anything).Return(nil, fmt.Errorf("mock error"))
s.mockCache.EXPECT().GetDatabaseInfo(mock.Anything, mock.Anything).Return(nil, errors.New("mock error"))
globalMetaCache = s.mockCache
s.Error(dr.Init(context.Background()))
@ -460,7 +459,7 @@ func (s *DeleteRunnerSuite) TestInitFailure() {
}
s.mockCache.EXPECT().GetDatabaseInfo(mock.Anything, mock.Anything).Return(&databaseInfo{dbID: 0}, nil)
s.mockCache.EXPECT().GetCollectionID(mock.Anything, mock.Anything, mock.Anything).
Return(int64(0), fmt.Errorf("mock get collectionID error"))
Return(int64(0), errors.New("mock get collectionID error"))
globalMetaCache = s.mockCache
s.Error(dr.Init(context.Background()))
@ -647,7 +646,7 @@ func (s *DeleteRunnerSuite) TestInitFailure() {
s.mockCache.EXPECT().GetCollectionInfo(mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(&collectionInfo{}, nil)
s.mockCache.EXPECT().GetPartitionsIndex(mock.Anything, mock.Anything, mock.Anything).Return([]string{"part1", "part2"}, nil)
s.mockCache.EXPECT().GetPartitions(mock.Anything, mock.Anything, mock.Anything).Return(map[string]int64{"part1": 100, "part2": 101}, nil)
mockChMgr.EXPECT().getVChannels(mock.Anything).Return(nil, fmt.Errorf("mock error"))
mockChMgr.EXPECT().getVChannels(mock.Anything).Return(nil, errors.New("mock error"))
globalMetaCache = s.mockCache
s.Error(dr.Init(context.Background()))
@ -735,7 +734,7 @@ func TestDeleteRunner_Run(t *testing.T) {
stream := msgstream.NewMockMsgStream(t)
mockMgr.EXPECT().getOrCreateDmlStream(mock.Anything, mock.Anything).Return(stream, nil)
mockMgr.EXPECT().getChannels(collectionID).Return(channels, nil)
stream.EXPECT().Produce(mock.Anything, mock.Anything).Return(fmt.Errorf("mock error"))
stream.EXPECT().Produce(mock.Anything, mock.Anything).Return(errors.New("mock error"))
assert.Error(t, dr.Run(context.Background()))
assert.Equal(t, int64(0), dr.result.DeleteCnt)

View File

@ -138,7 +138,7 @@ func (cit *createIndexTask) parseFunctionParamsToIndex(indexParamsMap map[string
switch cit.functionSchema.GetType() {
case schemapb.FunctionType_Unknown:
return fmt.Errorf("unknown function type encountered")
return errors.New("unknown function type encountered")
case schemapb.FunctionType_BM25:
// set default BM25 params if not provided in index params
@ -305,12 +305,12 @@ func (cit *createIndexTask) parseIndexParams(ctx context.Context) error {
metricType, metricTypeExist := indexParamsMap[common.MetricTypeKey]
if len(indexParamsMap) > numberParams+1 {
return fmt.Errorf("only metric type can be passed when use AutoIndex")
return errors.New("only metric type can be passed when use AutoIndex")
}
if len(indexParamsMap) == numberParams+1 {
if !metricTypeExist {
return fmt.Errorf("only metric type can be passed when use AutoIndex")
return errors.New("only metric type can be passed when use AutoIndex")
}
// only metric type is passed.
@ -356,7 +356,7 @@ func (cit *createIndexTask) parseIndexParams(ctx context.Context) error {
indexType, exist := indexParamsMap[common.IndexTypeKey]
if !exist {
return fmt.Errorf("IndexType not specified")
return errors.New("IndexType not specified")
}
// index parameters defined in the YAML file are merged with the user-provided parameters during create stage
if Params.KnowhereConfig.Enable.GetAsBool() {
@ -469,7 +469,7 @@ func fillDimension(field *schemapb.FieldSchema, indexParams map[string]string) e
params = append(params, field.GetIndexParams()...)
dimensionInSchema, err := funcutil.GetAttrByKeyFromRepeatedKV(DimKey, params)
if err != nil {
return fmt.Errorf("dimension not found in schema")
return errors.New("dimension not found in schema")
}
dimension, exist := indexParams[DimKey]
if exist {

View File

@ -2,12 +2,12 @@ package proxy
import (
"context"
"fmt"
"sort"
"strings"
"sync"
"testing"
"github.com/cockroachdb/errors"
"github.com/stretchr/testify/assert"
"github.com/milvus-io/milvus/internal/types"
@ -34,7 +34,7 @@ func TestRoundRobinPolicy(t *testing.T) {
assert.NoError(t, err)
assert.Equal(t, querier.records(), map[UniqueID][]string{0: {"c0", "c2"}, 1: {"c1", "c3"}})
mockerr := fmt.Errorf("mock query node error")
mockerr := errors.New("mock query node error")
querier.init()
querier.failset[0] = mockerr

View File

@ -1252,7 +1252,7 @@ func TestQueryTask_CanSkipAllocTimestamp(t *testing.T) {
mockMetaCache.ExpectedCalls = nil
mockMetaCache.EXPECT().GetCollectionID(mock.Anything, mock.Anything, mock.Anything).Return(collID, nil)
mockMetaCache.EXPECT().GetCollectionInfo(mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(
nil, fmt.Errorf("mock error")).Once()
nil, errors.New("mock error")).Once()
qt := &queryTask{
request: &milvuspb.QueryRequest{
@ -1268,7 +1268,7 @@ func TestQueryTask_CanSkipAllocTimestamp(t *testing.T) {
assert.False(t, skip)
mockMetaCache.ExpectedCalls = nil
mockMetaCache.EXPECT().GetCollectionID(mock.Anything, mock.Anything, mock.Anything).Return(collID, fmt.Errorf("mock error"))
mockMetaCache.EXPECT().GetCollectionID(mock.Anything, mock.Anything, mock.Anything).Return(collID, errors.New("mock error"))
mockMetaCache.EXPECT().GetCollectionInfo(mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(
&collectionInfo{
collID: collID,

View File

@ -24,6 +24,7 @@ import (
"testing"
"time"
"github.com/cockroachdb/errors"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
@ -593,7 +594,7 @@ func TestTaskScheduler_concurrentPushAndPop(t *testing.T) {
assert.NoError(t, err)
task := scheduler.scheduleDmTask()
scheduler.dmQueue.AddActiveTask(task)
chMgr.EXPECT().getChannels(mock.Anything).Return(nil, fmt.Errorf("mock err"))
chMgr.EXPECT().getChannels(mock.Anything).Return(nil, errors.New("mock err"))
scheduler.dmQueue.PopActiveTask(task.ID()) // assert no panic
}
@ -659,7 +660,7 @@ func TestTaskScheduler_SkipAllocTimestamp(t *testing.T) {
assert.NoError(t, err)
})
mockMetaCache.EXPECT().AllocID(mock.Anything).Return(0, fmt.Errorf("mock error")).Once()
mockMetaCache.EXPECT().AllocID(mock.Anything).Return(0, errors.New("mock error")).Once()
t.Run("failed", func(t *testing.T) {
st := &searchTask{
SearchRequest: &internalpb.SearchRequest{

View File

@ -3208,12 +3208,12 @@ func TestSearchTask_Requery(t *testing.T) {
schema := newSchemaInfo(collSchema)
qn := mocks.NewMockQueryNodeClient(t)
qn.EXPECT().Query(mock.Anything, mock.Anything).
Return(nil, fmt.Errorf("mock err 1"))
Return(nil, errors.New("mock err 1"))
lb := NewMockLBPolicy(t)
lb.EXPECT().Execute(mock.Anything, mock.Anything).Run(func(ctx context.Context, workload CollectionWorkLoad) {
_ = workload.exec(ctx, 0, qn, "")
}).Return(fmt.Errorf("mock err 1"))
}).Return(errors.New("mock err 1"))
node.lbPolicy = lb
qt := &searchTask{
@ -3242,12 +3242,12 @@ func TestSearchTask_Requery(t *testing.T) {
schema := newSchemaInfo(collSchema)
qn := mocks.NewMockQueryNodeClient(t)
qn.EXPECT().Query(mock.Anything, mock.Anything).
Return(nil, fmt.Errorf("mock err 1"))
Return(nil, errors.New("mock err 1"))
lb := NewMockLBPolicy(t)
lb.EXPECT().Execute(mock.Anything, mock.Anything).Run(func(ctx context.Context, workload CollectionWorkLoad) {
_ = workload.exec(ctx, 0, qn, "")
}).Return(fmt.Errorf("mock err 1"))
}).Return(errors.New("mock err 1"))
node.lbPolicy = lb
resultIDs := &schemapb.IDs{
@ -3481,7 +3481,7 @@ func TestSearchTask_CanSkipAllocTimestamp(t *testing.T) {
mockMetaCache.ExpectedCalls = nil
mockMetaCache.EXPECT().GetCollectionID(mock.Anything, mock.Anything, mock.Anything).Return(collID, nil)
mockMetaCache.EXPECT().GetCollectionInfo(mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(
nil, fmt.Errorf("mock error")).Once()
nil, errors.New("mock error")).Once()
st := &searchTask{
request: &milvuspb.SearchRequest{
@ -3497,7 +3497,7 @@ func TestSearchTask_CanSkipAllocTimestamp(t *testing.T) {
assert.False(t, skip)
mockMetaCache.ExpectedCalls = nil
mockMetaCache.EXPECT().GetCollectionID(mock.Anything, mock.Anything, mock.Anything).Return(collID, fmt.Errorf("mock error"))
mockMetaCache.EXPECT().GetCollectionID(mock.Anything, mock.Anything, mock.Anything).Return(collID, errors.New("mock error"))
mockMetaCache.EXPECT().GetCollectionInfo(mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(
&collectionInfo{
collID: collID,

View File

@ -22,6 +22,8 @@ import (
"strconv"
"time"
"github.com/cockroachdb/errors"
"github.com/milvus-io/milvus-proto/go-api/v2/commonpb"
"github.com/milvus-io/milvus/pkg/v2/metrics"
"github.com/milvus-io/milvus/pkg/v2/proto/rootcoordpb"
@ -69,7 +71,7 @@ func (ta *timestampAllocator) alloc(ctx context.Context, count uint32) ([]Timest
return nil, fmt.Errorf("syncTimeStamp Failed:%s", resp.GetStatus().GetReason())
}
if resp == nil {
return nil, fmt.Errorf("empty AllocTimestampResponse")
return nil, errors.New("empty AllocTimestampResponse")
}
start, cnt := resp.GetTimestamp(), resp.GetCount()
ret := make([]Timestamp, cnt)

View File

@ -399,7 +399,7 @@ func validateMaxCapacityPerRow(collectionName string, field *schemapb.FieldSchem
return fmt.Errorf("the value for %s of field %s must be an integer", common.MaxCapacityKey, field.GetName())
}
if maxCapacityPerRow > defaultMaxArrayCapacity || maxCapacityPerRow <= 0 {
return fmt.Errorf("the maximum capacity specified for a Array should be in (0, 4096]")
return errors.New("the maximum capacity specified for a Array should be in (0, 4096]")
}
exist = true
}
@ -540,7 +540,7 @@ func validatePrimaryKey(coll *schemapb.CollectionSchema) error {
// If autoID is required, it is recommended to use int64 field as the primary key
//if field.DataType == schemapb.DataType_VarChar {
// if field.AutoID {
// return fmt.Errorf("autoID is not supported when the VarChar field is the primary key")
// return errors.New("autoID is not supported when the VarChar field is the primary key")
// }
//}
@ -556,7 +556,7 @@ func validatePrimaryKey(coll *schemapb.CollectionSchema) error {
func validateDynamicField(coll *schemapb.CollectionSchema) error {
for _, field := range coll.Fields {
if field.IsDynamic {
return fmt.Errorf("cannot explicitly set a field as a dynamic field")
return errors.New("cannot explicitly set a field as a dynamic field")
}
}
return nil
@ -621,12 +621,12 @@ func validateSchema(coll *schemapb.CollectionSchema) error {
// primary key detector
if field.IsPrimaryKey {
if autoID {
return fmt.Errorf("autoId forbids primary key")
return errors.New("autoId forbids primary key")
} else if primaryIdx != -1 {
return fmt.Errorf("there are more than one primary key, field name = %s, %s", coll.Fields[primaryIdx].Name, field.Name)
}
if field.DataType != schemapb.DataType_Int64 {
return fmt.Errorf("type of primary key should be int64")
return errors.New("type of primary key should be int64")
}
primaryIdx = idx
}
@ -687,7 +687,7 @@ func validateSchema(coll *schemapb.CollectionSchema) error {
}
if !autoID && primaryIdx == -1 {
return fmt.Errorf("primary key is required for non autoid mode")
return errors.New("primary key is required for non autoid mode")
}
return nil
@ -779,7 +779,7 @@ func checkFunctionOutputField(fSchema *schemapb.FunctionSchema, fields []*schema
return err
}
default:
return fmt.Errorf("check output field for unknown function type")
return errors.New("check output field for unknown function type")
}
return nil
}
@ -802,21 +802,21 @@ func checkFunctionInputField(function *schemapb.FunctionSchema, fields []*schema
}
h := typeutil.CreateFieldSchemaHelper(fields[0])
if !h.EnableAnalyzer() {
return fmt.Errorf("BM25 function input field must set enable_analyzer to true")
return errors.New("BM25 function input field must set enable_analyzer to true")
}
case schemapb.FunctionType_TextEmbedding:
if len(fields) != 1 || (fields[0].DataType != schemapb.DataType_VarChar && fields[0].DataType != schemapb.DataType_Text) {
return fmt.Errorf("TextEmbedding function input field must be a VARCHAR/TEXT field")
return errors.New("TextEmbedding function input field must be a VARCHAR/TEXT field")
}
default:
return fmt.Errorf("check input field with unknown function type")
return errors.New("check input field with unknown function type")
}
return nil
}
func checkFunctionBasicParams(function *schemapb.FunctionSchema) error {
if function.GetName() == "" {
return fmt.Errorf("function name cannot be empty")
return errors.New("function name cannot be empty")
}
if len(function.GetInputFieldNames()) == 0 {
return fmt.Errorf("function input field names cannot be empty, function: %s", function.GetName())
@ -847,14 +847,14 @@ func checkFunctionBasicParams(function *schemapb.FunctionSchema) error {
switch function.GetType() {
case schemapb.FunctionType_BM25:
if len(function.GetParams()) != 0 {
return fmt.Errorf("BM25 function accepts no params")
return errors.New("BM25 function accepts no params")
}
case schemapb.FunctionType_TextEmbedding:
if len(function.GetParams()) == 0 {
return fmt.Errorf("TextEmbedding function accepts no params")
return errors.New("TextEmbedding function accepts no params")
}
default:
return fmt.Errorf("check function params with unknown function type")
return errors.New("check function params with unknown function type")
}
return nil
}
@ -1334,9 +1334,9 @@ func computeRecall(results *schemapb.SearchResultData, gts *schemapb.SearchResul
results.Recalls = recalls
return nil
case *schemapb.IDs_StrId:
return fmt.Errorf("pk type is inconsistent between search results(int64) and ground truth(string)")
return errors.New("pk type is inconsistent between search results(int64) and ground truth(string)")
default:
return fmt.Errorf("unsupported pk type")
return errors.New("unsupported pk type")
}
case *schemapb.IDs_StrId:
@ -1356,12 +1356,12 @@ func computeRecall(results *schemapb.SearchResultData, gts *schemapb.SearchResul
results.Recalls = recalls
return nil
case *schemapb.IDs_IntId:
return fmt.Errorf("pk type is inconsistent between search results(string) and ground truth(int64)")
return errors.New("pk type is inconsistent between search results(string) and ground truth(int64)")
default:
return fmt.Errorf("unsupported pk type")
return errors.New("unsupported pk type")
}
default:
return fmt.Errorf("unsupported pk type")
return errors.New("unsupported pk type")
}
}
@ -1439,7 +1439,7 @@ func translateOutputFields(outputFields []string, schema *schemaInfo, removePkFi
expr.GetColumnExpr().GetInfo().GetNestedPath()[0] == outputFieldName {
return nil
}
return fmt.Errorf("not support getting subkeys of json field yet")
return errors.New("not support getting subkeys of json field yet")
})
if err != nil {
log.Info("parse output field name failed", zap.String("field name", outputFieldName))
@ -2273,7 +2273,7 @@ func GetRequestInfo(ctx context.Context, req proto.Message) (int64, map[int64][]
return util.InvalidDBID, map[int64][]int64{}, internalpb.RateType_DDLDB, 1, nil
default: // TODO: support more request
if req == nil {
return util.InvalidDBID, map[int64][]int64{}, 0, 0, fmt.Errorf("null request")
return util.InvalidDBID, map[int64][]int64{}, 0, 0, errors.New("null request")
}
log.RatedWarn(60, "not supported request type for rate limiter", zap.String("type", reflect.TypeOf(req).String()))
return util.InvalidDBID, map[int64][]int64{}, 0, 0, nil

View File

@ -931,7 +931,7 @@ func TestPasswordVerify(t *testing.T) {
mockedRootCoord := NewMixCoordMock()
mockedRootCoord.GetGetCredentialFunc = func(ctx context.Context, req *rootcoordpb.GetCredentialRequest, opts ...grpc.CallOption) (*rootcoordpb.GetCredentialResponse, error) {
invokedCount++
return nil, fmt.Errorf("get cred not found credential")
return nil, errors.New("get cred not found credential")
}
metaCache := &MetaCache{

View File

@ -18,7 +18,6 @@ package meta
import (
"context"
"fmt"
"math"
"time"
@ -275,7 +274,7 @@ func (broker *CoordinatorBroker) GetSegmentInfo(ctx context.Context, ids ...Uniq
if len(resp.Infos) == 0 {
log.Warn("No such segment in DataCoord")
return nil, fmt.Errorf("no such segment in DataCoord")
return nil, errors.New("no such segment in DataCoord")
}
err = binlog.DecompressMultiBinLogs(resp.GetInfos())

View File

@ -27,6 +27,7 @@ import (
"time"
"github.com/blang/semver/v4"
"github.com/cockroachdb/errors"
"github.com/samber/lo"
"github.com/tidwall/gjson"
"github.com/tikv/client-go/v2/txnkv"
@ -157,7 +158,7 @@ func (s *Server) Register() error {
func (s *Server) SetSession(session sessionutil.SessionInterface) error {
s.session = session
if s.session == nil {
return fmt.Errorf("session is nil, the etcd client connection may have failed")
return errors.New("session is nil, the etcd client connection may have failed")
}
return nil
}

View File

@ -106,7 +106,7 @@ func GetShardLeadersWithChannels(ctx context.Context, m *meta.Meta, targetMgr me
) ([]*querypb.ShardLeadersList, error) {
ret := make([]*querypb.ShardLeadersList, 0)
for _, channel := range channels {
log := log.With(zap.String("channel", channel.GetChannelName()))
log := log.Ctx(ctx).With(zap.String("channel", channel.GetChannelName()))
var channelErr error
leaders := dist.LeaderViewManager.GetByFilter(meta.WithChannelName2LeaderView(channel.GetChannelName()))

View File

@ -1093,7 +1093,7 @@ func (sd *shardDelegator) buildBM25IDF(req *internalpb.SearchRequest) (float64,
tfArray, ok := output[0].(*schemapb.SparseFloatArray)
if !ok {
return 0, fmt.Errorf("functionRunner return unknown data")
return 0, errors.New("functionRunner return unknown data")
}
idfSparseVector, avgdl, err := sd.idfOracle.BuildIDF(req.GetFieldId(), tfArray)

View File

@ -611,7 +611,7 @@ func (s *DelegatorDataSuite) TestLoadSegmentsWithBm25() {
s.loader.ExpectedCalls = nil
}()
s.loader.EXPECT().LoadBM25Stats(mock.Anything, s.collectionID, mock.Anything).Return(nil, fmt.Errorf("mock error"))
s.loader.EXPECT().LoadBM25Stats(mock.Anything, s.collectionID, mock.Anything).Return(nil, errors.New("mock error"))
workers := make(map[int64]*cluster.MockWorker)
worker1 := &cluster.MockWorker{}
@ -1073,7 +1073,7 @@ func (s *DelegatorDataSuite) TestBuildBM25IDF() {
oldRunner := s.delegator.functionRunners
mockRunner := function.NewMockFunctionRunner(s.T())
s.delegator.functionRunners = map[int64]function.FunctionRunner{101: mockRunner}
mockRunner.EXPECT().BatchRun(mock.Anything).Return(nil, fmt.Errorf("mock err"))
mockRunner.EXPECT().BatchRun(mock.Anything).Return(nil, errors.New("mock err"))
defer func() {
s.delegator.functionRunners = oldRunner
}()

View File

@ -18,9 +18,9 @@ package delegator
import (
"context"
"fmt"
"sync"
"github.com/cockroachdb/errors"
"go.uber.org/zap"
"github.com/milvus-io/milvus-proto/go-api/v2/commonpb"
@ -75,7 +75,7 @@ func (s *bm25Stats) Minus(stats map[int64]*storage.BM25Stats) {
func (s *bm25Stats) GetStats(fieldID int64) (*storage.BM25Stats, error) {
stats, ok := s.stats[fieldID]
if !ok {
return nil, fmt.Errorf("field not found in idf oracle BM25 stats")
return nil, errors.New("field not found in idf oracle BM25 stats")
}
return stats, nil
}

View File

@ -20,6 +20,7 @@ import (
"context"
"fmt"
"github.com/cockroachdb/errors"
"go.uber.org/zap"
"github.com/milvus-io/milvus-proto/go-api/v2/msgpb"
@ -104,7 +105,7 @@ func (eNode *embeddingNode) addInsertData(insertDatas map[UniqueID]*delegator.In
insertRecord, err := storage.TransferInsertMsgToInsertRecord(collection.Schema(), msg)
if err != nil {
err = fmt.Errorf("failed to get primary keys, err = %d", err)
err = fmt.Errorf("failed to get primary keys, err = %v", err)
log.Error(err.Error(), zap.String("channel", eNode.channel))
return err
}
@ -156,7 +157,7 @@ func (eNode *embeddingNode) bm25Embedding(runner function.FunctionRunner, msg *m
sparseArray, ok := output[0].(*schemapb.SparseFloatArray)
if !ok {
return fmt.Errorf("BM25 runner return unknown type output")
return errors.New("BM25 runner return unknown type output")
}
if _, ok := stats[outputFieldID]; !ok {
@ -178,7 +179,7 @@ func (eNode *embeddingNode) embedding(msg *msgstream.InsertMsg, stats map[int64]
}
default:
log.Warn("pipeline embedding with unknown function type", zap.Any("type", functionSchema.GetType()))
return fmt.Errorf("unknown function type")
return errors.New("unknown function type")
}
}

View File

@ -17,9 +17,9 @@
package pipeline
import (
"fmt"
"testing"
"github.com/cockroachdb/errors"
"github.com/stretchr/testify/mock"
"github.com/stretchr/testify/suite"
"google.golang.org/protobuf/proto"
@ -252,7 +252,7 @@ func (suite *EmbeddingNodeSuite) TestBM25Embedding() {
suite.NoError(err)
runner := function.NewMockFunctionRunner(suite.T())
runner.EXPECT().BatchRun(mock.Anything).Return(nil, fmt.Errorf("mock error"))
runner.EXPECT().BatchRun(mock.Anything).Return(nil, errors.New("mock error"))
runner.EXPECT().GetSchema().Return(suite.collectionSchema.GetFunctions()[0])
runner.EXPECT().GetOutputFields().Return([]*schemapb.FieldSchema{nil})

View File

@ -27,6 +27,8 @@ import (
"fmt"
"unsafe"
"github.com/cockroachdb/errors"
"github.com/milvus-io/milvus/internal/util/indexparamcheck"
"github.com/milvus-io/milvus/internal/util/vecindexmgr"
"github.com/milvus-io/milvus/pkg/v2/common"
@ -59,7 +61,7 @@ func NewIndexAttrCache() *IndexAttrCache {
func (c *IndexAttrCache) GetIndexResourceUsage(indexInfo *querypb.FieldIndexInfo, memoryIndexLoadPredictMemoryUsageFactor float64, fieldBinlog *datapb.FieldBinlog) (memory uint64, disk uint64, err error) {
indexType, err := funcutil.GetAttrByKeyFromRepeatedKV(common.IndexTypeKey, indexInfo.IndexParams)
if err != nil {
return 0, 0, fmt.Errorf("index type not exist in index params")
return 0, 0, errors.New("index type not exist in index params")
}
if vecindexmgr.GetVecIndexMgrInstance().IsDiskANN(indexType) {
neededMemSize := indexInfo.IndexSize / UsedDiskMemoryRatio

View File

@ -1096,7 +1096,7 @@ func (s *LocalSegment) innerLoadIndex(ctx context.Context,
metricType, err := funcutil.GetAttrByKeyFromRepeatedKV(common.MetricTypeKey, indexInfo.IndexParams)
if err != nil {
return fmt.Errorf("metric type not exist in index params")
return errors.New("metric type not exist in index params")
}
if metricType == metric.BM25 {

View File

@ -582,7 +582,8 @@ func (suite *SegmentLoaderSuite) TestLoadIndexWithLimitedResource() {
loadInfo: atomic.NewPointer[querypb.SegmentLoadInfo](loadInfo),
},
}
paramtable.Get().QueryNodeCfg.DiskCapacityLimit.SwapTempValue("100000")
paramtable.Get().Save(paramtable.Get().QueryNodeCfg.DiskCapacityLimit.Key, "100000")
defer paramtable.Get().Reset(paramtable.Get().QueryNodeCfg.DiskCapacityLimit.Key)
err := suite.loader.LoadIndex(ctx, segment, loadInfo, 0)
suite.Error(err)
}

View File

@ -20,6 +20,7 @@ import (
"strconv"
"time"
"github.com/cockroachdb/errors"
"go.uber.org/zap"
"github.com/milvus-io/milvus-proto/go-api/v2/schemapb"
@ -126,7 +127,7 @@ func getPKsFromRowBasedInsertMsg(msg *msgstream.InsertMsg, schema *schemapb.Coll
}
}
case schemapb.DataType_SparseFloatVector:
return nil, fmt.Errorf("SparseFloatVector not support in row based message")
return nil, errors.New("SparseFloatVector not support in row based message")
}
}

View File

@ -40,6 +40,7 @@ import (
"time"
"unsafe"
"github.com/cockroachdb/errors"
"github.com/samber/lo"
"github.com/tidwall/gjson"
clientv3 "go.etcd.io/etcd/client/v3"
@ -163,7 +164,7 @@ func (node *QueryNode) initSession() error {
sessionutil.WithScalarIndexEngineVersion(common.MinimalScalarIndexEngineVersion, common.CurrentScalarIndexEngineVersion),
sessionutil.WithIndexNonEncoding())
if node.session == nil {
return fmt.Errorf("session is nil, the etcd client connection may have failed")
return errors.New("session is nil, the etcd client connection may have failed")
}
node.session.Init(typeutil.QueryNodeRole, node.address, false, true)
sessionutil.SaveServerInfo(typeutil.QueryNodeRole, node.session.ServerID)
@ -552,7 +553,7 @@ func (node *QueryNode) initHook() error {
log := log.Ctx(node.ctx)
path := paramtable.Get().QueryNodeCfg.SoPath.GetValue()
if path == "" {
return fmt.Errorf("fail to set the plugin path")
return errors.New("fail to set the plugin path")
}
log.Info("start to load plugin", zap.String("path", path))
@ -569,7 +570,7 @@ func (node *QueryNode) initHook() error {
hoo, ok := h.(optimizers.QueryHook)
if !ok {
return fmt.Errorf("fail to convert the `Hook` interface")
return errors.New("fail to convert the `Hook` interface")
}
if err = hoo.Init(paramtable.Get().AutoIndexConfig.AutoIndexSearchConfig.GetValue()); err != nil {
return fmt.Errorf("fail to init configs for the hook, error: %s", err.Error())

View File

@ -18,9 +18,9 @@ package rootcoord
import (
"context"
"fmt"
"testing"
"github.com/cockroachdb/errors"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
@ -63,7 +63,7 @@ func Test_alterAliasTask_Execute(t *testing.T) {
mockMeta := mockrootcoord.NewIMetaTable(t)
mockMeta.EXPECT().GetCollectionID(mock.Anything, mock.Anything, mock.Anything).Return(111)
mockMeta.EXPECT().AlterAlias(mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).
Return(fmt.Errorf("failed to alter alias"))
Return(errors.New("failed to alter alias"))
core := newTestCore(withValidProxyManager(), withMeta(mockMeta))
task := &alterAliasTask{
baseTask: newBaseTask(context.Background(), core),

View File

@ -18,7 +18,6 @@ package rootcoord
import (
"context"
"fmt"
"strconv"
"github.com/cockroachdb/errors"
@ -44,7 +43,7 @@ type alterCollectionTask struct {
func (a *alterCollectionTask) Prepare(ctx context.Context) error {
if a.Req.GetCollectionName() == "" {
return fmt.Errorf("alter collection failed, collection name does not exists")
return errors.New("alter collection failed, collection name does not exists")
}
return nil
@ -244,11 +243,11 @@ type alterCollectionFieldTask struct {
func (a *alterCollectionFieldTask) Prepare(ctx context.Context) error {
if a.Req.GetCollectionName() == "" {
return fmt.Errorf("alter collection field failed, collection name does not exists")
return errors.New("alter collection field failed, collection name does not exists")
}
if a.Req.GetFieldName() == "" {
return fmt.Errorf("alter collection field failed, filed name does not exists")
return errors.New("alter collection field failed, filed name does not exists")
}
return nil

View File

@ -18,7 +18,6 @@ package rootcoord
import (
"context"
"fmt"
"github.com/cockroachdb/errors"
"github.com/samber/lo"
@ -44,7 +43,7 @@ type alterDatabaseTask struct {
func (a *alterDatabaseTask) Prepare(ctx context.Context) error {
if a.Req.GetDbName() == "" {
return fmt.Errorf("alter database failed, database name does not exists")
return errors.New("alter database failed, database name does not exists")
}
// TODO SimFG maybe it will support to alter the replica.id properties in the future when the database has no collections

View File

@ -202,7 +202,7 @@ func (b *ServerBroker) DropCollectionIndex(ctx context.Context, collID UniqueID,
return err
}
if rsp.ErrorCode != commonpb.ErrorCode_Success {
return fmt.Errorf(rsp.Reason)
return fmt.Errorf("%s", rsp.Reason)
}
log.Ctx(ctx).Info("done to drop collection index", zap.Int64("collection", collID), zap.Int64s("partitions", partIDs))

View File

@ -142,7 +142,7 @@ func (t *createCollectionTask) checkMaxCollectionsPerDB(ctx context.Context, db2
if err != nil {
log.Ctx(ctx).Warn("parse value of property fail", zap.String("key", common.DatabaseMaxCollectionsKey),
zap.String("value", maxColNumPerDBStr), zap.Error(err))
return fmt.Errorf(fmt.Sprintf("parse value of property fail, key:%s, value:%s", common.DatabaseMaxCollectionsKey, maxColNumPerDBStr))
return fmt.Errorf("parse value of property fail, key:%s, value:%s", common.DatabaseMaxCollectionsKey, maxColNumPerDBStr)
}
return check(maxColNumPerDB)
}

View File

@ -18,9 +18,9 @@ package rootcoord
import (
"context"
"fmt"
"testing"
"github.com/cockroachdb/errors"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
@ -69,7 +69,7 @@ func Test_dropAliasTask_Execute(t *testing.T) {
mockMeta := mockrootcoord.NewIMetaTable(t)
mockMeta.EXPECT().GetCollectionID(mock.Anything, mock.Anything, mock.Anything).Return(111)
mockMeta.EXPECT().DropAlias(mock.Anything, mock.Anything, mock.Anything, mock.Anything).
Return(fmt.Errorf("failed to alter alias"))
Return(errors.New("failed to alter alias"))
core := newTestCore(withValidProxyManager(), withMeta(mockMeta))
alias := funcutil.GenRandomStr()
task := &dropAliasTask{

View File

@ -18,7 +18,8 @@ package rootcoord
import (
"context"
"fmt"
"github.com/cockroachdb/errors"
"github.com/milvus-io/milvus-proto/go-api/v2/commonpb"
"github.com/milvus-io/milvus-proto/go-api/v2/milvuspb"
@ -33,7 +34,7 @@ type dropDatabaseTask struct {
func (t *dropDatabaseTask) Prepare(ctx context.Context) error {
if t.Req.GetDbName() == util.DefaultDBName {
return fmt.Errorf("can not drop default database")
return errors.New("can not drop default database")
}
return nil
}

View File

@ -18,8 +18,8 @@ package rootcoord
import (
"context"
"fmt"
"github.com/cockroachdb/errors"
"go.uber.org/zap"
"github.com/milvus-io/milvus-proto/go-api/v2/commonpb"
@ -42,7 +42,7 @@ func (t *dropPartitionTask) Prepare(ctx context.Context) error {
return err
}
if t.Req.GetPartitionName() == Params.CommonCfg.DefaultPartitionName.GetValue() {
return fmt.Errorf("default partition cannot be deleted")
return errors.New("default partition cannot be deleted")
}
collMeta, err := t.core.meta.GetCollectionByName(ctx, t.Req.GetDbName(), t.Req.GetCollectionName(), t.GetTs())
if err != nil {

View File

@ -18,7 +18,6 @@ package rootcoord
import (
"context"
"fmt"
"testing"
"github.com/cockroachdb/errors"
@ -283,7 +282,7 @@ func TestGarbageCollectorCtx_RemoveCreatingCollection(t *testing.T) {
).Return(func(ctx context.Context, collectionID UniqueID, ts Timestamp) error {
removeCollectionCalled = true
removeCollectionChan <- struct{}{}
return fmt.Errorf("error mock RemoveCollection")
return errors.New("error mock RemoveCollection")
})
core := newTestCore(withTtSynchronizer(ticker), withMeta(meta), withTsoAllocator(tsoAllocator))
@ -490,7 +489,7 @@ func TestGarbageCollector_RemoveCreatingPartition(t *testing.T) {
qc := mocks.NewMixCoord(t)
qc.EXPECT().ReleasePartitions(mock.Anything, mock.Anything).
Return(merr.Success(), fmt.Errorf("mock err")).
Return(merr.Success(), errors.New("mock err")).
Run(func(ctx context.Context, req *querypb.ReleasePartitionsRequest) {
signal <- struct{}{}
})
@ -517,7 +516,7 @@ func TestGarbageCollector_RemoveCreatingPartition(t *testing.T) {
signal := make(chan struct{}, 1)
meta := mockrootcoord.NewIMetaTable(t)
meta.EXPECT().RemovePartition(mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).
Return(fmt.Errorf("mock err")).
Return(errors.New("mock err")).
Run(func(ctx context.Context, dbID, collectionID int64, partitionID int64, ts uint64) {
signal <- struct{}{}
})

View File

@ -331,7 +331,7 @@ func (mt *MetaTable) AlterDatabase(ctx context.Context, oldDB *model.Database, n
defer mt.ddLock.Unlock()
if oldDB.Name != newDB.Name || oldDB.ID != newDB.ID || oldDB.State != newDB.State {
return fmt.Errorf("alter database name/id is not supported!")
return errors.New("alter database name/id is not supported!")
}
ctx1 := contextutil.WithTenantID(ctx, Params.CommonCfg.ClusterName.GetValue())
@ -348,7 +348,7 @@ func (mt *MetaTable) DropDatabase(ctx context.Context, dbName string, ts typeuti
defer mt.ddLock.Unlock()
if dbName == util.DefaultDBName {
return fmt.Errorf("can not drop default database")
return errors.New("can not drop default database")
}
db, err := mt.getDatabaseByNameInternal(ctx, dbName, typeutil.MaxTimestamp)
@ -895,7 +895,7 @@ func (mt *MetaTable) RenameCollection(ctx context.Context, dbName string, oldNam
// unsupported rename collection while the collection has aliases
aliases := mt.listAliasesByID(oldColl.CollectionID)
if len(aliases) > 0 && oldColl.DBID != targetDB.ID {
return fmt.Errorf("fail to rename db name, must drop all aliases of this collection before rename")
return errors.New("fail to rename db name, must drop all aliases of this collection before rename")
}
newColl := oldColl.Clone()
@ -1063,7 +1063,7 @@ func (mt *MetaTable) CreateAlias(ctx context.Context, dbName string, alias strin
if collID, ok := mt.names.get(dbName, alias); ok {
coll, ok := mt.collID2Meta[collID]
if !ok {
return fmt.Errorf("meta error, name mapped non-exist collection id")
return errors.New("meta error, name mapped non-exist collection id")
}
// allow alias with dropping&dropped
if coll.State != pb.CollectionState_CollectionDropping && coll.State != pb.CollectionState_CollectionDropped {
@ -1318,7 +1318,7 @@ func (mt *MetaTable) GetGeneralCount(ctx context.Context) int {
// AddCredential add credential
func (mt *MetaTable) AddCredential(ctx context.Context, credInfo *internalpb.CredentialInfo) error {
if credInfo.Username == "" {
return fmt.Errorf("username is empty")
return errors.New("username is empty")
}
mt.permissionLock.Lock()
defer mt.permissionLock.Unlock()
@ -1347,7 +1347,7 @@ func (mt *MetaTable) AddCredential(ctx context.Context, credInfo *internalpb.Cre
// AlterCredential update credential
func (mt *MetaTable) AlterCredential(ctx context.Context, credInfo *internalpb.CredentialInfo) error {
if credInfo.Username == "" {
return fmt.Errorf("username is empty")
return errors.New("username is empty")
}
mt.permissionLock.Lock()
@ -1392,7 +1392,7 @@ func (mt *MetaTable) ListCredentialUsernames(ctx context.Context) (*milvuspb.Lis
// CreateRole create role
func (mt *MetaTable) CreateRole(ctx context.Context, tenant string, entity *milvuspb.RoleEntity) error {
if funcutil.IsEmptyString(entity.Name) {
return fmt.Errorf("the role name in the role info is empty")
return errors.New("the role name in the role info is empty")
}
mt.permissionLock.Lock()
defer mt.permissionLock.Unlock()
@ -1428,10 +1428,10 @@ func (mt *MetaTable) DropRole(ctx context.Context, tenant string, roleName strin
// OperateUserRole operate the relationship between a user and a role, including adding a user to a role and removing a user from a role
func (mt *MetaTable) OperateUserRole(ctx context.Context, tenant string, userEntity *milvuspb.UserEntity, roleEntity *milvuspb.RoleEntity, operateType milvuspb.OperateUserRoleType) error {
if funcutil.IsEmptyString(userEntity.Name) {
return fmt.Errorf("username in the user entity is empty")
return errors.New("username in the user entity is empty")
}
if funcutil.IsEmptyString(roleEntity.Name) {
return fmt.Errorf("role name in the role entity is empty")
return errors.New("role name in the role entity is empty")
}
mt.permissionLock.Lock()
@ -1463,25 +1463,25 @@ func (mt *MetaTable) SelectUser(ctx context.Context, tenant string, entity *milv
// OperatePrivilege grant or revoke privilege by setting the operateType param
func (mt *MetaTable) OperatePrivilege(ctx context.Context, tenant string, entity *milvuspb.GrantEntity, operateType milvuspb.OperatePrivilegeType) error {
if funcutil.IsEmptyString(entity.ObjectName) {
return fmt.Errorf("the object name in the grant entity is empty")
return errors.New("the object name in the grant entity is empty")
}
if entity.Object == nil || funcutil.IsEmptyString(entity.Object.Name) {
return fmt.Errorf("the object entity in the grant entity is invalid")
return errors.New("the object entity in the grant entity is invalid")
}
if entity.Role == nil || funcutil.IsEmptyString(entity.Role.Name) {
return fmt.Errorf("the role entity in the grant entity is invalid")
return errors.New("the role entity in the grant entity is invalid")
}
if entity.Grantor == nil {
return fmt.Errorf("the grantor in the grant entity is empty")
return errors.New("the grantor in the grant entity is empty")
}
if entity.Grantor.Privilege == nil || funcutil.IsEmptyString(entity.Grantor.Privilege.Name) {
return fmt.Errorf("the privilege name in the grant entity is empty")
return errors.New("the privilege name in the grant entity is empty")
}
if entity.Grantor.User == nil || funcutil.IsEmptyString(entity.Grantor.User.Name) {
return fmt.Errorf("the grantor name in the grant entity is empty")
return errors.New("the grantor name in the grant entity is empty")
}
if !funcutil.IsRevoke(operateType) && !funcutil.IsGrant(operateType) {
return fmt.Errorf("the operate type in the grant entity is invalid")
return errors.New("the operate type in the grant entity is invalid")
}
if entity.DbName == "" {
entity.DbName = util.DefaultDBName
@ -1499,11 +1499,11 @@ func (mt *MetaTable) OperatePrivilege(ctx context.Context, tenant string, entity
func (mt *MetaTable) SelectGrant(ctx context.Context, tenant string, entity *milvuspb.GrantEntity) ([]*milvuspb.GrantEntity, error) {
var entities []*milvuspb.GrantEntity
if entity == nil {
return entities, fmt.Errorf("the grant entity is nil")
return entities, errors.New("the grant entity is nil")
}
if entity.Role == nil || funcutil.IsEmptyString(entity.Role.Name) {
return entities, fmt.Errorf("the role entity in the grant entity is invalid")
return entities, errors.New("the role entity in the grant entity is invalid")
}
if entity.DbName == "" {
entity.DbName = util.DefaultDBName
@ -1517,7 +1517,7 @@ func (mt *MetaTable) SelectGrant(ctx context.Context, tenant string, entity *mil
func (mt *MetaTable) DropGrant(ctx context.Context, tenant string, role *milvuspb.RoleEntity) error {
if role == nil || funcutil.IsEmptyString(role.Name) {
return fmt.Errorf("the role entity is invalid when dropping the grant")
return errors.New("the role entity is invalid when dropping the grant")
}
mt.permissionLock.Lock()
defer mt.permissionLock.Unlock()
@ -1569,7 +1569,7 @@ func (mt *MetaTable) IsCustomPrivilegeGroup(ctx context.Context, groupName strin
func (mt *MetaTable) CreatePrivilegeGroup(ctx context.Context, groupName string) error {
if funcutil.IsEmptyString(groupName) {
return fmt.Errorf("the privilege group name is empty")
return errors.New("the privilege group name is empty")
}
mt.permissionLock.Lock()
defer mt.permissionLock.Unlock()
@ -1593,7 +1593,7 @@ func (mt *MetaTable) CreatePrivilegeGroup(ctx context.Context, groupName string)
func (mt *MetaTable) DropPrivilegeGroup(ctx context.Context, groupName string) error {
if funcutil.IsEmptyString(groupName) {
return fmt.Errorf("the privilege group name is empty")
return errors.New("the privilege group name is empty")
}
mt.permissionLock.Lock()
defer mt.permissionLock.Unlock()
@ -1639,7 +1639,7 @@ func (mt *MetaTable) ListPrivilegeGroups(ctx context.Context) ([]*milvuspb.Privi
func (mt *MetaTable) OperatePrivilegeGroup(ctx context.Context, groupName string, privileges []*milvuspb.PrivilegeEntity, operateType milvuspb.OperatePrivilegeGroupType) error {
if funcutil.IsEmptyString(groupName) {
return fmt.Errorf("the privilege group name is empty")
return errors.New("the privilege group name is empty")
}
mt.permissionLock.Lock()
defer mt.permissionLock.Unlock()
@ -1709,7 +1709,7 @@ func (mt *MetaTable) OperatePrivilegeGroup(ctx context.Context, groupName string
func (mt *MetaTable) GetPrivilegeGroupRoles(ctx context.Context, groupName string) ([]*milvuspb.RoleEntity, error) {
if funcutil.IsEmptyString(groupName) {
return nil, fmt.Errorf("the privilege group name is empty")
return nil, errors.New("the privilege group name is empty")
}
mt.permissionLock.RLock()
defer mt.permissionLock.RUnlock()

View File

@ -152,7 +152,7 @@ func TestQuotaCenter(t *testing.T) {
assert.Error(t, err)
dc.EXPECT().GetDcMetrics(mock.Anything, mock.Anything).Return(nil, errors.New("mock error"))
dc.EXPECT().GetQcMetrics(mock.Anything, mock.Anything).Return(nil, fmt.Errorf("mock err"))
dc.EXPECT().GetQcMetrics(mock.Anything, mock.Anything).Return(nil, errors.New("mock err"))
quotaCenter = NewQuotaCenter(pcm, dc, core.tsoAllocator, meta)
err = quotaCenter.collectMetrics()
assert.Error(t, err)
@ -454,7 +454,7 @@ func TestQuotaCenter(t *testing.T) {
assert.NoError(t, err)
alloc := newMockTsoAllocator()
alloc.GenerateTSOF = func(count uint32) (typeutil.Timestamp, error) {
return 0, fmt.Errorf("mock tso err")
return 0, errors.New("mock tso err")
}
quotaCenter.tsoAllocator = alloc
quotaCenter.clearMetrics()

View File

@ -18,9 +18,9 @@ package rootcoord
import (
"context"
"fmt"
"testing"
"github.com/cockroachdb/errors"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
@ -76,7 +76,7 @@ func Test_renameCollectionTask_Execute(t *testing.T) {
mockMeta := mockrootcoord.NewIMetaTable(t)
mockMeta.EXPECT().GetCollectionID(mock.Anything, mock.Anything, mock.Anything).Return(111)
mockMeta.EXPECT().RenameCollection(mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).
Return(fmt.Errorf("failed to alter alias"))
Return(errors.New("failed to alter alias"))
core := newTestCore(withValidProxyManager(), withMeta(mockMeta))
task := &renameCollectionTask{
baseTask: newBaseTask(context.Background(), core),

View File

@ -282,7 +282,7 @@ func (c *Core) SetTiKVClient(client *txnkv.Client) {
func (c *Core) SetSession(session sessionutil.SessionInterface) error {
c.session = session
if c.session == nil {
return fmt.Errorf("session is nil, the etcd client connection may have failed")
return errors.New("session is nil, the etcd client connection may have failed")
}
return nil
}

Some files were not shown because too many files have changed in this diff Show More