@Override public void toAcked(String tag) throws IOException { // TODO tag에 해당되는 파일 오프셋을 갱신? // TODO 파일에 내리는 것은 다른 쓰레드가 하는게 좋겠지? log.info("toAcked : " + tag); for (CheckpointData data : pending) { if (data.tag.equals(tag)) { data.setAcked(true); } } }
@Override public void retry(String tag) throws IOException { // TODO 실패하면 리커버를 해야 한다. log.info("retry : " + tag); for (CheckpointData data : pending) { if (data.tag.equals(tag)) { data.setAcked(false); break; } } mergeAndWrite(); try { recover(); } catch (InterruptedException e) { e.printStackTrace(); // TODO 예외 처리 } catch (RuntimeException e) { e.printStackTrace(); } catch (FlumeSpecException e) { e.printStackTrace(); } }