[ 
https://issues.apache.org/jira/browse/OOZIE-1939?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14081930#comment-14081930
 ] 

Shwetha G S commented on OOZIE-1939:
------------------------------------

XLog.resetPrefix(LOG) doesn't help as XLog is shared across concurrent threads 
for the same class. The following will help to reset the XLog.Info:
ThreadPoolExecutor
Hook methods
This class provides protected overridable beforeExecute(java.lang.Thread, 
java.lang.Runnable) and afterExecute(java.lang.Runnable, java.lang.Throwable) 
methods that are called before and after execution of each task. These can be 
used to manipulate the execution environment; for example, reinitializing 
ThreadLocals, gathering statistics, or adding log entries. Additionally, method 
terminated() can be overridden to perform any special processing that needs to 
be done once the Executor has fully terminated.

Info.setParameters() can create the prefix and XLog.log() can just get the 
prefix to avoid computing prefix in each log()


> Incorrect job information is set while logging
> ----------------------------------------------
>
>                 Key: OOZIE-1939
>                 URL: https://issues.apache.org/jira/browse/OOZIE-1939
>             Project: Oozie
>          Issue Type: Bug
>            Reporter: Purshotam Shah
>            Assignee: Azrael
>         Attachments: OOZIE-1939.1.patch, OOZIE-1939.2.patch
>
>
> {code}
> 2014-07-16 17:28:06,422 DEBUG CoordChangeXCommand:545 [http-0.0.0.0-4443-5] - 
> USER[hadoopqa] GROUP[users] TOKEN[] APP[coordB236] 
> JOB[0011514-140716042555-oozie-oozi-C] ACTION[-] Acquired lock for 
> [0011385-140716042555-oozie-oozi-C] in [coord_change]
> 2014-07-16 17:28:06,422 TRACE CoordChangeXCommand:548 [http-0.0.0.0-4443-5] - 
> USER[hadoopqa] GROUP[users] TOKEN[] APP[coordB236] 
> JOB[0011514-140716042555-oozie-oozi-C] ACTION[-] Load state for 
> [0011385-140716042555-oozie-oozi-C]
> {code}
> {code}
>     protected void loadState() throws CommandException {
>         jpaService = Services.get().get(JPAService.class);
>         if (jpaService == null) {
>             LOG.error(ErrorCode.E0610);
>         }
>         try {
>             coordJob = 
> CoordJobQueryExecutor.getInstance().get(CoordJobQuery.GET_COORD_JOB_MATERIALIZE,
>  jobId);
>             prevStatus = coordJob.getStatus();
>         }
>         catch (JPAExecutorException jex) {
>             throw new CommandException(jex);
>         }
>         // calculate start materialize and end materialize time
>         calcMatdTime();
>         LogUtils.setLogInfo(coordJob, logInfo);
>     }
> {code}
> Most of the commands set jobinfo after loadstate, because of that few log 
> statements ( like acquiring lock, load state) logs with previous jobinfo. 



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

Reply via email to