You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Leif Hedstrom (JIRA)" <ji...@apache.org> on 2011/04/09 01:58:05 UTC

[jira] [Assigned] (TS-168) LogBuffer.h/LogObject.h overload operator new and do object initialization there using iObject which is evil

     [ https://issues.apache.org/jira/browse/TS-168?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Leif Hedstrom reassigned TS-168:
--------------------------------

    Assignee: John Plevyak

Assigning to John for now.

> 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: John Plevyak
>            Priority: Critical
>             Fix For: 2.1.8
>
>         Attachments: LogBuff.diff
>
>
> 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