fix: [2.5] Update logging context and upgrade dependencies (#41319)

- issue: #41291
- pr: #41318

---------

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-24 23:50:40 +08:00 committed by GitHub
parent 87b9cbffaf
commit 18eb627533
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
177 changed files with 798 additions and 665 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=20250304-8253166
LATEST_DATE_VERSION=20250304-8253166
DATE_VERSION=20250421-ac1e043
LATEST_DATE_VERSION=20250421-ac1e043
# for services.gpubuilder.image in docker-compose.yml
GPU_DATE_VERSION=20250304-8253166
LATEST_GPU_DATE_VERSION=20250304-8253166

View File

@ -1,18 +1,5 @@
run:
go: "1.21"
skip-dirs:
- build
- configs
- deployments
- docs
- scripts
- internal/core
- cmake_build
- mmap
- data
- ci
skip-files:
- partial_search_test.go
go: "1.22"
build-tags:
- dynamic
- test
@ -51,7 +38,6 @@ linters-settings:
enable: # add extra linters
- nilness
gofumpt:
lang-version: "1.18"
module-path: github.com/milvus-io
goimports:
local-prefixes: github.com/milvus-io
@ -63,7 +49,7 @@ linters-settings:
severity: warning
disabled: false
arguments:
- ["ID"] # Allow list
- ["ID", "IDS"] # Allow list
- name: context-as-argument
severity: warning
disabled: false
@ -142,6 +128,19 @@ linters-settings:
#- 'fmt\.Print.*' WIP
issues:
exclude-dirs:
- build
- configs
- deployments
- docs
- scripts
- internal/core
- cmake_build
- mmap
- data
- ci
exclude-files:
- partial_search_test.go
exclude-use-default: false
exclude-rules:
- path: .+_test\.go
@ -176,6 +175,28 @@ issues:
- SA1019
# defer return errors
- SA5001
# TODO: cleanup following exclusions, added on golangci-lint upgrade
- sloppyLen
- dupSubExpr
- assignOp
- ifElseChain
- elseif
- commentFormatting
- exitAfterDefer
- captLocal
- singleCaseSwitch
- typeSwitchVar
- indent-error-flow
- appendAssign
- deprecatedComment
- SA9009
- SA1006
- S1009
- offBy1
- unslice
# Integer overflow conversion
- G115
- has no field or method
# Maximum issues count per one linter. Set to 0 to disable. Default is 50.
max-issues-per-linter: 0
@ -184,4 +205,4 @@ issues:
service:
# use the fixed version to not introduce new linters unexpectedly
golangci-lint-version: 1.55.2
golangci-lint-version: 1.55.2

View File

@ -50,7 +50,7 @@ ifdef USE_OPENDAL
use_opendal = ${USE_OPENDAL}
endif
# golangci-lint
GOLANGCI_LINT_VERSION := 1.55.2
GOLANGCI_LINT_VERSION := 1.64.7
GOLANGCI_LINT_OUTPUT := $(shell $(INSTALL_PATH)/golangci-lint --version 2>/dev/null)
INSTALL_GOLANGCI_LINT := $(findstring $(GOLANGCI_LINT_VERSION), $(GOLANGCI_LINT_OUTPUT))
# mockery

View File

@ -1,15 +1,8 @@
run:
go: "1.21"
skip-dirs:
- build
- configs
- deployments
- docs
- scripts
- internal/core
- cmake_build
skip-files:
- partial_search_test.go
go: "1.22"
build-tags:
- dynamic
- test
linters:
disable-all: true
@ -54,7 +47,7 @@ linters-settings:
severity: warning
disabled: false
arguments:
- ["ID"] # Allow list
- ["ID", "IDS"] # Allow list
- name: context-as-argument
severity: warning
disabled: false
@ -129,6 +122,19 @@ linters-settings:
#- 'fmt\.Print.*' WIP
issues:
exclude-dirs:
- build
- configs
- deployments
- docs
- scripts
- internal/core
- cmake_build
- mmap
- data
- ci
exclude-files:
- partial_search_test.go
exclude-use-default: false
exclude-rules:
- path: .+_test\.go
@ -161,6 +167,28 @@ issues:
- SA1019
# defer return errors
- SA5001
# TODO: cleanup following exclusions, added on golangci-lint upgrade
- sloppyLen
- dupSubExpr
- assignOp
- ifElseChain
- elseif
- commentFormatting
- exitAfterDefer
- captLocal
- singleCaseSwitch
- typeSwitchVar
- indent-error-flow
- appendAssign
- deprecatedComment
- SA9009
- SA1006
- S1009
- offBy1
- unslice
# Integer overflow conversion
- G115
- has no field or method
# Maximum issues count per one linter. Set to 0 to disable. Default is 50.
max-issues-per-linter: 0

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-20231106174013-bbf56f31fb17 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20240528184218-531527333157 // 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
github.com/apache/arrow/go/v12 v12.0.1
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
)
@ -60,7 +58,7 @@ require (
cloud.google.com/go/storage v1.43.0
github.com/antlr4-go/antlr/v4 v4.13.1
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
@ -103,12 +101,11 @@ require (
github.com/ardielle/ardielle-go v1.5.2 // 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
@ -139,7 +136,7 @@ require (
github.com/godbus/dbus/v5 v5.0.4 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang-jwt/jwt v3.2.2+incompatible // indirect
github.com/golang-jwt/jwt/v5 v5.2.1 // indirect
github.com/golang-jwt/jwt/v5 v5.2.2 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/golang/mock v1.6.0 // indirect
github.com/golang/snappy v0.0.4 // indirect
@ -220,7 +217,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/x448/float16 v0.8.4 // indirect
@ -244,8 +241,8 @@ require (
go.uber.org/automaxprocs v1.5.3 // indirect
golang.org/x/arch v0.3.0 // indirect
golang.org/x/mod v0.17.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.21.1-0.20240508182429-e35e4ccd0d2d // indirect
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
@ -265,7 +262,7 @@ replace (
github.com/apache/arrow/go/v12 => github.com/milvus-io/arrow/go/v12 v12.0.1
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-20240722103217-b7dee0e50119

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/actgardner/gogen-avro/v10 v10.1.0/go.mod h1:o+ybmVjEa27AAr35FRqU98DJu1fXES56uXniYFv4yDA=
github.com/actgardner/gogen-avro/v10 v10.2.1/go.mod h1:QUhjeHPchheYmMDni/Nx7VB0RsT/ee8YIgGY/xpEQgQ=
github.com/actgardner/gogen-avro/v9 v9.1.0/go.mod h1:nyTj6wPqDJoxM3qdnjcLv+EnMDSDFqE0qDpva2QRmKc=
@ -129,20 +129,20 @@ 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/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=
@ -166,9 +166,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=
@ -346,8 +345,8 @@ github.com/gogo/status v1.1.0/go.mod h1:BFv9nrluPLmrS0EmGVvLaPNmRosr9KapBYd5/hpY
github.com/golang-jwt/jwt v3.2.1+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I=
github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY=
github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I=
github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk=
github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
github.com/golang-jwt/jwt/v5 v5.2.2 h1:Rl4B7itRWVtYIHFrSNd7vhTiz9UpLdi6gZhZ3wEeDy8=
github.com/golang-jwt/jwt/v5 v5.2.2/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/glog v1.2.1 h1:OptwRhECazUx5ix5TTWC3EZhsZEHWcYWY4FQHTIubm4=
@ -894,8 +893,8 @@ github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802 h1:uruHq4
github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
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=
@ -1038,8 +1037,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-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=
@ -1138,8 +1137,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=
@ -1152,8 +1151,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=
@ -1166,8 +1165,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=
@ -1246,11 +1245,11 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
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.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=
@ -1260,8 +1259,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"
@ -228,7 +229,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.NewMockRootCoordClient(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

@ -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

@ -19,9 +19,10 @@ package datacoord
import (
"context"
"fmt"
"strconv"
"go.uber.org/zap"
"google.golang.org/protobuf/proto"
"strconv"
"github.com/milvus-io/milvus/internal/metastore"
"github.com/milvus-io/milvus/pkg/v2/log"

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,14 +18,13 @@ package datacoord
import (
"context"
"fmt"
"testing"
"time"
"go.uber.org/atomic"
"github.com/cockroachdb/errors"
"github.com/stretchr/testify/mock"
"github.com/stretchr/testify/suite"
"go.uber.org/atomic"
"github.com/milvus-io/milvus-proto/go-api/v2/commonpb"
"github.com/milvus-io/milvus-proto/go-api/v2/schemapb"
@ -202,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))
})
})
@ -217,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))
})
})
@ -251,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,
@ -299,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{
@ -579,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))
})
@ -588,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

@ -1364,7 +1364,7 @@ func (t *clusteringCompactionTask) checkBuffersAfterCompaction() error {
log.Warn("there are some binlogs have leaked, please check", zap.Int("buffer id", buffer.id),
zap.Int64s("leak segments", lo.Keys(buffer.flushedBinlogs)))
log.Debug("leak binlogs", zap.Any("buffer flushedBinlogs", buffer.flushedBinlogs))
return fmt.Errorf("there are some binlogs have leaked")
return errors.New("there are some binlogs have leaked")
}
}
return nil

View File

@ -18,7 +18,6 @@ package compaction
import (
"context"
"fmt"
"sync"
"testing"
"time"
@ -487,7 +486,7 @@ func (s *ClusteringCompactionTaskSuite) TestGenerateBM25Stats() {
s.Run("alloc ID failed", func() {
segmentID := int64(1)
mockAlloc := allocator.NewMockAllocator(s.T())
mockAlloc.EXPECT().Alloc(mock.Anything).Return(0, 0, fmt.Errorf("mock error")).Once()
mockAlloc.EXPECT().Alloc(mock.Anything).Return(0, 0, errors.New("mock error")).Once()
task := &clusteringCompactionTask{
collectionID: 111,
@ -507,7 +506,7 @@ func (s *ClusteringCompactionTaskSuite) TestGenerateBM25Stats() {
s.Run("upload failed", func() {
segmentID := int64(1)
mockBinlogIO := io.NewMockBinlogIO(s.T())
mockBinlogIO.EXPECT().Upload(mock.Anything, mock.Anything).Return(fmt.Errorf("mock error")).Once()
mockBinlogIO.EXPECT().Upload(mock.Anything, mock.Anything).Return(errors.New("mock error")).Once()
task := &clusteringCompactionTask{
collectionID: 111,
@ -544,7 +543,7 @@ func (s *ClusteringCompactionTaskSuite) TestGeneratePkStats() {
})
s.Run("download binlogs failed", func() {
s.mockBinlogIO.EXPECT().Download(mock.Anything, mock.Anything).Return(nil, fmt.Errorf("mock error"))
s.mockBinlogIO.EXPECT().Download(mock.Anything, mock.Anything).Return(nil, errors.New("mock error"))
task := &clusteringCompactionTask{
binlogIO: s.mockBinlogIO,
primaryKeyField: pkField,
@ -584,7 +583,7 @@ func (s *ClusteringCompactionTaskSuite) TestGeneratePkStats() {
s.NoError(err)
mockBinlogIO := io.NewMockBinlogIO(s.T())
mockBinlogIO.EXPECT().Download(mock.Anything, mock.Anything).Return(lo.Values(kvs), nil)
mockBinlogIO.EXPECT().Upload(mock.Anything, mock.Anything).Return(fmt.Errorf("mock error"))
mockBinlogIO.EXPECT().Upload(mock.Anything, mock.Anything).Return(errors.New("mock error"))
task := &clusteringCompactionTask{
collectionID: CollectionID,
partitionID: PartitionID,

View File

@ -22,6 +22,7 @@ import (
"math"
"github.com/apache/arrow/go/v12/arrow/array"
"github.com/cockroachdb/errors"
"github.com/samber/lo"
"go.uber.org/atomic"
"go.uber.org/zap"
@ -423,7 +424,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))
}
@ -446,12 +447,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

@ -18,7 +18,6 @@ package grpcdatacoordclient
import (
"context"
"fmt"
"github.com/cockroachdb/errors"
"go.uber.org/zap"
@ -58,7 +57,7 @@ type Client struct {
func NewClient(ctx context.Context) (types.DataCoordClient, 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("DataCoordClient NewClient failed", zap.Error(err))
return nil, err
}
@ -102,7 +101,7 @@ func (c *Client) getDataCoordAddr() (string, error) {
ms, ok := msess[key]
if !ok {
log.Debug("DataCoordClient, not existed in msess ", zap.Any("key", key), zap.Any("len of msess", len(msess)))
return "", fmt.Errorf("find no available datacoord, check datacoord state")
return "", errors.New("find no available datacoord, check datacoord state")
}
log.Debug("DataCoordClient GetSessions success",
zap.String("address", ms.Address),

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 client for DataNode.
func NewClient(ctx context.Context, addr string, serverID int64) (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

@ -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 IndexNode client.
func NewClient(ctx context.Context, addr string, nodeID int64, encryption bool) (types.IndexNodeClient, 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("IndexNodeClient New Etcd Session failed", zap.Error(err))
return nil, err
}

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")
}
}
}
@ -2448,7 +2449,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{
@ -2490,7 +2491,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"
@ -710,7 +711,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
@ -1292,7 +1293,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")
}
}
}
@ -1427,7 +1428,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 {
@ -1804,7 +1805,8 @@ func getTemplateType(value interface{}) schemapb.DataType {
case []interface{}:
return schemapb.DataType_Array
default:
panic(fmt.Sprintf("Unexpected data(%v) when getTemplateType, please check it!", value))
log.Panic(fmt.Sprintf("Unexpected data(%v) when getTemplateType, please check it!", value))
return schemapb.DataType_None
}
}

View File

@ -17,6 +17,7 @@
package httpserver
import (
"fmt"
"math"
"strconv"
"strings"
@ -1041,14 +1042,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{{}}
},
},
}...)
@ -1113,7 +1114,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{
@ -1140,7 +1142,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"
@ -301,7 +302,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

@ -719,7 +719,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)
@ -773,7 +773,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

@ -18,8 +18,8 @@ package grpcquerycoordclient
import (
"context"
"fmt"
"github.com/cockroachdb/errors"
"go.uber.org/zap"
"google.golang.org/grpc"
@ -51,7 +51,7 @@ type Client struct {
func NewClient(ctx context.Context) (types.QueryCoordClient, 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("QueryCoordClient NewClient failed", zap.Error(err))
return nil, err
}
@ -90,7 +90,7 @@ func (c *Client) getQueryCoordAddr() (string, error) {
ms, ok := msess[key]
if !ok {
log.Ctx(c.ctx).Debug("QueryCoordClient msess key not existed", zap.Any("key", key))
return "", fmt.Errorf("find no available querycoord, check querycoord state")
return "", errors.New("find no available querycoord, check querycoord state")
}
log.Ctx(c.ctx).Debug("QueryCoordClient GetSessions success",

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

@ -18,8 +18,8 @@ package grpcrootcoordclient
import (
"context"
"fmt"
"github.com/cockroachdb/errors"
"go.uber.org/zap"
"google.golang.org/grpc"
grpcCodes "google.golang.org/grpc/codes"
@ -58,7 +58,7 @@ type Client struct {
func NewClient(ctx context.Context) (types.RootCoordClient, 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 RootCoord Client failed", zap.Error(err))
return nil, err
}
@ -102,7 +102,7 @@ func (c *Client) getRootCoordAddr() (string, error) {
ms, ok := msess[key]
if !ok {
log.Warn("RootCoordClient mess key not exist", zap.Any("key", key))
return "", fmt.Errorf("find no available rootcoord, check rootcoord state")
return "", errors.New("find no available rootcoord, check rootcoord state")
}
log.Debug("RootCoordClient 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/tikv/client-go/v2/txnkv"
clientv3 "go.etcd.io/etcd/client/v3"
@ -115,7 +116,7 @@ func (m *mockCore) Start() error {
}
func (m *mockCore) Stop() error {
return fmt.Errorf("stop error")
return errors.New("stop error")
}
func (m *mockCore) GracefulStop() {

View File

@ -19,6 +19,7 @@ package pipeline
import (
"fmt"
"github.com/cockroachdb/errors"
"github.com/samber/lo"
"go.uber.org/zap"
@ -103,7 +104,7 @@ func (eNode *embeddingNode) bm25Embedding(runner function.FunctionRunner, data *
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

@ -6,6 +6,7 @@ import (
"strconv"
"time"
"github.com/cockroachdb/errors"
"github.com/hashicorp/golang-lru/v2/expirable"
"go.uber.org/zap"
@ -101,7 +102,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

@ -7,6 +7,7 @@ import (
"sync"
"time"
"github.com/cockroachdb/errors"
"golang.org/x/exp/mmap"
"github.com/milvus-io/milvus-proto/go-api/v2/commonpb"
@ -28,7 +29,7 @@ const (
)
var (
errNotImplErr = fmt.Errorf("not implemented error")
errNotImplErr = errors.New("not implemented error")
collschema = &schemapb.CollectionSchema{
Name: "mock_collection",
@ -125,7 +126,7 @@ func (c *mockChunkmgr) Exist(ctx context.Context, filePath string) (bool, error)
func (c *mockChunkmgr) Read(ctx context.Context, filePath string) ([]byte, error) {
value, ok := c.segmentData.Load(filePath)
if !ok {
return nil, fmt.Errorf("data not exists")
return nil, errors.New("data not exists")
}
return value.(*storage.Blob).Value, nil
}
@ -224,7 +225,7 @@ func (f *mockFactory) NewPersistentStorageChunkManager(context.Context) (storage
if f.chunkMgr != nil {
return f.chunkMgr, nil
}
return nil, fmt.Errorf("factory not inited")
return nil, errors.New("factory not inited")
}
func (f *mockFactory) Init(*paramtable.ComponentParam) {

View File

@ -21,6 +21,7 @@ import (
"fmt"
"strconv"
"github.com/cockroachdb/errors"
"github.com/tidwall/gjson"
"go.opentelemetry.io/otel"
"go.opentelemetry.io/otel/attribute"
@ -544,7 +545,7 @@ func (i *IndexNode) QueryJobsV2(ctx context.Context, req *workerpb.QueryJobsV2Re
default:
log.Warn("IndexNode receive querying unknown type jobs")
return &workerpb.QueryJobsV2Response{
Status: merr.Status(fmt.Errorf("IndexNode receive querying unknown type jobs")),
Status: merr.Status(errors.New("IndexNode receive querying unknown type jobs")),
}, nil
}
}
@ -605,6 +606,6 @@ func (i *IndexNode) DropJobsV2(ctx context.Context, req *workerpb.DropJobsV2Requ
return merr.Success(), nil
default:
log.Warn("IndexNode receive dropping unknown type jobs")
return merr.Status(fmt.Errorf("IndexNode receive dropping unknown type jobs")), nil
return merr.Status(errors.New("IndexNode receive dropping unknown type jobs")), nil
}
}

View File

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

View File

@ -7,6 +7,7 @@ import (
"testing"
"time"
"github.com/cockroachdb/errors"
"github.com/stretchr/testify/assert"
"github.com/milvus-io/milvus/pkg/v2/proto/indexpb"
@ -49,7 +50,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
}
@ -173,7 +174,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

@ -25,6 +25,7 @@ import (
"strconv"
"time"
"github.com/cockroachdb/errors"
"github.com/samber/lo"
"go.opentelemetry.io/otel"
"go.uber.org/zap"
@ -179,8 +180,8 @@ func (st *statsTask) PreExecute(ctx context.Context) error {
func (st *statsTask) sortSegment(ctx context.Context) ([]*datapb.FieldBinlog, error) {
numRows := st.req.GetNumRows()
bm25FieldIds := compaction.GetBM25FieldIDs(st.req.GetSchema())
writer, err := compaction.NewSegmentWriter(st.req.GetSchema(), numRows, statsBatchSize, st.req.GetTargetSegmentID(), st.req.GetPartitionID(), st.req.GetCollectionID(), bm25FieldIds)
bm25FieldIDs := compaction.GetBM25FieldIDs(st.req.GetSchema())
writer, err := compaction.NewSegmentWriter(st.req.GetSchema(), numRows, statsBatchSize, st.req.GetTargetSegmentID(), st.req.GetPartitionID(), st.req.GetCollectionID(), bm25FieldIDs)
if err != nil {
log.Ctx(ctx).Warn("sort segment wrong, unable to init segment writer",
zap.Int64("taskID", st.req.GetTaskID()), zap.Error(err))
@ -199,7 +200,7 @@ func (st *statsTask) sortSegment(ctx context.Context) ([]*datapb.FieldBinlog, er
)
downloadStart := time.Now()
values, err := st.downloadData(ctx, numRows, writer.GetPkID(), bm25FieldIds)
values, err := st.downloadData(ctx, numRows, writer.GetPkID(), bm25FieldIDs)
if err != nil {
log.Ctx(ctx).Warn("download data failed", zap.Int64("taskID", st.req.GetTaskID()), zap.Error(err))
return nil, err
@ -237,7 +238,7 @@ func (st *statsTask) sortSegment(ctx context.Context) ([]*datapb.FieldBinlog, er
log.Ctx(ctx).Warn("binlog files too much, log is not enough", zap.Int64("taskID", st.req.GetTaskID()),
zap.Int64("binlog num", binlogNum), zap.Int64("startLogID", st.req.GetStartLogID()),
zap.Int64("endLogID", st.req.GetEndLogID()), zap.Int64("logIDOffset", st.logIDOffset))
return nil, fmt.Errorf("binlog files too much, log is not enough")
return nil, errors.New("binlog files too much, log is not enough")
}
}
}
@ -275,7 +276,7 @@ func (st *statsTask) sortSegment(ctx context.Context) ([]*datapb.FieldBinlog, er
st.logIDOffset += binlogNums
var bm25StatsLogs []*datapb.FieldBinlog
if len(bm25FieldIds) > 0 {
if len(bm25FieldIDs) > 0 {
binlogNums, bm25StatsLogs, err = bm25SerializeWrite(ctx, st.req.GetStorageConfig().GetRootPath(), st.binlogIO, st.req.GetStartLogID()+st.logIDOffset, writer, numRows)
if err != nil {
log.Ctx(ctx).Warn("compact wrong, failed to serialize write segment bm25 stats", zap.Error(err))
@ -400,14 +401,14 @@ func (st *statsTask) Reset() {
st.node = nil
}
func (st *statsTask) downloadData(ctx context.Context, numRows int64, PKFieldID int64, bm25FieldIds []int64) ([]*storage.Value, error) {
func (st *statsTask) downloadData(ctx context.Context, numRows int64, PKFieldID int64, bm25FieldIDs []int64) ([]*storage.Value, error) {
log := log.Ctx(ctx).With(
zap.String("clusterID", st.req.GetClusterID()),
zap.Int64("taskID", st.req.GetTaskID()),
zap.Int64("collectionID", st.req.GetCollectionID()),
zap.Int64("partitionID", st.req.GetPartitionID()),
zap.Int64("segmentID", st.req.GetSegmentID()),
zap.Int64s("bm25Fields", bm25FieldIds),
zap.Int64s("bm25Fields", bm25FieldIDs),
)
deletePKs, err := st.loadDeltalogs(ctx, st.deltaLogs)

View File

@ -18,10 +18,10 @@ package indexnode
import (
"context"
"fmt"
"testing"
"time"
"github.com/cockroachdb/errors"
"github.com/samber/lo"
"github.com/stretchr/testify/mock"
"github.com/stretchr/testify/suite"
@ -94,7 +94,7 @@ func (s *TaskStatsSuite) Testbm25SerializeWriteError() {
s.Run("upload failed", func() {
s.schema = genCollectionSchemaWithBM25()
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()
s.GenSegmentWriterWithBM25(0)
_, _, err := bm25SerializeWrite(context.Background(), "root_path", s.mockBinlogIO, 0, s.segWriter, 1)
s.Error(err)
@ -158,7 +158,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()
s.mockBinlogIO.EXPECT().AsyncUpload(mock.Anything, mock.Anything).Return(nil)
ctx, cancel := context.WithCancel(context.Background())

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
@ -684,7 +684,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()
@ -1103,7 +1103,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)
@ -1178,7 +1178,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

@ -1646,7 +1646,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()
@ -1690,7 +1690,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()
@ -1737,7 +1737,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()
@ -3077,7 +3077,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

@ -1002,7 +1002,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) {
@ -1093,7 +1093,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{}
@ -1103,17 +1103,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"
@ -127,11 +129,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")
}
}
@ -166,7 +168,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

@ -6,6 +6,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"
@ -152,7 +153,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
}
@ -441,12 +442,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
@ -454,7 +455,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())
@ -487,7 +488,7 @@ func (v *ParserVisitor) VisitTextMatch(ctx *parser.TextMatchContext) interface{}
return err
}
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")
}
queryText, err := convertEscapeSingle(ctx.StringLiteral().GetText())
@ -677,11 +678,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")
}
}
}
@ -759,11 +760,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")
}
}
}
@ -811,7 +812,7 @@ 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 err := checkDirectComparisonBinaryField(toColumnInfo(childExpr)); err != nil {
return err
@ -860,7 +861,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
@ -869,7 +870,7 @@ func (v *ParserVisitor) VisitLogicalOr(ctx *parser.LogicalOrContext) interface{}
rightExpr = getExpr(right)
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{
@ -909,7 +910,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
@ -918,7 +919,7 @@ func (v *ParserVisitor) VisitLogicalAnd(ctx *parser.LogicalAndContext) interface
rightExpr = getExpr(right)
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")
}
expr := &planpb.Expr{
Expr: &planpb.Expr_BinaryExpr{
@ -1017,7 +1018,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)
@ -1036,7 +1037,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"
@ -33,7 +34,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

@ -5515,19 +5515,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
@ -5536,7 +5536,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"
"net/http"
"net/http/httptest"
"testing"
@ -1317,7 +1316,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

@ -189,7 +189,7 @@ func (m *MockRootCoordClientInterface) GetCredential(ctx context.Context, req *r
}, nil
}
err := fmt.Errorf("can't find credential: " + req.Username)
err := fmt.Errorf("can't find credential: %s", req.Username)
return nil, err
}
@ -768,7 +768,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, qc, mgr)
assert.Error(t, err)
@ -1055,7 +1055,7 @@ func TestMetaCache_AllocID(t *testing.T) {
rootCoord := mocks.NewMockRootCoordClient(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"},
@ -1073,7 +1073,7 @@ func TestMetaCache_AllocID(t *testing.T) {
t.Run("failed", func(t *testing.T) {
rootCoord := mocks.NewMockRootCoordClient(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

@ -562,7 +562,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

@ -475,6 +475,7 @@ func TestProxy(t *testing.T) {
assert.NoError(t, err)
log.Info("Register proxy done")
defer func() {
time.Sleep(5 * time.Second)
a := []any{rc, dc, qc, qn, in, dn, proxy}
fmt.Println(len(a))
// HINT: the order of stopping service refers to the `roles.go` file

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

@ -273,7 +273,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

@ -139,7 +139,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
@ -301,12 +301,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.
@ -349,7 +349,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() {
@ -459,7 +459,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

@ -1272,7 +1272,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{
@ -1288,7 +1288,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

@ -3077,12 +3077,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{
@ -3111,12 +3111,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{
@ -3350,7 +3350,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{
@ -3366,7 +3366,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

@ -64,8 +64,8 @@ type upsertTask struct {
partitionKeyMode bool
partitionKeys *schemapb.FieldData
// automatic generate pk as new pk wehen autoID == true
// delete task need use the oldIds
oldIds *schemapb.IDs
// delete task need use the oldIDs
oldIDs *schemapb.IDs
schemaTimestamp uint64
}
@ -191,7 +191,7 @@ func (it *upsertTask) insertPreExecute(ctx context.Context) error {
// use the passed pk as new pk when autoID == false
// automatic generate pk as new pk wehen autoID == true
var err error
it.result.IDs, it.oldIds, err = checkUpsertPrimaryFieldData(it.schema.CollectionSchema, it.upsertMsg.InsertMsg)
it.result.IDs, it.oldIDs, err = checkUpsertPrimaryFieldData(it.schema.CollectionSchema, it.upsertMsg.InsertMsg)
log := log.Ctx(ctx).With(zap.String("collectionName", it.upsertMsg.InsertMsg.CollectionName))
if err != nil {
log.Warn("check primary field data and hash primary key failed when upsert",
@ -488,7 +488,7 @@ func (it *upsertTask) deleteExecute(ctx context.Context, msgPack *msgstream.MsgP
it.result.Status = merr.Status(err)
return err
}
it.upsertMsg.DeleteMsg.PrimaryKeys = it.oldIds
it.upsertMsg.DeleteMsg.PrimaryKeys = it.oldIDs
it.upsertMsg.DeleteMsg.HashValues = typeutil.HashPK2Channels(it.upsertMsg.DeleteMsg.PrimaryKeys, channelNames)
// repack delete msg by dmChannel

View File

@ -96,7 +96,7 @@ func (ut *upsertTaskByStreamingService) packInsertMessage(ctx context.Context) (
func (it *upsertTaskByStreamingService) packDeleteMessage(ctx context.Context) ([]message.MutableMessage, error) {
tr := timerecord.NewTimeRecorder(fmt.Sprintf("proxy deleteExecute upsert %d", it.ID()))
collID := it.upsertMsg.DeleteMsg.CollectionID
it.upsertMsg.DeleteMsg.PrimaryKeys = it.oldIds
it.upsertMsg.DeleteMsg.PrimaryKeys = it.oldIDs
log := log.Ctx(ctx).With(
zap.Int64("collectionID", collID))
// hash primary keys to channels

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

@ -392,7 +392,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
}
@ -634,7 +634,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")
// }
//}
@ -650,7 +650,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
@ -715,12 +715,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
}
@ -781,7 +781,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
@ -865,7 +865,7 @@ func checkFunctionOutputField(function *schemapb.FunctionSchema, fields []*schem
return fmt.Errorf("BM25 function output field must be a SparseFloatVector field, but got %s", fields[0].DataType.String())
}
default:
return fmt.Errorf("check output field for unknown function type")
return errors.New("check output field for unknown function type")
}
return nil
}
@ -879,18 +879,18 @@ 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")
}
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())
@ -921,10 +921,10 @@ 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")
}
default:
return fmt.Errorf("check function params with unknown function type")
return errors.New("check function params with unknown function type")
}
return nil
}
@ -1404,9 +1404,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:
@ -1426,12 +1426,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")
}
}
@ -1509,7 +1509,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))
@ -1831,12 +1831,12 @@ func checkUpsertPrimaryFieldData(schema *schemapb.CollectionSchema, insertMsg *m
if !primaryFieldSchema.GetAutoID() {
return ids, ids, nil
}
newIds, err := parsePrimaryFieldData2IDs(newPrimaryFieldData)
newIDs, err := parsePrimaryFieldData2IDs(newPrimaryFieldData)
if err != nil {
log.Warn("parse primary field data to IDs failed", zap.Error(err))
return nil, nil, err
}
return newIds, ids, nil
return newIDs, ids, nil
}
func getPartitionKeyFieldData(fieldSchema *schemapb.FieldSchema, insertMsg *msgstream.InsertMsg) (*schemapb.FieldData, error) {
@ -2335,7 +2335,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

@ -930,7 +930,7 @@ func TestPasswordVerify(t *testing.T) {
mockedRootCoord := newMockRootCoord()
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"
@ -278,7 +277,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

@ -184,7 +184,7 @@ func (s *Server) initSession() error {
// Init QueryCoord session
s.session = sessionutil.NewSession(s.ctx)
if s.session == nil {
return fmt.Errorf("failed to create session")
return errors.New("failed to create session")
}
s.session.Init(typeutil.QueryCoordRole, s.address, true, true)
s.enableActiveStandBy = Params.QueryCoordCfg.EnableActiveStandby.GetAsBool()

View File

@ -113,7 +113,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

@ -1041,7 +1041,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

@ -609,7 +609,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{}

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"
@ -76,7 +76,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"
"github.com/samber/lo"
"go.uber.org/zap"
@ -153,7 +154,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 {
@ -175,7 +176,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,8 @@ 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.Errorf("mock error"))
runner.EXPECT().GetSchema().Return(suite.collectionSchema.GetFunctions()[0]).Maybe()
runner.EXPECT().GetOutputFields().Return([]*schemapb.FieldSchema{suite.collectionSchema.Fields[3]})
runner.EXPECT().GetInputFields().Return([]*schemapb.FieldSchema{suite.collectionSchema.Fields[2]})

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

@ -45,6 +45,7 @@ type TimestampedRetrieveResult[T interface {
Timestamps []int64
}
// nolint
func (r *TimestampedRetrieveResult[T]) GetIds() *schemapb.IDs {
return r.Result.GetIds()
}

View File

@ -1098,7 +1098,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)
@ -548,7 +549,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))
@ -565,7 +566,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

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