dnrusakov opened a new pull request #3282: STREAMCOMP-2724: Stream Manager migrated to mainly use smart pointers instead of a manual memory management URL: https://github.com/apache/incubator-heron/pull/3282 This PR contains the following changes: 1. Stream Manager has been migrated to mainly use smart pointers instead of manual memory management. 2. The way how we use object pool has been changed. Previously we had several places where we released objects back to the pool, but those objects were not previously acquired from the pool. This might cause memory leaks. This PR reduces the overall amount of use cases where we use pool-based allocations. Actually, now there are just three most "high load" message types (`HeronTupleSet2`, `HeronTupleSet`, `TupleStreamMessage`) left which are managed by the memory pool. And for such use cases i verified that we release back only objects which has been previously acquired from the pool. All other message types are not on the "high load" path, so i switched them back to use system memory allocator and smart pointers. Testing. It successfully passed unit and integration tests. Also tested both `StreamManager` and `TMaster` on my laptop by running a `WordCountTopology` under `valgrind` within 24 hours. I haven't found any memory leaks in the `valgrind` logs.
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
