diff --git a/dbcon/joblist/tupleaggregatestep.cpp b/dbcon/joblist/tupleaggregatestep.cpp index 695878710..595cb174d 100644 --- a/dbcon/joblist/tupleaggregatestep.cpp +++ b/dbcon/joblist/tupleaggregatestep.cpp @@ -348,10 +348,18 @@ void TupleAggregateStep::doThreadedSecondPhaseAggregate(uint32_t threadID) { if (!bucketDone[c] && fAgg_mutex[c]->try_lock()) { - if (multiDist) - dynamic_cast(fAggregators[c].get())->doDistinctAggregation_rowVec(rowBucketVecs[c]); - else - dynamic_cast(fAggregators[c].get())->doDistinctAggregation_rowVec(rowBucketVecs[c][0]); + try + { + if (multiDist) + dynamic_cast(fAggregators[c].get())->doDistinctAggregation_rowVec(rowBucketVecs[c]); + else + dynamic_cast(fAggregators[c].get())->doDistinctAggregation_rowVec(rowBucketVecs[c][0]); + } + catch(...) + { + fAgg_mutex[c]->unlock(); + throw; + } fAgg_mutex[c]->unlock(); bucketDone[c] = true; rowBucketVecs[c][0].clear(); @@ -4301,11 +4309,19 @@ void TupleAggregateStep::threadedAggregateRowGroups(uint32_t threadID) { if (!fEndOfResult && !bucketDone[c] && fAgg_mutex[c]->try_lock()) { - didWork = true; - if (multiDist) - dynamic_cast(fAggregators[c].get())->addRowGroup(&fRowGroupIns[threadID], rowBucketVecs[c]); - else - fAggregators[c]->addRowGroup(&fRowGroupIns[threadID], rowBucketVecs[c][0]); + try + { + didWork = true; + if (multiDist) + dynamic_cast(fAggregators[c].get())->addRowGroup(&fRowGroupIns[threadID], rowBucketVecs[c]); + else + fAggregators[c]->addRowGroup(&fRowGroupIns[threadID], rowBucketVecs[c][0]); + } + catch(...) + { + fAgg_mutex[c]->unlock(); + throw; + } fAgg_mutex[c]->unlock(); rowBucketVecs[c][0].clear(); bucketDone[c] = true; diff --git a/dbcon/mysql/my.cnf b/dbcon/mysql/my.cnf index 3793e8baa..ba3c25ce9 100644 --- a/dbcon/mysql/my.cnf +++ b/dbcon/mysql/my.cnf @@ -39,6 +39,8 @@ read_rnd_buffer_size = 16M myisam_sort_buffer_size = 64M thread_cache_size = 8 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 #thread_concurrency = 8 thread_stack = 512K diff --git a/oam/oamcpp/liboamcpp.cpp b/oam/oamcpp/liboamcpp.cpp index 5e12efebe..efd2cc977 100644 --- a/oam/oamcpp/liboamcpp.cpp +++ b/oam/oamcpp/liboamcpp.cpp @@ -4644,9 +4644,7 @@ namespace oam if (!file.is_open()) { - ostringstream os; - os << "checkLogStatus error while opening file " << fileName << " " << strerror(errno); - writeLog(os.str(), LOG_TYPE_ERROR ); + return false; } string buf; @@ -4659,14 +4657,9 @@ namespace oam } if (file.bad()) { - ostringstream os; - os << "checkLogStatus error while reading file " << fileName << " " << strerror(errno); - writeLog(os.str(), LOG_TYPE_ERROR ); + return false; } file.close(); - ostringstream os; - os << "checkLogStatus failed " << fileName << " expected \"" << phrase.c_str() << "\" found \"" << buf.c_str() << "\""; - writeLog(os.str(), LOG_TYPE_ERROR ); return false; }