[
https://issues.apache.org/jira/browse/JAMES-3620?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17388426#comment-17388426
]
Benoit Tellier commented on JAMES-3620:
---------------------------------------
Associated code:
{code:java}
@Override
public Response onCommand(SMTPSession session, Request request) {
TimeMetric timeMetric = metricFactory.timer("SMTP-" +
request.getCommand().toLowerCase(Locale.US));
String command = request.getCommand();
String parameters = request.getArgument();
try (Closeable closeable =
MDCBuilder.create()
.addToContext(MDCBuilder.ACTION, command)
.build()) {
Response response = doFilterChecks(session, command, parameters);
if (response == null) {
response = processHooks(session, command, parameters);
if (response == null) {
return doCoreCmd(session, command, parameters);
} else {
return response;
}
} else {
return response;
}
} catch (IOException e) {
throw new RuntimeException(e);
} finally {
timeMetric.stopAndPublish();
}
}
{code}
We can see that the timeMetric is well stopped and published even when faced
with error.
Do you get proofs of such a memory leak, from a runtime experiment?
Cheers,
Benoit
> Memory leak at org.apache.james.protocols.smtp.core.AbstractHookableCmdHandler
> ------------------------------------------------------------------------------
>
> Key: JAMES-3620
> URL: https://issues.apache.org/jira/browse/JAMES-3620
> Project: James Server
> Issue Type: Improvement
> Components: protocols, SMTPServer
> Reporter: tuister
> Priority: Blocker
> Original Estimate: 168h
> Remaining Estimate: 168h
>
> For each command, the command handler will use a timer record the rt. So, if
> someone input error commands, the command handler will create a new timer to
> record, this will cause memory leak.
> {code:java}
> //AbstractHookableCmdHandler#onCommand
> //see also org.apache.james.protocols.smtp.core.UnknownCmdHandler
> TimeMetric timeMetric = metricFactory.timer("SMTP-" +
> request.getCommand().toLowerCase(Locale.US));{code}
>
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]