-
Notifications
You must be signed in to change notification settings - Fork 14.1k
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
WIP: Use SQLite instead of PostgreSQL #19852
WIP: Use SQLite instead of PostgreSQL #19852
Conversation
dc6fd5a
to
d686624
Compare
If you pop this value to
|
CI is failing due to concurrency issues, which is a known problem with SQLite since it only accepts one connection to acquire a write lock on the database. This causes a Rails version 8 had added many improvements and now ships with SQLite as the default database, considered Ready for Production. Since we still use rails version 7.0.x, I believe upgrading it to version 8 would probably solve these issues. Another solution is to use this gem, which enhance ActiveRecord's SQLite3 adapter (see this article for details), but it requires rails version 7.1, which might be possible soon (see this PR) |
The 7.1 upgrade is actually blocked on database connection issues, so we might need to resolve them first. It might be possible to have a test branch with the current 7.1 effort and a SQLite spike to confirm if that's enough for us or not, but I'm happy to park this PR until we're officially on at least 7.1 if that's your recommendation 👍 |
Thank you! I just quickly tested on top of the branch with the rails 7.1 upgrade and installed the Concurrency issues like these are usually due to unclosed transactions with write operations. We will probably need to review how we handle transactions in a multi-threaded environment to get rid of these concurrency errors. |
That's perfect; thanks for taking a look! I'd be good to temporarily attic this PR for now as needing to be revisited after we've upgraded to a newer version of Rails 💯 Let me know if you'd be for or against popping the |
Yes, I agree. Let's |
Thanks for your contribution to Metasploit Framework! We've looked at this pull request, and we agree that it seems like a good addition to Metasploit, but it looks like it is not quite ready to land. We've labeled it What does this generally mean? It could be one or more of several things:
We would love to land this pull request when it's ready. If you have a chance to address all comments, we would be happy to reopen and discuss how to merge this! |
Thanks again! Hoping to revive this soon as it would be awesome to have working for our users 🤞 |
This is a first try to migrate to SQLite. It works locally, but, let see if CI passes 🤞