diff options
| author | Chris Lu <chris.lu@gmail.com> | 2020-10-25 14:44:18 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2020-10-25 14:44:18 -0700 |
| commit | 596d476e3d858d2cb0520231f1da44804e7f2be1 (patch) | |
| tree | 2acd13f24c13df9ffc1a0c5392f91e4e2d7e4fb9 /other/java/client/src | |
| parent | 63b0fb54f76179a44c37041d78feb8c033540c2c (diff) | |
| download | seaweedfs-596d476e3d858d2cb0520231f1da44804e7f2be1.tar.xz seaweedfs-596d476e3d858d2cb0520231f1da44804e7f2be1.zip | |
HCFS: 1.5.2
Diffstat (limited to 'other/java/client/src')
| -rw-r--r-- | other/java/client/src/main/java/seaweedfs/client/FileChunkManifest.java | 8 | ||||
| -rw-r--r-- | other/java/client/src/main/java/seaweedfs/client/SeaweedWrite.java | 11 |
2 files changed, 11 insertions, 8 deletions
diff --git a/other/java/client/src/main/java/seaweedfs/client/FileChunkManifest.java b/other/java/client/src/main/java/seaweedfs/client/FileChunkManifest.java index 79e8d9bc4..3293db2ca 100644 --- a/other/java/client/src/main/java/seaweedfs/client/FileChunkManifest.java +++ b/other/java/client/src/main/java/seaweedfs/client/FileChunkManifest.java @@ -86,7 +86,7 @@ public class FileChunkManifest { } public static List<FilerProto.FileChunk> maybeManifestize( - final FilerGrpcClient filerGrpcClient, List<FilerProto.FileChunk> inputChunks) throws IOException { + final FilerGrpcClient filerGrpcClient, List<FilerProto.FileChunk> inputChunks, String parentDirectory) throws IOException { // the return variable List<FilerProto.FileChunk> chunks = new ArrayList<>(); @@ -101,7 +101,7 @@ public class FileChunkManifest { int remaining = dataChunks.size(); for (int i = 0; i + mergeFactor < dataChunks.size(); i += mergeFactor) { - FilerProto.FileChunk chunk = mergeIntoManifest(filerGrpcClient, dataChunks.subList(i, i + mergeFactor)); + FilerProto.FileChunk chunk = mergeIntoManifest(filerGrpcClient, dataChunks.subList(i, i + mergeFactor), parentDirectory); chunks.add(chunk); remaining -= mergeFactor; } @@ -113,7 +113,7 @@ public class FileChunkManifest { return chunks; } - private static FilerProto.FileChunk mergeIntoManifest(final FilerGrpcClient filerGrpcClient, List<FilerProto.FileChunk> dataChunks) throws IOException { + private static FilerProto.FileChunk mergeIntoManifest(final FilerGrpcClient filerGrpcClient, List<FilerProto.FileChunk> dataChunks, String parentDirectory) throws IOException { // create and serialize the manifest dataChunks = FilerClient.beforeEntrySerialization(dataChunks); FilerProto.FileChunkManifest.Builder m = FilerProto.FileChunkManifest.newBuilder().addAllChunks(dataChunks); @@ -130,7 +130,7 @@ public class FileChunkManifest { filerGrpcClient.getReplication(), filerGrpcClient, minOffset, - data, 0, data.length); + data, 0, data.length, parentDirectory); manifestChunk.setIsChunkManifest(true); manifestChunk.setSize(maxOffset - minOffset); return manifestChunk.build(); diff --git a/other/java/client/src/main/java/seaweedfs/client/SeaweedWrite.java b/other/java/client/src/main/java/seaweedfs/client/SeaweedWrite.java index d3cecab75..121a0fbee 100644 --- a/other/java/client/src/main/java/seaweedfs/client/SeaweedWrite.java +++ b/other/java/client/src/main/java/seaweedfs/client/SeaweedWrite.java @@ -26,9 +26,10 @@ public class SeaweedWrite { final FilerGrpcClient filerGrpcClient, final long offset, final byte[] bytes, - final long bytesOffset, final long bytesLength) throws IOException { + final long bytesOffset, final long bytesLength, + final String parentPath) throws IOException { FilerProto.FileChunk.Builder chunkBuilder = writeChunk( - replication, filerGrpcClient, offset, bytes, bytesOffset, bytesLength); + replication, filerGrpcClient, offset, bytes, bytesOffset, bytesLength, parentPath); synchronized (entry) { entry.addChunks(chunkBuilder); } @@ -39,13 +40,15 @@ public class SeaweedWrite { final long offset, final byte[] bytes, final long bytesOffset, - final long bytesLength) throws IOException { + final long bytesLength, + final String parentPath) throws IOException { FilerProto.AssignVolumeResponse response = filerGrpcClient.getBlockingStub().assignVolume( FilerProto.AssignVolumeRequest.newBuilder() .setCollection(filerGrpcClient.getCollection()) .setReplication(replication == null ? filerGrpcClient.getReplication() : replication) .setDataCenter("") .setTtlSec(0) + .setParentPath(parentPath) .build()); String fileId = response.getFileId(); String url = response.getUrl(); @@ -77,7 +80,7 @@ public class SeaweedWrite { final FilerProto.Entry.Builder entry) throws IOException { synchronized (entry) { - List<FilerProto.FileChunk> chunks = FileChunkManifest.maybeManifestize(filerGrpcClient, entry.getChunksList()); + List<FilerProto.FileChunk> chunks = FileChunkManifest.maybeManifestize(filerGrpcClient, entry.getChunksList(), parentDirectory); entry.clearChunks(); entry.addAllChunks(chunks); filerGrpcClient.getBlockingStub().createEntry( |
