Skip to content

Commit d7f6094

Browse files
committed
pcu hanging repro
1 parent b7d673c commit d7f6094

File tree

1 file changed

+35
-1
lines changed

1 file changed

+35
-1
lines changed

google-cloud-storage/src/test/java/com/google/cloud/storage/it/ITTransferManagerTest.java

+35-1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import com.google.cloud.storage.Storage.BlobSourceOption;
2828
import com.google.cloud.storage.Storage.BlobWriteOption;
2929
import com.google.cloud.storage.StorageException;
30+
import com.google.cloud.storage.StorageOptions;
3031
import com.google.cloud.storage.TestUtils;
3132
import com.google.cloud.storage.TmpFile;
3233
import com.google.cloud.storage.TransportCompatibility.Transport;
@@ -48,14 +49,17 @@
4849
import com.google.common.collect.ImmutableList;
4950
import java.io.IOException;
5051
import java.nio.ByteBuffer;
52+
import java.nio.channels.SeekableByteChannel;
5153
import java.nio.file.Files;
5254
import java.nio.file.NoSuchFileException;
5355
import java.nio.file.Path;
5456
import java.nio.file.Paths;
57+
import java.nio.file.StandardOpenOption;
5558
import java.util.ArrayList;
5659
import java.util.Collections;
5760
import java.util.Comparator;
5861
import java.util.List;
62+
import java.util.UUID;
5963
import java.util.stream.Collectors;
6064
import org.junit.Before;
6165
import org.junit.Rule;
@@ -378,8 +382,10 @@ public void uploadFilesAllowMultiplePCUAndSmallerFiles() throws Exception {
378382
TmpFile tmpFile = DataGenerator.base64Characters().tempFile(baseDir, largeFileSize);
379383
TmpFile tmpfile2 = DataGenerator.base64Characters().tempFile(baseDir, largeFileSize);
380384
TmpFile tmpFile3 = DataGenerator.base64Characters().tempFile(baseDir, smallFileSize)) {
385+
List<Storage.BlobWriteOption> writeOptsPerRequest = new ArrayList<>();
386+
writeOptsPerRequest.add(Storage.BlobWriteOption.disableGzipContent());
381387
ParallelUploadConfig parallelUploadConfig =
382-
ParallelUploadConfig.newBuilder().setBucketName(bucket.getName()).build();
388+
ParallelUploadConfig.newBuilder().setBucketName(bucket.getName()).setWriteOptsPerRequest(writeOptsPerRequest).build();
383389
List<Path> files =
384390
ImmutableList.of(tmpFile.getPath(), tmpfile2.getPath(), tmpFile3.getPath());
385391
UploadJob job = transferManager.uploadFiles(files, parallelUploadConfig);
@@ -502,6 +508,34 @@ public void downloadBlobsOneFailure() throws Exception {
502508
}
503509
}
504510

511+
@Test
512+
public void testpcu() throws Exception{
513+
String PREFIX = "prefix";
514+
515+
/** Will create a large local file at this path. */
516+
String TMP_PATH = "/tmp/";
517+
518+
TmpFile tmpFile = DataGenerator.base64Characters().tempFile(Paths.get(TMP_PATH), 4L * 1024L * 1024L * 1024L - 1);
519+
StorageOptions options = StorageOptions.newBuilder().build();
520+
TransferManagerConfig tmc = TransferManagerConfig.newBuilder()
521+
.setAllowParallelCompositeUpload(true).build();
522+
try (TransferManager tm = tmc.getService()) {
523+
List<Path> files = new ArrayList<>();
524+
files.add(tmpFile.getPath());
525+
List<Storage.BlobWriteOption> writeOptsPerRequest = new ArrayList<>();
526+
writeOptsPerRequest.add(Storage.BlobWriteOption.disableGzipContent());
527+
System.out.println(
528+
tm.uploadFiles(
529+
files,
530+
ParallelUploadConfig.newBuilder()
531+
.setBucketName(bucket.getName())
532+
.setPrefix(PREFIX)
533+
.setWriteOptsPerRequest(writeOptsPerRequest)
534+
.build())
535+
.getUploadResults());
536+
}
537+
}
538+
505539
private void cleanUpFiles(List<DownloadResult> results) throws IOException {
506540
// Cleanup downloaded blobs and the parent directory
507541
for (DownloadResult res : results) {

0 commit comments

Comments
 (0)