@Override public void log(List<JobLogPo> jobLogPos) { this.delegate.log(jobLogPos); }
@Override public void log(List<JobLogPo> jobLogPos) { this.delegate.log(jobLogPos); }
@Override public void log(JobLogPo jobLogPo) { this.delegate.log(jobLogPo); }
@Override public void log(JobLogPo jobLogPo) { this.delegate.log(jobLogPo); }
private void flush(List<JobLogPo> batch) { boolean flushSuccess = false; try { delegate.log(batch); flushSuccess = true; } finally { if (!flushSuccess) { memoryQueue.addAll(batch); } batch.clear(); } }
private void flush(List<JobLogPo> batch) { boolean flushSuccess = false; try { delegate.log(batch); flushSuccess = true; } finally { if (!flushSuccess) { memoryQueue.addAll(batch); } batch.clear(); } }
public SendResult send(String taskTrackerNodeGroup, String taskTrackerIdentity, int size, SendInvoker invoker) { List<JobPo> jobPos = fetchJob(taskTrackerNodeGroup, taskTrackerIdentity, size); if (jobPos.size() == 0) { return new SendResult(false, JobPushResult.NO_JOB); } SendResult sendResult = invoker.invoke(jobPos); if (sendResult.isSuccess()) { List<JobLogPo> jobLogPos = new ArrayList<JobLogPo>(jobPos.size()); for (JobPo jobPo : jobPos) { // 记录日志 JobLogPo jobLogPo = JobDomainConverter.convertJobLog(jobPo); jobLogPo.setSuccess(true); jobLogPo.setLogType(LogType.SENT); jobLogPo.setLogTime(SystemClock.now()); jobLogPo.setLevel(Level.INFO); jobLogPos.add(jobLogPo); } appContext.getJobLogger().log(jobLogPos); } return sendResult; }
public SendResult send(String taskTrackerNodeGroup, String taskTrackerIdentity, int size, SendInvoker invoker) { List<JobPo> jobPos = fetchJob(taskTrackerNodeGroup, taskTrackerIdentity, size); if (jobPos.size() == 0) { return new SendResult(false, JobPushResult.NO_JOB); } SendResult sendResult = invoker.invoke(jobPos); if (sendResult.isSuccess()) { List<JobLogPo> jobLogPos = new ArrayList<JobLogPo>(jobPos.size()); for (JobPo jobPo : jobPos) { // 记录日志 JobLogPo jobLogPo = JobDomainConverter.convertJobLog(jobPo); jobLogPo.setSuccess(true); jobLogPo.setLogType(LogType.SENT); jobLogPo.setLogTime(SystemClock.now()); jobLogPo.setLevel(Level.INFO); jobLogPos.add(jobLogPo); } appContext.getJobLogger().log(jobLogPos); } return sendResult; }
public static void log(LogType logType, JobPo jobPo, JobLogger jobLogger) { JobLogPo jobLogPo = JobDomainConverter.convertJobLog(jobPo); jobLogPo.setSuccess(true); jobLogPo.setLogType(logType); jobLogPo.setLogTime(SystemClock.now()); jobLogPo.setLevel(Level.INFO); jobLogger.log(jobLogPo); } }
public static void log(LogType logType, JobPo jobPo, JobLogger jobLogger) { JobLogPo jobLogPo = JobDomainConverter.convertJobLog(jobPo); jobLogPo.setSuccess(true); jobLogPo.setLogType(logType); jobLogPo.setLogTime(SystemClock.now()); jobLogPo.setLevel(Level.INFO); jobLogger.log(jobLogPo); } }
private void jobRemoveLog(JobPo jobPo, String type) { JobLogPo jobLogPo = JobDomainConverter.convertJobLog(jobPo); jobLogPo.setSuccess(true); jobLogPo.setLogType(LogType.DEL); jobLogPo.setLogTime(SystemClock.now()); jobLogPo.setLevel(Level.INFO); jobLogPo.setMsg(type + " Job Finished"); appContext.getJobLogger().log(jobLogPo); } }
private void jobRemoveLog(JobPo jobPo, String type) { JobLogPo jobLogPo = JobDomainConverter.convertJobLog(jobPo); jobLogPo.setSuccess(true); jobLogPo.setLogType(LogType.DEL); jobLogPo.setLogTime(SystemClock.now()); jobLogPo.setLevel(Level.INFO); jobLogPo.setMsg(type + " Job Finished"); appContext.getJobLogger().log(jobLogPo); } }
appContext.getJobLogger().log(jobLogPo); } catch (Throwable t) { // 日志记录失败不影响正常运行 LOGGER.error("Receive Job Log error ", t);
appContext.getJobLogger().log(jobLogPo); } catch (Throwable t) { // 日志记录失败不影响正常运行 LOGGER.error("Receive Job Log error ", t);
private void fixDeadJob(JobPo jobPo) { try { // 已经被移除了 if (appContext.getExecutingJobQueue().getJob(jobPo.getJobId()) == null) { return; } jobPo.setGmtModified(SystemClock.now()); jobPo.setTaskTrackerIdentity(null); jobPo.setIsRunning(false); // 1. add to executable queue try { appContext.getExecutableJobQueue().add(jobPo); } catch (DupEntryException e) { LOGGER.warn("ExecutableJobQueue already exist:" + JSON.toJSONString(jobPo)); } // 2. remove from executing queue appContext.getExecutingJobQueue().remove(jobPo.getJobId()); JobLogPo jobLogPo = JobDomainConverter.convertJobLog(jobPo); jobLogPo.setLogTime(SystemClock.now()); jobLogPo.setSuccess(true); jobLogPo.setLevel(Level.WARN); jobLogPo.setLogType(LogType.FIXED_DEAD); appContext.getJobLogger().log(jobLogPo); stat.incFixExecutingJobNum(); } catch (Throwable t) { LOGGER.error(t.getMessage(), t); } LOGGER.info("checkAndFix dead job ! {}", JSON.toJSONString(jobPo)); }
private void fixDeadJob(JobPo jobPo) { try { // 已经被移除了 if (appContext.getExecutingJobQueue().getJob(jobPo.getJobId()) == null) { return; } jobPo.setGmtModified(SystemClock.now()); jobPo.setTaskTrackerIdentity(null); jobPo.setIsRunning(false); // 1. add to executable queue try { appContext.getExecutableJobQueue().add(jobPo); } catch (DupEntryException e) { LOGGER.warn("ExecutableJobQueue already exist:" + JSON.toJSONString(jobPo)); } // 2. remove from executing queue appContext.getExecutingJobQueue().remove(jobPo.getJobId()); JobLogPo jobLogPo = JobDomainConverter.convertJobLog(jobPo); jobLogPo.setLogTime(SystemClock.now()); jobLogPo.setSuccess(true); jobLogPo.setLevel(Level.WARN); jobLogPo.setLogType(LogType.FIXED_DEAD); appContext.getJobLogger().log(jobLogPo); stat.incFixExecutingJobNum(); } catch (Throwable t) { LOGGER.error(t.getMessage(), t); } LOGGER.info("checkAndFix dead job ! {}", JSON.toJSONString(jobPo)); }
@Override public RemotingCommand processRequest(Channel channel, RemotingCommand request) throws RemotingCommandException { BizLogSendRequest requestBody = request.getBody(); List<BizLog> bizLogs = requestBody.getBizLogs(); if (CollectionUtils.isNotEmpty(bizLogs)) { for (BizLog bizLog : bizLogs) { JobLogPo jobLogPo = new JobLogPo(); jobLogPo.setGmtCreated(SystemClock.now()); jobLogPo.setLogTime(bizLog.getLogTime()); jobLogPo.setTaskTrackerNodeGroup(bizLog.getTaskTrackerNodeGroup()); jobLogPo.setTaskTrackerIdentity(bizLog.getTaskTrackerIdentity()); jobLogPo.setJobId(bizLog.getJobId()); jobLogPo.setTaskId(bizLog.getTaskId()); jobLogPo.setRealTaskId(bizLog.getRealTaskId()); jobLogPo.setJobType(bizLog.getJobType()); jobLogPo.setMsg(bizLog.getMsg()); jobLogPo.setSuccess(true); jobLogPo.setLevel(bizLog.getLevel()); jobLogPo.setLogType(LogType.BIZ); appContext.getJobLogger().log(jobLogPo); } } return RemotingCommand.createResponseCommand(JobProtos.ResponseCode.BIZ_LOG_SEND_SUCCESS.code(), ""); } }
@Override public RemotingCommand processRequest(Channel channel, RemotingCommand request) throws RemotingCommandException { BizLogSendRequest requestBody = request.getBody(); List<BizLog> bizLogs = requestBody.getBizLogs(); if (CollectionUtils.isNotEmpty(bizLogs)) { for (BizLog bizLog : bizLogs) { JobLogPo jobLogPo = new JobLogPo(); jobLogPo.setGmtCreated(SystemClock.now()); jobLogPo.setLogTime(bizLog.getLogTime()); jobLogPo.setTaskTrackerNodeGroup(bizLog.getTaskTrackerNodeGroup()); jobLogPo.setTaskTrackerIdentity(bizLog.getTaskTrackerIdentity()); jobLogPo.setJobId(bizLog.getJobId()); jobLogPo.setTaskId(bizLog.getTaskId()); jobLogPo.setRealTaskId(bizLog.getRealTaskId()); jobLogPo.setJobType(bizLog.getJobType()); jobLogPo.setMsg(bizLog.getMsg()); jobLogPo.setSuccess(true); jobLogPo.setLevel(bizLog.getLevel()); jobLogPo.setLogType(LogType.BIZ); appContext.getJobLogger().log(jobLogPo); } } return RemotingCommand.createResponseCommand(JobProtos.ResponseCode.BIZ_LOG_SEND_SUCCESS.code(), ""); } }
jobLogPo.setLogTime(SystemClock.now()); jobLogPo.setLevel(Level.INFO); appContext.getJobLogger().log(jobLogPo);
jobLogPo.setLogTime(SystemClock.now()); jobLogPo.setLevel(Level.INFO); appContext.getJobLogger().log(jobLogPo);