1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-08-01 06:46:55 +03:00

MCOL4841 dev port run large join without OOM

This commit is contained in:
David Hall
2022-02-09 17:33:55 -06:00
parent d30e140dc3
commit 27dea733c5
34 changed files with 821 additions and 518 deletions

View File

@ -5432,11 +5432,10 @@ void TupleAggregateStep::threadedAggregateRowGroups(uint32_t threadID)
if (more)
{
fRowGroupIns[threadID].setData(&rgData);
fMemUsage[threadID] += fRowGroupIns[threadID].getSizeWithStrings();
bool diskAggAllowed = fRm->getAllowDiskAggregation();
if (!fRm->getMemory(fRowGroupIns[threadID].getSizeWithStrings(), fSessionMemLimit,
!diskAggAllowed))
int64_t memSize = fRowGroupIns[threadID].getSizeWithStrings();
if (!fRm->getMemory(memSize, fSessionMemLimit, !diskAggAllowed))
{
if (!diskAggAllowed)
{
@ -5456,6 +5455,7 @@ void TupleAggregateStep::threadedAggregateRowGroups(uint32_t threadID)
}
break;
}
fMemUsage[threadID] += memSize;
rgDatas.push_back(rgData);
}
else