You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "Bill Havanki (JIRA)" <ji...@apache.org> on 2014/03/18 14:51:43 UTC

[jira] [Resolved] (ACCUMULO-2419) Improve SimpleTimer by replacing java.util.Timer

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

Bill Havanki resolved ACCUMULO-2419.
------------------------------------

    Resolution: Fixed

> Improve SimpleTimer by replacing java.util.Timer
> ------------------------------------------------
>
>                 Key: ACCUMULO-2419
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-2419
>             Project: Accumulo
>          Issue Type: Improvement
>          Components: tserver
>            Reporter: Bill Havanki
>            Assignee: Bill Havanki
>            Priority: Minor
>              Labels: performance
>
> The server utility class {{SimpleTimer}} uses a {{java.util.Timer}} under the hood for scheduling tasks. From _Java Concurrency in Practice_, p. 123:
> bq. {{Timer}} has some drawbacks, and {{ScheduledThreadPoolExecutor}} should be thought of as its replacement. ... there is little reason to use {{Timer}} in Java 5.0 or later.
> The purpose of {{SimpleTimer}} is "to reduce the number of threads dedicated to simple events", but a user cannot opt to let more than one thread handle the events on systems that can take the load. Also, if any task does take a long time for some reason, execution of other tasks is affected.
> The {{Timer}} in {{SimpleTimer}} should be replaced with {{ScheduledThreadPoolExecutor}}, and the class should allow for more than one thread to be used for task execution.



--
This message was sent by Atlassian JIRA
(v6.2#6252)