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);