You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zy...@apache.org on 2011/08/26 06:02:56 UTC

svn commit: r1161985 - in /trafficserver/traffic/trunk: CHANGES proxy/logging/LogCollationClientSM.cc proxy/logging/LogHost.cc proxy/logging/LogObject.cc

Author: zym
Date: Fri Aug 26 04:02:56 2011
New Revision: 1161985

URL: http://svn.apache.org/viewvc?rev=1161985&view=rev
Log:
TS-896: log collation reporting Host down

It turn out to be a leak when changes the logging collation without
restart.

Modified:
    trafficserver/traffic/trunk/CHANGES
    trafficserver/traffic/trunk/proxy/logging/LogCollationClientSM.cc
    trafficserver/traffic/trunk/proxy/logging/LogHost.cc
    trafficserver/traffic/trunk/proxy/logging/LogObject.cc

Modified: trafficserver/traffic/trunk/CHANGES
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/CHANGES?rev=1161985&r1=1161984&r2=1161985&view=diff
==============================================================================
--- trafficserver/traffic/trunk/CHANGES (original)
+++ trafficserver/traffic/trunk/CHANGES Fri Aug 26 04:02:56 2011
@@ -1,4 +1,7 @@
                                                          -*- coding: utf-8 -*-
+Changes with Apache Traffic Server 3.1.1
+  *) [TS-896] When logging config changes, we should check if it is remote
+   logging and clean up the collation client related data.
 
 Changes with Apache Traffic Server 3.1.0
   *) Make sure --enable-purify works again

Modified: trafficserver/traffic/trunk/proxy/logging/LogCollationClientSM.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/logging/LogCollationClientSM.cc?rev=1161985&r1=1161984&r2=1161985&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/logging/LogCollationClientSM.cc (original)
+++ trafficserver/traffic/trunk/proxy/logging/LogCollationClientSM.cc Fri Aug 26 04:02:56 2011
@@ -69,6 +69,8 @@ LogCollationClientSM::LogCollationClient
   m_send_reader(NULL),
   m_pending_action(NULL),
   m_pending_event(NULL),
+  m_abort_vio(NULL),
+  m_abort_buffer(NULL),
   m_buffer_send_list(NULL), m_buffer_in_iocore(NULL), m_flow(LOG_COLL_FLOW_ALLOW), m_log_host(log_host), m_id(ID++)
 {
   Debug("log-coll", "[%d]client::constructor", m_id);

Modified: trafficserver/traffic/trunk/proxy/logging/LogHost.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/logging/LogHost.cc?rev=1161985&r1=1161984&r2=1161985&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/logging/LogHost.cc (original)
+++ trafficserver/traffic/trunk/proxy/logging/LogHost.cc Fri Aug 26 04:02:56 2011
@@ -222,6 +222,10 @@ LogHost::disconnect()
     m_sock->close(m_sock_fd);
     m_sock_fd = -1;
   }
+  if (m_log_collation_client_sm) {
+    delete m_log_collation_client_sm;
+    m_log_collation_client_sm = NULL;
+  }
   m_connected = false;
 }
 

Modified: trafficserver/traffic/trunk/proxy/logging/LogObject.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/logging/LogObject.cc?rev=1161985&r1=1161984&r2=1161985&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/logging/LogObject.cc (original)
+++ trafficserver/traffic/trunk/proxy/logging/LogObject.cc Fri Aug 26 04:02:56 2011
@@ -174,6 +174,12 @@ LogObject::~LogObject()
 
   flush_buffers(0, 0, 0);
 
+  // here we need to free LogHost if it is remote logging.
+  if (is_collation_client()) {
+    if (m_host_list.count()) {
+      m_host_list.clear();
+    }
+  }
   delete m_logFile;
   xfree(m_basename);
   xfree(m_filename);