diff --git a/src/main/java/com/trifork/bitcask/BitCask.java b/src/main/java/com/trifork/bitcask/BitCask.java index fdeedb1..c4c435f 100644 --- a/src/main/java/com/trifork/bitcask/BitCask.java +++ b/src/main/java/com/trifork/bitcask/BitCask.java @@ -105,7 +105,12 @@ public void put(ByteString key, ByteString value) throws IOException { write_lock.write_activefile(nwf); write_file = nwf; - read_files.put(last_write_file.filename, last_write_file); + if (read_files.get(last_write_file.filename) == null) + { + read_files.put(last_write_file.filename, last_write_file); + } else { + last_write_file.close(); + } break; }