Merge pull request #23844 from taosdata/FIX/TS-4306-3.0
enh: limit size of snap replication msg by data length
This commit is contained in:
commit
041add545c
|
@ -305,7 +305,7 @@ typedef enum ELogicConditionType {
|
||||||
#define TSDB_SYNC_APPLYQ_SIZE_LIMIT 512
|
#define TSDB_SYNC_APPLYQ_SIZE_LIMIT 512
|
||||||
#define TSDB_SYNC_NEGOTIATION_WIN 512
|
#define TSDB_SYNC_NEGOTIATION_WIN 512
|
||||||
|
|
||||||
#define TSDB_SYNC_SNAP_BUFFER_SIZE 2048
|
#define TSDB_SYNC_SNAP_BUFFER_SIZE 1024
|
||||||
|
|
||||||
#define TSDB_TBNAME_COLUMN_INDEX (-1)
|
#define TSDB_TBNAME_COLUMN_INDEX (-1)
|
||||||
#define TSDB_MULTI_TABLEMETA_MAX_NUM 100000 // maximum batch size allowed to load table meta
|
#define TSDB_MULTI_TABLEMETA_MAX_NUM 100000 // maximum batch size allowed to load table meta
|
||||||
|
|
|
@ -278,6 +278,15 @@ _exit:
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int64_t tBlockDataSize(SBlockData* pBlockData) {
|
||||||
|
int64_t nData = 0;
|
||||||
|
for (int32_t iCol = 0; iCol < pBlockData->nColData; iCol++) {
|
||||||
|
SColData* pColData = tBlockDataGetColDataByIdx(pBlockData, iCol);
|
||||||
|
nData += pColData->nData;
|
||||||
|
}
|
||||||
|
return nData;
|
||||||
|
}
|
||||||
|
|
||||||
static int32_t tsdbSnapReadTimeSeriesData(STsdbSnapReader* reader, uint8_t** data) {
|
static int32_t tsdbSnapReadTimeSeriesData(STsdbSnapReader* reader, uint8_t** data) {
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
int32_t lino = 0;
|
int32_t lino = 0;
|
||||||
|
@ -320,10 +329,13 @@ static int32_t tsdbSnapReadTimeSeriesData(STsdbSnapReader* reader, uint8_t** dat
|
||||||
code = tsdbIterMergerNext(reader->dataIterMerger);
|
code = tsdbIterMergerNext(reader->dataIterMerger);
|
||||||
TSDB_CHECK_CODE(code, lino, _exit);
|
TSDB_CHECK_CODE(code, lino, _exit);
|
||||||
|
|
||||||
if (reader->blockData->nRow >= 81920) {
|
if (!(reader->blockData->nRow % 16)) {
|
||||||
|
int64_t nData = tBlockDataSize(reader->blockData);
|
||||||
|
if (nData >= 1 * 1024 * 1024) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (reader->blockData->nRow > 0) {
|
if (reader->blockData->nRow > 0) {
|
||||||
ASSERT(reader->blockData->suid || reader->blockData->uid);
|
ASSERT(reader->blockData->suid || reader->blockData->uid);
|
||||||
|
|
Loading…
Reference in New Issue