kaizendorks / pymongo_inmemory

A mongo mocking library with an ephemeral MongoDB running in memory.
MIT License
39 stars 13 forks source link

`is_locked` does not work in a persistent context #112

Open Guibod opened 4 months ago

Guibod commented 4 months ago

I’m working with a persistent storage behind a « in memory » instance of Mongodb. It seems that Mongod.is_locked check for lock presence, while mongod leave the file (empty of PID) after a successful shutdown..

To reproduce the issue, you simply need to reuse the same directory after a successful shutdown.

I’d suggest that you move the is_locked method to something similar to this:

    @property
    def is_locked(self):
        lock_file = os.path.join(self.data_folder, "mongod.lock")
        if not os.path.exists(lock_file):
            return False

        return os.path.getsize(lock_file) != 0