# mongo-connector 관련 ## 기본 동작 과정 OplogThread 생성 main Connector thread 에서 MongoDB node의 type을 isdbgrid 명령으로 확인 isdbgrid 메서드 없으면 mongod (replica set), 있으면 mongos node (shard cluster) 이 정보를 기반으로 Connector thread 가 OplogThread 생성 replica set -> replica set의 primary를 위한 OplogThread 생성 shard cluster -> 각 shard의 primary node를 위한 OplogThread 생성 각 replication endpoint 마다 하나 이상의 DocManager 초기화한 후 OplogThread에 전달 mongod Cursor 생성 OplogThread 는 mongod 에서 oplog.rs collection 의 tailable cursor 를 생성 OplogThread 에서 "collection dump" OplogThread 는 DocManagers 의 namespace에 있는 collection 의 모든 doc을 "collection dump" 처음 mongo-connector 시작할 때만 "collection dump". 이후에는 mongo-connector last oplog timestamp를 이용 OplogThread 동작 OplogThread는 loop 돌면서 oplog에 새로운 doc이 생길 때마다 가져와서 확인 oplog operation 정보를 확인해서 각 DocManager에 적혀있는 적절한 메서드 호출 insert: doc 을 MongoDB에서 가져와서 DocManager의 upsert method 호출 update: DocManager가 remote system(ex)solr)의 doc 버전을 확인 후 u