Skip to content
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

CSHARP-2043: Added SuppressEnsureIndexes option to GridFSBucketOption… #292

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

jg11jg
Copy link

@jg11jg jg11jg commented Oct 6, 2017

CSHARP-2043: Added SuppressEnsureIndexes option to GridFSBucketOptions. By default is false and has no impact on any part of the system. HOWEVER, IT CAN BE A USEFUL OPTION TO HAVE AVAILABLE IN A CLUSTER WHERE GRIDFS COLLECTIONS ARE BEING SHARDED.

If set to true, then suppresses the call to EnsureIndexes which occurs during every GridFS upload call. Benefit of this suppression is that: 1) EnsureIndexes [effectively] does a count against the fs.files collection, which will a) add latency in a cluster with global shards, b) requires find permission which may not be deisrable in a write-only repository and most importantly c) cause entire cluster to become unavailable if any single shard is unavailable, even if data being saved is not housed in the unavailable shard. 2) Less importantly, EnsureIndexes includes a list index command which implies a higher privilege than is really needed. If developer is a) confident that GridFS subsystem is properly set up and b) wants to robustify sharded GridFS against one shard being down c) wants keep client permissions to a minimum

…s. By default is false and has no impact on any part of the system. If set to true, then suppresses the call to EnsureIndexes which occurs during every GridFS upload call. Benefit of this suppression is that: 1) EnsureIndexes [effectively] does a count against the fs.files collection, which will a) add latency in a cluster with global shards, b) requires find permission which may not be deisrable in a write-only repository and most importantly c) cause entire cluster to become unavailable if any single shard is unavailable, even if data being saved is not housed in the unavailable shard. 2) Less importantly, EnsureIndexes includes a list index command which implies a higher privilege than is really needed. If developer is a) confident that GridFS subsystem is properly set up and b) wants to robustify sharded GridFS against one shard being down c) wants keep client permissions to a minimum
@rstam
Copy link
Contributor

rstam commented Oct 6, 2017

See comments in JIRA ticket:

https://jira.mongodb.org/browse/CSHARP-2043

@jyemin jyemin added the crud label Nov 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
3 participants