Commit f7605e41 authored by 王翔宇's avatar 王翔宇
Browse files

MS-640 Cache object size calculate incorrect


Former-commit-id: 0d2350e1a5399d086f23a6d22a93bf84ff6d5b3e
parent b6d86a10
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ Please mark all change in change log and use the ticket from JIRA.
- MS-601 - Docker logs error caused by get CPUTemperature error
- MS-622 - Delete vectors should be failed if date range is invalid
- MS-620 - Get table row counts display wrong error code
- MS-640 - Cache object size calculate incorrect

## Improvement
- MS-552 - Add and change the easylogging library
+11 −2
Original line number Diff line number Diff line
@@ -37,9 +37,17 @@ namespace engine {

int64_t
VecIndex::Size() {
    if (size_ != 0) {
        return size_;
    }
    return Count() * Dimension() * sizeof(float);
}

void
VecIndex::set_size(int64_t size) {
    size_ = size;
}

struct FileIOReader {
    std::fstream fs;
    std::string name;
@@ -157,9 +165,10 @@ GetVecIndexFactory(const IndexType& type, const Config& cfg) {
}

VecIndexPtr
LoadVecIndex(const IndexType& index_type, const knowhere::BinarySet& index_binary) {
LoadVecIndex(const IndexType& index_type, const knowhere::BinarySet& index_binary, int64_t size) {
    auto index = GetVecIndexFactory(index_type);
    index->Load(index_binary);
    index->set_size(size);
    return index;
}

@@ -205,7 +214,7 @@ read_index(const std::string& location) {
        delete[] meta;
    }

    return LoadVecIndex(current_type, load_data_list);
    return LoadVecIndex(current_type, load_data_list, length);
}

Status
+6 −1
Original line number Diff line number Diff line
@@ -87,6 +87,9 @@ class VecIndex : public cache::DataObj {
    int64_t
    Size() override;

    void
    set_size(int64_t size);

    virtual knowhere::BinarySet
    Serialize() = 0;

@@ -115,6 +118,8 @@ class VecIndex : public cache::DataObj {
        return Status::OK();
    }
    ////////////////
 private:
    int64_t size_ = 0;
};

extern Status
@@ -127,7 +132,7 @@ extern VecIndexPtr
GetVecIndexFactory(const IndexType& type, const Config& cfg = Config());

extern VecIndexPtr
LoadVecIndex(const IndexType& index_type, const knowhere::BinarySet& index_binary);
LoadVecIndex(const IndexType& index_type, const knowhere::BinarySet& index_binary, int64_t size);

extern IndexType
ConvertToCpuIndexType(const IndexType& type);