diff --git a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/storage/BlockInputStream.java b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/storage/BlockInputStream.java index 7475db27d01d..e4500bce10d0 100644 --- a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/storage/BlockInputStream.java +++ b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/storage/BlockInputStream.java @@ -512,7 +512,7 @@ synchronized long getBlockPosition() { } @Override - public void unbuffer() { + public synchronized void unbuffer() { storePosition(); releaseClient(); diff --git a/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/io/KeyInputStream.java b/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/io/KeyInputStream.java index e84e39abeb70..f440cf939886 100644 --- a/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/io/KeyInputStream.java +++ b/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/io/KeyInputStream.java @@ -351,14 +351,14 @@ public boolean seekToNewSource(long targetPos) throws IOException { } @Override - public int available() throws IOException { + public synchronized int available() throws IOException { checkOpen(); long remaining = length - getPos(); return remaining <= Integer.MAX_VALUE ? (int) remaining : Integer.MAX_VALUE; } @Override - public void close() throws IOException { + public synchronized void close() throws IOException { closed = true; for (BlockInputStream blockStream : blockStreams) { blockStream.close(); @@ -388,7 +388,7 @@ public long getRemainingOfIndex(int index) throws IOException { } @Override - public long skip(long n) throws IOException { + public synchronized long skip(long n) throws IOException { if (n <= 0) { return 0; } @@ -399,7 +399,7 @@ public long skip(long n) throws IOException { } @Override - public void unbuffer() { + public synchronized void unbuffer() { for (BlockInputStream is : blockStreams) { is.unbuffer(); }