From bec9768bd965705bdc590695866a20ccf4f9bfc8 Mon Sep 17 00:00:00 2001 From: coffeys Date: Thu, 20 Jun 2019 08:02:41 +0000 Subject: [PATCH] 8213561: ZipFile/MultiThreadedReadTest.java timed out in tier1 Reviewed-by: shade --- .../zip/ZipFile/MultiThreadedReadTest.java | 39 +++++++++++++------ 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/test/java/util/zip/ZipFile/MultiThreadedReadTest.java b/test/java/util/zip/ZipFile/MultiThreadedReadTest.java index d4cbd5384..c68cfe386 100644 --- a/test/java/util/zip/ZipFile/MultiThreadedReadTest.java +++ b/test/java/util/zip/ZipFile/MultiThreadedReadTest.java @@ -29,11 +29,13 @@ * @run main MultiThreadedReadTest */ +import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.nio.file.Paths; import java.util.Random; +import java.util.zip.CRC32; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; import java.util.zip.ZipOutputStream; @@ -42,7 +44,8 @@ import jdk.testlibrary.FileUtils; public class MultiThreadedReadTest extends Thread { private static final int NUM_THREADS = 10; - private static final String ZIPFILE_NAME = "large.zip"; + private static final String ZIPFILE_NAME = + System.currentTimeMillis() + "-bug8038491-tmp.large.zip"; private static final String ZIPENTRY_NAME = "random.txt"; private static InputStream is = null; @@ -61,23 +64,34 @@ public class MultiThreadedReadTest extends Thread { threadArray[i].join(); } } finally { + long t = System.currentTimeMillis(); FileUtils.deleteFileIfExistsWithRetry(Paths.get(ZIPFILE_NAME)); + System.out.println("Deleting zip file took:" + + (System.currentTimeMillis() - t) + "ms"); } } private static void createZipFile() throws Exception { - try (ZipOutputStream zos = - new ZipOutputStream(new FileOutputStream(ZIPFILE_NAME))) { - - zos.putNextEntry(new ZipEntry(ZIPENTRY_NAME)); - StringBuilder sb = new StringBuilder(); - Random rnd = new Random(); - for(int i = 0; i < 1000; i++) { - // append some random string for ZipEntry - sb.append(Long.toString(rnd.nextLong())); + CRC32 crc32 = new CRC32(); + long t = System.currentTimeMillis(); + File zipFile = new File(ZIPFILE_NAME); + try (FileOutputStream fos = new FileOutputStream(zipFile); + BufferedOutputStream bos = new BufferedOutputStream(fos); + ZipOutputStream zos = new ZipOutputStream(bos)) { + ZipEntry e = new ZipEntry(ZIPENTRY_NAME); + e.setMethod(ZipEntry.STORED); + StringBuilder blahBuilder = new StringBuilder(); + for (int i = 0; i < 10_000; i++) { + blahBuilder.append("BLAH"); } - byte[] b = sb.toString().getBytes(); - zos.write(b, 0, b.length); + byte[] toWrite = blahBuilder.toString().getBytes(); + e.setTime(t); + e.setSize(toWrite.length); + crc32.reset(); + crc32.update(toWrite); + e.setCrc(crc32.getValue()); + zos.putNextEntry(e); + zos.write(toWrite); } } @@ -86,6 +100,7 @@ public class MultiThreadedReadTest extends Thread { try { while (is.read() != -1) { } } catch (Exception e) { + System.out.println("read exception:" + e); // Swallow any Exceptions (which are expected) - we're only interested in the crash } } -- GitLab