accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Billie Rinaldi (JIRA)" <>
Subject [jira] [Created] (ACCUMULO-3507) NamingThreadFactory.newThread should not wrap runnable with TraceRunnable
Date Thu, 22 Jan 2015 16:32:34 GMT
Billie Rinaldi created ACCUMULO-3507:

             Summary: NamingThreadFactory.newThread should not wrap runnable with TraceRunnable
                 Key: ACCUMULO-3507
             Project: Accumulo
          Issue Type: Bug
          Components: trace
            Reporter: Billie Rinaldi
            Assignee: Billie Rinaldi
             Fix For: 1.7.0

NamingThreadFactory has the following implementation of newThread:
  public Thread newThread(Runnable r) {
    return new Daemon(new LoggingRunnable(log, new TraceRunnable(r)), ...);
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