-
Type: Bug
-
Resolution: Done
-
Priority: Major - P3
-
None
-
Component/s: None
-
None
Raised this in as PYTHON-623 first, but after discussion with jesse this should probably be a more general discussion amongst all drivers.
See also related SERVER-12209 ticket where this issue came up.
Sending a document with _id of extended JSON form to a primary will succeed but crash all secondaries immediately upon replication.
{'_id': {'$oid': "52d0b971b3ba219fdeb4170e" } }
Some drivers seem to validate for such cases (key starts with $ in nested sub-document) and reject the write, while others (I only tested with Python so far) don't. The behavior should be consistent.
Another discussion point is whether these validations should happen on the driver or server side. Currently --objcheck seems not to protect the server from such _ids.
- depends on
-
CXX-518 Write a test for and ensure we don't allow sending _id with nested '$' key
- Closed
- is related to
-
SERVER-12209 _id with $prefix field causes replication failure due to unvalidated insert
- Closed
-
PYTHON-623 Python driver should not allow sending _ids with a key starting with $
- Closed