accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Billie Rinaldi (JIRA)" <>
Subject [jira] [Resolved] (ACCUMULO-3507) NamingThreadFactory.newThread should not wrap runnable with TraceRunnable
Date Fri, 30 Jan 2015 19:57:35 GMT


Billie Rinaldi resolved ACCUMULO-3507.
    Resolution: Fixed

> NamingThreadFactory.newThread should not wrap runnable with TraceRunnable
> -------------------------------------------------------------------------
>                 Key: ACCUMULO-3507
>                 URL:
>             Project: Accumulo
>          Issue Type: Bug
>          Components: trace
>            Reporter: Billie Rinaldi
>            Assignee: Billie Rinaldi
>             Fix For: 1.7.0
>         Attachments: ACCUMULO-3507.1.patch
>          Time Spent: 10m
>  Remaining Estimate: 0h
> NamingThreadFactory has the following implementation of newThread:
> {noformat}
>   public Thread newThread(Runnable r) {
>     return new Daemon(new LoggingRunnable(log, new TraceRunnable(r)), ...);
>   }
> {noformat}
> The runnable passed to newThread by ThreadPoolExecutor is a Worker that will run multiple
tasks over its lifetime.  It is unlikely that we want to trace the entire execution of a reused
thread in one of our thread pools, as opposed to tracing individual tasks.  We should change
this to new LoggingRunnable(log, r).
> Some of our thread pools already trace individual tasks by wrapping a ThreadPoolExecutor
in TraceExecutorService.  Other pools that want to introduce task tracing may use that method
as well.  (The pools currently tracing threads but not tracing tasks are scanner read ahead,
add splits, bloom loader, LRU block cache stats, gc deleting, walog sort starter, multiple
bulk import pools, problem reporting, and others that are using SimpleThreadPool.)

This message was sent by Atlassian JIRA

View raw message