Explorar el Código

Roxie memory leaks

Roxie leaks a DataMemoryBuffer per ping received when pingInterval is non-zero.
Also if udpRetryEnabled is false, all outboud packets are leaked (!).

This commit partially addresses gh-1358, but does NOT address the issue of ping
responses causing the retry queue to fill up. Until that is also fixed, it is
probably safest to keep pingInterval set at 0.

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman hace 13 años
padre
commit
02e814b343
Se han modificado 2 ficheros con 5 adiciones y 0 borrados
  1. 1 0
      roxie/ccd/ccdqueue.cpp
  2. 4 0
      roxie/udplib/udptrs.cpp

+ 1 - 0
roxie/ccd/ccdqueue.cpp

@@ -2724,6 +2724,7 @@ public:
                 }
                 }
                 else
                 else
                     DBGLOG("PING reply, garbled result");
                     DBGLOG("PING reply, garbled result");
+                ReleaseRoxieRow(answer);
             }
             }
             else if (!anyActivity)
             else if (!anyActivity)
             {
             {

+ 4 - 0
roxie/udplib/udptrs.cpp

@@ -269,6 +269,10 @@ public:
                 }
                 }
                 retryData[slot] = buffer;
                 retryData[slot] = buffer;
             }
             }
+            else
+            {
+                ::Release(buffer);
+            }
         }
         }
         return totalSent;
         return totalSent;
     }
     }