diff --git a/Makefile b/Makefile index f84670801d..183741deb8 100644 --- a/Makefile +++ b/Makefile @@ -96,7 +96,10 @@ binlog: MIGRATION_PATH = $(PWD)/cmd/tools/migration meta-migration: @echo "Building migration tool ..." - @mkdir -p $(INSTALL_PATH) && go env -w CGO_ENABLED="1" && GO111MODULE=on $(GO) build -o $(INSTALL_PATH)/meta-migration $(MIGRATION_PATH)/main.go 1>/dev/null + @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)'" \ + ${APPLE_SILICON_FLAG} -o $(INSTALL_PATH)/meta-migration $(MIGRATION_PATH)/main.go 1>/dev/null BUILD_TAGS = $(shell git describe --tags --always --dirty="-dev") BUILD_TIME = $(shell date -u) diff --git a/cmd/tools/migration/meta/210_to_220.go b/cmd/tools/migration/meta/210_to_220.go index c650907d09..60092b470c 100644 --- a/cmd/tools/migration/meta/210_to_220.go +++ b/cmd/tools/migration/meta/210_to_220.go @@ -130,6 +130,7 @@ func (meta *CollectionLoadInfo210) to220() (CollectionLoadInfo220, PartitionLoad LoadPercentage: 100, Status: querypb.LoadStatus_Loaded, ReplicaNumber: loadInfo.ReplicaNumber, + FieldIndexID: make(map[UniqueID]UniqueID), } } } @@ -274,11 +275,13 @@ func combineToSegmentIndexesMeta220(segmentIndexes SegmentIndexesMeta210, indexB } func combineToLoadInfo220(collectionLoadInfo CollectionLoadInfo220, partitionLoadInto PartitionLoadInfo220, fieldIndexes FieldIndexes210) { + toBeReleased := make([]UniqueID, 0) + for collectionID, loadInfo := range collectionLoadInfo { indexes, ok := fieldIndexes[collectionID] if !ok || len(indexes.indexes) == 0 { - log.Warn("release the collection without index", zap.Int64("collectionID", collectionID)) - delete(collectionLoadInfo, collectionID) + toBeReleased = append(toBeReleased, collectionID) + continue } for _, index := range indexes.indexes { @@ -289,15 +292,21 @@ func combineToLoadInfo220(collectionLoadInfo CollectionLoadInfo220, partitionLoa for collectionID, partitions := range partitionLoadInto { indexes, ok := fieldIndexes[collectionID] if !ok || len(indexes.indexes) == 0 { - log.Warn("release the collection without index", zap.Int64("collectionID", collectionID)) - delete(collectionLoadInfo, collectionID) + toBeReleased = append(toBeReleased, collectionID) + continue } + for _, loadInfo := range partitions { for _, index := range indexes.indexes { loadInfo.FieldIndexID[index.GetFiledID()] = index.GetIndexID() } } } + + for _, collectionID := range toBeReleased { + log.Warn("release the collection without index", zap.Int64("collectionID", collectionID)) + delete(collectionLoadInfo, collectionID) + } } func From210To220(metas *Meta) (*Meta, error) {