You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "Emmanuel Lecharny (JIRA)" <ji...@apache.org> on 2010/01/14 08:02:54 UTC

[jira] Updated: (DIRMINA-733) The profile method in the ProfilerTimerFilter can caused more methods to be profiled than intended.

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

Emmanuel Lecharny updated DIRMINA-733:
--------------------------------------

    Fix Version/s: 2.0.0-RC2

> The profile method in the ProfilerTimerFilter can caused more methods to be profiled than intended.
> ---------------------------------------------------------------------------------------------------
>
>                 Key: DIRMINA-733
>                 URL: https://issues.apache.org/jira/browse/DIRMINA-733
>             Project: MINA
>          Issue Type: Bug
>          Components: Filter
>    Affects Versions: 2.0.0-M6
>         Environment: Mina M6 and verified in the trunk.
>            Reporter: Christopher Popp
>            Priority: Minor
>             Fix For: 2.0.0-RC2
>
>
> Issue affects the ProfilerTimerFilter.
> Some of the case statements in the profile method are missing a return/break.  This causes the possibility of profiling to be enabled for methods other than the one specified.  See method below
>     public void profile(IoEventType type) {
>         switch (type) {
>             case MESSAGE_RECEIVED :
>                 profileMessageReceived = true;
>                 
>                 if (messageReceivedTimerWorker == null) {
>                     messageReceivedTimerWorker = new TimerWorker();
>                 }
>                 
>                 return;
>                 
>             case MESSAGE_SENT :
>                 profileMessageSent = true;
>                 
>                 if (messageSentTimerWorker == null) {
>                     messageSentTimerWorker = new TimerWorker();
>                 }
>                 
>                 return;
>                 
>             case SESSION_CREATED :
>                 profileSessionCreated = true;
>                 
>                 if (sessionCreatedTimerWorker == null) {
>                     sessionCreatedTimerWorker = new TimerWorker();
>                 }
>                 
>             case SESSION_OPENED :
>                 profileSessionOpened = true;
>                 
>                 if (sessionOpenedTimerWorker == null) {
>                     sessionOpenedTimerWorker = new TimerWorker();
>                 }
>                 
>             case SESSION_IDLE :
>                 profileSessionIdle = true;
>                 
>                 if (sessionIdleTimerWorker == null) {
>                     sessionIdleTimerWorker = new TimerWorker();
>                 }
>                 
>             case SESSION_CLOSED :
>                 profileSessionClosed = true;
>                 
>                 if (sessionClosedTimerWorker == null) {
>                     sessionClosedTimerWorker = new TimerWorker();
>                 }
>         }
>     }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.