The ResourceManager rightly assumes that when it starts, it's starting from naught. The MockRM, however, violates that assumption. For example, in TestNMReconnect, each test method creates a new MockRM instance. The QueueMetrics.queueMetrics field is static, which means that when multiple MockRM instances are created, the QueueMetrics bleed over. Having the MockRM clear the QueueMetrics when it starts should resolve the issue. I haven't looked yet at scope to see how hard easy that is to do.