699 lines
25 KiB
Plaintext
699 lines
25 KiB
Plaintext
Revision 1428
|
|
-------------------
|
|
수정일 : 2017-11-15
|
|
수정자 : 유희곤
|
|
|
|
- CHG: replication 실패 관련 report 로깅 항목 조정(#31526)
|
|
- replication thread 에서 각 FHS 의 작업 결과 수신후
|
|
- error message 가 "source file size not match" 로 시작되는 경우 report 로깅 하지 않도록 처리
|
|
- 나머지 오류는 "not found" 와 같이 다양, 중요한 로그이므로 report 로그에 기록되도록 함.
|
|
- 수정 파일: ReplicateThread.cpp
|
|
|
|
|
|
Revision 1233
|
|
-------------------
|
|
수정일 : 2015-09-14
|
|
수정자 : 유희곤
|
|
|
|
- CHG: 최신 BaseSocket 모듈 적용 (#24369, #24141)
|
|
- EPIPE 및 usleep 관련 수정 버전 적용
|
|
- 수정 파일: lib/BaseSocket.cpp
|
|
|
|
- CHG: usleep -> nanosleep 변경 (#24369)
|
|
- multi thread 에서 lock 관련 문제점 발생 가능.
|
|
- 프로세스 기동 및 시그널 처리에서만 사용하여... thread 와 연관 없지만.. 수정 처리함.
|
|
- 수정 파일: Main.cpp, Worker.cpp
|
|
|
|
- CHG: Main 버전 (3.5.0) 변경 사항 적용
|
|
- 기존 3.4.0 -> 3.5.0 으로 버전 변경 처리.
|
|
|
|
|
|
Revision 1190
|
|
-------------------
|
|
수정일 : 2015-03-26
|
|
수정자 : 유희곤
|
|
|
|
- BUG: Cache 가 먼저 생성된 경우 replication 생성 관련 문제점 수정 (#21903)
|
|
- cache 가 먼저 생성된 경우 복제 대상 선택시 cache 까지 선택되는 문제점 수정
|
|
- 수정파일: ReplicateSelect.cpp
|
|
|
|
|
|
Revision 1182
|
|
-------------------
|
|
수정일 : 2015-02-12
|
|
수정자 : 유희곤
|
|
|
|
- CHG: 신규 RCDB 형상 적용에 따른 Replication, Cache 완료 Insert Flow 최적화 (#21354)
|
|
- 기존 pgpool 형상에서 사용 불가했던 INSERT-SELECT query 를
|
|
- streaming replication 구조의 신규 RCDB 형상에서 사용 가능해 짐.
|
|
- 이에 따라 Replication, Cache 생성 완료 처리 Flow 를 신규 RCDB 형상에 맞도록 최적화하여
|
|
- RCDB 에 대한 Query 수행 횟수를 줄인다.
|
|
- 수정파일: ReplicateInsert.cpp CacheInsert.cpp
|
|
|
|
- CHG: glibc 버그 fix 장비에서 binary 생성.
|
|
- 세부 내역은 CVE-2015-0235 (gethostbyname_r 버그) 참고
|
|
|
|
|
|
Revision 1125
|
|
-------------------
|
|
수정일 : 2014-11-17
|
|
수정자 : 유희곤
|
|
|
|
- CHG: DNS resolve 실패시 Retry 기능 추가 (#20812, #20783)
|
|
- 통신 접속 관련 lib/CBaseSocket 모듈에서
|
|
- getaddrinfo() 의 DNS resolve 실패가 자주 발생함.
|
|
- 오류코드 FreeBSD : EAI_NONAME(8), Linux: EAI_AGAIN(-3)
|
|
- 이에 3회 재시도 기능 추가
|
|
- 수정파일: lib/BaseSocket.cpp
|
|
|
|
|
|
Revision 1102
|
|
-------------------
|
|
수정일 : 2014-10-29
|
|
수정자 : 유희곤
|
|
|
|
- NEW: RCDB 로그, 모니터링 상에 application_name 정보 표시되도록 기능 추가
|
|
- RCDB 연결 관련 PgOpenDB() 함수 호출시
|
|
- " application_name=" << PROG_NAME; 을 추가하여
|
|
- RCDB 로그, 모니터링 정보 상에 정보가 표시되도록 한다.
|
|
- 수정: Database.cpp
|
|
|
|
|
|
Revision 1077
|
|
-------------------
|
|
수정일 : 2014-09-02
|
|
수정자 : 유희곤
|
|
|
|
- CHG: SKIP_KEYWORD conf section 변경 지원 (#20201)
|
|
- program section 을 우선적으로 사용
|
|
- 존재하지 않을 경우 common section 을 사용토록 수정 처리
|
|
|
|
- CHG: 기타
|
|
- 소스 상의 잘못된 공백 관련 제거 처리
|
|
|
|
|
|
Revision 1017
|
|
-------------------
|
|
수정일 : 2014-07-24
|
|
수정자 : 유희곤
|
|
|
|
상세 수정사항은 일감 #19042 을 참고할 것.
|
|
|
|
- CHG: 양방향 Main 버전 (3.4.0) 변경 사항 적용
|
|
- 기존 3.3.0 -> 3.4.0 으로 버전 변경 처리.
|
|
- CentOS 5.4 및 6.4 에서 컴파일 가능토록 hearder include 조정 처리
|
|
|
|
- CHG: 기본 프레임 구조 변경
|
|
- 기존 Guard - Worker 구조에서 Main - Worker 구조로 변경 처리
|
|
- daemon 함수 사용으로 변경.
|
|
- 각 시그널 처리 및 프로세스 기동관련 처리 함수 검증 및 변경.
|
|
- BaseSocket 관련 최신 모듈 적용.
|
|
|
|
- CHG: Conf 처리 관련 신규 singleton 객체 추가
|
|
- 기존 전역 구조체 처리 방식에서 sigleton 객체로 처리방식 변경
|
|
- conf 변경 항목 내역 반영
|
|
|
|
- CHG: Log 처리 객체 변경
|
|
- 팀 공통 규칙은 singleton 방식의 CLogger 객체 사용으로 방식 변경.
|
|
- Report 로그 처리 관련 전용 객체 사용으로 방식 변경 처리
|
|
|
|
- CHG: 신규 RCDB 형상 지원
|
|
- 기존 RCDB t_dav_resource 사용 모듈에 대해
|
|
- 해당 Table 존재여부 검사 후... 구형 RCDB, 신형 RCDB(서비스별 Table 분리) 지원토록 기능 수정
|
|
|
|
- CHG: ftsd 와 통신 관련
|
|
- 최신 라이브러리 적용.
|
|
|
|
- BUG: database class 사용 관련 잘못된 함수 호출 문제
|
|
- 이미 CLEAR 처리된 result set 에 대해 tuple 계산함수 호출 등의 버그 수정 처리
|
|
- 최신 database class 사용 처리.
|
|
|
|
- BUG: CProperFhsUpdater 모듈
|
|
- vector 의 at() 함수 관련 방어 코드 추가.
|
|
- 중복된 FHS 선택 및 무한 루프 발생 가능 코드 수정
|
|
- RCDB 연결에 따른 목록 관리 업무 flow 수정
|
|
- 비효율적 업무 Flow 코드 수정
|
|
|
|
- BUG: CQueue Template 을 CDataQueue Template 모듈로 재개발
|
|
- Queue 처리 관련 각종 버그 수정
|
|
- 잘못된 업무 Flow 수정 처리.
|
|
- 모듈 독립성을 위해 .hpp 로 재개발 수행
|
|
|
|
- BUG: ProcessStatus 모듈 재개발
|
|
- 잘못된 Thread Count 관리 코드가 존재. 잘못된 업무 Flow 코드 존재
|
|
- 이로 인해 전부 재개발 처리.
|
|
- Thread 기능 탑재하여 2 sec 마다 Process 표시 상태를 자동 갱신토록 기능 추가
|
|
|
|
- CHG: Replication 관련
|
|
- Replication 대상 Content 조회 Query 상의 GROUP BY 구문으로 인해 불필요한 DISTINCT 구문 제거
|
|
- ftsd 로 부터 전달받는 응답에 대해 잘못된 실패 count 처리 관련 업무 Flow 버그 수정
|
|
|
|
- CHG: CReplicateSelect 모듈 수정
|
|
- loop 간 sleep time 을 60, 15, 2 sec 에서 60, 30 sec 로 업무 flow 단순화 처리
|
|
- 시간 동기화 관련 문제 발생시에 대한 방어 기능 추가
|
|
- 불필요, 잘못된 코드 전부 제거
|
|
- RCDB 오류 처리 관련 기능 추가
|
|
- 잘못된 db handler 관련 코드 수정.
|
|
|
|
- BUG: CReplicateInsert 모듈 수정
|
|
- 잘못된 pop 및 대기 처리 로직 수정
|
|
- 상황에 따른 sleep time 조정 처리
|
|
- 불필요한 대기 코드 전부 제거
|
|
- RCDB 오류 처리 관련 기능 추가
|
|
- 잘못된 db handler 관련 코드 수정.
|
|
|
|
- BUG: 재시도 관련 MAX_RETRY_COUNT 값에 대한 비교 코드 통일
|
|
- 모듈별 잘못된 해석으로 인해 재시도 여부 판단이 > , >= 으로 나뉘어져...
|
|
- 잘못된 업무 Flow 발생 가능.
|
|
- 이에 MAX_RETRY_COUNT 값을 초과하는 경우에만 Throw 되도록 관련 코드 통일
|
|
|
|
- CHG: Conf 항목 수정
|
|
- FHS_STATUS_BROADCAST_UDP_PORT 항목 미사용으로 인한 삭제 처리
|
|
- Hot Content 의 URI 정보 전송으로 인한 FHS_STORAGE_MOUNT 항목 미사용. 삭제 처리
|
|
- fimngd 로 부터 Hot content 정보 수신을 기존 UDP 13110 Broadcasting 에서 TCP 13110 port Listen 으로 변경
|
|
이에 conf 상의 FHS_HOTCONTENTS_CONTROL_UDP_PORT = 13110 설정을
|
|
FHS_HOTCONTENT_LISTEN_TCP_PORT = 13110 로 변경
|
|
- Hot Content 의 Cache 생성 조건 검사를 위한 동접 fd 최소값 항목 추가
|
|
HOTCONTENT_CREATE_MINIMUM_FD_COUNT = 5
|
|
|
|
- NEW: fimngd 와의 통신 방식 변경
|
|
- 변경된 conf 적용 관련 기능 추가 및 수정
|
|
- fimngd 와의 통신 처리를 담당할 CFimngdSocketControl 모듈 추가
|
|
- 변경된 Protocol 관련 CHotContentInfo 모듈 추가 ( 기존 모듈 재개발 )
|
|
- Worker 상에 통신 대기 및 수신 Thread 관련 기능 추가
|
|
- fimngd 로 부터 수신되는 content length 정보는 물리 파일 실 size 정보임.
|
|
|
|
- CHG: Cache Job 관련 모듈 재개발
|
|
- 관련 Data 객체가 5개씩이나 되어 업무 Flow 파악 어려움
|
|
- 관련 Data 객체 통합하여 재설계
|
|
- Job 관리 모듈 재개발 및 기능 추가
|
|
|
|
- NEW: 신규 RCDB 형상 지원 관련 미사용 column 제거
|
|
- #19575 을 통해 신규 RCDB 지원시 제거된 column 항목 반영 처리.
|
|
- 제거항목: get_content_language, get_etag, lock_discovery, supported_lock
|
|
- CReplicateInsert , CCacheInsert 모듈 수정
|
|
|
|
- CHG: Cache Order 관련 모듈 재개발
|
|
- RCDB 접속 최소화 처리 기능 추가.
|
|
- 변경된 Data 객체 반영 처리
|
|
- 신규 RCDB 형상 지원 관련 코드 추가
|
|
- Cache 생성시 항상 원본 Content 사용 -> 원본, 복제본, cache 생성본 사용가능토록 수정
|
|
|
|
- CHG: 기타
|
|
- Class 및 변수명 단순화 ( 이로 인해 파일명 변경 발생 )
|
|
- Replication, Cache 관련 작업 Thread 기동 실패시 메모리 leak 발생 방어코드 추가
|
|
|
|
|
|
Revision 935
|
|
-------------------
|
|
수정일 : 2014-01-20
|
|
수정자 : 김오종
|
|
|
|
- DEL: PROPER_FHS_UPDATE 항목을 제거한다.
|
|
- DB로 부터 Proper fhs 값을 주기적으로 가져오는 것은 더이상 옵션화 대상이 아니라 구동 될때 마다 가져오는것이다.
|
|
|
|
Revision 930
|
|
-------------------
|
|
수정일 : 2014-01-14
|
|
수정자 : 김오종
|
|
|
|
- CHG: rc_rmcd의 프로세스 형식에서 guard의 개념이 없어서 소스의 파일명을 변경한다.
|
|
- Guard.cpp Guard.h 를 main.cpp main.h로 변경
|
|
|
|
- DEL: rc_statd의 신규제작에 따른 기능 축소 및 변경
|
|
- top fhs를 선정하기 위한 기능을 rc_statd가 하게됨에 따라 vmasd 수신기능을 제거한다.
|
|
- Internal Cache 생성시 target fhs 선정에 대한 부분을 RCDB의 t_fhs_top_satus table을 참조하여 선정하도록 수정
|
|
|
|
- CHG: report로그의 포맷을 변경처리 한다.
|
|
|
|
Revision 0822
|
|
-------------------
|
|
수정일 : 2012-09-25
|
|
수정자 : 유희곤,노경민
|
|
|
|
- NEW: 특정 단어가 포함된 경우 복제 대상에서 제외 기능추가 (Keyword Skip)
|
|
- 복제 대상 URI에 특정 단어가 포함된 경우 복제에서 제외되는 기능을 추가한다.
|
|
- 해당 체크 시 대소문자에 대해서 양방향 기본 정책을 따른다.(대소문자 구분)
|
|
- 해당 config 설정은 SKIP_KEYWORD 세션에 추가되며, 구분자는 ,이다.
|
|
- 해당 cofnig 설정 형식은 check type | keyworkd 이며,
|
|
check type은 h(head) - path 시작, m(mddle) - path 가운데 , t(tail) - path 끝으로 구분 된다.
|
|
- 수정된 파일은 define_rc_rmcd.h, GetConfig.cpp, ReplicateTargetSelector.cpp, ReplicateTargetSelector.h 임
|
|
|
|
- DEL: 코어 덤프 생성 로직 삭제
|
|
- 코어 덤프 발생 시 특정 디렉토리에 발생되도록 생성된 로직을 삭제처리함
|
|
- 수정된 파일은 Worker.cpp, Guard.cpp임
|
|
|
|
- NEW: Replicaiton 정보 RCDB INSERT 후 재확인 기능 추가 (정합성 체크)
|
|
- Replication 완료된 Content 정보를 RCDB 에서 SELECT -> INSERT 처리시 원본 변경되어 하여 서비스 장애발생 가능
|
|
- 이를 보완하기 위해 RCDB INSERT 후 다시 한번 원본의 변경 여부를 검사하여...
|
|
- 원본이 변경된 경우 INSERT 된 Replication 정보를 deleted_yn = 'Y' 로 변경 처리한다.
|
|
- 수정 소스 : CompleteTargetInserter.cpp 의 InsertFromQueue()
|
|
|
|
- CHG: 잘못된 로그 메시지 수정
|
|
- CacheDeleteCheck.cpp 의 CheckTimeoutCacheContens() 상의 잘못된 로그 수정 처리.
|
|
|
|
- DEL: Makefile install 항목에서 conf 파일 copy 처리 기능 제거
|
|
- -cp -n ../$(PROG_NAME).conf $(INSTALL_CONF)/$(PROG_NAME).conf
|
|
- Linux 에서 -n 옵션 미지원 및 패키징 처리로 인해 해당 기능 제거 및 관련 항목 제거 처리
|
|
|
|
- CHG: 양방향 Main 버전 (3.2.0) 변경 사항 적용
|
|
- 기존 3.1.0 -> 3.2.0 으로 버전 변경 처리.
|
|
|
|
|
|
Revision 0723
|
|
-------------------
|
|
수정일 : 2012-02-29
|
|
수정자 : 노경민
|
|
|
|
- CHG: Postgresql Client Library 변경
|
|
- 8.4.5 -> 9.1.3 으로 변경
|
|
- HA로 구성된 DBLB 사용 시 HA전환 발생 시 쿼리 실행 중인 경우 block 되는
|
|
현상을 방지하기 위해 TCP keepalive 기능을 사용하여야 한다. linux 경우 각
|
|
실행 데몬에서 해당 기능을 소켓 옵션 함수 사용하여 on 시켜야 되며,
|
|
Postgresql 경우 기존 8.4.5 버전에 포함된 client library 경우 해당 기능을
|
|
지원하지 않으며, 9.1.x 대에 해당 기능을 지원 확인되어 관련 library 재컴파일함
|
|
|
|
|
|
Revision 0685
|
|
-------------------
|
|
수정일 : 2012-02-22
|
|
수정자 : 노경민
|
|
|
|
- CHG: 버전 변경
|
|
- CentOS용 지원 버전인 3.1.0으로 변경함
|
|
- BUG: 복사된 파일 경우 Internal Cache가 발생하지 않는 현상 발견
|
|
- Revision r337 수정된 문제는 opendav 관련 문제였으며, 관련 opendav 패치완료
|
|
- filename_hash 중복 체크 로직 삭제 처리함
|
|
- 수정된 파일은 CacheCompleteInserter.cpp임
|
|
- CHG: conf 통합에 따른 변경
|
|
- FHS_VMASD_RCID -> RC_ID
|
|
- FHS_VMASD_POR -> FHS_STATUS_BROADCAST_UDP_POR
|
|
- FHS_CMA_PORT -> FHS_HOTCONTENTS_CONTROL_UDP_PORT
|
|
- 수정된 파일은 Guard.cpp, GetConfig.cpp, define_rc_rmcd.h, Worker.cpp임
|
|
- CHG: 복제 지연 발생 로직 변경
|
|
- work thread가 10개이상 발생하지 부분 수정
|
|
- 복제 완료 관련 큐가 비워있을 때 과도하게 sleep된 부분 수정
|
|
- 수정된 파일은 CacheControl.cpp, CacheCompleteInserter.cpp, ReplicateControl.cpp임
|
|
- CHG: OS 변경 관련 기능
|
|
- CentOS 5.4 정상 동작 확인
|
|
- Process Title 관련 문제 해결(setproctitle)
|
|
- Postgresql 소스 활용(src/backend/utils/misc/ps_status.c)
|
|
- 수정된 파일은 Util.cpp(h), Guard.cpp, Worker.cpp, ProcessStatus.cpp임
|
|
- CHG: PGPool 관련 Mismatch 문제 해결
|
|
- INSERT~SELECT를 사용해서 발생한 문제임
|
|
- 수정된 파일은 CompleteTargetInserter.cpp,CacheCompleteInserter.cpp임
|
|
- CHG: 복제 완료 시 Insert 오류 시 무한 반복 해결
|
|
- 오류 발생 시 관련 큐를 삭제해주지 않아서 발생한 문제임
|
|
- 수정된 파일은 CompleteTargetInserter.cpp임
|
|
|
|
|
|
Revision 0620
|
|
-------------------
|
|
수정일 : 2011-09-21
|
|
수정자 : 김오종
|
|
|
|
- BUG: 캐쉬 파일 삭제 시 get_lastmodified 업데이트 하지 않음.
|
|
- CQueuePopControl::GetWork() 함수내에서 get_lastmodified 업데이트 하도록 수정.
|
|
|
|
|
|
Revision 0604
|
|
-------------------
|
|
수정일 : 2011-09-02
|
|
수정자 : 김오종
|
|
|
|
- BUG: Proper FHS 대상 장비가 없는 경우 report.log 파일에 로깅이 안됨.
|
|
- CQueuePopControl::GetWork() 함수 수정.
|
|
- 재시도 회수를 확인하고 넘었다면 pop해서 버린다.
|
|
- report.log에 logging되도록 수정.
|
|
|
|
Revision 0571
|
|
-------------------
|
|
수정일 : 2011-06-08
|
|
수정자 : 김오종
|
|
|
|
- BUG: 복제 본 재시도 처리 과정에서 Ignorelist 처리 버그 수정.
|
|
- CReplicateControl::Execute() 함수 수정.
|
|
- 복제 본 요청 후 Rep Count 만큼 처리 되지 않은 경우 재처리 하게 된다.
|
|
- 그 과정에서 성공한 fhs의 목록은 복제처리대상 목록에서 제외 시키는 과정의
|
|
로직에서 정상적으로 처리 되지 않는 부분을 수정.
|
|
- 본 문제는 STL list의 '=' operator 만 사용하도록 함으로써 수정 함.
|
|
|
|
|
|
Revision 0564
|
|
-------------------
|
|
수정일 : 2011-06-07
|
|
수정자 : 김오종
|
|
|
|
- BUG: vmasd 수신 모듈 중 CFhsInfo::m_nManualDisable 에 처리되지 않았던 fsck 상태에대한 처리.
|
|
- CProperFhs::DoProperFhs() 함수내에 수정.
|
|
- CHG: Process 시작 시점에 각 object 들의 생성 여부를 logging 처리함.
|
|
- main.cpp 의 WorkerMain( ) 함수 내에 log 정보 추가.
|
|
|
|
Revision 0529
|
|
-------------------
|
|
수정일 : 2011-05-03
|
|
수정자 : 유희곤
|
|
|
|
- BUG: lib/BaseSocket.cpp ConversionAddr() 함수 수정
|
|
- ConversionAddr() 함수에서 gethostbyname() 함수 사용으로 인한 Thread-Safe 문제 발생
|
|
- Multi Thread App에서 요청한 장비와 다른 장비로 접속하는 문제가 발견되었으며
|
|
- 이로인해 Contents 전송, 관리 부분에서 문제가 발생할 수 있어 수정 처리함.
|
|
- 본 문제는 Thread Safe 한 getaddrinfo() 함수 사용으로 변경 처리함.
|
|
|
|
|
|
Revision 0513
|
|
-------------------
|
|
수정일 : 2011-04-07
|
|
수정자 : 노경민
|
|
|
|
- BUG: 복제 되지 않는 파일에 대한 복사된 파일에 대한 복제되지 않는 문제
|
|
- 복제 완료 후 DB insert 시 filename_hash 중복 체크 로직 때문에 발생함
|
|
- 복제 완료 전 복사된 파일에 대한 복제본 허용함
|
|
- 수정된 파일은 CompleteTargetInserter.cpp, CompleteTargetInserter.h, Data.h, ReplicateTargetSelector.cpp 임
|
|
|
|
- CHG: config 통합
|
|
- rcts.conf로 통합함.
|
|
- 기존 rc_rcrmc.conf 삭제함
|
|
- 수정된 파일은 GetConfig.cpp, define_rc_rmcd.h, Makefile 임
|
|
|
|
- CHG: 최초 기동시 Replication Select Interval max 설정 기준 삭제
|
|
- 72시간 이상 설정되지 않던 부분을 수정함
|
|
- 수정된 파일은 ReplicateTargetSelector.cpp 임
|
|
|
|
|
|
Revision 0492
|
|
-------------------
|
|
수정일 : 2011-03-09
|
|
수정자 : 김오종
|
|
|
|
- BUG: replication 완료 후 인서트 처리하는 시에 filename_hash의 중복이 있는 상황
|
|
위 상황에서 complete queue에서 pop()해서 제거하지 않는 버그 수정.
|
|
- filename_hash 중복이 있을 경우 complete queue에서 pop()하도록 한다.
|
|
- pop()된 내용을 report.log에 기록한다.
|
|
- CompleteTargetInserter.h 소스코드 수정
|
|
- CompleteTargetInserter.cpp 소스코드 수정
|
|
|
|
|
|
Revision 0467
|
|
-------------------
|
|
수정일 : 2010-12-29
|
|
수정자 : 장희준
|
|
|
|
- CHG: 캐시 요청 처리 시 로깅 부분 보완.
|
|
- CmaReceiver.cpp 코드 수정
|
|
|
|
|
|
Revision 0466
|
|
-------------------
|
|
수정일 : 2010-12-29
|
|
수정자 : 장희준
|
|
|
|
- CHG: Revision 0465에서 로깅 부분 보완.
|
|
- CmaReceiver.cpp 코드 수정
|
|
|
|
Revision 0465
|
|
-------------------
|
|
수정일 : 2010-12-29
|
|
수정자 : 장희준
|
|
|
|
- CHG: 캐시 요청에 대한 RCID 판변 추가.
|
|
- CmaReceiver.cpp 코드 수정
|
|
|
|
Revision 0457
|
|
-------------------
|
|
수정일 : 2010-12-13
|
|
수정자 : 장희준
|
|
|
|
- CHG: Internal Cache 생성 관련 상세 로그 추가
|
|
- CCacheOrder::RequestJob() 함수에서
|
|
- nTuple == 0 이면 WARN_LOG( "GetNoTuples has no result. sql: %s", szQuery );
|
|
- nTuple < 0 이면 ERROR_LOG("GetNoTuples has failed. : errmsg:%s", m_pPgSQL->GetErrorMessage().c_str());
|
|
|
|
- CHG: DB 접속 불가시 처리 로직 추가
|
|
- CProperFhsUpdater::EntryPoint 함수에서
|
|
- pObject->Execute() == false면 10초 후에 Execute()를 호출하도록 변경.
|
|
|
|
|
|
Revision 0456
|
|
-------------------
|
|
수정일 : 2010-12-10
|
|
수정자 : 장희준
|
|
|
|
- BUG: 최초 기동시 Replication Select Interval 계산식에서 변수 범위 관련 버그 수정
|
|
- CReplicateTargetSelector::SetTargetSelectInterval() 함수상에서
|
|
- m_nTargetSelectInterval = (long long) ( sec * 1000000 ); 부분에서 (long long) (int) 형상으로 계산되므로
|
|
- Replication Select Interval 에 대한 정확한 계산이 수행되지 않음.
|
|
- 이에 따른 수정처리 진행함.
|
|
|
|
|
|
Revision 0454
|
|
-------------------
|
|
수정일 : 2010-12-09
|
|
수정자 : 유희곤
|
|
|
|
- BUG: 최초 기동시 Replication Start Time 계산식에서 변수 범위 관련 버그 수정
|
|
- CReplicateTargetSelector::SetTargetSelectIntervalOnStarting() 함수상에서
|
|
- (long long) ( hour * 3600 * 1000000 ) 부분에서 (long long) (int) 형상으로 계산되므로
|
|
- Start Time 에 대한 정확한 계산이 수행되지 않음.
|
|
- 이에 따른 수정처리 진행함.
|
|
|
|
- CHG: Replicate 대상 선택관련 MIN_TARGET_SELECT_INTERVAL 값 변경
|
|
- 기존 3 sec 로 할 경우 FHS 간 시간 동기화 관련 문제 발생 가능
|
|
- 따라서 해당 MIN 값을 180 sec 로 변경 처리함.
|
|
- rc_rmcd.conf 에도 본 내역 적용 처리함.
|
|
|
|
- CHG: gcc 4.4.5 컴파일시 발생한 Header File include 오류 관련 Header 추가처리
|
|
|
|
|
|
Revision 0451
|
|
-------------------
|
|
수정일 : 2010-12-09
|
|
수정자 : 유희곤
|
|
|
|
- CHG: Main 버전 정보 변경
|
|
- src/Makefile 상에 설정된 기존 Main 버전 3.0.0 을 서비스 1팀 정책에 따른 3.0.1 로 변경
|
|
|
|
- CHG: Changelog.txt 관련 내역 보강
|
|
- Reivision 450 의 작업 내역 보강
|
|
|
|
|
|
Revision 0450
|
|
-------------------
|
|
수정일 : 2010-12-08
|
|
수정자 : 장희준
|
|
|
|
- CHG: 복제 대상 선택 시간을 설정파일에서 설정할 수 있도록 변경
|
|
- rc_rmcd.conf, define_rc_rmcd.h, Worker.cpp, ReplicateTargetSelect.h ReplicateTargetSelect.cpp
|
|
- conf 파일상에 TARGET_SELECT_INTERVAL, TARGET_SELECT_INTERVAL_ON_STARTING 항목 추가
|
|
- 자세한 사항은 일감 #4999 참고.
|
|
|
|
- CHG: 불필요한 동적 Library 링크 삭제처리
|
|
- src/Makefile LIBS 에 설정된 불필요한 geom, devstat 링크 부분 삭제 처리
|
|
|
|
- CHG: gcc 4.4.5 컴파일시 발생한 Header File include 오류 관련 Header 추가처리
|
|
- lib/Logger.cpp
|
|
|
|
- BUG: lib/Config.h 구문 오류 수정
|
|
- SetDelimiter 함수의 두번째 인자인 string& value = CONFIG_DEFAULT_VALUE_DELIMITER 구문 오류
|
|
- string value = CONFIG_DEFAULT_VALUE_DELIMITER 형식으로 수정 처리
|
|
|
|
|
|
Revision 0371
|
|
-------------------
|
|
수정일 : 2010-10-08
|
|
수정자 : 김오종
|
|
|
|
- BUG: CCompleteTargetInserter::InsertFromQueue(), CCacheCompleteInserter::InsertFromQueue() 함수에서
|
|
finame_hash의 중복 여부를 판단하기 위한 쿼리에 nextval()이 호출되어 resource_id의 이상증가 현상이 발생
|
|
- 쿼리문중 의도와 상관없는 쿼리구문인 nextval()을 제거 함.
|
|
|
|
|
|
Revision 0337
|
|
-------------------
|
|
수정일 : 2010-08-11
|
|
수정자 : 김오종
|
|
|
|
- BUG: opendav에서 filename_hash 값이 중복생성(충돌현상)이 될 가능성에 대한 방어코드 추가.
|
|
- CCompleteTargetInserter::VarificationInsertData() 함수 추가.
|
|
-> filename_hash 값이 중복됐는지 확인 로직추가.
|
|
- CCompleteTargetInserter::InsertFromQueue() 함수내에서 VarificationInsertData()함수로 확인 수행.
|
|
- CCacheCompleteInserter::InsertFromQueue() 함수내에서 filename_hash 값이 중복됐는지 확인 로직추가.
|
|
|
|
- BUG: CCompleteTargetInserter::InsertFromQueue()와 CCacheCompleteInserter::InsertFromQueue()의 쿼리의
|
|
조건절에 get_content_length 필드 추가.
|
|
- 현재 분산 또는 내부캐시 완료된 컨텐츠의 파일크기가 같을경우에만 완료처리 되도록 처리.
|
|
|
|
- CHG: - defind 된 변수 타입을 기본 타입으로 재선언.
|
|
- Data.h에 uint64_t로 정의된 변수를 unsined long long 타입으로 변경.
|
|
|
|
|
|
Revision 0333
|
|
-------------------
|
|
수정일 : 2010-08-09
|
|
수정자 : 김오종
|
|
|
|
- CHG: vmasd로 부터 수신되는 정보를 이용하여 ProferFHS 정보 update부분 수정.
|
|
- vmasd 수신 처리 부분인 CProperFhs::UpdateFhsInfo() 함수 수정.
|
|
- opendav 모듈에서 해당 fhs의 디스크 여유용량에 대해 1G이하면 업로드
|
|
대상에서 제외되는 로직을 확인 함.
|
|
|
|
- CHG: Makefile 상의 버전정보 관리 방법 변경
|
|
- REVISION 을 추가로 정의하고 Version 표시할때 사용 한다.
|
|
|
|
|
|
Revision 0322
|
|
-------------------
|
|
수정일 : 2010-08-02
|
|
수정자 : 김오종
|
|
|
|
- BUG: CBaseSocket::Read() 함수상의 문법관련 버그 수정
|
|
- 156 Line상의 잘못된 대입 연산자를 비교연산자로 수정처리.
|
|
|
|
- CHG: Makefile 상의 버전정보 변경.
|
|
- 3.0.0.313 => 3.0.0.322
|
|
|
|
|
|
Revision 0313
|
|
-------------------
|
|
수정일 : 2010-07-15
|
|
수정자 : 김오종
|
|
|
|
- CHG: - Profer FHS 정보 업데이트 중 opendav 비정상 상황에 대한 로그메시지 조정.
|
|
- Makefile 버전 조정.
|
|
|
|
|
|
Revision 0311
|
|
-------------------
|
|
수정일 : 2010-07-15
|
|
수정자 : 김오종
|
|
|
|
- CHG: - vmasd로 부터 수신되는 정보를 이용하여 ProferFHS 선정하는 부분 로직 수정.
|
|
-> vmasd 수신 처리 부분인 CProperFhs::UpdateFhsInfo() 함수 수정.
|
|
-> opendav 모듈이 기동중이지 않은 경우아래 값을 전송하는 것을 확인하였음.
|
|
objFhsInfo.m_nTotalSize = 0;
|
|
objFhsInfo.m_nFreeSize = 0;
|
|
-> 기존 로직은 어떠한 값이 포함되었건 간에 fhs가 정상이라고 판단 하였으나,
|
|
아래 조건이 true인 경우 비정상 상태로간주 하도록 처리 되었음.
|
|
* 조건.
|
|
if ( objFhsInfo.m_nTotalSize == 0 && objFhsInfo.m_nFreeSize == 0 )
|
|
|
|
|
|
Revision 0285
|
|
-------------------
|
|
수정일 : 2010-06-30
|
|
수정자 : 김오종
|
|
|
|
- CHG: - CHG: Makefile 상의 버전정보 변경
|
|
- R0283에 version이 282로 commit되어 있어 R0285로 변경처리 함.
|
|
- Chagelog에 버전 미적용으로 인해 전체 R0285로 변경처리함.
|
|
|
|
|
|
Revision 0282
|
|
-------------------
|
|
수정일 : 2010-06-24
|
|
수정자 : 김태일
|
|
|
|
- CHG: Replication Target 선정 쿼리 수정
|
|
- 선정 기준을 filename_hash => uri로 변경함.
|
|
- /user2/ stg/node0 등의 각기 다른 저장소를 가지기 때문에 filename_hash를 기준으로 잡기에 부적합함.
|
|
|
|
|
|
Revision 0281
|
|
-------------------
|
|
수정일 : 2010-06-22
|
|
수정자 : 김태일
|
|
|
|
- CHG: Makefile 상의 버전정보 변경
|
|
- Makefile 상에 설정된 Version 정보를 기존 3.0.0.264 에서 양뱡향 버전 표시 방법으로 변경처리
|
|
- 3.0.0.281-생성일시분초 형식
|
|
|
|
|
|
Revision 0280
|
|
-------------------
|
|
수정일 : 2010-06-22
|
|
수정자 : 김태일
|
|
|
|
- CHG: FHS의 ftsd와 통신이 완료된 상태에서, success list와 fail list를 전달 받는데,
|
|
Fail list에 대해서는 리스트에서 삭제 작업이 누락됨.
|
|
- 잡 리스트에서 삭제작업(UnregisterJob)을 수행하고, Debug => Error Log로 변경함.
|
|
|
|
|
|
Revision 0264
|
|
-------------------
|
|
수정일 : 2010-06-01
|
|
수정자 : 유희곤
|
|
|
|
- CHG: Logger Class 의 Init() 호출시 경로가 Symbolic Link인 경우 처리코드 추가
|
|
- Log Path 경로가 Directory 가 아닌 Symbolic Link 인 경우로 발생
|
|
- 따라서 이러한 경우 기존에는 Error 로 처리되어 Init() 함수 호출이 실패됨.
|
|
- 해당 코드를 Symbolic Link 또는 Directory 인 경우에는 정상적으로 처리되도록 수정함.
|
|
|
|
- CHG: Makefile 상의 버전정보 변경
|
|
- Makefile 상에 설정된 Version 정보를 기존 1.0-R0243 에서 양뱡향 버전 표시 방법으로 변경처리
|
|
- 3.0.0.264-생성일시분초 형식
|
|
|
|
|
|
Revision 0243
|
|
-------------------
|
|
수정일 : 2010-05-07
|
|
수정자 : 김오종
|
|
|
|
- CHG: rc간 복제처리를 위해 protocol상에 target tranid정보 전송기능 추가.
|
|
|
|
- NEW: ProperFHS 클래스에서 disable 된 장비들을 제외하는 로직 추가 필요.
|
|
|
|
- NEW: mds_sync 개발에 따른 추가개발 이슈.
|
|
- CProperFhsUpdater class추가.
|
|
- NetCache에서 사용하게될 mds_sync데몬과 연동되는 부분으로
|
|
- 신규로 추가된 t_fhs_top_status 테이블에 적당한 FHS를 특정개수(현재10개)이상을
|
|
- 기본으로 전체 FHS의 10%에 해당하는 정보를 저장하는 역할을하는 클래스이다.
|
|
|
|
|
|
Revision 0236
|
|
-------------------
|
|
수정일 : 2010-04-27
|
|
수정자 : 김태일
|
|
|
|
- BUG: PTHREAD_MUTEX_INITIALIZER 코드로 구현된 mutex 초기화 구현 코드를 pthread_mutex_init() 사용으로 변경함.
|
|
- 현재 FreeBSD환경에서 동작에 문제가 발견되지 않았으나, 잠재적인 문제가 있으므로 권고사항으로 구현 변경함.
|
|
|
|
|
|
Revision 0231
|
|
-------------------
|
|
수정일 : 2010-04-15
|
|
수정자 : 김태일
|
|
|
|
- CHG: - process status를 아래와 같은 형태로 변경 표현. 각 약어는 ProcessStatus.cpp에 주석 설명 되어있음.
|
|
rc_rmcd: [RS0 RT0 RR0 RC0 CL0 CT0 CJ0 CC0] (rc_rmcd)
|
|
- 현재 작업 가능한 스레드 개수를 조회하는 기능에 UpdateTitle() 구문을 추가하여 주기적으로 프로세스 상태가 갱신될 수 있도록 변경.
|
|
|
|
|
|
Revision 0230
|
|
-------------------
|
|
수정일 : 2010-04-14
|
|
수정자 : 김오종
|
|
|
|
- CHG: Replication 기능의 Replication 개수를 기존 conf파일기준으로 처리하던것을 DB의 값을 참조하도록 기능 변경.
|
|
- t_sms_sp_svc_product 에서 replication_count 값을 기준으로 Replication 하도록 변경.
|
|
- 고객사 별로 replication_count가 설정되므로, 각 고객사별로 Replication 수를 설정가능하도록 변경.
|
|
|
|
- NEW: Cache 처리에 대한 기능 추가.
|
|
- 현재 버전은 개발 및 성능 테스트를 완료한 버전으로 기존에 Replication 처리기능에 Cache처리기능을 추가했다.
|
|
|
|
|
|
Revision 0177
|
|
-------------------
|
|
수정일 : 2010-03-23
|
|
수정자 : 유희곤
|
|
|
|
- NEW: SVN 신규 등록
|
|
- 기존 svn://doit.solbox.com/work/trunk/rc_rmcd 에 존재하는 개발 완료 소스 (Rev 490)를 SVN 에 정식버전으로 등록함.
|
|
- 본 버전은 개발 및 성능 테스트를 완료한 버전으로 현재 버전에서는 Replication 에 대한 처리 기능만을 가짐
|
|
- 본 버전은 아직 Cache 처리에 대한 기능을 가지지 않음.
|
|
- 현재 버전은 FreeBSD 5.4, 6.2 버전상에서만 테스트되었음.
|
|
- 본 버전은 vmasd 정보를 사용하므로 rc_vrcd, rc_cmcd 와 UDP Port 충돌이 날수 있으므로 설치 및 기동시 주의해야 함.
|
|
|
|
- NEW: History 저장을 위한 Changelog.txt 파일 추가
|
|
- 앞으로 각 작업에 대한 로그를 확인하도록 Changelog.txt 파일을 추가
|
|
|