@Override public void open(String filePath, CompressionCodec codeC, CompressionType compType) throws IOException { super.open(filePath, codeC, compType); if (closed) { opened = true; } }
@Override public void append(Event e) throws IOException { if (e.getHeaders().containsKey("fault")) { throw new IOException("Injected fault"); } else if (e.getHeaders().containsKey("fault-once")) { e.getHeaders().remove("fault-once"); throw new IOException("Injected fault"); } else if (e.getHeaders().containsKey("fault-until-reopen")) { if (!(closed && opened)) { throw new IOException("Injected fault-until-reopen"); } } else if (e.getHeaders().containsKey("slow")) { long waitTime = Long.parseLong(e.getHeaders().get("slow")); try { Thread.sleep(waitTime); } catch (InterruptedException eT) { throw new IOException("append interrupted", eT); } } super.append(e); }
@Override public void close() throws IOException { closed = true; super.close(); }