DBMS/RDBMS

[Vertica][VJDBC](3587) ERROR: Insufficient resources to execute plan on pool general

Minju Jeong 2023. 4. 11. 13:40
  • 에러내용

[Vertica][VJDBC](3587) ERROR: Insufficient resources to execute plan on pool general

 

 

  • 에러원인

리소스 풀(resource pool)이란 미리 서버나 스토리지 등의 자원을 확보하고 이를 사용자의 요청에 따라 제공한다는 개념 혹인 이를 확보해 놓은 가상적인 공간을 말합니다.

 

작업 수행시 사용 중인 user의 resource pool 값이 부족할 때 해당 에러가 발생합니다.

 

 

  • 조치내용

리소스 풀(resource pool)의 MAXMEMORYSIZE 값을 조정했습니다.

 

리소스 풀(resource pool) 설정 시 배치에 대한 user, memory 사용량, 동시 쿼리 수행 수 등에 대한 배치의 전반적인 정보가 필요합니다. 이에 맞춰 user별로 resource pool 할당해주시면 됩니다.

 

# resource pool 할당
CREATE RESOURCE POOL rp_test MAXMEMORYSIZE '50G';
GRANT USAGE ON RESOURCE POOL rp_test TO user1;
ALTER USER user1 RESOURCE POOL rp_test;

 

# user별 할당된 resource pool 확인 (resource_pool)
SELECT * FROM USERS;

 

 

  • 참고자료

< resource pool 파라미터 설명 >

https://www.vertica.com/docs/9.2.x/HTML/Content/Authoring/SQLReferenceManual/SystemTables/CATALOG/RESOURCE_POOLS.htm

 

RESOURCE_POOLS

RESOURCE_POOLS Displays settings for built-in and user-defined resource pools. For information about defining resource pools, see CREATE RESOURCE POOL and ALTER RESOURCE POOL. Column Name Data Type Description NAME VARCHAR The name of this resource pool.

www.vertica.com

 

< resource pool 적용 옵션 설명 >

https://docs.vertica.com/12.0.x/en/sql-reference/statements/create-statements/create-resource-pool/

 

CREATE RESOURCE POOL

Creates a user-defined resource pool.

docs.vertica.com