summaryrefslogtreecommitdiff
path: root/hadoop-hdfs-project/hadoop-hdfs/src/main
diff options
context:
space:
mode:
authorAnu Engineer <aengineer@apache.org>2018-01-18 09:51:27 -0800
committerOwen O'Malley <omalley@apache.org>2018-04-26 05:36:04 -0700
commit916f31f7d17ea03c18636b293be59717e5f8beb4 (patch)
treee19fb2124cc4542104ba7df537549cbb814de426 /hadoop-hdfs-project/hadoop-hdfs/src/main
parent28b87af51bfba2ed83471b9c1775008240fdb0f8 (diff)
HDFS-13026. Ozone: TestContainerPersistence is failing becaue of container data mismatch. Contributed by Mukul Kumar Singh.
Diffstat (limited to 'hadoop-hdfs-project/hadoop-hdfs/src/main')
-rw-r--r--hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/container/common/impl/ChunkManagerImpl.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/container/common/impl/ChunkManagerImpl.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/container/common/impl/ChunkManagerImpl.java
index 4aa667ec26..9052df7ded 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/container/common/impl/ChunkManagerImpl.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/container/common/impl/ChunkManagerImpl.java
@@ -98,8 +98,13 @@ public class ChunkManagerImpl implements ChunkManager {
commitChunk(tmpChunkFile, chunkFile, containerName, info.getLen());
break;
case COMBINED:
- ChunkUtils.writeData(tmpChunkFile, info, data);
- commitChunk(tmpChunkFile, chunkFile, containerName, info.getLen());
+ // directly write to the chunk file
+ long oldSize = chunkFile.length();
+ ChunkUtils.writeData(chunkFile, info, data);
+ long newSize = chunkFile.length();
+ containerManager.incrBytesUsed(containerName, newSize - oldSize);
+ containerManager.incrWriteCount(containerName);
+ containerManager.incrWriteBytes(containerName, info.getLen());
break;
}
} catch (ExecutionException | NoSuchAlgorithmException | IOException e) {