|
The motivation for this would be that a simpler model would make it easier to know the lifetimes different structures in the ingress path, and that should reduce the frequency of memory usage bugs/BFs and in general make it easier to write safe ingress path code. While we expect the code changes involved defining an ownership model would not necessarily take a long time, it will require design and consensus as to what the right ownership model would be and how much from the current one we should depart from, since there are lots of directions this could go in. This is related to and likely synergizes with PM-2896, though this can potentially be done independently of it.
I think the HelloMetrics issue is related but possibly separate, since that could be fixed in the unit tests without us changing the ownership model. Once we decide upon a model, we should revisit whether it will address the metrics issue or if a separate ticket needs to be filed about updating the unit tests (specifically AlwaysDecrementNumAwaitingTopologyChangesOnErrorMongoD and AlwaysDecrementNumAwaitingTopologyChangesOnErrorMongoS).
|