From 8dfaaeabfd97efff0e17af5cdf5b2d647bdb9b88 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Sun, 24 May 2020 17:07:34 -0700 Subject: HCFS: 1.2.8 fix hbase related bugs 1. SeaweedFileSystem.listStatus need to work with file also 2. SeaweedRead readChunkView has wrong len --- other/java/client/src/main/java/seaweedfs/client/SeaweedRead.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'other/java/client/src') diff --git a/other/java/client/src/main/java/seaweedfs/client/SeaweedRead.java b/other/java/client/src/main/java/seaweedfs/client/SeaweedRead.java index 1e4a158c6..7be39da53 100644 --- a/other/java/client/src/main/java/seaweedfs/client/SeaweedRead.java +++ b/other/java/client/src/main/java/seaweedfs/client/SeaweedRead.java @@ -7,6 +7,8 @@ import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.util.EntityUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.io.Closeable; import java.io.IOException; @@ -14,7 +16,7 @@ import java.util.*; public class SeaweedRead { - // private static final Logger LOG = LoggerFactory.getLogger(SeaweedRead.class); + private static final Logger LOG = LoggerFactory.getLogger(SeaweedRead.class); static ChunkCache chunkCache = new ChunkCache(1000); @@ -64,7 +66,9 @@ public class SeaweedRead { chunkData = doFetchFullChunkData(chunkView, locations); } - int len = (int) (chunkView.logicOffset - position + chunkView.size); + int len = (int) chunkView.size; + LOG.debug("readChunkView fid:{} chunkData.length:{} chunkView.offset:{} buffer.length:{} startOffset:{} len:{}", + chunkView.fileId, chunkData.length, chunkView.offset, buffer.length, startOffset, len); System.arraycopy(chunkData, (int) chunkView.offset, buffer, startOffset, len); chunkCache.setChunk(chunkView.fileId, chunkData); -- cgit v1.2.3