Commit 90f86403 authored by unknown's avatar unknown
Browse files

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
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -3471,10 +3471,10 @@ SumaParticipant::completeSubRemoveReq(Signal* signal, SubscriptionPtr subPtr) {
   */
#if 0
  ndbout_c("c_subscriptionPool.getSize() %d c_subscriptionPool.getNoOfFree()%d",
	   c_subscriptionPool.getSize(),c_subscriptionPool.getNoOfFree()+1);
	   c_subscriptionPool.getSize(),c_subscriptionPool.getNoOfFree());
#endif

  if(c_subscriptionPool.getSize() == c_subscriptionPool.getNoOfFree()+1) {
  if(c_subscriptionPool.getSize() == c_subscriptionPool.getNoOfFree()) {
    jam();
#if 0
    ndbout_c("SUB_REMOVE_REQ:Clearing c_tables");