Skip to content

Commit 9ba0c4e

Browse files
zhagnluluzhang
andauthored
fix:add json stats version because previous change milvus-io#46130 (milvus-io#46467)
milvus-io#42533 Signed-off-by: luzhang <luzhang@zilliz.com> Co-authored-by: luzhang <luzhang@zilliz.com>
1 parent 342ba55 commit 9ba0c4e

4 files changed

Lines changed: 11 additions & 5 deletions

File tree

internal/core/src/common/Consts.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,8 @@ const char HINTS[] = "hints";
5656
const char JSON_KEY_INDEX_LOG_ROOT_PATH[] = "json_key_index_log";
5757
const char NGRAM_LOG_ROOT_PATH[] = "ngram_log";
5858
constexpr const char* JSON_STATS_ROOT_PATH = "json_stats";
59-
constexpr const char* JSON_STATS_DATA_FORMAT_VERSION = "2";
59+
// Version 3: metadata moved to separate meta.json file (instead of parquet metadata)
60+
constexpr const char* JSON_STATS_DATA_FORMAT_VERSION = "3";
6061
constexpr const char* JSON_STATS_SHARED_INDEX_PATH = "shared_key_index";
6162
constexpr const char* JSON_STATS_SHREDDING_DATA_PATH = "shredding_data";
6263
constexpr const char* JSON_STATS_META_FILE_NAME = "meta.json";

internal/datanode/index/task_stats.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -569,9 +569,11 @@ func (st *statsTask) createJSONKeyStats(ctx context.Context,
569569
)
570570

571571
if jsonKeyStatsDataFormat != common.JSONStatsDataFormatVersion {
572-
log.Info("create json key index failed dataformat invalid")
572+
log.Warn("create json key index failed dataformat invalid", zap.Int64("dataformat version", jsonKeyStatsDataFormat),
573+
zap.Int64("code version", common.JSONStatsDataFormatVersion))
573574
return nil
574575
}
576+
575577
fieldBinlogs := lo.GroupBy(insertBinlogs, func(binlog *datapb.FieldBinlog) int64 {
576578
return binlog.GetFieldID()
577579
})

internal/querynodev2/segments/segment.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1227,13 +1227,15 @@ func (s *LocalSegment) LoadJSONKeyIndex(ctx context.Context, jsonKeyStats *datap
12271227
return nil
12281228
}
12291229

1230+
// for compatibility, we only support load data format version equal to the current data format version
1231+
// if the data format version is less than the current version, wait for trigger a stats task again
12301232
if jsonKeyStats.GetJsonKeyStatsDataFormat() != common.JSONStatsDataFormatVersion {
1231-
log.Ctx(ctx).Info("load json key index failed dataformat invalid", zap.Int64("dataformat", jsonKeyStats.GetJsonKeyStatsDataFormat()), zap.Int64("field id", jsonKeyStats.GetFieldID()), zap.Any("json key logs", jsonKeyStats))
1233+
log.Ctx(ctx).Warn("load json key index failed dataformat invalid", zap.Int64("dataformat", jsonKeyStats.GetJsonKeyStatsDataFormat()), zap.Int64("field id", jsonKeyStats.GetFieldID()), zap.Any("json key logs", jsonKeyStats))
12321234
return nil
12331235
}
12341236

12351237
log.Ctx(ctx).Info("load json key index", zap.Int64("field id", jsonKeyStats.GetFieldID()), zap.Any("json key logs", jsonKeyStats))
1236-
if info, ok := s.fieldJSONStats[jsonKeyStats.GetFieldID()]; ok && info.GetDataFormatVersion() >= common.JSONStatsDataFormatVersion {
1238+
if _, ok := s.fieldJSONStats[jsonKeyStats.GetFieldID()]; ok {
12371239
log.Warn("JsonKeyIndexStats already loaded", zap.Int64("field id", jsonKeyStats.GetFieldID()), zap.Any("json key logs", jsonKeyStats))
12381240
return nil
12391241
}

pkg/common/common.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,8 @@ const (
134134
)
135135

136136
const (
137-
JSONStatsDataFormatVersion = 2
137+
// Version 3: metadata moved to separate meta.json file (instead of parquet metadata)
138+
JSONStatsDataFormatVersion = 3
138139
)
139140

140141
// Search, Index parameter keys

0 commit comments

Comments
 (0)