Skip to main content

Rejected queries resource pool

  • June 15, 2018
  • 2 replies
  • 5 views

Bernard92
Forum|alt.badge.img+2

Hello,

Does someone has an already made query to get a list of all the queries that have been rejected from a resource pool due to resource issues ?

thanks
Bernard

2 replies

Jim_Knicely
Forum|alt.badge.img+2
  • Participating Frequently
  • June 15, 2018

Hi,

Here is a simple query that might help ...

SELECT rr.time, rr.node_name, rr.session_id, rr.user_name, rr.transaction_id, rr.statement_id, rr.request_id, rr.pool_name, rr.reason, rr.resource_type, rr.rejected_value,
       ri.request_type, ri.request, ri.is_retry
  FROM dc_resource_rejections rr
  JOIN dc_requests_issued ri
 USING (transaction_id, statement_id, request_id)
 ORDER BY rr.time DESC, rr.node_name;

Example:

dbadmin=> CREATE RESOURCE POOL tiny MEMORYSIZE '1K' MAXMEMORYSIZE '1K';
CREATE RESOURCE POOL

dbadmin=> SET SESSION RESOURCE_POOL = tiny;
SET

dbadmin=> CREATE TABLE big AS SELECT t.* FROM tables t CROSS JOIN columns;
ERROR 3587:  Insufficient resources to execute plan on pool tiny [Request Too Large:Threads Exceeded: Requested = 14, Free = 0 (Limit = 0, Used = 0); File Handles Exceeded: Requested = 95, Free = 0 (Limit = 0, Used = 0); Memory(KB) Exceeded: Requested = 474437, Free = 1 (Limit = 1, Used = 0)]

dbadmin=> \x
Expanded display is on.

dbadmin=> SET SESSION RESOURCE_POOL = general;
SET

dbadmin=> SELECT rr.time, rr.node_name, rr.session_id, rr.user_name, rr.transaction_id, rr.statement_id, rr.request_id, rr.pool_name, rr.reason, rr.resource_type, rr.rejected_value,
dbadmin->        ri.request_type, ri.request, ri.is_retry
dbadmin->   FROM dc_resource_rejections rr
dbadmin->   JOIN dc_requests_issued ri
dbadmin->  USING (transaction_id, statement_id, request_id)
dbadmin->  ORDER BY rr.time DESC, rr.node_name
dbadmin->  LIMIT 1;
-[ RECORD 1 ]--+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
time           | 2018-06-15 08:05:27.432078-04
node_name      | v_test_db_node0001
session_id     | v_test_db_node0001-2606:0x1a071
user_name      | dbadmin
transaction_id | 45035996273720755
statement_id   | 1
request_id     | 3
pool_name      | tiny
reason         | Request exceeded high limit
resource_type  | Threads
rejected_value | 14
request_type   | QUERY
request        | INSERT INTO public.big SELECT t.table_schema_id, t.table_schema, t.table_id, t.table_name, t.owner_id, t.owner_name, t.is_temp_table, t.is_system_table, t.force_outer, t.is_flextable, t.has_aggregate_projection, t.system_table_creator, t.partition_expression, t.create_time, t.table_definition, t.recover_priority, t.storage_mode, t.is_shared, t.partition_group_expression FROM (v_catalog.tables t CROSS  JOIN v_catalog.columns)
is_retry       | f

Bernard92
Forum|alt.badge.img+2
  • Author
  • Participating Frequently
  • June 15, 2018

Many thanks Jim