[ https://issues.apache.org/jira/browse/TS-168?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Zhao Yongming updated TS-168: ----------------------------- Attachment: TS-168-2.patch this is a 85KB patch which will revert most of the changes in the last patch, that will include iObject etc, and mutex locking. things beyond revert include: 1, make LogObject compare really works, not we do not close and then reopen the connections(when do remote logging), the files(when do local file logging) 2, rework the size based rolling with a simple way. this is a huge patch, may need full review and testing. > LogBuffer.h/LogObject.h overload operator new and do object initialization > there using iObject which is evil > ------------------------------------------------------------------------------------------------------------ > > Key: TS-168 > URL: https://issues.apache.org/jira/browse/TS-168 > Project: Traffic Server > Issue Type: Improvement > Components: Logging > Reporter: John Plevyak > Assignee: Zhao Yongming > Priority: Critical > Fix For: 3.1.1 > > Attachments: LogBuff.diff, TS-168-2.patch > > > In header LogBuffer.h the classes iObject/iObjectActivator/iLogBufferData > need to be cleaned up. > This code is terribly designed. Nobody should ever do object initialization > in an overloaded new operator. This caused TS-159. > The logging code was designed to be completely lockless on the critical path > and not to do any malloc/new (which typically involve locks) and this code > breaks that design. > Basically, this should be rewritten, perhaps someone for Y! could attach > the patch which added this junk so it can be backed out and whatever > real functionality it added, added in a reasonable way. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira