[바인딩] 같은 컴팩트 생성자에 들어가는 세 입력 transactions=true 바인딩 성공, transactions=true changeStreams=false requiredSecondaries=2 change-streams=true 바인딩 성공, transactions=false changeStreams=false requiredSecondaries=2 required-secondaries=-1 바인딩 실패, MongoOperationRejectedException: the required secondary count must not be negative; -1 is 서버 : mongod 8.0.16, 관측 토폴로지 STANDALONE CHANGE_STREAM : isStable=false 사유 : {reason=topology is STANDALONE, which has no oplog} [출하 배선] MongoStartupValidator(..., properties.changeStreams()) validate() -> 통과 [시험 배선] MongoStartupValidator(..., true) validate() -> MongoOperationRejectedException: change streams are enabled but unavailable here: {reason=topology is STANDALONE, which has no oplog}; a REPLICA_SET, SHARDED or ATLAS topology is required [source 직접 생성] SpringReactiveChangeStreamSource.open() -> MongoCommandException Command execution failed on MongoDB server with error 40573 (Location40573): 'The $changeStream stage is only supported on replica sets' on server 127.0.0.1:57017. The full response is {"ok": 0.0, "errmsg": "The $changeStream stage is only supported on replica sets", "code": 40573, "codeName": "Location40573"} [복구 정책] MongoChangeStreamRecoveryPolicy.onFailure(...) -> MongoChangeStreamRecoveryDecision[state=FAILED, autoResume=false, requiredRunbook=docs/mongodb/runbooks/failover.md]