MongoDB connector stops after encountering "new primary" event in oplog. There are no error messages logged and connector status in confluent is shown as "OK".
"new primary" events are generated each time Mongo replica set changes primary node. But this bug happens only if primary node is changed gracefully by executing rs.stepDown(120). If primary node is "crashed" connector handles it correctly.
Oplog tracking resumes after confluent is restarted.
Bug in code:
- handleOplogEvent handles "new primary" event and returns "false" as expected
- readOplog notices problem and stops by executing return
- but MongoPrimary.execute method doesn't expect operations to return in case of errors and stops executing..
There are several options how this could be solved.
For e.g. by throwing exception if handleOplogEvent returns false.
But I'm not 100% sure about intended recovery handling approach here.