[DRIVERS-250] Support bypassDocumentValidation Created: 07/Aug/15  Updated: 15/Apr/19  Resolved: 21/Nov/16

Status: Closed
Project: Drivers
Component/s: None
Fix Version/s: None

Type: New Feature Priority: Major - P3
Reporter: Barrie Segal Assignee: Craig Wilson
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on CDRIVER-893 Support bypassDocumentValidation Closed
depends on CSHARP-1427 Support bypassDocumentValidation Closed
depends on CXX-689 Support bypassDocumentValidation Closed
depends on CXX-690 Support bypassDocumentValidation Closed
depends on JAVA-1985 Support bypassDocumentValidation Closed
depends on NODE-540 Document validation Closed
depends on PHPLIB-125 Support bypassDocumentValidation opti... Closed
depends on PYTHON-982 Support bypassDocumentValidation Closed
depends on RUBY-1036 Support bypassDocumentValidation option Closed
depends on RUST-15 Support bypassDocumentValidation Closed
depends on PHPC-443 Support bypassDocumentValidation opti... Closed
Documented
Related
related to CDRIVER-957 w=0 with bypassDocumentValidation set... Closed
related to SERVER-20783 aggregate $out + validator error: wro... Closed
related to DRIVERS-269 Create/modify collection helpers need... Closed
related to SERVER-18227 Document Validation Closed
related to PHPLIB-124 Operation classes that take options s... Closed
Driver Compliance:
Key Status/Resolution FixVersion
PYTHON-982 Done 3.2
PERL-561 Done 1.2.0
NODE-540 Done
RUBY-1036 Done 2.2.0
PHP-1488 Won't Fix 1.6.x
PHPLIB-125 Done 1.0.0-beta2
SCALA-212 Done 1.1.0
CXX-689 Done legacy-1.1.0-rc0
CSHARP-1427 Done 1.11, 2.2
JAVA-1985 Done 3.2.0
CXX-690 Done 3.0.0-rc0
CDRIVER-893 Done 1.3.0-beta0
PHPC-443 Done 1.1.0
RUST-15 Done

 Description   

The CRUD specification has added parameters to many of the options classes called bypassDocumentValidation. The following classes have been updated:

  • AggregateOptions: only for $out
  • InsertOneOptions: This is a new class, now with a single field.
  • InsertManyOptions
  • UpdateOptions
  • BulkWriteOptions
  • FindOneAndReplaceOptions
  • FindOneAndUpdateOptions

Using the new option requires the BypassDocumentValidation permission which is granted to the built-in roles 'restore' and 'dbadmin'. Other commands that have been updated, but not specified in the CRUD spec are:

  • applyOps
  • clone
  • cloneCollection
  • copyDb
  • mapReduce

Implementation for Unacknowledged Writes

If your driver sends unacknowledged writes using op codes (OP_INSERT, OP_UPDATE, OP_DELETE), you MUST raise an error when bypassDocumentValidation is explicitly set (true or false) by a user on >= 3.2 servers.



 Comments   
Comment by Rathi Gnanasekaran [ 21/Nov/16 ]

All dependent tickets are closed. Resolving issue.

Generated at Thu Feb 08 08:21:05 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.