Sfoglia il codice sorgente

HDDS-1037. Fix the block discard logic in Ozone client. Contributed by Shashikant Banerjee.

Shashikant Banerjee 6 anni fa
parent
commit
4123353151

+ 3 - 2
hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/io/KeyOutputStream.java

@@ -338,8 +338,9 @@ public class KeyOutputStream extends OutputStream {
       ListIterator<BlockOutputStreamEntry> streamEntryIterator =
           streamEntries.listIterator(currentStreamIndex);
       while (streamEntryIterator.hasNext()) {
-        if (streamEntryIterator.next().getBlockID().getContainerID()
-            == containerID) {
+        BlockOutputStreamEntry streamEntry = streamEntryIterator.next();
+        if (streamEntry.getBlockID().getContainerID()
+            == containerID && streamEntry.getCurrentPosition() == 0) {
           streamEntryIterator.remove();
         }
       }