So I created a low priority user that is assigned to a resource pool with maxconcurrency set to 8, but I was surprised to seeing a lot more than that running at a given time. Here's more information to help everyone understand what I am running through and help me understand why there aren't only 8 open requests at a time for that specific user:
Code: Select all
// there are 32 concurrent queries now running for lp_user
nba=> select count(*) from sessions where user_name = 'lp_user';
count
-------
32
(1 row)
// lp_user is assigned to lp_pool
nba=> select * from V_CATALOG.USERS where user_name = 'lp_user';
user_id | user_name | is_super_user | profile_name | is_locked | lock_time | resource_pool | memory_cap_kb | temp_space_cap_kb | run_time_cap | all_roles | default_roles | search_path
-------------------+-----------+---------------+--------------+-----------+-----------+---------------+---------------+-------------------+--------------+-----------+---------------+---------------------------------------------------
45035996418446764 | lp_user | f | default | f | | lp_pool | unlimited | unlimited | unlimited | | | "$user", public, v_catalog, v_monitor, v_internal
(1 row)
// lp_pool's maxconcurrency is set to 8
nba=> select * from V_CATALOG.RESOURCE_POOLS where name = 'lp_pool';
pool_id | name | is_internal | memorysize | maxmemorysize | executionparallelism | priority | runtimepriority | runtimeprioritythreshold | queuetimeout | plannedconcurrency | maxconcurrency | runtimecap | singleinitiator
-------------------+---------+-------------+------------+---------------+----------------------+----------+-----------------+--------------------------+--------------+--------------------+----------------+------------+-----------------
45035996418451182 | lp_pool | f | 25% | 25% | AUTO | 0 | MEDIUM | 0 | 300 | AUTO | 8 | | f
(1 row)