diff options
author | Anu Engineer <aengineer@apache.org> | 2018-01-18 09:51:27 -0800 |
---|---|---|
committer | Owen O'Malley <omalley@apache.org> | 2018-04-26 05:36:04 -0700 |
commit | 916f31f7d17ea03c18636b293be59717e5f8beb4 (patch) | |
tree | e19fb2124cc4542104ba7df537549cbb814de426 /hadoop-hdfs-project/hadoop-hdfs/src/main | |
parent | 28b87af51bfba2ed83471b9c1775008240fdb0f8 (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.java | 9 |
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) { |