Commit 90f86403 authored by unknown's avatar unknown

Checking size to no of free + 1 was not correct when

entry was released before check. Thus empty it is when
size == no of free
This caused a memory leak which inserted a hard limit of
max 64 unique indexes in the cluster.

parent 0e302f5e
...@@ -3471,10 +3471,10 @@ SumaParticipant::completeSubRemoveReq(Signal* signal, SubscriptionPtr subPtr) { ...@@ -3471,10 +3471,10 @@ SumaParticipant::completeSubRemoveReq(Signal* signal, SubscriptionPtr subPtr) {
*/ */
#if 0 #if 0
ndbout_c("c_subscriptionPool.getSize() %d c_subscriptionPool.getNoOfFree()%d", ndbout_c("c_subscriptionPool.getSize() %d c_subscriptionPool.getNoOfFree()%d",
c_subscriptionPool.getSize(),c_subscriptionPool.getNoOfFree()+1); c_subscriptionPool.getSize(),c_subscriptionPool.getNoOfFree());
#endif #endif
if(c_subscriptionPool.getSize() == c_subscriptionPool.getNoOfFree()+1) { if(c_subscriptionPool.getSize() == c_subscriptionPool.getNoOfFree()) {
jam(); jam();
#if 0 #if 0
ndbout_c("SUB_REMOVE_REQ:Clearing c_tables"); ndbout_c("SUB_REMOVE_REQ:Clearing c_tables");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment