You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-08-07 03:22:57 +03:00
Merge branch 'develop' of https://github.com/mariadb-corporation/mariadb-columnstore-engine into develop
This commit is contained in:
@@ -347,11 +347,19 @@ void TupleAggregateStep::doThreadedSecondPhaseAggregate(uint32_t threadID)
|
|||||||
for (uint32_t c = 0; c < fNumOfBuckets && !cancelled(); c++)
|
for (uint32_t c = 0; c < fNumOfBuckets && !cancelled(); c++)
|
||||||
{
|
{
|
||||||
if (!bucketDone[c] && fAgg_mutex[c]->try_lock())
|
if (!bucketDone[c] && fAgg_mutex[c]->try_lock())
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
if (multiDist)
|
if (multiDist)
|
||||||
dynamic_cast<RowAggregationMultiDistinct*>(fAggregators[c].get())->doDistinctAggregation_rowVec(rowBucketVecs[c]);
|
dynamic_cast<RowAggregationMultiDistinct*>(fAggregators[c].get())->doDistinctAggregation_rowVec(rowBucketVecs[c]);
|
||||||
else
|
else
|
||||||
dynamic_cast<RowAggregationDistinct*>(fAggregators[c].get())->doDistinctAggregation_rowVec(rowBucketVecs[c][0]);
|
dynamic_cast<RowAggregationDistinct*>(fAggregators[c].get())->doDistinctAggregation_rowVec(rowBucketVecs[c][0]);
|
||||||
|
}
|
||||||
|
catch(...)
|
||||||
|
{
|
||||||
|
fAgg_mutex[c]->unlock();
|
||||||
|
throw;
|
||||||
|
}
|
||||||
fAgg_mutex[c]->unlock();
|
fAgg_mutex[c]->unlock();
|
||||||
bucketDone[c] = true;
|
bucketDone[c] = true;
|
||||||
rowBucketVecs[c][0].clear();
|
rowBucketVecs[c][0].clear();
|
||||||
@@ -4300,12 +4308,20 @@ void TupleAggregateStep::threadedAggregateRowGroups(uint32_t threadID)
|
|||||||
for (uint32_t c = 0; c < fNumOfBuckets && !cancelled(); c++)
|
for (uint32_t c = 0; c < fNumOfBuckets && !cancelled(); c++)
|
||||||
{
|
{
|
||||||
if (!fEndOfResult && !bucketDone[c] && fAgg_mutex[c]->try_lock())
|
if (!fEndOfResult && !bucketDone[c] && fAgg_mutex[c]->try_lock())
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
didWork = true;
|
didWork = true;
|
||||||
if (multiDist)
|
if (multiDist)
|
||||||
dynamic_cast<RowAggregationMultiDistinct*>(fAggregators[c].get())->addRowGroup(&fRowGroupIns[threadID], rowBucketVecs[c]);
|
dynamic_cast<RowAggregationMultiDistinct*>(fAggregators[c].get())->addRowGroup(&fRowGroupIns[threadID], rowBucketVecs[c]);
|
||||||
else
|
else
|
||||||
fAggregators[c]->addRowGroup(&fRowGroupIns[threadID], rowBucketVecs[c][0]);
|
fAggregators[c]->addRowGroup(&fRowGroupIns[threadID], rowBucketVecs[c][0]);
|
||||||
|
}
|
||||||
|
catch(...)
|
||||||
|
{
|
||||||
|
fAgg_mutex[c]->unlock();
|
||||||
|
throw;
|
||||||
|
}
|
||||||
fAgg_mutex[c]->unlock();
|
fAgg_mutex[c]->unlock();
|
||||||
rowBucketVecs[c][0].clear();
|
rowBucketVecs[c][0].clear();
|
||||||
bucketDone[c] = true;
|
bucketDone[c] = true;
|
||||||
|
@@ -39,6 +39,8 @@ read_rnd_buffer_size = 16M
|
|||||||
myisam_sort_buffer_size = 64M
|
myisam_sort_buffer_size = 64M
|
||||||
thread_cache_size = 8
|
thread_cache_size = 8
|
||||||
query_cache_size = 0
|
query_cache_size = 0
|
||||||
|
# Disable client progress reports. More people are annoyed by it than not.
|
||||||
|
progress_report_time=0
|
||||||
# Try number of CPU's*2 for thread_concurrency
|
# Try number of CPU's*2 for thread_concurrency
|
||||||
#thread_concurrency = 8
|
#thread_concurrency = 8
|
||||||
thread_stack = 512K
|
thread_stack = 512K
|
||||||
|
@@ -4644,9 +4644,7 @@ namespace oam
|
|||||||
|
|
||||||
if (!file.is_open())
|
if (!file.is_open())
|
||||||
{
|
{
|
||||||
ostringstream os;
|
return false;
|
||||||
os << "checkLogStatus error while opening file " << fileName << " " << strerror(errno);
|
|
||||||
writeLog(os.str(), LOG_TYPE_ERROR );
|
|
||||||
}
|
}
|
||||||
string buf;
|
string buf;
|
||||||
|
|
||||||
@@ -4659,14 +4657,9 @@ namespace oam
|
|||||||
}
|
}
|
||||||
if (file.bad())
|
if (file.bad())
|
||||||
{
|
{
|
||||||
ostringstream os;
|
return false;
|
||||||
os << "checkLogStatus error while reading file " << fileName << " " << strerror(errno);
|
|
||||||
writeLog(os.str(), LOG_TYPE_ERROR );
|
|
||||||
}
|
}
|
||||||
file.close();
|
file.close();
|
||||||
ostringstream os;
|
|
||||||
os << "checkLogStatus failed " << fileName << " expected \"" << phrase.c_str() << "\" found \"" << buf.c_str() << "\"";
|
|
||||||
writeLog(os.str(), LOG_TYPE_ERROR );
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user