Also, looking at http://ci.jujucharms.com/job/charm-storage/ I see only a single success at ​a906cf9, all earlier revisions are marked as failure, so I'm not sure if that is relevant or not. There does seem to be something fishy going on with Mongo on Trusty. I see the Ping Batcher operating: 2017-10-02 09:11:30 TRACE juju.state.presence pingbatcher.go:327 0xc42008b950 [cef56d] recorded 1 pings for 1 ping slot(s) and 1 fields in 0.010s However, in the actual database there is no 'db.presence.pings' table: juju:PRIMARY> show collections presence.beings presence.seqs system.indexes While in the shell I did some testing, and it seems that in Mongo 2.4 update(..., {upsert: true}) will *not* create a document if it doesn't exist already if one of the operations is a $bit operation. Specifically, doing: juju:PRIMARY> db.presence.test.find() juju:PRIMARY> db.presence.test.update({_id: "blah:1245"}, {$set: {"slot": 1245}, $bit: {"alive.0": {"or": 1}}}, {"upsert": true}) juju:PRIMARY> db.presence.test.find() # nothing returned, nothing created juju:PRIMARY> db.presence.test.update({_id: "blah:1245"}, {$set: {"slot": 1245}, $inc: {"alive.0": NumberInt(1)}}, {"upsert": true}) juju:PRIMARY> db.presence.test.find() { "_id" : "blah:1245", "alive" : { "0" : 1 }, "slot" : 1245 } # $inc *did* create the document juju:PRIMARY> db.presence.test.update({_id: "blah:1245"}, {$set: {"slot": 1245}, $bit: {"alive.0": {"or": 2}}}, {"upsert": true}) juju:PRIMARY> db.presence.test.find() { "_id" : "blah:1245", "alive" : { "0" : 3 }, "slot" : 1245 } # And now the $bit operation is able to increment it. I'll play with it a bit more, but I would have thought we had a trusty based run of all the test suite, and that should have also failed, vs just a CI test failing. On Mon, Oct 2, 2017 at 1:07 PM, John Meinel