Skip to main content
이 설정은 system.settings에서 확인할 수 있으며, source에서 자동 생성됩니다.

timeout_overflow_mode

쿼리 실행 시간이 max_execution_time을 초과하거나 예상 실행 시간이 max_estimated_execution_time을 초과할 때 어떻게 처리할지 설정합니다(throw에서만 예상 시간을 확인합니다). 가능한 값:
  • throw: 예외를 발생시킵니다(기본값).
  • break: 쿼리 실행을 중단하고, 소스 데이터가 모두 소진된 것처럼 부분 결과를 반환합니다. 일부 작업은 부분 결과를 안전하게 반환할 수 없으므로, 더 작은 결과를 반환하는 대신 결과를 생성하지 않고 중단합니다. 단일 값을 계산하는 함수는 해당 값을 생성하지 않고 중단합니다. 중단이 TIMEOUT_EXCEEDED 오류로 클라이언트에 전달되는지, 아니면 결과 누락으로만 나타나는지는 쿼리가 중단된 위치에 따라 달라집니다. 시간 초과로 완료되지 않은 Memory 테이블의 변경 작업(mutation)은 테이블을 변경하지 않은 상태로 유지하며 TIMEOUT_EXCEEDED를 보고합니다. INSERTQUERY_WAS_CANCELLED를 보고할 수 있습니다. 다른 레플리카 또는 백그라운드 작업을 기다리는 일부 작업은 max_execution_time에서 전혀 중단되지 않습니다. 쿼럼 쓰기는 쿼럼이 충족될 때까지 계속 기다리거나, insert_quorum_timeout이 먼저 경과하면 UNKNOWN_STATUS_OF_INSERT를 보고합니다.

timeout_overflow_mode_leaf

리프 노드에서 쿼리가 max_execution_time_leaf보다 오래 실행될 때 어떻게 처리할지 설정합니다. 가능한 값:
  • throw: 예외를 발생시킵니다(기본값).
  • break: 쿼리 실행을 중지하고 부분 결과를 반환합니다. 마치 소스 데이터가 모두 소진된 것처럼 동작합니다. 일부 작업은 부분 결과를 안전하게 반환할 수 없으므로, 더 작은 결과를 반환하는 대신 결과를 생성하지 않고 중지합니다. 단일 값을 계산하는 함수는 해당 값을 생성하지 않고 중지합니다. 이러한 중지가 TIMEOUT_EXCEEDED 오류로 클라이언트에 전달되는지, 아니면 결과 누락으로만 처리되는지는 쿼리가 중단된 위치에 따라 달라집니다.
마지막 수정일 2026년 8월 14일