Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
proton-0.10
-
None
-
python-qpid-proton-0.10-2.fc23.x86_64
And 0.9-13
Description
I have observed a fairly substantial memory leak using the blocking classes in proton.utils. Mainly with sending messages.
Observations:
growth = 52 MB for 10,000 messages sent growth = 104 MB for 20,000 messages sent leak = 52 MB per 10,000 sends or ~5 kB / send
The attached reproducer, can be used to collect and display statistics. There is likely a better method for measuring the memory growth but this was easy. Perhaps there is something incorrect/missing with the way I'm using proton or measuring the memory growth/leak?
============================================ 10000 messages ============================================ total kB 242088 16256 7552 - sending total kB 293980 68224 59520 - sent total kB 293980 68228 59524 - receiving total kB 294236 68340 59632 - received Size Growth Context __________|____________|__________ 242088 kB +242088 kB sending 293980 kB + 51892 kB sent 293980 kB + 0 kB receiving 294236 kB + 256 kB received ============================================ 20000 messages ============================================ total kB 294236 68348 59640 - sending total kB 397820 171896 163232 - sent total kB 397820 171900 163236 - receiving total kB 398020 172060 163396 - received Size Growth Context __________|____________|__________ 294236 kB +294236 kB sending 397820 kB +103584 kB sent 397820 kB + 0 kB receiving 398020 kB + 200 kB received