enhance: [hotfix2.4.5] Cherry pick some crucial fixes (#34658)

Cherry-pick from 2.4
pr: #33996 #33940 #34004 #34020 #34126 #34185 #34195 #34210 #34240

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
Co-authored-by: xige-16 <xige2016@gmail.com>
Co-authored-by: yangxuan <xuan.yang@zilliz.com>
Co-authored-by: sunby <sunbingyi1992@gmail.com>
Co-authored-by: shaoting-huang <shaoting.huang@zilliz.com>
This commit is contained in:
congqixia 2024-07-13 10:25:26 +08:00 committed by GitHub
parent 9a1fabb9e0
commit 823fba6349
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
30 changed files with 83 additions and 55 deletions

8
.env
View File

@ -5,12 +5,12 @@ IMAGE_ARCH=amd64
OS_NAME=ubuntu20.04
# for services.builder.image in docker-compose.yml
DATE_VERSION=20240429-6289f3a
LATEST_DATE_VERSION=20240429-6289f3a
DATE_VERSION=20240520-d27db99
LATEST_DATE_VERSION=20240520-d27db99
# for services.gpubuilder.image in docker-compose.yml
GPU_DATE_VERSION=20240409-08bfb43
LATEST_GPU_DATE_VERSION=20240409-08bfb43
GPU_DATE_VERSION=20240520-c35eaaa
LATEST_GPU_DATE_VERSION=20240520-c35eaaa
# for other services in docker-compose.yml
MINIO_ADDRESS=minio:9000

View File

@ -56,7 +56,7 @@ jobs:
- name: Setup Go environment
uses: actions/setup-go@v2.2.0
with:
go-version: '~1.20.7'
go-version: '~1.21.10'
- name: Mac Cache Go Mod Volumes
uses: actions/cache@v3
with:

View File

@ -1,5 +1,5 @@
run:
go: "1.20"
go: "1.21"
skip-dirs:
- build
- configs

View File

@ -104,7 +104,7 @@ You can use Vscode to integrate C++ and Go together. Please replace user.setting
Linux systems (Recommend Ubuntu 20.04 or later):
```bash
go: >= 1.20
go: >= 1.21
cmake: >= 3.18
gcc: 7.5
conan: 1.61
@ -113,7 +113,7 @@ conan: 1.61
MacOS systems with x86_64 (Big Sur 11.5 or later recommended):
```bash
go: >= 1.20
go: >= 1.21
cmake: >= 3.18
llvm: >= 15
conan: 1.61
@ -122,7 +122,7 @@ conan: 1.61
MacOS systems with Apple Silicon (Monterey 12.0.1 or later recommended):
```bash
go: >= 1.20 (Arch=ARM64)
go: >= 1.21 (Arch=ARM64)
cmake: >= 3.18
llvm: >= 15
conan: 1.61
@ -178,7 +178,7 @@ Confirm that your `GOPATH` and `GOBIN` environment variables are correctly set a
```shell
$ go version
```
Note: go >= 1.20 is required to build Milvus.
Note: go >= 1.21 is required to build Milvus.
#### Docker & Docker Compose
@ -239,8 +239,8 @@ pip3 install conan==1.61.0
#### Install GO 1.80
```bash
wget https://go.dev/dl/go1.18.10.linux-arm64.tar.gz
tar zxf go1.18.10.linux-arm64.tar.gz
wget https://go.dev/dl/go1.21.10.linux-arm64.tar.gz
tar zxf go1.21.10.linux-arm64.tar.gz
mv ./go /usr/local
vi /etc/profile
export PATH=$PATH:/usr/local/go/bin

View File

@ -17,6 +17,7 @@ OBJPREFIX := "github.com/milvus-io/milvus/cmd/milvus"
INSTALL_PATH := $(PWD)/bin
LIBRARY_PATH := $(PWD)/lib
PGO_PATH := $(PWD)/configs/pgo
OS := $(shell uname -s)
mode = Release
@ -72,14 +73,14 @@ milvus: build-cpp print-build-info
@echo "Building Milvus ..."
@source $(PWD)/scripts/setenv.sh && \
mkdir -p $(INSTALL_PATH) && go env -w CGO_ENABLED="1" && \
GO111MODULE=on $(GO) build -ldflags="-r $${RPATH} -X '$(OBJPREFIX).BuildTags=$(BUILD_TAGS)' -X '$(OBJPREFIX).BuildTime=$(BUILD_TIME)' -X '$(OBJPREFIX).GitCommit=$(GIT_COMMIT)' -X '$(OBJPREFIX).GoVersion=$(GO_VERSION)'" \
GO111MODULE=on $(GO) build -pgo=$(PGO_PATH)/default.pgo -ldflags="-r $${RPATH} -X '$(OBJPREFIX).BuildTags=$(BUILD_TAGS)' -X '$(OBJPREFIX).BuildTime=$(BUILD_TIME)' -X '$(OBJPREFIX).GitCommit=$(GIT_COMMIT)' -X '$(OBJPREFIX).GoVersion=$(GO_VERSION)'" \
-tags dynamic -o $(INSTALL_PATH)/milvus $(PWD)/cmd/main.go 1>/dev/null
milvus-gpu: build-cpp-gpu print-gpu-build-info
@echo "Building Milvus-gpu ..."
@source $(PWD)/scripts/setenv.sh && \
mkdir -p $(INSTALL_PATH) && go env -w CGO_ENABLED="1" && \
GO111MODULE=on $(GO) build -ldflags="-r $${RPATH} -X '$(OBJPREFIX).BuildTags=$(BUILD_TAGS_GPU)' -X '$(OBJPREFIX).BuildTime=$(BUILD_TIME)' -X '$(OBJPREFIX).GitCommit=$(GIT_COMMIT)' -X '$(OBJPREFIX).GoVersion=$(GO_VERSION)'" \
GO111MODULE=on $(GO) build -pgo=$(PGO_PATH)/default.pgo -ldflags="-r $${RPATH} -X '$(OBJPREFIX).BuildTags=$(BUILD_TAGS_GPU)' -X '$(OBJPREFIX).BuildTime=$(BUILD_TIME)' -X '$(OBJPREFIX).GitCommit=$(GIT_COMMIT)' -X '$(OBJPREFIX).GoVersion=$(GO_VERSION)'" \
-tags dynamic -o $(INSTALL_PATH)/milvus $(PWD)/cmd/main.go 1>/dev/null
get-build-deps:
@ -106,7 +107,7 @@ getdeps:
tools/bin/revive: tools/check/go.mod
cd tools/check; \
$(GO) build -o ../bin/revive github.com/mgechev/revive
$(GO) build -pgo=$(PGO_PATH)/default.pgo -o ../bin/revive github.com/mgechev/revive
cppcheck:
@#(env bash ${PWD}/scripts/core_build.sh -l)
@ -164,14 +165,14 @@ binlog:
@echo "Building binlog ..."
@source $(PWD)/scripts/setenv.sh && \
mkdir -p $(INSTALL_PATH) && go env -w CGO_ENABLED="1" && \
GO111MODULE=on $(GO) build -ldflags="-r $${RPATH}" -o $(INSTALL_PATH)/binlog $(PWD)/cmd/tools/binlog/main.go 1>/dev/null
GO111MODULE=on $(GO) build -pgo=$(PGO_PATH)/default.pgo -ldflags="-r $${RPATH}" -o $(INSTALL_PATH)/binlog $(PWD)/cmd/tools/binlog/main.go 1>/dev/null
MIGRATION_PATH = $(PWD)/cmd/tools/migration
meta-migration:
@echo "Building migration tool ..."
@source $(PWD)/scripts/setenv.sh && \
mkdir -p $(INSTALL_PATH) && go env -w CGO_ENABLED="1" && \
GO111MODULE=on $(GO) build -ldflags="-r $${RPATH} -X '$(OBJPREFIX).BuildTags=$(BUILD_TAGS)' -X '$(OBJPREFIX).BuildTime=$(BUILD_TIME)' -X '$(OBJPREFIX).GitCommit=$(GIT_COMMIT)' -X '$(OBJPREFIX).GoVersion=$(GO_VERSION)'" \
GO111MODULE=on $(GO) build -pgo=$(PGO_PATH)/default.pgo -ldflags="-r $${RPATH} -X '$(OBJPREFIX).BuildTags=$(BUILD_TAGS)' -X '$(OBJPREFIX).BuildTime=$(BUILD_TIME)' -X '$(OBJPREFIX).GitCommit=$(GIT_COMMIT)' -X '$(OBJPREFIX).GoVersion=$(GO_VERSION)'" \
-tags dynamic -o $(INSTALL_PATH)/meta-migration $(MIGRATION_PATH)/main.go 1>/dev/null
INTERATION_PATH = $(PWD)/tests/integration
@ -366,7 +367,7 @@ clean:
milvus-tools: print-build-info
@echo "Building tools ..."
@mkdir -p $(INSTALL_PATH)/tools && go env -w CGO_ENABLED="1" && GO111MODULE=on $(GO) build \
-ldflags="-X 'main.BuildTags=$(BUILD_TAGS)' -X 'main.BuildTime=$(BUILD_TIME)' -X 'main.GitCommit=$(GIT_COMMIT)' -X 'main.GoVersion=$(GO_VERSION)'" \
-pgo=$(PGO_PATH)/default.pgo -ldflags="-X 'main.BuildTags=$(BUILD_TAGS)' -X 'main.BuildTime=$(BUILD_TIME)' -X 'main.GitCommit=$(GIT_COMMIT)' -X 'main.GoVersion=$(GO_VERSION)'" \
-o $(INSTALL_PATH)/tools $(PWD)/cmd/tools/* 1>/dev/null
rpm-setup:
@ -514,5 +515,5 @@ mmap-migration:
@echo "Building migration tool ..."
@source $(PWD)/scripts/setenv.sh && \
mkdir -p $(INSTALL_PATH) && go env -w CGO_ENABLED="1" && \
GO111MODULE=on $(GO) build -ldflags="-r $${RPATH} -X '$(OBJPREFIX).BuildTags=$(BUILD_TAGS)' -X '$(OBJPREFIX).BuildTime=$(BUILD_TIME)' -X '$(OBJPREFIX).GitCommit=$(GIT_COMMIT)' -X '$(OBJPREFIX).GoVersion=$(GO_VERSION)'" \
GO111MODULE=on $(GO) build -pgo=$(PGO_PATH)/default.pgo -ldflags="-r $${RPATH} -X '$(OBJPREFIX).BuildTags=$(BUILD_TAGS)' -X '$(OBJPREFIX).BuildTime=$(BUILD_TIME)' -X '$(OBJPREFIX).GitCommit=$(GIT_COMMIT)' -X '$(OBJPREFIX).GoVersion=$(GO_VERSION)'" \
-tags dynamic -o $(INSTALL_PATH)/mmap-migration $(MMAP_MIGRATION_PATH)/main.go 1>/dev/null

View File

@ -72,21 +72,21 @@ Check the requirements first.
Linux systems (Ubuntu 20.04 or later recommended):
```bash
go: >= 1.20
go: >= 1.21
cmake: >= 3.26.4
gcc: 7.5
```
MacOS systems with x86_64 (Big Sur 11.5 or later recommended):
```bash
go: >= 1.20
go: >= 1.21
cmake: >= 3.26.4
llvm: >= 15
```
MacOS systems with Apple Silicon (Monterey 12.0.1 or later recommended):
```bash
go: >= 1.20 (Arch=ARM64)
go: >= 1.21 (Arch=ARM64)
cmake: >= 3.26.4
llvm: >= 15
```

View File

@ -68,7 +68,7 @@ Milvus 基于 [Apache 2.0 License](https://github.com/milvus-io/milvus/blob/mast
请先安装相关依赖。
```
go: 1.20
go: 1.21
cmake: >=3.18
gcc: 7.5
protobuf: >=3.7

View File

@ -14,10 +14,19 @@ FROM amazonlinux:2023
ARG TARGETARCH
RUN dnf install -y wget g++ gcc gdb libatomic libstdc++-static ninja-build git make zip unzip tar which \
autoconf automake golang python3 python3-pip perl-FindBin texinfo \
autoconf automake python3 python3-pip perl-FindBin texinfo \
pkg-config libuuid-devel libaio perl-IPC-Cmd libasan openblas-devel && \
rm -rf /var/cache/yum/*
ENV GOPATH /go
ENV GOROOT /usr/local/go
ENV GO111MODULE on
ENV PATH $GOPATH/bin:$GOROOT/bin:$PATH
RUN mkdir -p /usr/local/go && wget -qO- "https://go.dev/dl/go1.21.10.linux-$TARGETARCH.tar.gz" | tar --strip-components=1 -xz -C /usr/local/go && \
mkdir -p "$GOPATH/src" "$GOPATH/bin" && \
go clean --modcache && \
chmod -R 777 "$GOPATH" && chmod -R a+w $(go env GOTOOLDIR)
RUN pip3 install conan==1.61.0
RUN echo "target arch $TARGETARCH"
@ -35,9 +44,9 @@ RUN /opt/vcpkg/bootstrap-vcpkg.sh -disableMetrics && ln -s /opt/vcpkg/vcpkg /usr
RUN vcpkg install azure-identity-cpp azure-storage-blobs-cpp gtest --only-downloads
RUN mkdir /tmp/ccache && cd /tmp/ccache &&\
wget https://dl.fedoraproject.org/pub/epel/9/Everything/`uname -m`/Packages/h/hiredis-1.0.2-1.el9.`uname -m`.rpm &&\
wget https://dl.fedoraproject.org/pub/epel/9/Everything/`uname -m`/Packages/h/hiredis-1.0.2-2.el9.`uname -m`.rpm &&\
wget https://dl.fedoraproject.org/pub/epel/9/Everything/`uname -m`/Packages/c/ccache-4.5.1-2.el9.`uname -m`.rpm &&\
rpm -i hiredis-1.0.2-1.el9.`uname -m`.rpm ccache-4.5.1-2.el9.`uname -m`.rpm &&\
rpm -i hiredis-1.0.2-2.el9.`uname -m`.rpm ccache-4.5.1-2.el9.`uname -m`.rpm &&\
rm -rf /tmp/ccache

View File

@ -43,7 +43,7 @@ RUN dnf -y update && \
RUN pip3 install conan==1.61.0
RUN mkdir -p /usr/local/go && wget -qO- "https://go.dev/dl/go1.20.7.linux-$TARGETARCH.tar.gz" | tar --strip-components=1 -xz -C /usr/local/go
RUN mkdir -p /usr/local/go && wget -qO- "https://go.dev/dl/go1.21.10.linux-$TARGETARCH.tar.gz" | tar --strip-components=1 -xz -C /usr/local/go
RUN curl https://sh.rustup.rs -sSf | \
sh -s -- --default-toolchain=1.73 -y

View File

@ -40,7 +40,7 @@ ENV GOPATH /go
ENV GOROOT /usr/local/go
ENV GO111MODULE on
ENV PATH $GOPATH/bin:$GOROOT/bin:$PATH
RUN mkdir -p /usr/local/go && wget -qO- "https://go.dev/dl/go1.20.7.linux-$TARGETARCH.tar.gz" | tar --strip-components=1 -xz -C /usr/local/go && \
RUN mkdir -p /usr/local/go && wget -qO- "https://go.dev/dl/go1.21.10.linux-$TARGETARCH.tar.gz" | tar --strip-components=1 -xz -C /usr/local/go && \
mkdir -p "$GOPATH/src" "$GOPATH/bin" && \
go clean --modcache && \
chmod -R 777 "$GOPATH" && chmod -R a+w $(go env GOTOOLDIR)

View File

@ -51,7 +51,7 @@ ENV GOPATH /go
ENV GOROOT /usr/local/go
ENV GO111MODULE on
ENV PATH $GOPATH/bin:$GOROOT/bin:$PATH
RUN mkdir -p /usr/local/go && wget -qO- "https://go.dev/dl/go1.20.7.linux-$TARGETARCH.tar.gz" | tar --strip-components=1 -xz -C /usr/local/go && \
RUN mkdir -p /usr/local/go && wget -qO- "https://go.dev/dl/go1.21.10.linux-$TARGETARCH.tar.gz" | tar --strip-components=1 -xz -C /usr/local/go && \
mkdir -p "$GOPATH/src" "$GOPATH/bin" && \
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b ${GOROOT}/bin v1.46.2 && \
# export GO111MODULE=on && go get github.com/quasilyte/go-ruleguard/cmd/ruleguard@v0.2.1 && \

View File

@ -13,7 +13,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends wget curl ca-ce
# Install go
RUN mkdir -p /usr/local/go && wget -qO- "https://go.dev/dl/go1.20.7.linux-$TARGETARCH.tar.gz" | tar --strip-components=1 -xz -C /usr/local/go
RUN mkdir -p /usr/local/go && wget -qO- "https://go.dev/dl/go1.21.10.linux-$TARGETARCH.tar.gz" | tar --strip-components=1 -xz -C /usr/local/go
# Install conan
RUN pip3 install conan==1.61.0
# Install rust

View File

@ -1,2 +1,2 @@
FROM golang:1.20.4-alpine3.17
FROM golang:1.21.10-alpine3.19
RUN apk add --no-cache make bash

View File

@ -1,6 +1,6 @@
module github.com/milvus-io/milvus/client/v2
go 1.20
go 1.21
require (
github.com/blang/semver/v4 v4.0.0

View File

@ -416,7 +416,7 @@ dataCoord:
channel:
watchTimeoutInterval: 300 # Timeout on watching channels (in seconds). Datanode tickler update watch progress will reset timeout timer.
balanceWithRpc: true # Whether to enable balance with RPC, default to use etcd watch
legacyVersionWithoutRPCWatch: 2.4.0 # Datanodes <= this version are considered as legacy nodes, which doesn't have rpc based watch(). This is only used during rolling upgrade where legacy nodes won't get new channels
legacyVersionWithoutRPCWatch: 2.4.1 # Datanodes <= this version are considered as legacy nodes, which doesn't have rpc based watch(). This is only used during rolling upgrade where legacy nodes won't get new channels
balanceSilentDuration: 300 # The duration after which the channel manager start background channel balancing
balanceInterval: 360 # The interval with which the channel manager check dml channel balance status
checkInterval: 1 # The interval in seconds with which the channel manager advances channel states

0
configs/pgo/default.pgo Normal file
View File

2
go.mod
View File

@ -1,6 +1,6 @@
module github.com/milvus-io/milvus
go 1.20
go 1.21
require (
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.7.0

View File

@ -529,6 +529,7 @@ func (m *ChannelManagerImplV2) advanceToNotifies(ctx context.Context, toNotifies
if channelCount == 0 {
continue
}
nodeID := nodeAssign.NodeID
var (
succeededChannels = make([]RWChannel, 0, channelCount)
@ -548,7 +549,7 @@ func (m *ChannelManagerImplV2) advanceToNotifies(ctx context.Context, toNotifies
tmpWatchInfo.Vchan = m.h.GetDataVChanPositions(innerCh, allPartitionID)
future := getOrCreateIOPool().Submit(func() (any, error) {
err := m.Notify(ctx, nodeAssign.NodeID, tmpWatchInfo)
err := m.Notify(ctx, nodeID, tmpWatchInfo)
return innerCh, err
})
futures = append(futures, future)
@ -591,6 +592,7 @@ func (m *ChannelManagerImplV2) advanceToChecks(ctx context.Context, toChecks []*
continue
}
nodeID := nodeAssign.NodeID
futures := make([]*conc.Future[any], 0, len(nodeAssign.Channels))
chNames := lo.Keys(nodeAssign.Channels)
@ -603,7 +605,7 @@ func (m *ChannelManagerImplV2) advanceToChecks(ctx context.Context, toChecks []*
innerCh := ch
future := getOrCreateIOPool().Submit(func() (any, error) {
successful, got := m.Check(ctx, nodeAssign.NodeID, innerCh.GetWatchInfo())
successful, got := m.Check(ctx, nodeID, innerCh.GetWatchInfo())
if got {
return poolResult{
successful: successful,

View File

@ -22,7 +22,6 @@ import (
"time"
"github.com/cockroachdb/errors"
"github.com/golang/protobuf/proto"
"github.com/samber/lo"
"go.uber.org/zap"
@ -36,6 +35,7 @@ import (
"github.com/milvus-io/milvus/pkg/log"
"github.com/milvus-io/milvus/pkg/util/conc"
"github.com/milvus-io/milvus/pkg/util/paramtable"
"github.com/milvus-io/milvus/pkg/util/typeutil"
)
type ImportTask struct {
@ -107,11 +107,15 @@ func (t *ImportTask) GetSegmentsInfo() []*datapb.ImportSegmentInfo {
func (t *ImportTask) Clone() Task {
ctx, cancel := context.WithCancel(t.ctx)
infos := make(map[int64]*datapb.ImportSegmentInfo)
for id, info := range t.segmentsInfo {
infos[id] = typeutil.Clone(info)
}
return &ImportTask{
ImportTaskV2: proto.Clone(t.ImportTaskV2).(*datapb.ImportTaskV2),
ImportTaskV2: typeutil.Clone(t.ImportTaskV2),
ctx: ctx,
cancel: cancel,
segmentsInfo: t.segmentsInfo,
segmentsInfo: infos,
req: t.req,
metaCaches: t.metaCaches,
}

View File

@ -23,7 +23,6 @@ import (
"time"
"github.com/cockroachdb/errors"
"github.com/golang/protobuf/proto"
"github.com/samber/lo"
"go.uber.org/zap"
@ -104,11 +103,15 @@ func (t *L0ImportTask) GetSegmentsInfo() []*datapb.ImportSegmentInfo {
func (t *L0ImportTask) Clone() Task {
ctx, cancel := context.WithCancel(t.ctx)
infos := make(map[int64]*datapb.ImportSegmentInfo)
for id, info := range t.segmentsInfo {
infos[id] = typeutil.Clone(info)
}
return &L0ImportTask{
ImportTaskV2: proto.Clone(t.ImportTaskV2).(*datapb.ImportTaskV2),
ImportTaskV2: typeutil.Clone(t.ImportTaskV2),
ctx: ctx,
cancel: cancel,
segmentsInfo: t.segmentsInfo,
segmentsInfo: infos,
req: t.req,
metaCaches: t.metaCaches,
}

View File

@ -23,7 +23,6 @@ import (
"time"
"github.com/cockroachdb/errors"
"github.com/golang/protobuf/proto"
"github.com/samber/lo"
"go.uber.org/zap"
@ -102,7 +101,7 @@ func (t *L0PreImportTask) Cancel() {
func (t *L0PreImportTask) Clone() Task {
ctx, cancel := context.WithCancel(t.ctx)
return &L0PreImportTask{
PreImportTask: proto.Clone(t.PreImportTask).(*datapb.PreImportTask),
PreImportTask: typeutil.Clone(t.PreImportTask),
ctx: ctx,
cancel: cancel,
partitionIDs: t.GetPartitionIDs(),

View File

@ -23,7 +23,6 @@ import (
"time"
"github.com/cockroachdb/errors"
"github.com/golang/protobuf/proto"
"github.com/samber/lo"
"go.uber.org/zap"
@ -36,6 +35,7 @@ import (
"github.com/milvus-io/milvus/pkg/log"
"github.com/milvus-io/milvus/pkg/util/conc"
"github.com/milvus-io/milvus/pkg/util/paramtable"
"github.com/milvus-io/milvus/pkg/util/typeutil"
)
type PreImportTask struct {
@ -108,7 +108,7 @@ func (p *PreImportTask) Cancel() {
func (p *PreImportTask) Clone() Task {
ctx, cancel := context.WithCancel(p.ctx)
return &PreImportTask{
PreImportTask: proto.Clone(p.PreImportTask).(*datapb.PreImportTask),
PreImportTask: typeutil.Clone(p.PreImportTask),
ctx: ctx,
cancel: cancel,
partitionIDs: p.GetPartitionIDs(),

View File

@ -398,7 +398,7 @@ func (kv *txnTiKV) MultiRemove(keys []string) error {
for _, key := range keys {
key = path.Join(kv.rootPath, key)
loggingErr = txn.Delete([]byte(key))
err = txn.Delete([]byte(key))
if err != nil {
loggingErr = errors.Wrap(err, fmt.Sprintf("Failed to delete %s for MultiRemove", key))
return loggingErr

View File

@ -52,7 +52,8 @@ func WithSegmentType(typ commonpb.SegmentState) CandidateFilter {
// WithWorkerID returns CandidateFilter with provided worker id.
func WithWorkerID(workerID int64) CandidateFilter {
return func(candidate candidateWithWorker) bool {
return candidate.workerID == workerID
return candidate.workerID == workerID ||
workerID == -1 // wildcard for offline node
}
}

View File

@ -36,6 +36,7 @@ import (
"github.com/milvus-io/milvus/internal/proto/datapb"
"github.com/milvus-io/milvus/internal/proto/querypb"
"github.com/milvus-io/milvus/internal/querynodev2/segments/metricsutil"
"github.com/milvus-io/milvus/pkg/common"
"github.com/milvus-io/milvus/pkg/eventlog"
"github.com/milvus-io/milvus/pkg/log"
"github.com/milvus-io/milvus/pkg/metrics"
@ -764,11 +765,15 @@ func (mgr *segmentManager) updateMetric() {
collections, partiations := make(typeutil.Set[int64]), make(typeutil.Set[int64])
for _, seg := range mgr.growingSegments {
collections.Insert(seg.Collection())
partiations.Insert(seg.Partition())
if seg.Partition() != common.AllPartitionsID {
partiations.Insert(seg.Partition())
}
}
for _, seg := range mgr.sealedSegments {
collections.Insert(seg.Collection())
partiations.Insert(seg.Partition())
if seg.Partition() != common.AllPartitionsID {
partiations.Insert(seg.Partition())
}
}
metrics.QueryNodeNumCollections.WithLabelValues(fmt.Sprint(paramtable.GetNodeID())).Set(float64(collections.Len()))
metrics.QueryNodeNumPartitions.WithLabelValues(fmt.Sprint(paramtable.GetNodeID())).Set(float64(partiations.Len()))

View File

@ -253,7 +253,7 @@ func (b *ServerBroker) BroadcastAlteredCollection(ctx context.Context, req *milv
},
PartitionIDs: partitionIDs,
StartPositions: colMeta.StartPositions,
Properties: req.GetProperties(),
Properties: colMeta.Properties,
DbID: db.ID,
VChannels: colMeta.VirtualChannelNames,
}

View File

@ -50,6 +50,7 @@ func InitTraceConfig(params *paramtable.ComponentParam) {
exporter := C.CString(params.TraceCfg.Exporter.GetValue())
jaegerURL := C.CString(params.TraceCfg.JaegerURL.GetValue())
endpoint := C.CString(params.TraceCfg.OtlpEndpoint.GetValue())
otlpSecure := params.TraceCfg.OtlpSecure.GetAsBool()
defer C.free(unsafe.Pointer(exporter))
defer C.free(unsafe.Pointer(jaegerURL))
defer C.free(unsafe.Pointer(endpoint))
@ -59,6 +60,7 @@ func InitTraceConfig(params *paramtable.ComponentParam) {
sampleFraction: sampleFraction,
jaegerURL: jaegerURL,
otlpEndpoint: endpoint,
oltpSecure: (C.bool)(otlpSecure),
nodeID: nodeID,
}
C.InitTrace(&config)
@ -70,6 +72,7 @@ func ResetTraceConfig(params *paramtable.ComponentParam) {
exporter := C.CString(params.TraceCfg.Exporter.GetValue())
jaegerURL := C.CString(params.TraceCfg.JaegerURL.GetValue())
endpoint := C.CString(params.TraceCfg.OtlpEndpoint.GetValue())
otlpSecure := params.TraceCfg.OtlpSecure.GetAsBool()
defer C.free(unsafe.Pointer(exporter))
defer C.free(unsafe.Pointer(jaegerURL))
defer C.free(unsafe.Pointer(endpoint))
@ -79,6 +82,7 @@ func ResetTraceConfig(params *paramtable.ComponentParam) {
sampleFraction: sampleFraction,
jaegerURL: jaegerURL,
otlpEndpoint: endpoint,
oltpSecure: (C.bool)(otlpSecure),
nodeID: nodeID,
}
C.SetTrace(&config)

View File

@ -1,6 +1,6 @@
module github.com/milvus-io/milvus/pkg
go 1.20
go 1.21
require (
github.com/apache/pulsar-client-go v0.6.1-0.20210728062540-29414db801a7

View File

@ -2825,8 +2825,8 @@ func (p *dataCoordConfig) init(base *BaseTable) {
p.LegacyVersionWithoutRPCWatch = ParamItem{
Key: "dataCoord.channel.legacyVersionWithoutRPCWatch",
Version: "2.4.0",
DefaultValue: "2.4.0",
Version: "2.4.1",
DefaultValue: "2.4.1",
Doc: "Datanodes <= this version are considered as legacy nodes, which doesn't have rpc based watch(). This is only used during rolling upgrade where legacy nodes won't get new channels",
Export: true,
}

View File

@ -4,7 +4,7 @@
```
OS: Ubuntu 20.04
go1.20
go1.21
cmake: >=3.18
gcc 7.5
```