enhance: [2.4]Assert insert data length not overflow int (#33248) (#33271)

Cherry-pick from master
pr: #33248 
When InsertData is too large for cpp proto unmarshalling, the error
message is confusing since the length is overflowed

This PR adds assertion for insert data length.

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
This commit is contained in:
congqixia 2024-05-22 19:07:40 +08:00 committed by GitHub
parent 64d0a71ba0
commit 3c31499bbc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -12,6 +12,7 @@
#include "segcore/segment_c.h"
#include <memory>
#include <limits>
#include "common/FieldData.h"
#include "common/LoadInfo.h"
@ -239,6 +240,9 @@ Insert(CSegmentInterface c_segment,
const uint8_t* data_info,
const uint64_t data_info_len) {
try {
AssertInfo(data_info_len < std::numeric_limits<int>::max(),
"insert data length ({}) exceeds max int",
data_info_len);
auto segment = static_cast<milvus::segcore::SegmentGrowing*>(c_segment);
auto insert_record_proto =
std::make_unique<milvus::InsertRecordProto>();