MongoDB is one of the first commercial distributed databases that support causal consistency. Its implementation of causal consistency combines several research ideas for achieving scalability, fault tolerance, and security. Given its inherent complexity, a natural question arises: Has MongoDB correctly implemented causal consistency as it claimed? To address this concern, the Jepsen team has conducted a black-box testing of MongoDB. However, this Jepsen testing has several drawbacks in terms of specification, test case generation, implementation of causal consistency checking algorithms, and testing scenarios, which undermine the credibility of its reports. In this work, we have proposed a more thorough design of Jepsen testing of the causal consistency protocol of MongoDB. Specifically, we have fully implemented the causal consistency checking algorithms proposed by Bouajjani et al. and tested MongoDB under various scenarios against three well-known variants of causal consistency.
