Using collmod to adjust the TTL window prints an incorrect expireAfterSeconds_old value.
I've had this happen several times on 2.6.0 and 2.6.1 but have not been able to reproduce it.
The command was run around 2014-05-27T15:14:28.086+0000.
index specs shows TTL to be 518400s.
oplog1:PRIMARY> db.oplog_i2.getIndexSpecs()
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"ns" : "4fb2a07b87d1d86fa8ba6f07.oplog_i2",
"name" : "_id_"
},
{
"v" : 1,
"key" : {
"groupId" : 1,
"rsId" : 1,
"valid" : 1,
"end" : 1,
"_id" : 1
},
"ns" : "4fb2a07b87d1d86fa8ba6f07.oplog_i2",
"name" : "groupId_1_rsId_1_valid_1_end_1__id_1"
},
{
"v" : 1,
"key" : {
"end_date" : 1
},
"ns" : "4fb2a07b87d1d86fa8ba6f07.oplog_i2",
"name" : "end_date_1",
"expireAfterSeconds" : 518400,
"background" : true
}
]
Running collmod reports the old window to be 176400:
oplog1:PRIMARY> db.runCommand({collMod: "oplog_i2",
... index: {keyPattern: {end_date : 1},
... expireAfterSeconds: 900000}})
{
"expireAfterSeconds_old" : 176400,
"expireAfterSeconds_new" : 900000,
"ok" : 1
}
Oldest record in the collection:
oplog1:PRIMARY> db.oplog_i2.find({}, {end_date:1}).sort({end_date : 1}).limit(1)
{ "_id" : ObjectId("537cc26ee4b04494b5ce2d26"), "end_date" : ISODate("2014-05-21T15:12:46.758Z") }