-
Notifications
You must be signed in to change notification settings - Fork 235
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
Rework and fix index paranoia feature #179
base: master
Are you sure you want to change the base?
Conversation
c515260
to
b645e1a
Compare
b645e1a
to
af2c505
Compare
Wow, thanks for all the hard work @angly-cat! Any idea if this works with the released version of 3.6.x? |
It should, but to tell for sure some testing needs to be done. Also, this version has a bug. I detect whether a query is covered by checking if there're |
Thats most likely a covered query (one that can be serviced by just looking at index keys). For example a query where you project |
No, that query wasn't covered for sure, because it had non-zero |
@angly-cat sorry for the delay here, I'd love to get these changes in. Would you still want to work with me to get it over the finish line? |
Sure. What do you want me to do? I need to warn you, though, that my skills with MongoDB became a little rusty, because I haven't touched it for quite a while. 😸 |
Just FYI, I'm using 4.0.11 and your fix works fine for me |
@stennie can we merge this one? |
@TylerBrock I'll test this out with modern versions of MongoDB (3.6+). This has been lingering for a while ;-) |
Hi.
I like this tool a lot. So I invested quite some time in fixing and improving index paranoia feature. Using the magic of virtual machines (
vagrant
andVirtualBox
),m
to quickly install/switch between differentMongoDB
versions and some handwritten scripts and tests, I managed to get this feature working in (almost) every scenario possible.Now this feature can correctly show index or indexes that was/were used in a query of almost any complexity.
It also shows if a query was covered by index.
And works with shards, showing which indexes were used on each shard.
Compatibility table:
This also closes #159.