DBMS/RDBMS

[Vertica][VJDBC](2245) ERROR : Attempted to create too many ROS container for projection

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

[Vertica][VJDBC](2245) ERROR : Attempted to create too many ROS container for projection

 

 

  • 에러원인

ContainersPerProjectionLimit 파라미터 설정값에 따라서 ROS Container 수가 초과될 경우 발생하며

기본값으로 1,024 로 설정되어 있고, 해당 수치를 초과하여 발생하는 에러입니다.

 

예를 들어, 1,000,000 만건의 로우를 COPY 할때 Batch size 100건으로 설정하면
1,000,000/100 = 10,000개의 ROS Container를 생성하게 되고
이럴 경우 1,024개를 초과하므로 해당 에러가 발생하게 됩니다.
 
 
  • 조치내용
Batch size 건수를 늘려 ROS Container 생성 개수를 줄이거나,
ContainersPerProjectionLimit 설정값을 늘려줘야 합니다.
 
제가 작업하는 환경에서는 Memory 문제로 Batch size를 늘릴 수 없는 상황이기 때문에 

ContainersPerProjectionLimit 설정값을 조정했습니다.

 

# ContainersPerProjectionLimit 설정값 수정 (1024 -> 4096)
SELECT SET_CONFIG_PARAMETER('ContainersPerProjectionLimit', 4096);

 

# ContainersPerProjectionLimit 설정값 확인
SELECT * FROM CONFIGURATION_PARAMETERS WHERE parameter_name = 'ContainersPerProjectionLimit';
 

 

  • 참고자료

< Projection Parameters : ContainersPerProjectionLimit 값 설명 >

https://www.vertica.com/docs/9.2.x/HTML/Content/Authoring/AdministratorsGuide/ConfiguringTheDB/ProjectionParameters.htm?Highlight=ContainersPerProjectionLimit 

 

Projection Parameters

 

www.vertica.com

 

< Parameter 옵션 조정 : SET_CONFIG_PARAMETER 설명 >

https://www.vertica.com/docs/9.2.x/HTML/Content/Authoring/SQLReferenceManual/Statements/SET/SET_CONFIG_PARAMETER.htm?Highlight=SELECT%20SET_CONFIG_PARAMETER 

 

SET_CONFIG_PARAMETER

SET_CONFIG_PARAMETER Specifies the value of a configuration parameter at the database level, or for a specific node. Vertica encourages use of ALTER NODE, ALTER DATABASE, and ALTER SESSION statements to set and clear configuration parameters. See Managing

www.vertica.com