-
-
Notifications
You must be signed in to change notification settings - Fork 187
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The ephemeralForTest
storage engine is reaching its end of life
#742
Comments
not currently
probably should be documented yes, though personally i have not run into any issues with that yet i also already read that they want to remove this storage-engine (sadly). also there seems to be a separate in-memory engine for enterprise. when the change occurs and MMS changes its default version (to that version), then the default will also be changed (because otherwise it literally wouldnt work anymore). if it really becomes required, the default may be changed earlier (though this will only be in a major MMS version). for now use the mentioned workaround of manually setting the storage engine |
Thank you for your answer. The current workaround is fine by me. I mostly intended to inform you about this. Feel free to close this issue, or change its status, whatever suits you best. |
for now i will keep it open until at least a documentation note is made about that it may be unstable and that the default will be changed in the future |
🎉 This issue has been resolved in version 9.0.0-beta.1 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
a note has been added in beta documnetation at https://nodkz.github.io/mongodb-memory-server/versions/beta/docs/api/interfaces/mongo-memory-instance-opts#helper-type-storageengine |
Wait a moment? Does this means that if I would like to run MongoDB memory server, with version 7, I have to use wiredTiger? But if I understand wiredTiger correctly, this means that it will not be in-memory then? |
yes that is correct, because with 7.0.0 i know that the name |
🎉 This issue has been resolved in version 9.0.0-beta.2 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
can we release v9 outside beta? mongo 7 is out |
mms 9 i currently in beta to get some more feedback, but yes, i think it is kinda final (it works in both typegoose and mongoose, my main real-world testing use-cases) i will try to release it this week |
writeTiger is slower than ephemeral and breaks some tests |
🎉 This issue has been resolved in version 9.0.0 🎉 The release is available on:
Manual message because semantic-release hit the limit |
well it is recommended to set the db-path to somewhere which is using |
The project description and documentation should at least be updated because it is currently misleading. |
Thanks for pointing this out, completely forgot about that, for now i have updated the github description, other places (like documentation landing page) may still need to be updated. I am not a good writer, so for now the more concise and less miss-leading text is:
EDIT: |
required because mongodb 7.0 does not have the public in-memory engine anymore. re #742 (comment)
required because mongodb 7.0 does not have the public in-memory engine anymore. re #742 (comment)
I know the issue is closed, but wanted to discuss the option of using Percona's Memory Engine? It is a drop-in replacement for MongoDB. https://docs.percona.com/percona-server-for-mongodb/7.0/inmemory.html But I believe it will address the concern relating to performance. |
Thanks for the hint @Climax777, but from my quick skim of the site, it looks like percona does not offer a archive overview like official mongodb does, so finding all the links and configurations wouldnt be as easy. https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-debian11-7.0.15.tgz
vs
https://downloads.percona.com/downloads/percona-server-mongodb-7.0/percona-server-mongodb-7.0.15-9/binary/tarball/percona-server-mongodb-7.0.15-9-x86_64.bookworm-minimal.tar.gz If the tar structure is the same and the commands also work the same, i think it is possible to use percona if you set config option |
does percona works with mongo 8 ? is it faster ? is it an in-place replacement ? |
https://www.mongodb.com/docs/manual/core/inmemory/ what about using |
should we open an issue to support percona ? |
source
From what i have seen on their website, the highest version is currently 7.0.x.
I currently do not plan to add this myself, but PRs are welcome. |
I'd tried with download dir and also system binary neither worked |
config option
what is the Debug output if you run it with config option |
|
Thanks for the output, i think i should do more checking there, though from what i know this should never happen in nodejs (according to types): mongodb-memory-server/packages/mongodb-memory-server-core/src/util/MongoBinary.ts Lines 91 to 92 in a9d8986
Does anything change if you provide a absolute path to the binary? (ie |
this is the absolute path, I only removed in the logs |
just to confirm the path you had set for |
it was absolute
|
because it seemingly can be undefined, see #742#issuecomment-2528284865
Thanks, then it is very weird that nodejs seemingly did not throw a error and gave back what it shouldnt have. Could you manually try running the percona binary with argument |
You can download percona and give it a try I will test more |
Versions
package: mongo-memory-server-global
What is your question?
The
ephemeralForTest
storage engine is reaching its end of life.Context
In the project I'm working on, each test cleans its test collections by issuing
collection.deleteMany({})
on every modified collection during the test. All thesedeleteMany
are executed in parallel.When executing many tests, it happens that the mongod server crashes with a segfault.
After opening an issue in MongoDB's Jira, it appears the "ephemeralForTest" engine has become unstable, starting with MongoDB 5.
They even intend to suppress entirely this engine with MongoDB 7. Cf. this comment:
Workaround
As suggested, I used the
wiredTiger
engine (thanks to mongo-memory-server's optioninstance.storageEngine
) and everything works like a charm.I made a few benchmarks, and the performances are comparable.
Question
Knowing this, I have a few interrogations/suggestions:
The text was updated successfully, but these errors were encountered: