mgo icon indicating copy to clipboard operation
mgo copied to clipboard

Allow partial results flag to be set

Open kahuang opened this issue 6 years ago • 10 comments

This is useful in the case where n shards are failing to return data, but partial results are acceptable to use

kahuang avatar Oct 30 '18 22:10 kahuang

Hi @kahuang,

Thanks for your contribution, but can you write some test that checks the functionality you just added?

maitesin avatar Nov 01 '18 13:11 maitesin

Happy to add tests, what kind of tests did you have in mind?

As this is just allowing us to set a flag that already existed in code, and I don't see other tests for some of the other flags (or I might just be missing it?) I'm not sure how to proceed

kahuang avatar Nov 01 '18 19:11 kahuang

Hi @kahuang ,

The test I had in mind was one that proofed that you can actually obtain partial results.

maitesin avatar Nov 06 '18 11:11 maitesin

Hi @kahuang,

The testing harness should allow you to setup a test with multiple shards where you can have a query with partial results enabled, so you can make sure the function you've added works as expected.

Please do target development branch instead of master.

Thanks! Esther

eminano avatar Nov 06 '18 14:11 eminano

I've added a separate sharded cluster to the startdb process where I insert some test data, then shutdown one of the nodes.

The test then connects to this sharded cluster via a mongos and confirms that it gets the partial results

kahuang avatar Nov 11 '18 20:11 kahuang

Any concerns on this PR?

kahuang avatar Nov 26 '18 21:11 kahuang

Hi @kahuang,

Thanks for taking the time to add the tests for this. However the build is failing due to your changes, I believe you've forgotten some setup for your sharded cluster.

Could you please have a look at how other testing clusters are done to see what's missing?

Thanks, Esther

eminano avatar Nov 27 '18 10:11 eminano

Looks like I accidentally force-pushed a commit that didn't include the daemons. I've added those now, we'll see if the tests pass now

kahuang avatar Nov 27 '18 21:11 kahuang

Hi @kahuang,

It looks like the build is still failing for mongo versions 3.0 and 3.2, any chance those issues are compatibility related?

Thanks, Esther

eminano avatar Jan 16 '19 16:01 eminano

Did a bit of looking, it seems that in <=3.2 mongo actually called the flag partial (it was changed here ). Likely we can send both flags-- as mongo will read the one that it knows.

jacksontj avatar Feb 15 '19 21:02 jacksontj