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
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.