1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-29 08:21:15 +03:00

fix(pp-threadpool): MCOL-5565 the workaround for a stuck tests001 in CI (#2947)

CI ocassionaly stuck running test001 b/c PP threadpool endlessly reschedules
    meta jobs, e.g. BATCH_PRIMITIVE_CREATE, which ByteStreams were somehow damaged or read out.

Co-authored-by: Leonid Fedorov <leonid.fedorov@mariadb.com>
This commit is contained in:
drrtuy
2023-09-01 17:09:44 +02:00
committed by GitHub
parent a0e7bf4fd6
commit 2802e2810f
3 changed files with 19 additions and 11 deletions

View File

@ -40,6 +40,12 @@
namespace threadpool
{
// Meta Jobs, e.g. BATCH_PRIMITIVE_CREATE has very small weight if a number of such Jobs
// stuck in the scheduler queue they will starve the whole queue so that no Job could be run
// except these meta jobs.
constexpr const uint32_t RescheduleWeightIncrement = 10000;
constexpr const uint32_t MetaJobsInitialWeight = 1;
// The idea of this thread pool is to run morsel jobs(primitive job) is to equaly distribute CPU time
// b/w multiple parallel queries(thread maps morsel to query using txnId). Query(txnId) has its weight
// stored in PriorityQueue that thread increases before run another morsel for the query. When query is