cubrid icon indicating copy to clipboard operation
cubrid copied to clipboard

[CBRD-26407] Implement coordinator and context freelist in connection worker

Open hyahong opened this issue 1 month ago • 2 comments

http://jira.cubrid.org/browse/CBRD-26407

Purpose

coordinator와 freelist (context)를 추가합니다.

Implementation

클래스들의 이름과 ownership이 변경되었습니다. namespace 단위로 묶었으며 변경은 아래와 같습니다. 모두 cubconn 내부에 있습니다.

master_connector -> master::connector master_connector::context -> master::context connection_pool -> connection::pool connection_worker -> connection::worker connection_worker::context -> connection::context

추가된 클래스는 아래와 같습니다.

statistics::metrics

metrics는 cubconn에서 사용되는 통계 기본형이며 template으로 들어오는 타입에 따라 내부 통계값들이 결정됩니다.

Remarks

max_connection_worker, min_connection_worker가 추가되었습니다.

이 구현에서는 freelist 추가, coordinator 추가, connection worker와 coordinator 간의 통신 구현까지만을 다룹니다. 통계치 활용 이슈는 CBRD-26424에서 추가적으로 처리합니다. 현재 코드에서도 score를 계산하여 점수가 가장 낮은 worker에 새 연결을 붙이고 있지만, score 계산이 매우 휴리스틱합니다.

coordinator.cpp: 531의 주석을 해제하면 실시간으로 통계치를 볼 수 있습니다.

hyahong avatar Dec 01 '25 12:12 hyahong

nit: PR 설명에 matrics -> metrics 코드에는 옳은 스펠링 metrics 로 적힌 것 확인했습니다.

vimkim avatar Dec 09 '25 09:12 vimkim

/run all

hyahong avatar Dec 10 '25 03:12 hyahong