-
Type:
Bug
-
Resolution: Duplicate
-
Priority:
Critical - P2
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
ALL
-
None
-
None
-
None
-
None
-
None
-
None
-
None
In 2.5.4:
> db.collection.insert({_id:1})
> db.collection.insert({_id:1})
E11000 duplicate key error index: test.collection.$_id_ dup key: { : 1.0 }
> db.getLastErrorObj()
{
"err" : "E11000 duplicate key error index: test.collection.$_id_ dup key: { : 1.0 }",
"code" : 11000,
"n" : 0,
"connectionId" : 1,
"ok" : 1
}
In nightly, git hash ed76da14b4:
> db.collection.insert({_id:1})
> db.collection.insert({_id:1})
E11000 duplicate key error index: test.collection.$_id_ dup key: { : 1.0 }
> db.getLastErrorObj()
{
"err" : "E11000 duplicate key error index: test.collection.$_id_ dup key: { : 1.0 }",
"code" : 11000,
"n" : 0,
"connectionId" : 13,
"syncMillis" : 0,
"writtenTo" : null,
"err" : "E11000 duplicate key error index: test.collection.$_id_ dup key: { : 1.0 }",
"ok" : 1
}
The shell prints "err" with the error message twice, but this is bogus. What the server actually returns is more like:
{
"err" : "E11000 duplicate key error index: test.collection.$_id_ dup key: { : 1.0 }",
"code" : 11000,
"n" : 0,
"connectionId" : 13,
"syncMillis" : 0,
"writtenTo" : null,
"err" : null,
"ok" : 1
}
The shell responds by printing the first "err" value twice. PyMongo responds by using only the second value, null, which makes it think there's no last error at all.
- duplicates
-
SERVER-11955 getLastError response for failed index build contains extra copy of "err" field
-
- Closed
-