[SERVER-30486] mongos rejects OP_INSERT messages that exceed 16MB Created: 02/Aug/17 Updated: 27/Oct/23 Resolved: 06/Sep/17 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Write Ops |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Jeffrey Yemin | Assignee: | Kaloian Manassiev |
| Resolution: | Gone away | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||
| Operating System: | ALL | ||||||||||||||||
| Steps To Reproduce: | Found in Java driver regression test: https://evergreen.mongodb.com/task_log_raw/mongo_java_driver_tests_jdk6__version~latest_os~rhel62_topology~sharded_cluster_auth~noauth_ssl~nossl_jdk~jdk6_test_49be738992a4d947cace9359f753a5680f4909aa_17_08_02_11_29_49/0?type=T#L11811 Test case is here: https://github.com/mongodb/mongo-java-driver/blob/master/driver-core/src/test/functional/com/mongodb/connection/WriteProtocolSpecification.groovy#L135-L155 |
||||||||||||||||
| Participants: | |||||||||||||||||
| Description |
|
In the latest 3.5 nightly, mongos reports an error (via the getlasterror command) when it receives an OP_INSERT message whose size is greater than the max document size of 16MB. The error code is 10334 and the error message is:
|
| Comments |
| Comment by Githook User [ 06/Sep/17 ] |
|
Author: {'username': 'kaloianm', 'name': 'Kaloian Manassiev', 'email': 'kaloian.manassiev@mongodb.com'}Message: |
| Comment by Kaloian Manassiev [ 08/Aug/17 ] |
|
This problem will go away once |
| Comment by Kaloian Manassiev [ 07/Aug/17 ] |
|
This commit made the parsing between mongos and mongod the same. Do we have the same problem there? EDIT: Nevermind. The problem occurs when we then forward the command to the shards. In this case the IDL serialization produces a BSONObj instead of OpMsg and that has a size limit. Since currently IDL does not support producing an OpMsg, I plan on fixing it by ensuring that a batch won't produce a command larger than the BSONObj max size. |
| Comment by Mathias Stearn [ 07/Aug/17 ] |
|
schwerin kaloian.manassiev I think it is due to https://github.com/mongodb/mongo/commit/0fb912f6#diff-7f502c404b3af1653ddf91f61a43f142L615 ( |
| Comment by Andy Schwerin [ 06/Aug/17 ] |
|
redbeard0531, is this fallout from the OP_MSG work? |