Closed pwojnowski closed 8 years ago
Thanks a lot @pwojnowski for working and sharing your clustering improvements, hopefully they will be part of Michael's master branch soon :-)
Nice work. Thanks @pwojnowski. I was looking at opening a PR to update to mongo 3.2 driver, but I'd like to see this land first.
Would love to see this branch merged. Any way I can help?
@connollyst there are merge conflicts with master. The need to be resolved.
@michaelklishin I already incorporated the commits from other PR and everything builds fine. I don't know why GH shows that my branch has conflicts.
I'm still working on Failover, because it doesn't work for all possible cases. But if this should ever be merged then IMHO it would be better do so now to allow other people to contribute without creating conflicting PRs all the time - at this momemnt it is inevitable, because the code structure has changed a lot.
Another thing is IMHO it would be better to change tests from Clojure to something where creating mocks is much simpler (e.g. Spock Framewok). I like Clojure, but writing Clojure tests for Java code is often painful and TDD is basically impossible. I can rewrite tests to Spock if you agree to do so.
@michaelklishin ok, I've corrected failover part. Now nodes can recover own and other nodes' triggers.
I'm not sure about two things:
BTW if you don't plan to merge this PR just say it and I'll just create a fork to not bother you. Thanks!
@pwojnowski I am perfectly fine with switching to MAJORITY+JOURNALED
. As for stand by mode, if you feel it's worth using, then please implement support for it and lets use that.
I am interested in merging this. Thank you for your time.
@pwojnowski let me know when this is ready for one last review and merging. Thank you.
@michaelklishin now it is ready to be merged. Today I just added docs and removed one deprecation.
In case of other changes I will create another PR - for example to other issues.
@pwojnowski thank you! Please update change log and credit yourself. It'd be great to have this documented well :)
Most commits just refactor code to smaller, understandable and testable, parts.
The most important changes are around acquiring triggers and LocksDao.
Fixes #66