mirror of
https://gitee.com/milvus-io/milvus.git
synced 2025-12-06 17:18:35 +08:00
relate:https://github.com/milvus-io/milvus/issues/43687 Support use file resource with sync mode. Auto download or remove file resource to local when user add or remove file resource. Sync file resource to node when find new node session. --------- Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
49 lines
1.2 KiB
Go
49 lines
1.2 KiB
Go
package pathutil
|
|
|
|
import (
|
|
"fmt"
|
|
"path/filepath"
|
|
|
|
"go.uber.org/zap"
|
|
|
|
"github.com/milvus-io/milvus/pkg/v2/log"
|
|
"github.com/milvus-io/milvus/pkg/v2/util/paramtable"
|
|
)
|
|
|
|
type PathType int
|
|
|
|
const (
|
|
GrowingMMapPath PathType = iota
|
|
LocalChunkPath
|
|
BM25Path
|
|
RootCachePath
|
|
FileResourcePath
|
|
)
|
|
|
|
const (
|
|
CachePathPrefix = "cache"
|
|
GrowingMMapPathPrefix = "growing_mmap"
|
|
LocalChunkPathPrefix = "local_chunk"
|
|
BM25PathPrefix = "bm25"
|
|
FileResourcePathPrefix = "file_resource"
|
|
)
|
|
|
|
func GetPath(pathType PathType, nodeID int64) string {
|
|
rootPath := paramtable.Get().LocalStorageCfg.Path.GetValue()
|
|
|
|
path := filepath.Join(rootPath, CachePathPrefix)
|
|
switch pathType {
|
|
case GrowingMMapPath:
|
|
path = filepath.Join(path, fmt.Sprintf("%d", nodeID), GrowingMMapPathPrefix)
|
|
case LocalChunkPath:
|
|
path = filepath.Join(path, fmt.Sprintf("%d", nodeID), LocalChunkPathPrefix)
|
|
case BM25Path:
|
|
path = filepath.Join(path, fmt.Sprintf("%d", nodeID), BM25PathPrefix)
|
|
case FileResourcePath:
|
|
path = filepath.Join(path, fmt.Sprintf("%d", nodeID), FileResourcePathPrefix)
|
|
case RootCachePath:
|
|
}
|
|
log.Info("Get path for", zap.Any("pathType", pathType), zap.Int64("nodeID", nodeID), zap.String("path", path))
|
|
return path
|
|
}
|