[SERVER-22184] Operations that fail against a secondary in a sharded cluster may have their error message swallowed Created: 14/Jan/16  Updated: 03/Jan/18  Resolved: 25/Feb/16

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: 3.2.1
Fix Version/s: 3.2.4, 3.3.3

Type: Bug Priority: Major - P3
Reporter: Ricardo Lorenzo Assignee: Adam Midvidy
Resolution: Done Votes: 4
Labels: code-and-test
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File error_propagation.js    
Issue Links:
Related
related to SERVER-23160 error_propagation.js checks for the w... Closed
Backwards Compatibility: Fully Compatible
Backport Completed:
Sprint: Sharding F (01/29/16), Sharding 10 (02/19/16), Integration 11 (03/14/16)
Participants:
Case:

 Description   

Instead of getting the real error message that mongod returned propagated back to the user, you get the message "Failed to do query, no good nodes in test-rs0, last error: can't query replica set node ubuntu:10011: :: caused by :: 0 assertion src/mongo/client/dbclientcursor.cpp:420"

Seems to be coming from checkSlaveQueryResult() calling peekError() and it not finding a $err field



 Comments   
Comment by Githook User [ 25/Feb/16 ]

Author:

{u'username': u'amidvidy', u'name': u'Adam Midvidy', u'email': u'amidvidy@gmail.com'}

Message: SERVER-22184 check for the new error format in peekError

(cherry picked from commit 3a5c0f9bcb46f083863622e0d734cf29023e7275)
Branch: v3.2
https://github.com/mongodb/mongo/commit/6ccebf255b6a3a278780203f29d2be43d10830cc

Comment by Githook User [ 25/Feb/16 ]

Author:

{u'username': u'amidvidy', u'name': u'Adam Midvidy', u'email': u'amidvidy@gmail.com'}

Message: SERVER-22184 check for the new error format in peekError
Branch: master
https://github.com/mongodb/mongo/commit/3a5c0f9bcb46f083863622e0d734cf29023e7275

Comment by Spencer Brody (Inactive) [ 14/Jan/16 ]

Confirmed the bug and that it is a regression over 3.0. Attaching a jstest that repros the problem

Comment by Eric Milkie [ 14/Jan/16 ]

This ticket probably needs a title change, but the general problem appears to be that in 3.2, certain errors are no longer being propagated back from shards through mongos to the client. What results instead is that the internal C++ driver hits a verify because the descriptive error field is missing.

Generated at Thu Feb 08 03:59:39 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.